/*
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><SCRIPT LANGUAGE=JavaScript>
*/

//**********************************************************************************
//       Check wether only the characters specified are there in the string
// Accepts the string and the character to be checked (it is a string)
//                                                                A        -> for all alphabets (no case specification)
//                                                                N        -> for all numbers
//                                                                a - z        -> for all the lower case chars
//                                                                other just specify it
//**********************************************************************************
var itemvalue
var frmname

/****************** general functions **********/
//10**********************************************************************************
// Check whether the field is empty or not.
// Accepts the form name, field name and display name.
//**********************************************************************************


function isEmpty(formname,fieldname,displayname){
        itemvalue = eval("document." + formname + "." + fieldname + ".value");
        itemvalue = itemvalue.replace(/ /g,"");
        if(!itemvalue){
                alert("Please enter \"" + displayname + "\"");
                eval("document." + formname + "." + fieldname + ".focus()");
                return false;
        }
        else{
                return true;
        }
}

//**********************************************************************************
function OpenWindow(wintype, turl, wd, ht) {
       var windowFeatures =  '';
       if(wintype == 'tablename') {
                window_width = 450;
                window_height = 300;
                window_top = (screen.availHeight-window_height)/2
                window_left = (screen.availWidth-window_width)/2
                windowFeatures += "width=" + window_width + ",height=" + window_height + ",top="
                windowFeatures += window_top
                windowFeatures += ",left="
                windowFeatures += window_left
                windowFeatures += ',status=1'
                windowFeatures += ',scrollbars=yes'
        }
        else if (wintype == 'general') {
          window_width = wd;
          window_height = ht;
          window_top = (screen.availHeight-window_height)/2
          window_left = (screen.availWidth-window_width)/2
          windowFeatures += "width=" + window_width + ",height=" + window_height + ",top="
          windowFeatures += window_top
          windowFeatures += ",left="
          windowFeatures += window_left
          windowFeatures += ',scrollbars=yes'
       }
        else {
          window_width = wd;
          window_height = ht;
          window_top = (screen.availHeight-window_height) - 30
          window_left = (screen.availWidth-window_width) - 30
          windowFeatures += "width=" + window_width + ",height=" + window_height + ",top="
          windowFeatures += window_top
          windowFeatures += ",left="
          windowFeatures += window_left
          windowFeatures += ',scrollbars=no'
        }
window.open(turl,wintype,windowFeatures);
}


function checkAllowedChars(strToCheck, allowedChars)
{
        var acLen        = allowedChars.length;
        var stcLen        = strToCheck.length;
        strToCheck        = strToCheck.toLowerCase();
        var i;
        var j;
        var rightCount = 0;
        for(i = 0; i < acLen; i++)
        {
                switch(allowedChars.charAt(i))
                {
                case 'A':
                        for(j = 0; j< stcLen; j++)
                        {
                                rightCount += strToCheck.charAt(j) >= 'a' && strToCheck.charAt(j) <= 'z';
                        }
                        break;
                case 'N':
                        for(j = 0; j< stcLen; j++)
                        {
                                rightCount += strToCheck.charAt(j) >= '0' && strToCheck.charAt(j) <= '9';
                        }
                        break;
                default:
                        for(j = -1; -1 != (j = strToCheck.indexOf(allowedChars.charAt(i), j + 1)); rightCount++);
                        break;
                }
        }
        if(rightCount == stcLen)
        {
                return true;
        }
        return false;
}

//**********************************************************************************
//       Check wether the characters specified are not there in the string
// Accepts the string and the character to be checked (it is a string)
//                                                                A        -> for all alphabets (no case specification)
//                                                                N        -> for all numbers
//                                                                a - z        -> for all the lower case chars
//                                                                other just specify it
//**********************************************************************************
function checkNotAllowedChars(strToCheck, unAllowedChars)
{
        var acLen        = unAllowedChars.length;
        var stcLen        = strToCheck.length;
        strToCheck        = strToCheck.toLowerCase();
        var i;
        var j;
        var rightCount = 0;
        for(i = 0; i < acLen; i++)
        {
                switch(unAllowedChars.charAt(i))
                {
                case 'A':
                        for(j = 0; j< stcLen; j++)
                        {
                                if(strToCheck.charAt(j) >= 'a' && strToCheck.charAt(j) <= 'z')
                                {
                                        return false;
                                }
                        }
                        break;

                case 'N':
                        for(j = 0; j< stcLen; j++)
                        {
                                if(strToCheck.charAt(j) >= '0' && strToCheck.charAt(j) <= '9')
                                {
                                        return false;
                                }
                        }
                        break;

                default:
                        if(strToCheck.indexOf(unAllowedChars.charAt(i)) != -1)
                        {
                                return false;
                        }
                        break;
                }
        }
        return true;
}

