
function checkdate(objName)
{

var datefield = objName;

if (chkdate(objName) == false)
	{
	//	datefield.select();
		alert("That date is invalid.  Please enter  date again.");
	//	datefield.focus();
		return false;
	}
else
	{
		return true;
   }
}

function chkdate(objName)

{
	var strDatestyle = "US"; //United States date style
	//var strDatestyle = "EU";  //European date style
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array("/","/");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "1";
	strMonthArray[1] = "2";
	strMonthArray[2] = "3";
	strMonthArray[3] = "4";
	strMonthArray[4] = "5";
	strMonthArray[5] = "6";
	strMonthArray[6] = "7";
	strMonthArray[7] = "8";
	strMonthArray[8] = "9";
	strMonthArray[9] = "10";
	strMonthArray[10] = "11";
	strMonthArray[11] = "12";
	strDate = datefield;
	if (strDate.length < 1)
		{
			return true;
		}
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
		{
			if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
				{
					strDateArray = strDate.split(strSeparatorArray[intElementNr]);
					if (strDateArray.length != 3)
						{
							err = 1;
							return false;
						}
					else
						{
							strMonth  = strDateArray[0];
							strDay= strDateArray[1];
							strYear = strDateArray[2];
						}
							booFound = true;
				}
		}
		if (booFound == false) 
			{
				if (strDate.length>5)
					{
						strMonth  = strDate.substr(0, 2);
						strDay= strDate.substr(2, 2);
						strYear = strDate.substr(4);
					}
			}
			if (strYear.length == 2)
				{
					strYear = '20' + strYear;
				}
			// US style
			if (strDatestyle == "US")
			{
				strTemp = strDay;
				strDay = strMonth;
				strMonth = strTemp;
			}
			intday = parseInt(strDay, 10);
			if (isNaN(intday)) 
			{
				err = 2;
				return false;
			}
			intMonth = parseInt(strMonth, 10);
			if (isNaN(intMonth))
			{
				for (i = 0;i<12;i++)
				{
					if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
					{
						intMonth = i+1;
						strMonth = strMonthArray[i];
						i = 12;
					}
				}
				if (isNaN(intMonth))
				{
					err = 3;
					return false;
				}
			}

			intYear = parseInt(strYear, 10);
			if (isNaN(intYear)) 
				{
					err = 4;
					return false;
				}
			if (intMonth>12 || intMonth<1)
				{
					err = 5;
					return false;
				}
			if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) 
			
			{
				err = 6;
				return false;
			}
			if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1))
			{
				err = 7;
				return false;
			}
			if (intMonth == 2)
			{
				if (intday < 1)
				{
					err = 8;
					return false;
				}
				if (LeapYear(intYear) == true)
				{
					if (intday > 29)
						{
							err = 9;
							return false;
						}
				}
				else
				{
					if (intday > 28)
						{
							err = 10;
							return false;
						}
				}
			}
			if (strDatestyle == "US")
				{
					datefield.value = strMonthArray[intMonth-1] + "/" + intday+"/" + strYear;
				}
			else
				{
					if(isNaN(intday)||isNaN(strMonthArray[intMonth-1])||isNaN(strYear))
					{
						return false;	
					}
				//	datefield.value = intday + "/" + strMonthArray[intMonth-1] + "/" + strYear;
				}
			return true;
}

function LeapYear(intYear)
	{
		if (intYear % 100 == 0)
			{
				if (intYear % 400 == 0) { return true; }
			}
		else {

				if ((intYear % 4) == 0) { return true; }
			  }
			return false;
	}


	function doDateCheck(from, to)
	{
		if (Date.parse(from.value) <= Date.parse(to.value))
		{
			
		}
		else
		{
			if (from.value == "" || to.value == "")
			{
				alert("Both dates must be entered.");
			}
			else
			{
				alert("To date must occur after the from date.");
				return false;
			}
	   }
}

function displayDate(tvariable)
{
		if (tvariable!='')
		{
			var day,month,year;
			var myArray =  tvariable.split("/")
			day = myArray[1];
			month = myArray[0] ;
			year = myArray[2];
			tvariable = day + "/" + month + "/" + year;
			
		}

		else
	{
		tvariable='';
	}		
	return tvariable;
}

// date type 2

function chkdatebyval(val)

{
	var strDatestyle = "US"; //United States date style
	//var strDatestyle = "EU";  //European date style
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var strSeparatorArray = new Array("/","/");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "1";
	strMonthArray[1] = "2";
	strMonthArray[2] = "3";
	strMonthArray[3] = "4";
	strMonthArray[4] = "5";
	strMonthArray[5] = "6";
	strMonthArray[6] = "7";
	strMonthArray[7] = "8";
	strMonthArray[8] = "9";
	strMonthArray[9] = "10";
	strMonthArray[10] = "11";
	strMonthArray[11] = "12";
	strDate = val;
	//alert(strDate);
	if (strDate.length < 1)
		{
			return true;
		}
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
		{
			if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
				{
					strDateArray = strDate.split(strSeparatorArray[intElementNr]);
					if (strDateArray.length != 3)
						{
							err = 1;
							return false;
						}
					else
						{
							strMonth  = strDateArray[0];
							strDay= strDateArray[1];
							strYear = strDateArray[2];
						}
							booFound = true;
				}
		}
		if (booFound == false) 
			{
				if (strDate.length>5)
					{
						strMonth  = strDate.substr(0, 2);
						strDay= strDate.substr(2, 2);
						strYear = strDate.substr(4);
					}
			}
			if (strYear.length == 2)
				{
					strYear = '20' + strYear;
				}
			// US style
			if (strDatestyle == "US")
			{
				strTemp = strDay;
				strDay = strMonth;
				strMonth = strTemp;
			}
			intday = parseInt(strDay, 10);
			if (isNaN(intday)) 
			{
				err = 2;
				return false;
			}
			intMonth = parseInt(strMonth, 10);
			if (isNaN(intMonth))
			{
				for (i = 0;i<12;i++)
				{
					if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
					{
						intMonth = i+1;
						strMonth = strMonthArray[i];
						i = 12;
					}
				}
				if (isNaN(intMonth))
				{
					err = 3;
					return false;
				}
			}

			intYear = parseInt(strYear, 10);
			if (isNaN(intYear)) 
				{
					err = 4;
					return false;
				}
			if (intMonth>12 || intMonth<1)
				{
					err = 5;
					return false;
				}
			if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) 
			
			{
				err = 6;
				return false;
			}
			if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1))
			{
				err = 7;
				return false;
			}
			if (intMonth == 2)
			{
				if (intday < 1)
				{
					err = 8;
					return false;
				}
				if (LeapYear(intYear) == true)
				{
					if (intday > 29)
						{
							err = 9;
							return false;
						}
				}
				else
				{
					if (intday > 28)
						{
							err = 10;
							return false;
						}
				}
			}
			if (strDatestyle == "US")
				{
			//		datefield.value = strMonthArray[intMonth-1] + "/" + intday+"/" + strYear;
				}
			else
				{
					if(isNaN(intday)||isNaN(strMonthArray[intMonth-1])||isNaN(strYear))
					{
						return false;	
					}
				//	datefield.value = intday + "/" + strMonthArray[intMonth-1] + "/" + strYear;
				}
			return true;
}

function dateDiff(from, to)
	{
		var datediff;
		datediff = Date.parse(to) - Date.parse(from);
		alert(datediff);
		if (datediff<0)
		{
			return false;
		}

		else
		{
			return true;	
		}
	}