    function isDate(inDate)
    {
        if (inDate.length == 0)
        {
            return true;
        }
            
        var validformat = /^(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/(19|20)\d\d$/
        
        if (!validformat.test(inDate))
        {
            return false;
        }
        else
        {
            var month = inDate.split("/")[0]
            var day = inDate.split("/")[1]
            var year = inDate.split("/")[2]
            var testDate = new Date(year, month - 1, day)
            
            if ((testDate.getMonth() + 1 != month) || (testDate.getDate() != day) || (testDate.getFullYear() != year))
            {
                return false;
            }
        }
        return true;
    }
    
    function isMilitaryTime(inTime)
    {
        if (inTime.length == 0)
        {
            return true;
        }
            
        return /^([01]?[0-9]|[2][0-3])(:[0-5][0-9])?$/.test(inTime)        
    }
    
     function CheckDate(inDate)
    {
        if (inDate.length == 0)
        {
            return true;
        }
            
        var validformat=/(?=\d)^(?:(?!(?:10\D(?:0?[5-9]|1[0-4])\D(?:1582))|(?:0?9\D(?:0?[3-9]|1[0-3])\D(?:1752)))((?:0?[13578]|1[02])|(?:0?[469]|11)(?!\/31)(?!-31)(?!\.31)|(?:0?2(?=.?(?:(?:29.(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|(?:0?2(?=.(?:(?:\d\D)|(?:[01]\d)|(?:2[0-8])))))([-.\/])(0?[1-9]|[12]\d|3[01])\2(?!0000)((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?!\x20BC)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$/;
        
        if (!validformat.test(inDate))
        {
            return false;
        }
        else
        {
        
            var month = inDate.split("/")[0]
            var day = inDate.split("/")[1]
            var year = inDate.split("/")[2]
            var testDate = new Date(year, month - 1, day)
            
            if ((testDate.getMonth() + 1 != month) || (testDate.getDate() != day) || (testDate.getFullYear() != year))
            {
                return false;
            }
        }
        
        return true;
    }
    
        function validateNumInput(field, imin, imax, maxdec)
        {
	        var val = field.value;
	        var sNumbers = '-0123456789.';
	        var iMaxAllowed = 2147483647;
	        var iMinAllowed = -2147483648;
	        var doDefault = false;
	        
	        if (imin != undefined)
		        iMinAllowed = imin;

	        if (imax != undefined)
		        iMaxAllowed = imax;
        	
	        if (val.length == 0)
	        {
		        if (doDefault)
		        {
			        field.value = 0;
		        }
		        return true;
	        }
        		
	        if (val < iMinAllowed || val > iMaxAllowed)
	        {
		        alert('Number outside of allowed range ' + iMinAllowed + ' - ' + iMaxAllowed);
		        if (doDefault)
		        {
			        field.value = 0;
		        }
		        else
		        {
		            field.value = '';
		        }
		        return false;
	        }

	        var anum = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
	        if (!anum.test(val))
	        {
		        var newVal = '';
		        var hasDot = false;
		        for (var i=0; i <= val.length; i++)
		        {
			        var l = val.charAt(i);
			        if (sNumbers.indexOf(l) > -1)
			        {
				        if (l == "." )
				        {
					        if (!hasDot)
					        {
						        newVal = newVal + l;
						        hasDot = true;
					        }
				        }
				        else
				        {
					        newVal = newVal + l;
				        }
			        }
		        }
        		
		        field.value = newVal;
	        }
        	
	        if (field.value.length == 0) 
	        {
		        if (doDefault)
		        {
			        field.value = 0;
		        }
	        }
	        else
	        {
		        if (maxdec != undefined)
		        {
			        if (field.value.indexOf(".") > -1)
			        {
				        if ((field.value.length - field.value.indexOf(".") - 1) > maxdec)
				        {
					        alert('Only ' + maxdec + ' decimal(s) allowed');
					        field.value = field.value.substring(0, field.value.length - 1);
				        }
			        }
		        }
	        }
	        
	        return true;
        }