/////////////////////////////////////////////////////////////////////////////////////////
// Removes the leading and trailing spaces in a strings and returns the trimmed string
/////////////////////////////////////////////////////////////////////////////////////////
function trimSpaces(stringValue) {
	// Checks the first occurance of spaces and removes them
	for(i = 0; i < stringValue.length; i++) {
		if(stringValue.charAt(i) != " ") {
			break;
		}
	}
	if(i > 0) {
		stringValue = stringValue.substring(i);
	}
	
	// Checks the last occurance of spaces and removes them
	strLength = stringValue.length - 1;
	for(i = strLength; i >= 0; i--) {
		if(stringValue.charAt(i) != " ") {
			break;
		}
	}
	if(i < strLength) {
		stringValue = stringValue.substring(0, i + 1);
	}
	
	// Returns the string after removing leading and trailing spaces.
	return stringValue;
}


function trimValue(strVal) {
        var len = strVal.length;
        var front;
        var back;
        for(front = 0; front < len && (strVal.charAt(front) == ' ' || strVal.charAt(front) == '\n' || strVal.charAt(front) == '\r' || strVal.charAt(front) == '\t'); front++);
        for(back = len; back > 0 && back > front && (strVal.charAt(back - 1) == ' ' || strVal.charAt(back - 1) == '\n' || strVal.charAt(back - 1) == '\r' || strVal.charAt(back - 1) == '\t'); back--);

        strVal = strVal.substring(front, back);
        return strVal;
}

function noChkBoxSelected(frmElement)
{
        var i;
        if(frmElement[1])
        {
                var len = frmElement.length;
                for(i = 0; i < len; i++)
                        if(frmElement[i].checked)
                                break;

                if(i < len)
                        return false;
                else
                        return true;
        }
        else
                return !(frmElement.checked);
}

function findSelectedButton(btns)
{
        if(!btns[1])
                return btns.checked? 0: -1;

        for(i = 0; i < btns.length; i++)
        {
                if(btns[i].checked)
                        return i;
        }

        return -1;
}

function setButton(btns, idx, val)
{
        idx = parseInt(idx, 10);
        if(!isNaN(idx))
                if(!btns[1])
                        btns.checked = val;
                else
                        btns[idx].checked = val;
}

function checkRedundantValues(frmElement)
{
        if(frmElement[1])
        {
                var cpy = new Array();
                for(i = 0; i < (frmElement.length - 1); i++)
                        if(frmElement[i].value != '')
                                for(j = i + 1; j < frmElement.length; j++)
                                        if(frmElement[i].value == frmElement[j].value)
                                                cpy[cpy.length] = i;
                if(cpy.length)
                        return cpy;
        }
        return null;
}
//11**********************************************************************************
//                      Check EMAIL validity
// Accepts the 'document.formName.fieldName' and mandatory( values true, false)
//**********************************************************************************


