
<!-- THIS FILE IS USED FOR DATE VALIDATIONS -->

function validateDate(objName, objSpan, flagCheckNull, dateFormat){
	
	//alert(" javascript called ")
	
	var obj, strDate;
	obj = document.getElementById(objName);
	//alert(obj.value);
	strDate = obj.value;
	
	if(strDate == "")
	{
		//alert(" Null ")
		var objSpn;
		objSpn = document.getElementById(objSpan);
		objSpn.innerHTML = "Please Enter Date";
		objSpn.style.display = "inline";
	 return false;
	}
		
	if(flagCheckNull){
		if(strDate == ""){
			//alert(" Textbox null...");
			return false;
		}
	}
	else{
		if(strDate == "") return true;
	}

	switch(dateFormat){
		case "DD/MM/YYYY":
			if(strDate.length != 10){
				var objSpn;
				objSpn = document.getElementById(objSpan);
				objSpn.innerHTML = "Enter Date in 'DD/MM/YYYY' Format";
				objSpn.style.display = "inline";
				return false;
			}

			/*for(var i = 0; i < strDate.length; i++){
				digit = strDate.substring(i, i+1);
				if( digit < "0" || digit > "9" ){
					alert("Enter digits only 3 ");
					return;
				}
			} */
			
			//alert(" strDate " + strDate);
			//alert(strDate.charAt(2));
			if(strDate.charAt(2) != '/' || strDate.charAt(5) != '/') 
			{
				var objSpn;
				objSpn = document.getElementById(objSpan);
				objSpn.innerHTML = "Enter Date in 'DD/MM/YYYY' Format";
				objSpn.style.display = "inline";
				return false;
			}



			var strday = strDate.substr(0, 2);			
			var strmonth = strDate.substr(3, 2);
			var stryear = strDate.substr(6, 4);
			
			// george changes added below check
			if(checkNumericInt(strday) == false || checkNumericInt(strmonth) == false || checkNumericInt(stryear) == false) 
			{				
				var objSpn;
				objSpn = document.getElementById(objSpan);
				objSpn.innerHTML = "Enter numeric values for Date in 'DD/MM/YYYY' Format";
				objSpn.style.display = "inline";
				return false;
			}
			
			var month = parseInt(strmonth, 10);
			var day = parseInt(strday, 10);
			var year = parseInt(stryear, 10);

			var today = new Date();
			var tempYYstr = String(today.getFullYear());
			var tempYY = parseInt(tempYYstr.substr(tempYYstr.length - 4), 10);
			var curr_century = today.getFullYear() - tempYY;
			year = year + curr_century;
			break;
	
	}

	if(month < 1 || month > 12){
		//alert(" Enter Month Between 1 and 12");
		var objSpn;
		objSpn = document.getElementById(objSpan);
		objSpn.innerHTML = "Enter Month Between 1 and 12";
		objSpn.style.display = "inline";
		return false;
	}

	var monthDays = getMonthDays(month, year);
	if(day < 1){
		//alert(" Days can not be less than 1");
		var objSpn;
		objSpn = document.getElementById(objSpan);
		objSpn.innerHTML = "Days can not be less than 1";
		objSpn.style.display = "inline";
		return false;
	}
	else if(day > monthDays){
		//alert(" There are not more than " + monthDays + " days in this month");
		var objSpn;
		objSpn = document.getElementById(objSpan);
		objSpn.innerHTML = "There are not more than " + monthDays + " days in this month";
		objSpn.style.display = "inline";
		return false;
	}
	
	return true;
}

function getMonthDays(month, year){
	var maxdays;
	if(month == 2){
		if(isLeapYear(year)) maxdays = 29;
		else maxdays = 28;
	}
	else{
		if(month == 4 || month == 6 || month == 9 || month == 11) maxdays = 30;
		else maxdays = 31;
	}

	return maxdays;
}

