




   /*$RCSfile: validateFloatRange.js,v $ $Revision: 1.9 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    * Check to see if fields are in a valid float range.
    * Fields are not checked if they are disabled.
    * <p>
    * @param form The form validation is taking place on.
    */
    function validateFloatRange(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name"); 

        oRange = eval('new ' + formName.value + '_floatRange()');
        for (x in oRange) {
            var field = form[oRange[x][0]];
            
            if ((field.type == 'hidden' ||
                field.type == 'text' || field.type == 'textarea') &&
                (field.value.length > 0)  &&
                 field.disabled == false) {
        
                var fMin = parseFloat(oRange[x][2]("min"));
                var fMax = parseFloat(oRange[x][2]("max"));
                var fValue = parseFloat(field.value);
                if (!(fValue >= fMin && fValue <= fMax)) {
                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oRange[x][1];
                    isValid = false;
                }
            }
        }
        if (fields.length > 0) {
            focusField.focus();
            alert(fields.join('\n'));
        }
        return isValid;
    }

    /*$RCSfile: validateUtilities.js,v $ $Revision: 1.2 $ $Date: 2004/03/28 16:53:21 $ */

  /**
  * This is a place holder for common utilities used across the javascript validation
  *
  **/


    /*$RCSfile: validateMaxLength.js,v $ $Revision: 1.10 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    * A field is considered valid if less than the specified maximum.
    * Fields are not checked if they are disabled.
    * <p>
    * <strong>Caution:</strong> Using <code>validateMaxLength</code> on a password field in a 
    *  login page gives unnecessary information away to hackers. While it only slightly
    *  weakens security, we suggest using it only when modifying a password.</p>
    * @param form The form validation is taking place on.
    */
    function validateMaxLength(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name"); 

        oMaxLength = eval('new ' + formName.value + '_maxlength()');        
        for (x in oMaxLength) {
            var field = form[oMaxLength[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                field.type == 'password' ||
                field.type == 'textarea') &&
                field.disabled == false) {

                var iMax = parseInt(oMaxLength[x][2]("maxlength"));
                if (field.value.length > iMax) {
                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oMaxLength[x][1];
                    isValid = false;
                }
            }
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return isValid;
    }


    /*$RCSfile: validateRequired.js,v $ $Revision: 1.13 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    *  Check to see if fields must contain a value.
    * Fields are not checked if they are disabled.
    * <p>
    * @param form The form validation is taking place on.
    */

    function validateRequired(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name");

        oRequired = eval('new ' + formName.value + '_required()');

        for (x in oRequired) {
            var field = form[oRequired[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                field.type == 'textarea' ||
                field.type == 'file' ||
                field.type == 'checkbox' ||
                field.type == 'select-one' ||
                field.type == 'password') &&
                field.disabled == false) {

                var value = '';
                // get field's value
                if (field.type == "select-one") {
                    var si = field.selectedIndex;
                    if (si >= 0) {
                        value = field.options[si].value;
                    }
                } else if (field.type == 'checkbox') {
                    if (field.checked) {
                        value = field.value;
                    }
                } else {
                    value = field.value;
                }

                if (trim(value).length == 0) {

                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oRequired[x][1];
                    isValid = false;
                }
            } else if (field.type == "select-multiple") { 
                var numOptions = field.options.length;
                lastSelected=-1;
                for(loop=numOptions-1;loop>=0;loop--) {
                    if(field.options[loop].selected) {
                        lastSelected = loop;
                        value = field.options[loop].value;
                        break;
                    }
                }
                if(lastSelected < 0 || trim(value).length == 0) {
                    if(i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oRequired[x][1];
                    isValid=false;
                }
            } else if ((field.length > 0) && (field[0].type == 'radio' || field[0].type == 'checkbox')) {
                isChecked=-1;
                for (loop=0;loop < field.length;loop++) {
                    if (field[loop].checked) {
                        isChecked=loop;
                        break; // only one needs to be checked
                    }
                }
                if (isChecked < 0) {
                    if (i == 0) {
                        focusField = field[0];
                    }
                    fields[i++] = oRequired[x][1];
                    isValid=false;
                }
            }
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return isValid;
    }
    
    // Trim whitespace from left and right sides of s.
    function trim(s) {
        return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
    }


    /*$RCSfile: validateInteger.js,v $ $Revision: 1.9 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    * Check to see if fields are a valid integer.
    * Fields are not checked if they are disabled.
    * <p>
    * @param form The form validation is taking place on.
    */
    function validateInteger(form) {
        var bValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name"); 

        oInteger = eval('new ' + formName.value + '_IntegerValidations()');
        for (x in oInteger) {
            var field = form[oInteger[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                field.type == 'textarea' ||
                field.type == 'select-one' ||
                field.type == 'radio') &&
                field.disabled == false) {

                var value = '';
                // get field's value
                if (field.type == "select-one") {
                    var si = field.selectedIndex;
                    if (si >= 0) {
                        value = field.options[si].value;
                    }
                } else {
                    value = field.value;
                }

                if (value.length > 0) {

                    if (!isAllDigits(value)) {
                        bValid = false;
                        if (i == 0) {
                            focusField = field;
                        }
                        fields[i++] = oInteger[x][1];

                    } else {
                        var iValue = parseInt(value);
                        if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) {
                            if (i == 0) {
                                focusField = field;
                            }
                            fields[i++] = oInteger[x][1];
                            bValid = false;
                       }
                   }
               }
            }
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return bValid;
    }

    function isAllDigits(argvalue) {
        argvalue = argvalue.toString();
        var validChars = "0123456789";
        var startFrom = 0;
        if (argvalue.substring(0, 2) == "0x") {
           validChars = "0123456789abcdefABCDEF";
           startFrom = 2;
        } else if (argvalue.charAt(0) == "0") {
           validChars = "01234567";
           startFrom = 1;
        } else if (argvalue.charAt(0) == "-") {
            startFrom = 1;
        }

        for (var n = startFrom; n < argvalue.length; n++) {
            if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false;
        }
        return true;
    }

var DEBUG = false;
        function debug(msg) {
            if (DEBUG) {
                alert(msg);
            }
        }
        
	function validateDate(form) {
            debug('form.name = ' + form.name);
	    var bValid = true;
	    var focusField = null;
	    var i = 0;
	    var fields = new Array();
            var formName = form.getAttributeNode("name"); 
	    var oDate = eval('new ' + formName.value +  '_DateValidations()');

	    for (var x in oDate) {
                var field = form[oDate[x][0]];
		var value = field.value;
		if ((field.type == 'hidden' ||
		    field.type == 'text' ||
		    field.type == 'textarea') &&
		    value.length > 0) {
		    if (value.substring(2,3) != "-"
			|| value.substring(6,7) != "-") {
                        if (i == 0) {
                            focusField = field;
                        }
                        fields[i++] = oDate[x][1];
                        bValid =  false;
		    } else {
                        day = value.substring(0,2);
                        if (day <= 9) day = day.substr(1,1);
                        strMonth = value.substring(3,6);
                        year = value.substring(7,9);
                        
                        if (day == '' || strMonth == '' || year == ''
                            || day == null || strMonth == null || year == null
                            || year.length != 2 || isNaN(day) || isNaN(year)) {
                            if (i == 0) {
                                focusField = field;
                            }
                            fields[i++] = oDate[x][1];
                            bValid =  false;
                        } else {
                            strMonth = strMonth.toUpperCase();
                            debug('strMonth.toUpperCase() = '
                                + strMonth.toUpperCase());
                            switch (strMonth) {
                                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:
                                    month = -1;
                            }
                            
                            debug('day = ' + day + ','
                                + 'month = ' + month + ','
                                + 'year = ' + year);
                                
                            if (!isValidDate(day, month, year)) {
                                debug('isValidDate returned true');
                                if (i == 0) {
                                    focusField = field;
                                }
                                fields[i++] = oDate[x][1];
                                bValid =  false;
                            }
                        }
                    }
		}
	    }
	    if (fields.length > 0) {
		  focusField.focus();
		  alert(fields.join('\n'));
	    }
            debug('bValid = ' + bValid);
	    return bValid;
	}
        
        function isValidDate(day, month, year) {
                if (month < 1 || month > 12) {
                return false;
            }
            if (day < 1 || day > 31) {
                return false;
            }
            if ((month == 4 || month == 6 || month == 9 || month == 11) &&
                (day == 31)) {
                return false;
            }
            if (month == 2) {
                var leap = (year % 4 == 0 &&
                   (year % 100 != 0 || year % 400 == 0));
                if (day>29 || (day == 29 && !leap)) {
                    return false;
                }
            }
            return true;
        }

    /*$RCSfile: validateIntRange.js,v $ $Revision: 1.10 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    * Check to see if fields is in a valid integer range.
    * Fields are not checked if they are disabled.
    * <p>
    * @param form The form validation is taking place on.
    */
    function validateIntRange(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name"); 

        oRange = eval('new ' + formName.value + '_intRange()');        
        for (x in oRange) {
            var field = form[oRange[x][0]];
            if (field.disabled == false)  {
                var value = '';
                if (field.type == 'hidden' ||
                    field.type == 'text' || field.type == 'textarea' ||
                    field.type == 'radio' ) {
                    value = field.value;
                }
                if (field.type == 'select-one') {
                    var si = field.selectedIndex;
                    if (si >= 0) {
                        value = field.options[si].value;
                    }
                }
                if (value.length > 0) {
                    var iMin = parseInt(oRange[x][2]("min"));
                    var iMax = parseInt(oRange[x][2]("max"));
                    var iValue = parseInt(value);
                    if (!(iValue >= iMin && iValue <= iMax)) {
                        if (i == 0) {
                            focusField = field;
                        }
                        fields[i++] = oRange[x][1];
                        isValid = false;
                    }
                }
            }
        }
        if (fields.length > 0) {
            focusField.focus();
            alert(fields.join('\n'));
        }
        return isValid;
    }

function validateLong(form) {
		var bValid = true;
		var focusField = null;
		var i = 0;
		var fields = new Array();
		var formName = form.getAttributeNode("name"); 
	
		oInteger = eval('new ' + formName.value + '_LongValidations()');
		for (x in oInteger) {
		    var field = form[oInteger[x][0]];
	
		    if ((field.type == 'hidden' ||
			field.type == 'text' ||
			field.type == 'textarea' ||
			field.type == 'select-one' ||
			field.type == 'radio') &&
			field.disabled == false) {
	
			var value = '';
			// get field's value
			if (field.type == "select-one") {
			    var si = field.selectedIndex;
			    if (si >= 0) {
				value = field.options[si].value;
			    }
			} else {
			    value = field.value;
			}
	
			if (value.length > 0) {
	
			    if (!isAllDigits(value)) {
				bValid = false;
				if (i == 0) {
				    focusField = field;
				}
				fields[i++] = oInteger[x][1];
	
			    }
		        }
		     }
		 }
		 if (fields.length > 0) {
		    focusField.focus();
		    alert(fields.join('\n'));
		 }
		 return bValid;
            }

    /*$RCSfile: validateFloat.js,v $ $Revision: 1.11 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    * Check to see if fields are a valid float.
    * Fields are not checked if they are disabled.
    * <p>
    * @param form The form validation is taking place on.
    */
    function validateFloat(form) {
        var bValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
         var formName = form.getAttributeNode("name");

        oFloat = eval('new ' + formName.value + '_FloatValidations()');
        for (x in oFloat) {
        	var field = form[oFloat[x][0]];
        	
            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                field.type == 'textarea' ||
                field.type == 'select-one' ||
                field.type == 'radio') &&
                field.disabled == false) {
        
            	var value = '';
                // get field's value
                if (field.type == "select-one") {
                    var si = field.selectedIndex;
                    if (si >= 0) {
                        value = field.options[si].value;
                    }
                } else {
                    value = field.value;
                }
        
                if (value.length > 0) {
                    // remove '.' before checking digits
                    var tempArray = value.split('.');
                    //Strip off leading '0'
                    var zeroIndex = 0;
                    var joinedString= tempArray.join('');
                    while (joinedString.charAt(zeroIndex) == '0') {
                        zeroIndex++;
                    }
                    var noZeroString = joinedString.substring(zeroIndex,joinedString.length);

                    if (!isAllDigits(noZeroString)) {
                        bValid = false;
                        if (i == 0) {
                            focusField = field;
                        }
                        fields[i++] = oFloat[x][1];

                    } else {
	                var iValue = parseFloat(value);
	                if (isNaN(iValue)) {
	                    if (i == 0) {
	                        focusField = field;
	                    }
	                    fields[i++] = oFloat[x][1];
	                    bValid = false;
	                }
                    }
                }
            }
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return bValid;
    }

function validateEmail(form) {
        var bValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name");
        
        oEmail = eval('new ' + formName.value + '_EmailValidations()');  
        
        for (x in oEmail) {
            var field = form[oEmail[x][0]];
            if ((field.type == 'hidden' || 
                 field.type == 'text' ||
                 field.type == 'textarea') &&
                (field.value.length > 0) &&
                field.disabled == false) {
                if (!checkEmail(field.value)) {
                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oEmail[x][1];
                    bValid = false;
                }
            }
        }
        if (fields.length > 0) {
            focusField.focus();
            alert(fields.join('\n'));
        }
        return bValid;
    }

    /**
     * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
     * http://javascript.internet.com
     */
    function checkEmail(emailStr) {
       if (emailStr.length == 0) {
           return true;
       }
       var emailPat=/^(.+)@(.+)$/;
       var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
       var validChars="\[^\\s" + specialChars + "\]";
       var quotedUser="(\"[^\"]*\")";
       var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
       var atom=validChars + '+';
       var word="(" + atom + "|" + quotedUser + ")";
       var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
       var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
       var matchArray=emailStr.match(emailPat);
       if (matchArray == null) {
           return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
       if (user.match(userPat) == null) {
           return false;
       }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
           for (var i = 1; i <= 4; i++) {
              if (IPArray[i] > 255) {
                 return false;
              }
           }
           return true;
       }
       var domainArray=domain.match(domainPat);
       if (domainArray == null) {
           return false;
       }
       var atomPat=new RegExp(atom,"g");
       var domArr=domain.match(atomPat);
       var len=domArr.length;
       if ((domArr[domArr.length-1].length < 2) ||
           (domArr[domArr.length-1].length > 4)) {
           return false;
       }
       if (len < 2) {
           return false;
       }
       return true;
    }

    /*$RCSfile: validateMask.js,v $ $Revision: 1.10 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    * Check to see if fields are a valid using a regular expression.
    * Fields are not checked if they are disabled.
    * <p>
    * @param form The form validation is taking place on.
    */
    function validateMask(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name"); 

        oMasked = eval('new ' + formName.value + '_mask()');      
        for (x in oMasked) {
            var field = form[oMasked[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                 field.type == 'textarea' ||
				 field.type == 'file') &&
                 (field.value.length > 0) &&
                 field.disabled == false) {

                if (!matchPattern(field.value, oMasked[x][2]("mask"))) {
                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oMasked[x][1];
                    isValid = false;
                }
            }
        }

        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return isValid;
    }

    function matchPattern(value, mask) {
       return mask.exec(value);
    }


    /*$RCSfile: validateMinLength.js,v $ $Revision: 1.11 $ $Date: 2004/03/28 16:53:21 $ */
    /**
    * A field is considered valid if greater than the specified minimum.
    * Fields are not checked if they are disabled.
    * <p>
    * <strong>Caution:</strong> Using <code>validateMinLength</code> on a password field in a 
    *  login page gives unnecessary information away to hackers. While it only slightly
    *  weakens security, we suggest using it only when modifying a password.</p>
    * @param form The form validation is taking place on.
    */
    function validateMinLength(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name");


        oMinLength = eval('new ' + formName.value + '_minlength()');

        for (x in oMinLength) {
            var field = form[oMinLength[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                field.type == 'password' ||
                field.type == 'textarea') &&
                field.disabled == false) {

                var iMin = parseInt(oMinLength[x][2]("minlength"));
                if ((trim(field.value).length > 0) && (field.value.length < iMin)) {
                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oMinLength[x][1];
                    isValid = false;
                }
            }
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return isValid;
    }


var defaultEmptyOK = false;

function onlyDigits(e) {
         var _ret = true;
			
         if (window.event.keyCode == 13)
           return false;

        
         if (window.event.keyCode <= 47 || window.event.keyCode > 57) {
         window.event.keyCode = 0;
         _ret = false;
         }
         return (_ret);
 }

 function onlyChars(e) {
 
          if ( (window.event.keyCode >96  && window.event.keyCode  <123) || 
		       (window.event.keyCode >64  && window.event.keyCode  <91)  ||
			 (window.event.keyCode == 45 || window.event.keyCode==32) ) {
     		   return true;
        	 }


		window.event.keyCode = 0
         return false;
 }


    function Trim(TRIM_VALUE) {
        if (TRIM_VALUE.length < 1) {
            return"";
        }
        TRIM_VALUE = RTrim(TRIM_VALUE);
        TRIM_VALUE = LTrim(TRIM_VALUE);
        if (TRIM_VALUE == "") {
            return "";
        }
        else {
            return TRIM_VALUE;
        }
    }
    
    
    //To trim white spaces in right side of a field
    function RTrim(VALUE) {
        var w_space = String.fromCharCode(32);
        var v_length = VALUE.length;
        var strTemp = "";
        if (v_length < 0) {
            return"";
        }
        var iTemp = v_length - 1;
    
        while (iTemp > -1) {
            if (VALUE.charAt(iTemp) == w_space) {
            }
            else {
                strTemp = VALUE.substring(0, iTemp + 1);
                break;
            }
            iTemp = iTemp - 1;
        }
        return strTemp;
    
    }
    
    //To trim white spaces in left side of a field
    function LTrim(VALUE) {
        var w_space = String.fromCharCode(32);
        if (v_length < 1) {
            return"";
        }
        var v_length = VALUE.length;
        var strTemp = "";
    
        var iTemp = 0;
    
        while (iTemp < v_length) {
            if (VALUE.charAt(iTemp) == w_space) {
            }
            else {
                strTemp = VALUE.substring(iTemp, v_length);
                break;
            }
            iTemp = iTemp + 1;
        }
        return strTemp;
    }    

    function makeArray(n) {
       for (var i = 1; i <= n; i++) {
          this[i] = 0
       }
       return this;
    }

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

function isEmpty(s)
{   
	return ((s == null) || (s.length == 0));
}

function isDigit(c)
{   return ((c >= "0") && (c <= "9"));
}

function isInteger(s)
{
    var i;
    if (isEmpty(s))
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }

    return true;
}



    function isMonthChar(s) {
        var i;
        var isCharMonth = makeArray(12);
        isCharMonth[1] = "JAN";
        isCharMonth[2] = "FEB";
        isCharMonth[3] = "MAR";
        isCharMonth[4] = "APR";
        isCharMonth[5] = "MAY";
        isCharMonth[6] = "JUN";
        isCharMonth[7] = "JUL";
        isCharMonth[8] = "AUG";
        isCharMonth[9] = "SEP";
        isCharMonth[10] = "OCT";
        isCharMonth[11] = "NOV";
        isCharMonth[12] = "DEC";    
        
        s = s.toUpperCase();
        for (i = 0; i <= 12; i++) {
            if (isCharMonth[i] == s) {
                return i;
            }
        }
        return 0;
    }
    
    
    function isMinutes(s) {
      if(isInteger(s) &&  parseInt(s) < 60  ) {
            return true;
      }
       return false;   
    }    
    
    function isHours(s) {
      if(isInteger(s) &&  parseInt(s) < 24  ) {
            return true;
      }
       return false;   
    }    
    
     
     
     
function isDateTimeFormat(data,sysdate) {   
      if(data.length!=9){
        alert('Enter Trade expiry Date in format (DD-MMM-YY)');
        return false;     
        }

      day = data.substr(0,2);
      month = data.substr(3,3);
      year = data.substr(7,2);
      month = isMonthChar(month);      

    armonth = new Array("January ","February ","March ","April ","May ","June ","July ","August ","September ", "October ","November ","December ");          
    sysday = sysdate.substr(0,2);
    sysmonth = sysdate.substr(3,3);
    sysyear = sysdate.substr(7,2);

    sysmonth = isMonthChar(sysmonth);
    
    var sysyearis = "20"+sysyear+" ";

    var currdate=new Date(armonth[sysmonth-1]+sysday+", "+sysyearis);
    
    var yearis = "20"+year+" ";
    
    var etaDate=new Date(armonth[month-1]+day+", "+yearis);

    var diff = etaDate.getTime() - currdate.getTime();
    var days = Math.floor(diff / (1000 * 60 * 60 * 24));

   if(days>=0){                
        return true;  	     
    }else{
        alert('Trade Licence Expiry Date should not be less than Current Date');
        return false;
    }
 }     
 
 
 function isAlphaNumeric(val) {
    if (val.match(/^[a-zA-Z0-9/-]+$/)) {
        return true;
    }
    else {
        return false;
    } 
}

function isAlphaNumericOnly(val)
{
if (val.match(/^[a-zA-Z0-9]+$/))
{
return true;
}
else
{
return false;
} 
}



function dateDiff(from,to)
{ 
	var sep1 = from.indexOf('-');
	var sep2 = from.lastIndexOf('-');
	var temp = sep1 + 1;
	var temp2 = sep2 + 1;
	var len = from.length;
	var day = from.substring(0,sep1);
	var month = from.substring(temp,sep2);
	var year = from.substring(temp2,len);
        if(year <= 50 )
		year = "20"+year;
	 else
		year = "19"+year;
	month = isMonthChar(month);	
	var sep11 = to.indexOf('-');
	var sep12 = to.lastIndexOf('-');
	var temp11 = sep11 + 1;
	var temp12 = sep12 + 1;
	var toLen = to.length;
	var dayTo = to.substring(0,sep11);
	var monthTo = to.substring(temp11,sep12);
	var yearTo = to.substring(temp12,toLen);
	if(yearTo <= 50 )
		yearTo = "20"+yearTo;
	else
		yearTo = "19"+yearTo;	
	monthTo = isMonthChar(monthTo);	
	var changedFrom = new Date(year,month-1,day);
	var changedTo = new Date(yearTo,monthTo-1,dayTo);
	var difference = changedTo.getTime() - changedFrom.getTime();
	var daysDiff = Math.floor(difference/1000/60/60/24);
        return daysDiff;
}

function getmaxtradeExpDate(currentDate){

        var isCharMonth = makeArray(12);
        isCharMonth[1] = "JAN";
        isCharMonth[2] = "FEB";
        isCharMonth[3] = "MAR";
        isCharMonth[4] = "APR";
        isCharMonth[5] = "MAY";
        isCharMonth[6] = "JUN";
        isCharMonth[7] = "JUL";
        isCharMonth[8] = "AUG";
        isCharMonth[9] = "SEP";
        isCharMonth[10] = "OCT";
        isCharMonth[11] = "NOV";
        isCharMonth[12] = "DEC"; 
        

        var sep1 = currentDate.indexOf('-');
        var sep2 = currentDate.lastIndexOf('-');
        var temp = sep1 + 1;
        var temp2 = sep2 + 1;
        var len = currentDate.length;
        var day = currentDate.substring(0,sep1);
        var month = currentDate.substring(temp,sep2);
        var year = currentDate.substring(temp2,len);
        month = isMonthChar(month);
        
        var maxMonth = month+1;       
        var maxYear = parseInt(year)+1;
         if(maxMonth>12){
            maxMonth=1;
            maxYear=maxYear+1;
        }
        var maxday;
        var daysInTheMonth;
        if((maxMonth == 4 || maxMonth == 6 || maxMonth == 9 || maxMonth == 11) ){
            daysInTheMonth=30;
        }
        else if(maxMonth==2){
            daysInTheMonth=28;
        }else{
            daysInTheMonth=31;
        }

        if(parseInt(daysInTheMonth)< day)
            maxday = daysInTheMonth;
        else
            maxday = day;
        var maxInsDate = maxday+"-"+isCharMonth[maxMonth]+"-0"+maxYear

        return maxInsDate;
}

function checkdate(dateval)
{
    if(dateval.length!=9)
        return false;
    var etaDateVal = dateval;
    var sep1 = etaDateVal.indexOf('-');
    var sep2 = etaDateVal.lastIndexOf('-');
    var temp = sep1 + 1;
    var temp2 = sep2 + 1;
    var etaDatelen = etaDateVal.length;
    var day = etaDateVal.substring(0, sep1);
    var month = etaDateVal.substring(temp, sep2);
    var year = etaDateVal.substring(temp2, etaDatelen);
    var yearlen = year.length;
    var i = isMonthChar(month);
    if (isDate(year, i, day) && (yearlen == 2)) {

        return true;
    } else
    {

        return false;
    }
}


function isDate(year, month, day)
{
    isDay(day,false);

    if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false)))        return false;
    
    var intYear = parseInt(year);
    var intMonth = parseInt(month);
    var intDay = parseInt(day);
   var daysarray = getDaysInMonth();

    if (intDay > daysarray[intMonth]) return false;
    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

    return true;
}