function checkEmail(emailFieldRef, mandatory)
{
     lrTrim(emailFieldRef);
     var email = eval(emailFieldRef + '.value');
     if((mandatory && !(email.length))
      || (email.length && !(checkAllowedChars(email, 'AN@-_.<>')
         && countOccurance(email, '@') == 1
         && email.indexOf('@') != 0
         && email.lastIndexOf('@') != (email.length - 1)
         && countOccurance(email, '<') <= 1
         && countOccurance(email, '>') <= 1
         && ((email.lastIndexOf('>') == (email.length - 1) && email.indexOf('<') != -1)
             || (email.indexOf('>') == -1) && email.indexOf('<') == -1)
         && countOccurance(email, '.') >= 1
         && email.indexOf('.') != 0
         && email.lastIndexOf('.') != (email.length - 1))))
     {
          alert('E-mail is Not Valid.');
          eval(emailFieldRef + '.select()');
          return false;
     }
     afterAt = email.substring(email.indexOf('@') + 1);
     if(!(afterAt.indexOf('.') != 0 && afterAt.lastIndexOf('.') != (afterAt.length - 1)))
     {
          alert('E-mail is Not Valid.');
          eval(emailFieldRef + '.focus()');
          return false;
     }
     beforeAt = email.substring(0, email.indexOf('@'));
     if(!(beforeAt.indexOf('_') != 0 && beforeAt.indexOf('-') != 0 && beforeAt.indexOf('.') != 0 && beforeAt.lastIndexOf('.') != (beforeAt.length - 1)))
     {
          alert('E-mail is Not Valid.');
          eval(emailFieldRef + '.focus()');
          return false;
     }

     return true;
}
//13**********************************************************************************
// left & right trim general function.  Accepts the form element reference.
//**********************************************************************************

function lrTrim(frmElement)
{
        var stringToTrim = eval(frmElement + '.value');
        var len = stringToTrim.length;
        var front;
        var back;
        for(front = 0; front < len && (stringToTrim.charAt(front) == ' ' || stringToTrim.charAt(front) == '\n' || stringToTrim.charAt(front) == '\r' || stringToTrim.charAt(front) == '\t'); front++);
        for(back = len; back > 0 && back > front && (stringToTrim.charAt(back - 1) == ' ' || stringToTrim.charAt(back - 1) == '\n' || stringToTrim.charAt(back - 1) == '\r' || stringToTrim.charAt(back - 1) == '\t'); back--);

        eval(frmElement + '.value = stringToTrim.substring(front, back)');
}
//                      Counts the Number of Occurance of a character
// Accepts the string and the character
//**********************************************************************************

function countOccurance(str, charecter)
{
        var j;
        var count;
        for(j = -1, count = 0; -1 != (j = str.indexOf(charecter, j + 1)); count++);
        return count;
}

/*
 * checkDateString(dateString, dateFormat, seperator)
 *
 * dateString        (string)        The string that is to validated.
 * dateFormat        (string)        The format in which the date is expected to be present in dateString. {dmy for ddmmyyyy, ymd for yyyymmdd}
 * seperator        (string)        The seperator that seperates the day, month & year from each other. Its possible values are - and /
 *
 * Returns Value:
 *  true if the date that you give is correct. Else it returns false.
 */

function checkDateString(dateString, dateFormat, seperator)
{
        var dmy = new Array();
        var day, month, year;

        dateFormat.toLowerCase();
        if(!checkAllowedChars(dateFormat, 'dmy'))
        {
                alert('checkDateString: Function usage error.\n\nInvalid date format.');
                return false;
        }

        if(seperator.length != 1 || (!checkAllowedChars(seperator, '/-')))
        {
                alert('checkDateString: Function usage error.\n\nInvalid seperator.');
                return false;
        }


        if(!checkAllowedChars(dateString, 'N' + seperator))
                return false;

        dmy = dateString.split(seperator);
        if(dmy.length == 3)
        {
                i = 0;
                while(dateFormat.length > 0)
                {
                        fmtLen = countOccurance(dateFormat, dateFormat.charAt(0));

                        switch(dateFormat.charAt(0))
                        {
                        case 'd':
                                day = dmy[i];
                                break

                        case 'm':
                                month = dmy[i];
                                break

                        case 'y':
                                year = dmy[i];
                                break
                        }
                        dateFormat = dateFormat.substring(fmtLen);
                        i++;
                }

                if(!(day.length > 0 && month.length > 0 && year.length > 0))
                        return false;

                return _checkDate(day, month, year);
        }
        return false;
}

/*
 * checkDate(day, month, year)
 *
 * As you expect day, month and year are the strings that contains the corresponding values.
 *
 * Returns Value:
 *  true if the date that you give is correct. Else it returns false.
 */