function isLeapYear(year){
	var div4 = year % 4;
	var div100 = year % 100;
	var div400 = year % 400;
	var flagLeapyear;

	if( div4 == 0 && div100 != 0) flagLeapYear = true;
	else if(div100 == 0 && div400 == 0) flagLeapYear = true;
	else flagLeapYear = false;

	return flagLeapYear;
}


/*
Function returns true if the given text is numericINT
*/
function checkNumericInt(text) {
	for(i=0;i<text.length;i++) {		
		if(isNaN(text.charAt(i)) || text.charAt(i)== " ") {		
			return false;
		}
	}	
	return true;
}

function getDate(objDate,objTime)
{
    var obj, strDate;
	obj = document.getElementById(objDate);
	strDate = obj.value;
		
    var strday = strDate.substr(0, 2);
	var day = parseInt(strday, 10);
			
	var strmonth = strDate.substr(3, 2);
	var month = parseInt(strmonth, 10) - 1;

	var stryear = strDate.substr(6, 4);
	var year = parseInt(stryear, 10);
	
	var hour = 0;
	var minute = 0;
	
    if(objTime)
	{ if(objTime != "")
	    {
	        var obj1, strTime;
	        obj1 = document.getElementById(objTime);
	        strTime = obj1.value;
    	    
            var strHour = strTime.substr(0, 2);
	        var hour = parseInt(strHour, 10);
        				
	        var strMinute = strTime.substr(3, 2);
	        var minute = parseInt(strMinute, 10);
	    }			
    }
    var dt = new Date(year,month,day,hour,minute,0);
    
    return dt;
}

function ltrim(str)
{
	while(str.length > 0){
		if(str.substr(0, 1) == " ")
			str = str.substr(1);
		else break;
	}

	return str;
}

function rtrim(str)
{
	while(str.length > 0){
		if(str.substr(str.length - 1, 1) == " ")
			str = str.substr(0, str.length - 1);
		else break;
	}

	return str;
}

function trim(str)
{
	return rtrim(ltrim(str));
}


function setDate(id,century,spnId)
     {   var day;        
        var month;
        var year;              
        var flagformat="N";
        var dateToFormat = document.getElementById(id).value; 
        if (dateToFormat.replace(/\s*/,"")!="")
        {     
            arrDate=dateToFormat.split('/');                  
	        if(arrDate.length==3) {		        	       
	         day=arrDate[0];
	         month=arrDate[1];
	         year=arrDate[2];
	         flagformat="Y"
            }
            else
            {   dateToFormat= dateToFormat.replace(/[/]*/gi,""); 
                if(dateToFormat.length>4 && !isNaN(dateToFormat) )
                {
                     day=dateToFormat.substr(0,2);
	                 month=dateToFormat.substr(2,2);
	                 year=dateToFormat.substr(4,4);	
	                 flagformat="Y"
	            }	
	        }
	        //dateToFormat= dateToFormat.replace(/[/]*/gi,""); 
	        if(flagformat=="Y")
            {
                if (year.length == 1 || year.length == 2 )             
                {
                    year = (parseInt(year,10) + century);
                }  
                 if (year.length==3)            
                {               
                    if(parseInt(year,10)<100)
                    {year = parseInt(year,10) + parseInt((century/1000),10)*1000;}//2000;}
                    else
                    {year = parseInt(year,10) + parseInt((century/1000),10)*1000;}//1000;}
                }   
                if (year==""){year= century;}       
                if( parseInt(month,10) > 12) 
                {month=12;} 
                if (parseInt(month,10)< 1 || month=="")  
                { month="01"; }
                if (month.length==1){month="0"+ month}
                var monthDays = getMonthDays(month, year);  
                if( parseInt(day,10) > monthDays) 
                {day=monthDays;} 
                if (parseInt(day,10)< 1 || day=="")  
                { day="01"; } 
                if (day.length==1){day="0"+ day}
                
                document.getElementById(id).value= day + "/" + month + "/" + year;
            }                  
        }
//         if (spnId!="")
//        {           
//            validateDate(id,spnId,'Date','DD/MM/YYYY',false);             
//        } 
    }

<!-- END -->