﻿
//
// Check for valid browser
//
var typeOfBrowser;

if (navigator.userAgent.indexOf("MSIE") != -1) {
	typeOfBrowser = "IE"+navigator.appVersion.substring(0,1);
}
else {
	if (navigator.userAgent.indexOf("Mozilla") != -1) {
		typeOfBrowser = "NN"+navigator.appVersion.substring(0,1);
	}
	else {
		typeOfBrowser = "UNKNOWN";
	}
}

//
// for dynamically changing images (put in onMouseOver)
//
function switchImgOver(nameIMG)
{
	if (typeOfBrowser == "IE4" || typeOfBrowser == "NN4")
	{
		eval("document.img"+nameIMG+".src = btn"+nameIMG+"_b.src");
	}
}

//
// for dynamically changing images (put in onMouseOut)
//
function switchImgOut(nameIMG)
{
	if (typeOfBrowser == "IE4" || typeOfBrowser == "NN4")
	{
		eval("document.img"+nameIMG+".src = btn"+nameIMG+".src")
	}
}

//
// Calculate today's date in DDMMM format
//
function today_date()
{
	iDate = new Date();
	iMonths = new Array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC");

	iDate_DD = iDate.getDate();
	if (iDate_DD < 10) {
		iDate_DD = "0" + iDate_DD.toString();
	}
	else {
		iDate_DD = iDate_DD.toString();
	}

	iDate_MM = iMonths[iDate.getMonth()];
	return (iDate_DD + iDate_MM);
}

//

// Calculate today's date in YYMMDD format
//
function today_yymmdd()
{
    iDate = new Date();

    iDate_DD = iDate.getDate();
    if (iDate_DD < 10) {
        iDate_DD = "0" + iDate_DD.toString();
    }
    else {
        iDate_DD = iDate_DD.toString();
    }

    iDate_MM = iDate.getMonth();
    iDate_MM ++;
    if (iDate_MM < 10) {
        iDate_MM = "0" + iDate_MM.toString();
    }
    else {
        iDate_MM = iDate_MM.toString();
    }

    iDate_YY = iDate.getYear() % 100;
    if (iDate_YY == 0) {
        iDate_YY = "00";
    }
    else {
        if (iDate_YY < 10) {
            iDate_YY = "0" + iDate_YY.toString();
        }
        else {
            iDate_YY = iDate_YY.toString();
        }
    }
 
    return (iDate_YY + iDate_MM + iDate_DD);
}
 
//
// Calculate current in HHMM format
//
function today_time()
{
    iDate = new Date();
    iMonths = new Array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG",
"SEP", "OCT", "NOV", "DEC");

    iDate_HH = iDate.getHours();
    if (iDate_HH < 10) {
        iDate_HH = "0" + iDate_HH.toString();
    }
    else {
        iDate_HH = iDate_HH.toString();
    }

    iDate_MM = iDate.getMinutes();
    if (iDate_MM < 10) {
        iDate_MM = "0" + iDate_MM.toString();
    }
    else {
        iDate_MM = iDate_MM.toString();
    }
    return (iDate_HH + iDate_MM);
}

function checkdate(a){
// a=document.frmMain.Date.value
        var err=0
        var psj=0;
        if (a.length != 6) err=1
        b = a.substring(2, 4)// month
        d = a.substring(4, 6)// day
        f = a.substring(0, 2)// year

        //basic error checking
        if (b<1 || b>12) err = 1
        if (d<1 || d>31) err = 1
        if (f<0 || f>99) err = 1
        
        //advanced error checking

        // months with 30 days
        if (b==4 || b==6 || b==9 || b==11){
                if (d==31) err=1
        }

        // february, leap year
        if (b==2){
                // feb
                var g=parseInt(f/4)
                if (isNaN(g)) {
                        err=1
                }

                if (d>29) err=1
                if (d==29 && ((f/4)!=parseInt(f/4))) err=1
        }

        return err;
}

	
//
// Check TextBox criteria for auto-jump forward
//
function onKeyUpField(e, obj, objlen, nxtobj)
{
	var iLen = obj.value.length;

	if (iLen == objlen)
	{
		eval("document.frmMain." + nxtobj + ".focus()");
	}
}

//
// Check Select Box criteria for auto-jump forward
//
function onChgSelectBox(nxtobj)
{
	eval("document.frmMain." + nxtobj + ".focus()");
}