function checkDate(day, month, year)
{
        if(!checkAllowedChars(day + month + year, 'N'))
                return false;

        if((day.length <= 0) || (month.length <= 0) || (year.length <= 0))
                return false;

        return _checkDate(day, month, year);
}

function _checkDate(day, month, year)
{
        year *= 1;
        if(year <= 0)
                return false;

        month *= 1;
        if(!((month > 0) && (month < 13)))
                return false;

        var daysInMonth = new Array();
        daysInMonth[ 0] = 31;                                        //Jan
        daysInMonth[ 1] = isLeap(year) == true? 29: 28;        //Feb
        daysInMonth[ 2] = 31;                                        //Mar
        daysInMonth[ 3] = 30;                                        //Apr
        daysInMonth[ 4] = 31;                                        //May
        daysInMonth[ 5] = 30;                                        //Jun
        daysInMonth[ 6] = 31;                                        //Jul
        daysInMonth[ 7] = 31;                                        //Aug
        daysInMonth[ 8] = 30;                                        //Sep
        daysInMonth[ 9] = 31;                                        //Oct
        daysInMonth[10] = 30;                                        //Nov
        daysInMonth[11] = 31;                                        //Dec

        day *= 1;
        if(!((day > 0) && (day <= daysInMonth[month - 1])))
                return false;

        return true;
}

function isLeap(year)
{
        if((year % 4) == 0)
        {
                if((year % 100) == 0)
                {
                        if((year % 400) == 0)
                                return true;
                        else
                                return false;
                }
                return true;
        }
        return false;
}


/*
 * checkDropDown(dropDown, alertMsg, moveNext)
 *
 * dropDown                (object)        The reference to the dropdown object.
 * alertMsg                (string)        The message to be alerted on finding error. If it is null('') then the message will not be displayed in case of an error.
 * moveNext                (boolean)        Says whether to move to the next option on error.
 *
 * Returns Value:
 *  true if there was no error. Else it returns false.
 *
 * Remark
 *  The options that are not to be allowed to select by the user should be given the value null ('').
 */

function checkDropDown(dropDown, alertMsg, moveNext)
{
        if(dropDown.options[dropDown.selectedIndex].value == '')
        {
                if(alertMsg != '')
                        alert(alertMsg);

                if(moveNext)
                        cddMoveForward(dropDown)

                return false;
        }
        return true;
}

function cddMoveBack(dropDown)
{
        var i;
        for(i = dropDown.selectedIndex - 1; i >= 0 && dropDown.options[i].value == ''; i--);
        if(i < 0)
                dropDown.options[dropDown.selectedIndex].selected = false;
        else
                dropDown.options[i].selected = true;
}

function cddMoveForward(dropDown)
{
        var i;
        for(i = dropDown.selectedIndex + 1; i < dropDown.options.length && dropDown.options[i].value == ''; i++);
        if(i >= dropDown.options.length)
                cddMoveBack(dropDown);
        else
                dropDown.options[i].selected = true;
}


/*
 * formFocus(frm)
 *
 * frm                (object)        The reference to the form object to be focused.
 *
 * Remark
 *  Passes the focus to the first element in the given form.
 */

function formFocus(frm)
{
        var fieldLen;
        if(frm != null && frm.elements)
        {
                fieldLen = frm.elements.length;
                var eleType;
                for(i = 0; i < fieldLen; i++)
                {
                        eleType = frm.elements[i].type;
                        if(eleType == 'select-multiple' || eleType == 'select-one' || eleType == 'text' || eleType == 'textarea' || eleType == 'checkbox' || eleType == 'radio')
                        {
                                frm.elements[i].focus();
                                break;
                        }
                }
        }
}
//**********************************************************************************
// Check for blank spaces or null values for two fields
// accept formname, fielda, fieldb, alert1 (message to display), alert2,
//maximum no of records
//**********************************************************************************

