function CheckForm() {
	
	// Declare Regular expressions
	var NumericOnlyExp = /^[0-9]*$/;
	
	if(document.checkvacancy.startdate.value == "")
	{
		alert("Please enter a start date");
		document.checkvacancy.startdate.focus();
		return (false);
	}	
	if(document.checkvacancy.enddate.value == "")
	{
		alert("Please enter a end date");
		document.checkvacancy.enddate.focus();
		return (false);
	}
	if(!checkdate(document.checkvacancy.startdate.value))
	{
		alert("Please enter a valid start date");
		document.checkvacancy.startdate.focus();
		return (false);
	}	
	if(!checkdate(document.checkvacancy.enddate.value))
	{
		alert("Please enter a valid end date");
		document.checkvacancy.enddate.focus();
		return (false);
	}
	
	if(document.checkvacancy.primarybeds.value.match(NumericOnlyExp) == null)
	{
		alert("Please only number in Primary Bed field");
		document.checkvacancy.primarybeds.focus();
		return (false);
	}
}

function checkdate(ValiddateValue) {
	// Declare Regular expressions
	var NumericOnlyExp = /^[0-9]*$/;
	
	var DaysPerMonthArray = new Array;	
	DaysPerMonthArray[0] = 31;
	DaysPerMonthArray[1] = 29;
	DaysPerMonthArray[2] = 31;
	DaysPerMonthArray[3] = 30;
	DaysPerMonthArray[4] = 31;
	DaysPerMonthArray[5] = 30;
	DaysPerMonthArray[6] = 31;
	DaysPerMonthArray[7] = 31;
	DaysPerMonthArray[8] = 30;
	DaysPerMonthArray[9] = 31;
	DaysPerMonthArray[10] = 30;
	DaysPerMonthArray[11] = 31;
	
	var SeperatorCount = 0;
	var ValiddateDay = "";
	var ValiddateMonth = "";
	var ValiddateYear = "";
	
	for (i = 0; i <= ValiddateValue.length; i++)
	{
		if(ValiddateValue.substring(i,i+1).match(NumericOnlyExp) == null)
		{
			SeperatorCount = SeperatorCount + 1;	
		} 
		else 
		{
			if(SeperatorCount == 0)
			{
				ValiddateDay = ValiddateDay + ValiddateValue.substring(i,i+1);
			}		
			if(SeperatorCount == 1)
			{
				ValiddateMonth = ValiddateMonth + ValiddateValue.substring(i,i+1);
			}	
			if(SeperatorCount == 2)
			{
				ValiddateYear = ValiddateYear + ValiddateValue.substring(i,i+1);
			}	
		}
	}
	
	// Check Month, Days and Year are numeric
	if(ValiddateDay.match(NumericOnlyExp) == null)
	{
		alert("Please enter only numbers for days")
		return(false);
	}
	if(ValiddateMonth.match(NumericOnlyExp) == null)
	{
		alert("Please enter only numbers for month")
		return(false);
	}
	if(ValiddateYear.match(NumericOnlyExp) == null)
	{
		alert("Please enter only numbers for year")
		return(false);
	}
	// Check month value is between 1-12
	if(Math.abs(ValiddateMonth) < 1 | Math.abs(ValiddateMonth) > 12)
	{
		alert("Please enter on month between 1-12")
		return(false);
	}
	// Check to see if number of days is correct for month
	if(Math.abs(ValiddateDay) < 1 | Math.abs(ValiddateDay) > DaysPerMonthArray[Math.abs(ValiddateMonth)-1])
	{
		alert("Please enter on correct number of days for month")
		return(false);
	}	
	// Checks passed submit form
	return(true)
}
