var GlobalFlag=false;
var objVal=0;
function invalidateDate(objMM,objYY,objDD,mes,obj1)
{
	objVal=obj1;
	var	strMM=objMM.value;
	var	strYY=objYY.value;
	var strDD=objDD.value;
	var intDD=parseFloat(strDD); 
	var intMM=parseFloat(strMM); 
	var intYY=parseFloat(strYY); 

	var mes=" Please Put a - if you dont want any data ";
	
	if(strMM=='' || strYY=='' || strDD=='')
	{
		objMM.value='-';
		objYY.value='-';
		objDD.value='-';
		return true;
	}
	else if(strDD=='-' && objVal==1)
	{
		objMM.value="-";
		objYY.value="-";Flag1=false;
		return true;
		
	}
	else if(strMM=='-' && objVal==2)
	{
		objDD.value="-";
		objYY.value="-";Flag2=false;
		return true;
		
	}
	else if(strYY=='-' && objVal==3)
	{
		objMM.value="-";
		objDD.value="-";Flag3=false;
		return true;
		
	}
	else if(strDD!='-' && objVal==1)
	{
		if(objMM.value=='-') 
		{objMM.value="1";}
		if(objYY.value=='-') 
		{objYY.value="2002";}
	}
	else if(strMM!='-' && objVal==2)
	{
		if(objDD.value=='-') 
		{objDD.value="1";}
		if(objYY.value=='-') 
		{objYY.value="2002";}
	}
	else if(strYY!='-' && objVal==3)
	{
		if(objMM.value=='-') 
		{objMM.value="1";}
		if(objDD.value=='-') 
		{objDD.value="1";}
	}
	return validateDate(objMM,objYY,objDD,mes,objVal);
	
	
}
//function for validating date
var comObj;
function validateDate(objMM,objYY,objDD,mes,obj1)
{
	objVal=obj1;
	var flag=false;
	var	strMM=objMM.value;
	var	strYY=objYY.value;
	var strDD=objDD.value;
	var intDD=parseFloat(strDD); 
	var intMM=parseFloat(strMM); 
	var intYY=parseFloat(strYY); 
	GlobalFlag=true;
	GlobalFlag=_checkDay(strDD,intDD,objDD,mes);
		if(GlobalFlag==false) return GlobalFlag;
	GlobalFlag=_checkMonth(strMM,intMM,objMM,mes);
		if(GlobalFlag==false){ return GlobalFlag;}
	GlobalFlag=_checkYear(strYY,intYY,objYY,mes);
		if(GlobalFlag==false) { return GlobalFlag };
	
	//GlobalFlag=checkDate(intMM,intYY,intDD,mes,objDD,objMM,objYY);
	
	return GlobalFlag;	
 }


function _checkMonth(strMM,intMM,objMM,mes)
{
	if(!isNum(strMM) || strMM=='' || intMM > 12 || intMM <= 0 )
	{
		if(objVal==2)
		alert(mes+" Mese non valido ") ; 		
		objMM.focus();
		objMM.select();
		return false;
	}
	return true;
}

function _checkYear(strYY,intYY,objYY,mes)
{
	if(!isNum(strYY) || strYY=='')
	{
		if(objVal==3)
		alert(mes+" Anno non valido ") ; 		
		objYY.focus();
		objYY.select();
		return false;
	}
	else if(intYY < 1000 || intYY > 10000)
	{
		if(objVal==3)
		alert(mes+" Inserire 4 cifre per l'anno ") ; 		
		objYY.focus();
		objYY.select();
		return false;
	}
	return true;
}

function _checkDay(strDD,intDD,objDD,mes)
{	
	if(!isNum(strDD) || strDD=='' || intDD > 31 || intDD <= 0)
	{
		if(objVal==1)
		 alert(mes+" Giorno non valido ") ; 		
		objDD.focus();
		objDD.select();
		return false;
	}
	return true;
}

// method for checking the values are numbers
 function isNum(txtBoxValue)    
{ 
		var strTest = new String('0123456789')    
		var i,j,l= parseFloat(txtBoxValue.length,10),n=parseFloat(strTest.length,10)    
		var strTemp = new String(txtBoxValue)    
			strTemp =strTemp.toUpperCase()    
		var bTest    
		for(i=0;i<l;i++)    
		{	
			for(j=0;j<n;j++)    
			{    
				if(strTemp.charAt(i)==strTest.charAt(j))      
				{	
					bTest =true;    	
					break;   
				}    
				else    
				{ 
					bTest =false;
					
				}    
			}    
			if( bTest)    
				continue    
			else    
			return false    
		}    
	return true          
		
	} 
// method for validating the date when year and month changes leap years and days

 function checkDate(objDD,objMM,objYY)
 {
	var mes="";
	var	strMM=objMM.value;
	var	strYY=objYY.value;
	var strDD=objDD.value;
	var intDD=parseFloat(strDD); 
	var intMM=parseFloat(strMM); 
	var intYY=parseFloat(strYY); 
 switch(intMM) 
	 { 
	   case 4: 
	   case 6: 
	   case 9: 
	   case 11: 
	   		if(intDD > 30)
			{
	   			alert(mes+"  Questo mese ha un massimo di 30 giorni  ") ; 
					objDD.value="30";
					objDD.focus();
					objDD.select();				
				return false;
			}
			else
				return true;
	   break; 
	   case 2: 
	   if((intYY==2000) || (intYY%4==0 && intYY%400!=0)) 
	   { 
	   		if(intDD > 29)
			{
				alert(mes+"  Febbraio ha un massimo di 29 giorni  ") ; 
					objDD.value="29";
					objDD.focus();
					objDD.select();	
				return false;
			}
			else
				return true;
	   } 
	   else 
	   { 
			if(intDD > 28)
			{
				alert(mes+"  Febbraio ha un massimo di 28 giorni  ") ; 
				     objDD.value="28";
					objDD.focus();
					objDD.select();
				return false;
			}
			else
				return true;
	   } 
	   break; 
	   default: return true;
	   break;
	   return true;
	}
}