function checkblank(formname,fielda,fieldb,alert1,alert2,count) {

     for (i=0; i<count; i++) {
          linkname = eval("document." + formname + "." + fielda + "[i]");
          linkurl = eval("document." + formname + "." + fieldb + "[i]");
          if (linkname.value.length > 0 || linkurl.value.length > 0) {
               if (linkname.value.charAt(0) == ' ' || linkname.value.length == 0) {
                    alert(alert1 + " cannot be null/space");
                    linkname.focus();
                    return false;
               }
               if (linkurl.value.charAt(0) == ' ' || linkurl.value.length == 0) {
                    alert(alert2 + " cannot be null/space");
                    linkurl.focus();
                    return false;
               }
          }
     }
     return true;
}
//**********************************************************************************
// Check for blank spaces in a varible.
// Accepts the form name, field name and display name.
//**********************************************************************************
function isNotSpaces(formname, fieldname, displayname, count)
{
     for (i=0; i<count; i++) {
     alert(count)
     itemname = eval("document." + formname + "." + fieldname + "[i].value");
     if(itemname.charAt(0) == ' ')
     {
          alert("\"" + displayname + "\" cannot contain initial spaces");
          eval("document." + formname + "." + fieldname + "[i].focus()");
          return false;
     }
     else
     {
          return true;
     }
     }
}

//***************************************
//FUNCTION TO CHECK THE DATE
//PARAMETERS ARE DAY, MONTH, MONTH NAME AND YEAR
//*************************************
function isDateN(d, m, mname, y) {
        if(d.length <= 0 || m.length <= 0 || y.length <= 0)  {
                alert("Please enter a valid date");
                return false;
        }


        a = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
      if(m == 2) {
                leapyear = (((y%4 == 0) && !(y%100 == 0)) || (y%400 == 0))?true:false;
                if(leapyear && d > 29) {
                        alert("There are only 29 days in February " + y + ". Please choose a valid date");
                        return false;
                }
                if(!leapyear && d > 28) {
                        alert("There are only 28 days in February " + y + ". Please choose a valid date");
                        return false;
                }
        }

        else if (d > a[m-1]){
                alert("There are only " + a[m-1] + " days in " + mname + ". Please choose a valid date");
                return false;
        }
   return true;

}
//******************************************
//Function to print the date as a dropdown
//First 3 Parameters are day, Month and Year Name
//Last 3 Parameters are value of day, month and year to be selected
//******************************************
function printDate(fday, fmonth, fyear, day1, month1, year1) {

        document.write('<FONT CLASS="frm"><SELECT NAME="' + fday + '" WIDTH="3" SIZE="1" CLASS="frm">');
        document.write('<OPTION VALUE="">Day</OPTION>');
        for(var i=1;i<=31;i++) {
            if (i == day1) {
                document.write('<OPTION VALUE="' + i + '" SELECTED="SELECTED">' + i + '</OPTION>');
            }else {
               document.write('<OPTION VALUE="' + i + '" >' + i + '</OPTION>');
            }
        }
        document.write('</SELECT></FONT><FONT CLASS="frm"><SELECT NAME="' + fmonth + '" WIDTH="5" SIZE="1" CLASS="frm">');
        document.write('<OPTION VALUE="">Month</OPTION>');
        var mon = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
        for(i=1;i<=12;i++) {
            if (i == month1) {
                document.write('<OPTION VALUE="' + i + '" SELECTED="SELECTED">' + mon[i-1] + '</OPTION>');
            }else {
                document.write('<OPTION VALUE="' + i + '">' + mon[i-1] + '</OPTION>');
            }

        }
        document.write('</SELECT></FONT><FONT CLASS="frm"><SELECT NAME="' + fyear + '" SIZE="1" WIDTH="5" CLASS="frm">');
        document.write('<OPTION VALUE="">Year</OPTION>');
        for(i=1996;i<=2050;i++) {
            if (i == year1) {
                document.write('<OPTION VALUE="' + i + '" SELECTED="SELECTED">' + i + '</OPTION>');
            }else {
                document.write('<OPTION VALUE="' + i + '">' + i + '</OPTION>');
            }

        }
        document.write('</SELECT></FONT>');
}

//----------
//to find element number after giving its name
function find_element(formname,  element_name, i)  {
     with(formname)  {
     //alert(elements[i].name);
          if (elements[i].name == element_name){
               return i;
          }
          else {
               return -1;
          }
     }
     return true;
}
//-----------
//  function for delete confirmation(checkbox),  parameters  (formname,indx)
//  indx is the elements no eg: elements[indx]
//-----------------------------------------------------------------------------------------------------