function isDay(s)
{   if (isEmpty(s))
       if (isDay.arguments.length == 1) return defaultEmptyOK;
       else return (isDay.arguments[1] == true);
    return isIntegerInRange(s, 1, 31);
}

function isIntegerInRange(s, a, b)
{   if (isEmpty(s))
       if (isIntegerInRange.arguments.length == 1) return defaultEmptyOK;
       else return (isIntegerInRange.arguments[1] == true);

    if (!isInteger(s, false)) return false;
    
    var num = parseFloat (s);
    return ((num >= a) && (num <= b));
}



function getDaysInMonth()
{
  var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;
return daysInMonth;
}

function daysInFebruary(year)
{
    return (((year % 4 == 0) && (!(year % 100 == 0) || (year % 400 == 0) ) ) ? 29 : 28 );
}

function isYear(s)
{
    if (isEmpty(s))
       if (isYear.arguments.length == 1) return defaultEmptyOK;
       else return (isYear.arguments[1] == true);

    if (!isNonnegativeInteger(s)) return false;
    return ((s.length == 2) || (s.length == 4));
}

function isNonnegativeInteger(s)
{   var secondArg = defaultEmptyOK;

    if (isNonnegativeInteger.arguments.length > 1)
        secondArg = isNonnegativeInteger.arguments[1];

    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) >= 0) ) );
}

function isSignedInteger(s)
{   if (isEmpty(s))
       if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedInteger.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedInteger.arguments.length > 1)
            secondArg = isSignedInteger.arguments[1];

        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;
        return (isInteger(s.substring(startPos, s.length), secondArg))
    }
}

function isInteger(s)
{
    var i;
    if (isEmpty(s))
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }

    return true;
}


function isMonth(s)
{
    if (isEmpty(s))
       if (isMonth.arguments.length == 1) return defaultEmptyOK;
       else return (isMonth.arguments[1] == true);
    return isIntegerInRange(s, 1, 12);
}
