function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }

		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function monthtoint(monthname){
	if (monthname == "Jan"){
		monthint = 1;
	}
	if (monthname == "Feb"){
		monthint = 2;
	}
	if (monthname == "Mar"){
		monthint = 3;
	}
	if (monthname == "Apr"){
		monthint = 4;
	}
	if (monthname == "May"){
		monthint = 5;
	}
	if (monthname == "Jun"){
		monthint = 6;
	}
	if (monthname == "Jul"){
		monthint = 7;
	}
	if (monthname == "Aug"){
		monthint = 8;
	}
	if (monthname == "Sep"){
		monthint = 9;
	}
	if (monthname == "Oct"){
		monthint = 10;
	}
	if (monthname == "Nov"){
		monthint = 11;
	}
	if (monthname == "Dec"){
		monthint = 12;
	}
	return monthint;
}

function validate_form(){
	valid = true;
	
	var today = daysAfter(0)
	var todaysplit = today.split(" ");
	var todaymonth = todaysplit[2];
	var todaymonthint = monthtoint(todaymonth);
	
	var outwarddate = document.standrewstaxiscontact.outward_date.value
	var outwardsplit = outwarddate.split(" ");
	var outwardmonth = outwardsplit[2];
	var outwardmonthint = monthtoint(outwardmonth);
	
	var returndate = document.standrewstaxiscontact.return_date.value
	var returnsplit = returndate.split(" ");
	var returnmonth = returnsplit[2];
	var returnmonthint = monthtoint(returnmonth);
	
	var emailID=document.standrewstaxiscontact.email;

	if ((document.standrewstaxiscontact.customername.value=="")||(document.standrewstaxiscontact.customername.value==null))
	{
		alert ( "Please enter your name");
		valid = false;
		return false;
	}
		if (((document.standrewstaxiscontact.email.value=="")||(document.standrewstaxiscontact.email.value==null))&&((document.standrewstaxiscontact.telephone_number.value=="")||(document.standrewstaxiscontact.telephone_number.value==null)))
		{
		alert("Please enter a valid E-Mail address or Telephone Number")
		valid = false
		return false
		}

		if (echeck(emailID.value)==false){
		alert("Please enter a valid E-Mail Address")
		emailID.value=""
		emailID.focus()
		return false
	}

		if ((document.standrewstaxiscontact.pick_up_address.value=="")||(document.standrewstaxiscontact.pick_up_address.value==null))
	{
		alert ( "Please enter the Pick-up Address");
		valid = false;
		return false;
	}
	
			if ((document.standrewstaxiscontact.outward_date.value=="")||(document.standrewstaxiscontact.outward_date.value==null))
	{
		alert ( "Please choose a date for your outward journey");
		valid = false;
		return false;
	}
	
	
	if ((document.standrewstaxiscontact.destination_address.value=="")||(document.standrewstaxiscontact.destination_address.value==null))
	{
		alert ( "Please enter the Destination Address");
		valid = false;
		return false;
	}



	if ((document.standrewstaxiscontact.outward_date.value!="")||(document.standrewstaxiscontact.outward_date.value!=null))
	{
		if (outwardsplit[3]<todaysplit[3]){
		alert ( "Your outward date is before today, please check your dates");
		valid = false;
		return false;
		}
		if ((outwardsplit[3]==todaysplit[3])&&(outwardmonthint<todaymonthint)){
		alert ( "Your outward date is before today, please check your dates");
		valid = false;
		return false;
		}
		if ((outwardsplit[3]>=todaysplit[3])&&(outwardmonthint==todaymonthint)&&(outwardsplit[1]<todaysplit[1])){
		alert ( "Your outward date is before today, please check your dates");
		valid = false;
		return false;
		}

		if (returnsplit[3]<outwardsplit[3]){
		alert ( "Your return date is before your outward date, please check your dates");
		valid = false;
		return false;
		}
		if ((returnsplit[3]==outwardsplit[3])&&(returnmonthint<outwardmonthint)){
		alert ( "Your return date is before your outward date, please check your dates");
		valid = false;
		return false;
		}
		if ((returnsplit[3]==outwardsplit[3])&&(returnmonthint==outwardmonthint)&&(returnsplit[1]<outwardsplit[1])){
		alert ( "Your return date is before your outward date, please check your dates");
		valid = false;
		return false;
		}		
		
		if((returnsplit[3]==outwardsplit[3])&&(returnmonthint==outwardmonthint)&&(returnsplit[1]==outwardsplit[1])&&(document.standrewstaxiscontact.return_hour.value<document.standrewstaxiscontact.outward_hour.value))
		{
		alert ( "Your return time is before your outward time, please check your times");
		valid = false;
		return false;
		}
		if((returnsplit[3]==outwardsplit[3])&&(returnmonthint==outwardmonthint)&&(returnsplit[1]==outwardsplit[1])&&(document.standrewstaxiscontact.return_hour.value==document.standrewstaxiscontact.outward_hour.value)&&(document.standrewstaxiscontact.return_minute.value<=document.standrewstaxiscontact.outward_minute.value))
		{
		alert ( "Your return time is before or the same as your outward time, please check your times");
		valid = false;
		return false;
		}
	}
	
	return valid
	return true
 }
	