function conf_checkboxdel(formname,fielda) {
     namev = eval("document." + formname + "." + "elements[" + fielda + "].checked");
     if (namev) {
         if (confirm("Are you sure to delete the selected items")) return true;
         else return false;
     }
     else return 2;
}
//----------


//2 ---------------------------------------------------------------------------------------------------
//     to check if blank
//     parameters  (formname,indx,fieldname)
//     indx is the elements no eg: elements[indx]
//-----------------------------------------------------------------------------------------------------

function chkblank(formname,indx,fieldname) {
     field = eval("document." + formname + ".elements[" + indx + "]");
        if (field.value.length <= 0) {
             alert(fieldname + " cannot be blank");
             field.focus();
          return false;
        }
     else {
          return true;
     }
}

//3 ---------------------------------------------------------------------------------------------------
//     to check begining space
//     parameters  (formname,indx,fieldname)
//     indx is the elements no eg: elements[indx]
//-----------------------------------------------------------------------------------------------------

function chkbeginspace(formname,indx,fieldname) {
     field = eval("document." + formname + ".elements[" + indx + "]");
        if (field.value.charAt(0) == ' ') {
             alert("First character of " + fieldname + " cannot be space");
             field.focus();
          return false;
        }
     else {
          return true;
     }
}

//4 ---------------------------------------------------------------------------------------------------
//     to check space
//     parameters  (formname,indx,fieldname)
//     indx is the elements no eg: elements[indx]
//-----------------------------------------------------------------------------------------------------

function chkspace(formname,indx,fieldname) {
     field = eval("document." + formname + ".elements[" + indx + "]");
        if (field.value.indexOf(' ') >= 0) {
             alert(fieldname + " cannot contain space");
             field.focus();
          return false;
        }
     else {
          return true;
     }
}

	function checkValidDate(dateStr) {

	    var slash1 = dateStr.indexOf("/");
	    if (slash1 == -1)
	    {
		slash1 = dateStr.indexOf("-");
	    }
	    // if no slashes or dashes, invalid date
	    if (slash1 == -1)
	    {
		return false;
	    }
	    var dateDay = dateStr.substring(0, slash1)
	    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
	    var slash2 = dateMonthAndYear.indexOf("/");
	    if (slash2 == -1)
	    {
		slash2 = dateMonthAndYear.indexOf("-");
	    }
	    // if not a second slash or dash, invalid date

	   if (slash2 == -1)
	   {
		return false;
	   }
	    var dateMonth = dateMonthAndYear.substring(0, slash2);
	    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
	    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") )
	    {
		return false;
	    }
	    // if any non-digits in the month, invalid date
	    for (var x=0; x < dateMonth.length; x++) {
		var digit = dateMonth.substring(x, x+1);
		if ((digit < "0") || (digit > "9"))
		{
			return false;
		}
	    }

	    // convert the text month to a number
	    var numMonth = 0;
	    for (var x=0; x < dateMonth.length; x++) {
		digit = dateMonth.substring(x, x+1);
		numMonth *= 10;
		numMonth += parseInt(digit);
	    }

	    if ((numMonth <= 0) || (numMonth > 12))
	    {
		return false;
	    }
	    // if any non-digits in the day, invalid date
	    for (var x=0; x < dateDay.length; x++) {
		digit = dateDay.substring(x, x+1);
		if ((digit < "0") || (digit > "9")) { return false; }
	    }
	    // convert the text day to a number
	    var numDay = 0;
	    for (var x=0; x < dateDay.length; x++){
		digit = dateDay.substring(x, x+1);
		numDay *= 10;
		numDay += parseInt(digit);
	    }

	    if ((numDay <= 0) || (numDay > 31))
	    {
		return false;
	    }

	    // February can't be greater than 29 (leap year calculation comes later)
	    if ((numMonth == 2) && (numDay > 29))
	    {	 return false;
	    }
	    // check for months with only 30 days
	    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11))
	    {
		if (numDay > 30)
		{
			return false;
		}

	   }
	    // if any non-digits in the year, invalid date
	    for (var x=0; x < dateYear.length; x++) {
		digit = dateYear.substring(x, x+1);
		if ((digit < "0") || (digit > "9")) { return false; }
	    }
	    // convert the text year to a number
	    var numYear = 0;
	    for (var x=0; x < dateYear.length; x++) {
		digit = dateYear.substring(x, x+1);
		numYear *= 10;
		numYear += parseInt(digit);
	    }
	    // Year must be a 2-digit year or a 4-digit year
	    if ( (dateYear.length != 2) && (dateYear.length != 4) ) { return false; }
	    // if 2-digit year, use 50 as a pivot date
	    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
	    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
	    if ((numYear <= 0) || (numYear > 9999)) { return false; }
	    // check for leap year if the month and day is Feb 29
	    if ((numMonth == 2) && (numDay == 29)) {
		var div4 = numYear % 4;
		var div100 = numYear % 100;
		var div400 = numYear % 400;
		// if not divisible by 4, then not a leap year so Feb 29 is invalid
		if (div4 != 0) { return false; }
		// at this point, year is divisible by 4. So if year is divisible by
		// 100 and not 400, then it's not a leap year so Feb 29 is invalid
		if ((div100 == 0) && (div400 != 0)) { return false; }
	    }
	    // date is valid
	    return true;
	}
	
	/************* validation date ends *-***********/
	
