/* Validate date: format must be mm/dd/yyyy, also month range is 1-12, day range is 1-31, 
     if month is 4,6,9,11, then day must be ranged 1-30, if month is 2, day is 28 or 29. */
	 
/*
	6/27/2003 David Wintrich
	Modified this script to accept dates with single digit month and day values.
*/

	 
function checkDate(data){
	  var err = 0;
      var string_day_month = data;
	  var valid_day_month = "0123456789/";
	  var temp;
	  if (string_day_month !=""){
		  for (i=0; i<string_day_month.length;i++) {
		       temp = string_day_month.substring(i, i+1);   
			   if (valid_day_month.indexOf(temp)=="-1") {
			      err = 1;//if value in date field did not contain "0123456789/"        
                          //then error
			   }	
		  }  
		  if (string_day_month.length > 10 || string_day_month.length < 8){
			      err = 1; //if date format is not "mm/dd/yyyy" then error   
	       }
		   
		   //parse the string into an array of strings using the '/' character as a delimeter (DAW 6/27/2003)
		   var arr_day_month_year = string_day_month.split('/');
		   
		   var l_month = arr_day_month_year[0]; //month
		   var l_day = arr_day_month_year[1];	//day
		   var l_year = arr_day_month_year[2];	//year
		   
		   if (l_month < 1 || l_month > 12 ){
			       err = 1;    //if month range is out of 1-12, then error
		   }
		    if (l_day < 1 || l_day > 31){
			       err =1;  //if day range is out if 1-31, then error
		    }
			if (l_month==4 || l_month==6 || l_month==9 ||l_month==11){
			       if (l_day==31) err=1; //if month is 4,6,9,11, day is 31 then error
		    }	   	   
		    if (l_month==2){
			       var g=parseInt(l_year/4)
			       if (isNaN(g)) {
			           err=1;
			        }
			        if (l_day>29) {err=1;}
			        if (l_day==29 && ((l_year/4)!=parseInt(l_year/4))) 
					   {err=1;} 
			 }
		     if (err==1){
			       window.alert("Invalid date or incorrect format! (Correct Format: mm/dd/yyyy)");
				   return false;
			   }	   
			  else
			     return true; 
		}	
		else
		   return true; 	 
	}
	