//
// Validate Date argument (text string) date format (ddmmm) year format (yyyy)
// Return 1 for valid format, 0 for invalid format
//
function validateDateAndYear(datestr, yearstr)
{
    if ((datestr.length == 5) && (yearstr.length == 4))
    {
        iDate_MMM = datestr.substr(2, 3);
        iDate_DD = datestr.substr(0, 2);
        iMonths = new String("jan:feb:mar:apr:may:jun:jul:aug:sep:oct:nov:dec");

		iDate_MMM = iDate_MMM.toLowerCase();

        if (iMonths.indexOf(iDate_MMM.toLowerCase()) < 0)
        {
            return 0;
        }
       	
		day = parseInt(iDate_DD, 10);
		year = parseInt(yearstr, 10);	

		switch(iDate_MMM)
		{
		case "jan":
			month = 1;
			break;
		case "feb":
			month = 2;
			break;
		case "mar":
			month = 3;
			break;
		case "apr":
			month = 4;
			break;
		case "may":
			month = 5;
			break;
		case "jun":
			month = 6;
			break;
		case "jul":
			month = 7;
			break;
		case "aug":
			month = 8;
			break;
		case "sep":
			month = 9;
			break;
		case "oct":
			month = 10;
			break;
		case "nov":
			month = 11;
			break;
		case "dec":
			month = 12;
			break;
		default:
			return 0;
		}

		if (year <= 0 || month < 1 || month > 12 || day < 1)
		{
			return 0;
		}
		if (((year % 4)==0 || (year % 400)==0) && month == 2 && day > 29)
		{
			return 0;
		}
		if ((year % 4)!=0 && month == 2 && day > 28)
		{
			return 0;
		}
		if ((month % 2)==0 && month < 8 && day > 30)
		{
			return 0;
		}
		if ((month % 2)==0 && month < 7 && day > 31)
		{		
			return 0;
		}
		if ((month % 2) != 0 && month < 8 && day > 31)
		{
			return 0;
		}
		if ((month % 2)!=0 && month > 7 && day > 30)
		{
			return 0;
		}
    }
    else
    {
        return 0;
    }

    return 1;
} 

//
// Validate Date Argument (text string) date format (ddmmm)
// Return 1 for valid format, 0 for invalid format
//
function validateDate(datestr)
{
	if (datestr.length == 5)
	{
		iDate_MMM = datestr.substr(2, 3);
		iDate_DD = datestr.substr(0, 2);
		iMonths = new String("jan:feb:mar:apr:may:jun:jul:aug:sep:oct:nov:dec");
	
		if (iMonths.indexOf(iDate_MMM.toLowerCase()) < 0)
		{
			return 0;
		}
		if (iDate_DD > 31) {
			return 0;
		}
	}
	else
	{
		return 0;
	}

	return 1;
}

//
// Validate Time Argument (time string) in HHMM format
// Return 1 if valid, 0 invalid
//
function validateTime(timestr)
{
	if (timestr.length != 4)
	{
		return 0;
	}
	else
	{
		for (var i = 0; i < 4; i++)
		{
			if ((timestr.charCodeAt(i) < 48) || (timestr.charCodeAt(i) > 57))
			{
				return 0;
			}
		}
		
		iTmpValue = (timestr.charCodeAt(0) - 48)*1000 + (timestr.charCodeAt(1) - 48)*100 + (timestr.charCodeAt(2) - 48)*10 + (timestr.charCodeAt(3) - 48);
		if (iTmpValue > 2400) {
			return 0;
		}
	}

	return 1;
}

//
// Validate UserID Argument (text string) format (A.....)
// Return 1 for valid format, 0 for invalid format
// 
function validateUserID(idstr)
{
        if ( (idstr.length == 0) || (idstr.length > 6) )
        {
                return 0;
        }
	else if ( (idstr.charAt(0) == 'y') || (idstr.charAt(0) == 'z') ||
	          (idstr.charAt(0) == 'u') || (idstr.charAt(0) == 't') )
	{
		return 1;
	}
	return 0;
}

//
// Validate Password Argument (text string) format (A.......)
// return 1 for valid format, 0 for invalid format
//
function validatePassword(passstr)
{
	if ( (passstr.length == 0) || (passstr.length > 8) )
	{
		return 0;
	}

	// Only alpha character allowed in the first character
	if ( (passstr.charCodeAt(0) >= 65) && (passstr.charCodeAt(0) <= 90) ||
	     (passstr.charCodeAt(0) >= 97) && (passstr.charCodeAt(0) <= 122) )
		return 1;
	else
		return 0;
} 