/************* valid no:*-***********/
	function isValidNumber(inpString) {
	   return /^[+]?\d+(\d+)?$/.test(inpString);
			}
/************* valid no: ends*-***********/

function checkDateDifference(lowDate, highDate, comparison) {
	lowDateSplit = lowDate.split('/');
	highDateSplit = highDate.split('/');

	date1 = new Date();
	date2 = new Date();

	date1.setDate(lowDateSplit[0]);
	date1.setMonth(lowDateSplit[1] - 1);
	date1.setYear(lowDateSplit[2]);

	date2.setDate(highDateSplit[0]);
	date2.setMonth(highDateSplit[1] - 1);
	date2.setYear(highDateSplit[2]);

	if(comparison == "eq") {
		if(date1.getTime() == date2.getTime()) {
			return true;
		}
		else {
			return false;
		}
	}
	else if(comparison == "lt") {
		if(date1.getTime() < date2.getTime()) {
			return true;
		}
		else {
			return false;
		}
	}
	else if(comparison == "gt") {
		if(date1.getTime() > date2.getTime()) {
			return true;
		}
		else {
			return false;
		}
	}
	else if(comparison == "le") {
		if(date1.getTime() <= date2.getTime()) {
			return true;
		}
		else {
			return false;
		}
	}
	else if(comparison == "ge") {
		if(date1.getTime() >= date2.getTime()) {
			return true;
		}
		else {
			return false;
		}
	}
}

/*Please don't delete this line </SCRIPT></HEAD><BODY STYLE="background-color:black;color:gray">
<FORM name=form1 onSubmit="alert(checkDateString(document.form1.dateInput.value, document.form1.dateFormat.value, document.form1.seperator.options[document.form1.seperator.selectedIndex].value)); return false"><TABLE><TR><TD ALIGN=RIGHT>Date:</TD><TD ALIGN=LEFT><INPUT STYLE="background-color:black;color:gray;border:1 solid" TYPE=TEXT name=dateInput></TD></TR><TR><TD ALIGN=RIGHT>Date Format:</TD><TD ALIGN=LEFT><INPUT STYLE="background-color:black;color:gray;border:1 solid" TYPE=TEXT name=dateFormat></TD></TR><TR><TD ALIGN=RIGHT>Seperator:</TD><TD ALIGN=LEFT><SELECT STYLE="background-color:black;color:gray;border:1 solid" NAME=seperator SIZE=1><OPTION VALUE='/'>/</OPTION><OPTION VALUE='-'>-</OPTION></SELECT></TD></TR><TR><TD ALIGN=CENTER COLSPAN=2><INPUT STYLE="background-color:black;color:gray;border:1 solid" TYPE=submit onMouseOver="this.style.backgroundColor='#555555';this.style.color='#bbbbbb'" onMouseOut="this.style.backgroundColor='black';this.style.color='gray'"></TD></TR></TABLE></FORM>
</BODY></HTML>*/