/** Function for Captilising field values **/
function initialCap(fieldVal, fieldName, formName){
	var words = fieldVal.split(' ');
	for(i = 0; i <= words.length - 1; i++){
		words[i] = words[i].substr(0, 1).toUpperCase() + words[i].substr(1).toLowerCase();
	}
	document.forms[formName].elements[fieldName].value = words.join(' ');
}
function allLower(fieldValue, fieldName, formName){
	document.forms[formName].elements[fieldName].value = fieldValue.toLowerCase();		
}
function allUpper(fieldValue, fieldName, formName){
	document.forms[formName].elements[fieldName].value = fieldValue.toUpperCase();		
}
function formText(fieldVal, fieldName, formName){
	fieldVal = fieldVal.toLowerCase();
	var Arr = fieldVal.split("");
	for(i = 0; i <= fieldVal.length - 1; i++){
		if(Arr[i] == '.' || Arr[i] == '?' || Arr[i] == '!'){
			if(Arr[i+1] == " ") Arr[i+2] = Arr[i+2].toUpperCase();
			if(fieldVal.length != i+1){
				if(Arr[i+1] != " "){
					Arr[i] = Arr[i] + " ";
					Arr[i+1] = Arr[i+1].toUpperCase();
				}
			}
		}
		if((Arr[i]=='m' || Arr[i]=='M') && (Arr[i+1]=='r' || Arr[i+1]=='R') && (Arr[i+2]==' ')){
			try
			{
				if(Arr[i-1]==' ' || i==0 || Arr[i-1]=='.'){
					Arr[i] = Arr[i].toUpperCase();
					Arr[i+1] = Arr[i+1].toLowerCase();
					Arr[i+3] = Arr[i+3].toUpperCase();				
				}
			}catch (e){}
		}
		if((Arr[i]=='m' || Arr[i]=='M') && (Arr[i+1]=='r' || Arr[i+1]=='R') && (Arr[i+2]=='s' || Arr[i+2]=='S') && (Arr[i+3]==' ')){
			try
			{
				if(Arr[i-1]==' ' || i==0 || Arr[i-1]=='.'){
					Arr[i] = Arr[i].toUpperCase();
					Arr[i+1] = Arr[i+1].toLowerCase();
					Arr[i+2] = Arr[i+2].toLowerCase();
					Arr[i+4] = Arr[i+4].toUpperCase();				
				}
			}catch (e){}
		}
		if((Arr[i]=='m' || Arr[i]=='M') && (Arr[i+1]=='i' || Arr[i+1]=='I') && (Arr[i+2]=='s' || Arr[i+2]=='S') && (Arr[i+3]=='s' || Arr[i+3]=='S')  && (Arr[i+4]==' ')){
			try
			{
				if(Arr[i-1]==' ' || i==0 || Arr[i-1]=='.'){
					Arr[i] = Arr[i].toUpperCase();
					Arr[i+1] = Arr[i+1].toLowerCase();
					Arr[i+2] = Arr[i+2].toLowerCase();
					Arr[i+3] = Arr[i+3].toLowerCase();
					Arr[i+5] = Arr[i+5].toUpperCase();			
				}
			}catch (e){}
		}
		if((Arr[i]=='d' || Arr[i]=='D') && (Arr[i+1]=='r' || Arr[i+1]=='R') && (Arr[i+2]==' ')){
			try
			{
				if(Arr[i-1]==' ' || i==0 || Arr[i-1]=='.'){
					Arr[i] = Arr[i].toUpperCase();
					Arr[i+1] = Arr[i+1].toLowerCase();
					Arr[i+3] = Arr[i+3].toUpperCase();				
				}
			}catch (e){}
		}
		if((Arr[i]=='p' || Arr[i]=='P') && (Arr[i+1]=='r' || Arr[i+1]=='R') && (Arr[i+2]=='o' || Arr[i+2]=='O') && (Arr[i+3]=='f' || Arr[i+3]=='F') && (Arr[i+4]==' ')){
			try
			{
				if(Arr[i-1]==' ' || i==0 || Arr[i-1]=='.'){
					Arr[i] = Arr[i].toUpperCase();
					Arr[i+1] = Arr[i+1].toLowerCase();
					Arr[i+2] = Arr[i+2].toLowerCase();
					Arr[i+3] = Arr[i+3].toLowerCase();
					Arr[i+5] = Arr[i+5].toUpperCase();				
				}
			}catch (e){}
		}
		if((Arr[i]=='m' || Arr[i]=='M') && (Arr[i+1]=='s' || Arr[i+1]=='S') && (Arr[i+2]==' ')){
			try
			{
				if(Arr[i-1]==' ' || i==0 || Arr[i-1]=='.'){
					Arr[i] = Arr[i].toUpperCase();
					Arr[i+1] = Arr[i+1].toLowerCase();
					Arr[i+3] = Arr[i+3].toUpperCase();				
				}
			}catch (e){}
		}
		if(Arr[i] == '\n')
			Arr[i+1] = Arr[i+1].toUpperCase();
		if(Arr[i] == 'i' && Arr[i+1] == ' ' && Arr[i-1] == ' ')
			Arr[i] = Arr[i].toUpperCase();
		if(i == 0)
			Arr[i] = Arr[i].toUpperCase();
	}
	document.forms[formName].elements[fieldName].value = Arr.join("");
}

function goToBeg(fieldValue, fieldName, formName){
	document.forms[formName].elements[fieldName].value = fieldValue;
}

/********* End ***********/

function firstCap(fieldVal1, fieldName, formName){
	fieldVal = trim(fieldVal1);
	if(fieldVal.length == 1){
		var newVal = fieldVal.charAt(0).toUpperCase() + fieldVal.slice(1);
		document.forms[formName].elements[fieldName].value = newVal;
	}
}

function tele_validate(value, name, formName){
	var iChars = "01234567890 ";
	for (var i = 0; i < value.length; i++) {
		if ((iChars.indexOf(value.charAt(i)) == -1) || (value.charAt(i)==" " && value.charAt(i-1)==" ")){
			alert("Invalid value");
			document.forms[formName].elements[name].value = "";
			document.forms[formName].elements[name].focus();
			return false;
		}
	}
}

function textEntry(name, value, formName){
	var ereg = /^[A-Za-z ]*$/;
	if(ereg.test(value) == false){
		alert("Invalid Value");
		document.forms[formName].elements[name].value = "";
		document.forms[formName].elements[name].focus();
	}
}

function number_only(value, name, formName){
	if(value!="" && isNaN(value)){
		alert("Invalid Value");
		document.forms[formName].elements[name].value = "";
		document.forms[formName].elements[name].focus();
		return false;
	}
}

function validate_frmbook1()
{
	var i = 0;
	while(i < document.forms['frmbook1'].elements.length){
		document.forms['frmbook1'].elements[i].value = trim(document.forms['frmbook1'].elements[i].value);
		i++;
	}
	frm = document.frmbook1;
	if(frm.Title.value==""){
		alert("Please select the title");
		frm.Title.focus();
		return false;
	}
	if(trim(frm.firstname.value)==""){
		frm.firstname.value = "";
		alert("Please enter the first name");
		frm.firstname.select();
		return false;
	}
	if(trim(frm.firstname.value) !="" && textOnly(frm.firstname.value)){
		alert("Please enter valid First Name");
		frm.firstname.focus();
		return false;		
	}
	if(trim(frm.surname.value)==""){
		frm.surname.value = "";
		alert("Please enter the surname");
		frm.surname.select();
		return false;
	}
	if(trim(frm.surname.value) !="" && textOnly(frm.surname.value)){
		alert("Please enter valid Surname");
		frm.surname.focus();
		return false;		
	}
	if(trim(frm.phone.value)==""){
		frm.phone.value = "";
		alert("Please enter the telephone number");
		frm.phone.select();
		return false;
	}
	if(trim(frm.phone.value) !="" && telNumber(frm.phone.value)){
		alert("Please enter valid Telephone Number");
		frm.phone.focus();
		return false;	
	}
	if(trim(frm.extension.value) != "" && validField(frm.extension.value)){
		alert("Please enter valid Extension");
		frm.extension.focus();
		return false;	
	}
	if(trim(frm.email.value) == ""){
		frm.email.value = "";
		alert("Please enter the email address.");
		frm.email.select();
		return false;
	}
	emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!emailReg.test(frm.email.value) && frm.email.value != ""){
		alert("Please enter the email address correctly");
		frm.email.select();
		return false;
	}
	if(trim(frm.postcode.value)==""){
		frm.postcode.value = "";
		alert("Please enter the postal code");
		frm.postcode.select();
		return false;
	}
	if(trim(frm.postcode.value) !="" && validField(frm.postcode.value)){
		alert("Please enter Valid Postcode");
		frm.postcode.focus();
		return false;
	}
	/*
	if(frm.find_addr.value != 'Yes'){
		if(frm.companyname.value !="" && validField(frm.companyname.value)){
			alert("Please enter Valid Company Name");
			frm.companyname.focus();
			return false;
		}
	}
	*/
	if(trim(frm.add1.value)==""){
		frm.add1.value = "";
		alert("Please enter the address1");
		frm.add1.select();
		return false;
	}
	if(trim(frm.add1.value) !="" && validField(frm.add1.value)){
		alert("Please enter Valid \"Address Line 1\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add1.focus();
		return false;
	}
	if(trim(frm.add2.value) !="" && validField(frm.add2.value)){
		alert("Please enter Valid \"Address Line 2\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add2.focus();
		return false;	
	}
	if(trim(frm.add3.value) !="" && validField(frm.add3.value)){
		alert("Please enter Valid \"Address Line 3\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add3.focus();
		return false;	
	}
	if(trim(frm.city.value)==""){
		frm.city.value = "";
		alert("Please enter the city");
		frm.city.select();
		return false;
	}
	if(trim(frm.city.value) !="" && textOnly1(frm.city.value)){
		alert("Please enter valid city");
		frm.city.focus();
		return false;	
	}	
}
function validateEmail(email){
	// This function is used to validate a given e-mail 
	// address for the proper syntax
	if (email == ""){
		return false;
	}
	badStuff = ";:/,' \"\\";
	for (i=0; i<badStuff.length; i++){
		badCheck = badStuff.charAt(i)
		if (email.indexOf(badCheck,0) != -1){
			return false;
		}
	}
	posOfAtSign = email.indexOf("@",1)
	if (posOfAtSign == -1){
		return false;
	}
	if (email.indexOf("@",posOfAtSign+1) != -1){
		return false;
	}
	posOfPeriod = email.indexOf(".", posOfAtSign)
	if (posOfPeriod == -1){
		return false;
	}
	if (posOfPeriod+2 > email.length){
		return false;
	}
	return true
}
function validate_readystatus(val)
{
	spanObject = document.getElementById('dataform');
	if(val=="Specify Date")
		spanObject.style.display="block";
	else
		spanObject.style.display="none";
}
function validate_new_frmbook2(nDate,nvtime)
{ 
	id = document.frmbook2.pickup_date[document.frmbook2.pickup_date.selectedIndex].value;
	id1 = document.frmbook2.delivery_date[document.frmbook2.delivery_date.selectedIndex].value;
	var idarr = id.split('_');
	var idarr1 = id1.split('_');
	var d = new Date();
	var curr_hour = d.getHours();
	var curr_min = d.getMinutes();
	c_time=curr_hour+""+curr_min;	
	if(document.frmbook2.reference.value !="" && validField(document.frmbook2.reference.value)){
		alert("Please enter valid Reference");
		document.frmbook2.reference.focus();
		return false;		
	}
	if(document.frmbook2.outtime.value==''){
		alert("Please select Ready At time.")
		document.frmbook2.outtime.focus();		
		return false;		
	}
	if(document.frmbook2.collect_time.value==''){
		alert("Please select Collect By time.")
		document.frmbook2.collect_time.focus();		
		return false;		
	}
	if(document.frmbook2.pickuptime.value==''){
		alert("Please choose Deliver By time.")
		document.frmbook2.pickuptime.focus();		
		return false;		
	}	
	var droptime = document.frmbook2.pickuptime.value;	
	var picktime = document.frmbook2.outtime.value;
	var collect_time1 = document.frmbook2.collect_time.value;
	if(picktime=="Ready Now"){
		picktime = nvtime;	
	}
	if(idarr[2]=='0')	{
		if(picktime<nvtime){
			alert("Time has passed, please amend");
			document.frmbook2.outtime.focus();
			return false;					
		}
		if(collect_time1<nvtime){
			alert("Time has passed, please amend");
			document.frmbook2.collect_time.focus();
			return false;					
		}
	}
	if(parseFloat(collect_time1) < parseFloat(picktime)){
		alert("Collect By time must be equal to or after Ready at time, please amend");
		document.frmbook2.collect_time.focus();
		return false;					
	}

	if(idarr1[2]=='0'){
		if(droptime<nvtime){
			alert("Time has passed, please amend");
			document.frmbook2.pickuptime.focus();
			return false;			
		}
	}
	
	/*if(idarr[2]==idarr1[2]){
		var diff = droptime-picktime;
		if(droptime <= picktime||diff<100){
			alert("Please select Ready at time at least 1 hour prior to delivery deadline or amend Deliver By time.");
			//document.frmbook2.outtime.focus();
			return false;
		}
		var diff1 = droptime-collect_time1;
		if(droptime <= collect_time1||diff1<100){
			alert("Please amend the Deliver By time so that it is at least 30 minutes after the Collect By time. When the pop up gets triggered, the cursor is to move to the ‘Deliver By’ drop down.");
			document.frmbook2.pickuptime.focus();
			return false;
		}
	}*/
}

function validate_frmbook2(nDate,nvtime)
{
	frm = document.frmbook2;	
	var d = new Date();
	var curr_hour = d.getHours();
	var curr_min = d.getMinutes();
	c_time=curr_hour+""+curr_min;
		ntime=frm.outtime.value;
	alert(ntime);
	alert(frm.pickuptime.value);
		if(ntime>=frm.pickuptime.value){
			alert("here");
			alert("Invalid Delivery time!");
			frm.pickuptime.focus();
			return false;
		}
	return false;
	if(frm.outtime.value==""){
			alert("Please select the Pickup time!");
			frm.outtime.focus();
			return false;
	}
	
	if(frm.pickuptime.value==""){
			alert("Please select the Drop off time!");
			frm.pickuptime.focus();
			return false;
	}
}

function validate_frmbook3()
{
	var i = 0;
	while(i < document.forms['frmbook3'].elements.length){
		document.forms['frmbook3'].elements[i].value = trim(document.forms['frmbook3'].elements[i].value);
		i++;
	}
	frm = document.frmbook3;
	if(trim(frm.content.value)==""){
		frm.content.value = "";
		alert("Please enter Contents of Consignment");
		frm.content.select();
		return false;
	}
	if(trim(frm.content.value) !="" && validField(frm.content.value)){
		alert("Please enter valid Content");
		frm.content.select();
		return false;		
	}
	if(frm.no_value.checked==false){
		if(trim(frm.cost_value.value)==""){
			frm.cost_value.value = "";
			alert("Please enter either cost value or check '"+"No Value"+"' check box");
			frm.cost_value.select();
			return false;
		}
		if(trim(frm.cost_value.value) !="" && validField(frm.cost_value.value)){
			alert("Please enter valid Cost Value");
			frm.cost_value.select();
			return false;
		}
	}
	if(trim(frm.lengh.value)==""){
		frm.lengh.value = "";
		alert("Please enter Length");
		frm.lengh.select();
		return false;
	}
	if(trim(frm.lengh.value) !="" && validField(frm.lengh.value)){
		alert("Please enter valid length");
		frm.lengh.select();
		return false;
	}
	if(frm.lenghmeasure.value==""){
		alert("Please select the length measure ");
		frm.lenghmeasure.focus();
		return false;	
	}
	if(trim(frm.width.value)==""){
		frm.width.value = "";
		alert("Please enter Width");
		frm.width.select();
		return false;
	}
	if(trim(frm.width.value) !="" && validField(frm.width.value)){
		alert("Please enter valid width");
		frm.width.select();
		return false;
	}
	if(frm.widthmeasure.value==""){
		alert("Please select the width measurement");
		frm.widthmeasure.focus();
		return false;
	}
	if(trim(frm.height.value)==""){
		frm.height.value = "";
		alert("Please enter Height");
		frm.height.select();
		return false;
	}
	if(trim(frm.height.value) !="" && validField(frm.height.value)){
		alert("Please enter valid height");
		frm.height.select();
		return false;
	}
	if(frm.heightmeasure.value==""){
		alert("Please select the height measurement");
		frm.heightmeasure.focus();
		return false;
	}
	if(trim(frm.totalweight.value)==""){
		frm.totalweight.value = "";
		alert("Please enter Weight");
		frm.totalweight.select();
		return false;		
	}
	if(trim(frm.totalweight.value) !="" && validField(frm.totalweight.value)){
		alert("Please enter valid weight");
		frm.totalweight.select();
		return false;		
	}
	if(frm.totalweightmeasure.value==""){
		alert("Please choose unit of weight");
		frm.totalweightmeasure.focus();
		return false;
	}
	if(frm.heightmeasure.value=="Meters")
	nheight = Number(frm.height.value) * 100;
	if(frm.heightmeasure.value=="inches")
	nheight = Number(frm.height.value)*2.45;	
	if(frm.heightmeasure.value=="cm")
	nheight = Number(frm.height.value);
	if(frm.heightmeasure.value=="mm")
	nheight = Number(frm.height.value);	
	if(frm.widthmeasure.value=="Meters")
	nwidth = Number(frm.width.value) * 100;
	if(frm.widthmeasure.value=="inches")
	nwidth = Number(frm.width.value) * 2.54;	
	if(frm.widthmeasure.value=="cm")
	nwidth = Number(frm.width.value);
	if(frm.widthmeasure.value=="mm")
	nwidth = Number(frm.width.value);
	if(frm.lenghmeasure.value=="Meters")
	nlengh = Number(frm.lengh.value) * 100;
	if(frm.lenghmeasure.value=="inches")
	nlengh = Number(frm.lengh.value) * 2.54;	
	if(frm.lenghmeasure.value=="cm")
	nlengh = Number(frm.lengh.value);
	if(frm.lenghmeasure.value=="mm")
	nlengh = Number(frm.lengh.value);		
	nheight=Math.round(nheight);		
	nwidth=Math.round(nwidth);
	nlengh=Math.round(nlengh);
	if(frm.totalweightmeasure.value=="Kilograms")
	weight = Number(frm.totalweight.value) * 1000;	
	else	
	weight = Number(frm.totalweight.value);	
	if (frm.vehical.value=="Svan"){
		if(nheight > 100){
		alert("Van can't take package more than 1.0 meters of height.");
		frm.height.focus();
		return false;		
		}
		if(nwidth > 120){
		alert("Van can't take package more than 1.2 meters of width.");
		frm.width.focus();
		return false;			
		}
		if(nlengh > 150){
		alert("Van can't take package more than 1.5 meters of length.");
		frm.lengh.focus();
		return false;			
		}
		if(weight >300000){
		alert("Van can't take more than 300kgs");
		return false;
		}
	}
	if (frm.vehical.value=="Mbike"){
		if(nheight > 30){
		alert("Motorbike can't take package more than 30 CM of height.");
		frm.height.focus();
		return false;
		}
		if(nwidth > 30){
		alert("Motorbike can't take package more than 30 CM of width.");
		frm.width.focus();
		return false;			
		}
		if(nlengh > 20){
		alert("Motorbike can't take package more than 20 CM of length.");
		frm.lengh.focus();
		return false;			
		}
		if(weight >5000){
		alert("Motorbike can't take more than 5Kgs");
		return false;			
		}
	}	
	if (frm.vehical.value=="Tsit"){
		alert(nheight);
		if(nheight > 170){
		alert("Transit van can't take package more than 1.7 meters of height.");
		frm.height.focus();
		return false;		
		}
		if(nwidth > 170){
		alert("Transit van can't take package more than 1.7 meters of width.");
		frm.width.focus();
		return false;			
		}
		if(nlengh > 240){
		alert("Transit van can't take package more than 2.4 meters of length.");
		frm.lengh.focus();
		return false;			
		}
		if(weight >900000){
		alert("Transit van can't take more than 900Kgs");
		return false;			
		}
	}	
	if (frm.vehical.value=="LWB"){
		if(nheight > 180){
		alert("Mercedes Sprinter can't take package more than 1.8 meters of height.");
		frm.height.focus();
		return false;		
		}
		if(nwidth > 170){
		alert("Mercedes Sprinter can't take package more than 1.7 meters of width.");
		frm.width.focus();
		return false;
		}
		if(nlengh > 420){
		alert("Mercedes Sprinter can't take package more than 4.2 meters of length.");
		frm.lengh.focus();
		return false;			
		}
		if(weight >1600000){
		alert("Mercedes Sprinter can't take more than 1600Kgs");
		return false;			
		}
	}	
	if (frm.vehical.value=="7.5"){
		if(nheight > 260){
		alert("7.5 Ton Lorry can't take package more than 2.6 meters of height.");
		frm.height.focus();
		return false;
		}
		if(nwidth > 230){
		alert("7.5 Ton Lorry can't take package more than 2.3 meters of width.");
		frm.width.focus();
		return false;			
		}
		if(nlengh > 590){
		alert("7.5 Ton Lorry can't take package more than 5.9 meters of length.");
		frm.lengh.focus();
		return false;			
		}
		if(weight >2660000){
		alert("7.5 Ton Lorry can't take more than 2660Kgs");
		return false;			
		}
	}	
}
function validate_frmbook4(){
	var i = 0;
	while(i < document.forms['frmbook4'].elements.length){
		document.forms['frmbook4'].elements[i].value = trim(document.forms['frmbook4'].elements[i].value);
		i++;
	}
	frm = document.frmbook4;
	if(frm.title1.value==""){
		alert("Please select the title");
		frm.title1.focus();
		return false;
	}
	if(trim(frm.firstname1.value)==""){
		frm.firstname1.value = "";
		alert("Please enter the first name");
		frm.firstname1.focus();
		return false;
	}
	if(trim(frm.firstname1.value) !="" && textOnly(frm.firstname1.value)){
		alert("Please enter valid First Name");
		frm.firstname1.focus();
		return false;
	}
	if(trim(frm.surname1.value)==""){
		frm.surname1.value = "";
		alert("Please enter the surname");
		frm.surname1.focus();
		return false;
	}
	if(trim(frm.surname1.value) !="" && textOnly(frm.surname1.value)){
		alert("Please enter valid Surname");
		frm.surname1.focus();
		return false;
	}
	if(trim(frm.phone1.value)==""){
		frm.phone1.value = "";
		alert("Please enter the telephone number");
		frm.phone1.focus();
		return false;
	}
	if(trim(frm.phone1.value) !="" && telNumber(frm.phone1.value)){
		alert("Please enter valid Telephone Number");
		frm.phone1.focus();
		return false;
	}
	if(trim(frm.extension1.value) != "" && validField(frm.extension1.value)){
		alert("Please enter valid Extension");
		frm.extension1.focus();
		return false;	
	}
	if(trim(frm.postcode1.value)==""){
		frm.postcode1.value = "";
		alert("Please enter the postal code");
		frm.postcode1.focus();
		return false;
	}
	if(trim(frm.postcode1.value) !="" && validField(frm.postcode1.value)){
		alert("Please enter Valid Postcode");
		frm.postcode1.focus();
		return false;
	}
	/*
	if(frm.find_addr1.value != 'Yes'){
		if(frm.companyname1.value !="" && validField(frm.companyname1.value)){
			alert("Please enter Valid Company Name");
			frm.companyname1.focus();
			return false;
		}
	}
	*/
	if(trim(frm.add11.value)==""){
		frm.add11.value = "";
		alert("Please enter the address1");
		frm.add11.focus();
		return false;
	}
	if(trim(frm.add11.value) !="" && validField(frm.add11.value)){
		alert("Please enter Valid \"Address Line 1\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add11.focus();
		return false;	
	}
	if(trim(frm.add21.value) !="" && validField(frm.add21.value)){
		alert("Please enter Valid \"Address Line 2\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add21.focus();
		return false;	
	}
	if(trim(frm.add31.value) !="" && validField(frm.add31.value)){
		alert("Please enter Valid \"Address Line 3\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add31.focus();
		return false;	
	}
	if(trim(frm.city1.value)==""){
		frm.city1.value = "";
		alert("Please enter the city");
		frm.city1.focus();
		return false;
	}
	if(trim(frm.city1.value) !="" && textOnly1(frm.city1.value)){
		alert("Please enter valid city");
		frm.city1.focus();
		return false;
	}

	if(trim(frm.instructions.value) !="" && validI(frm.instructions.value)){
		alert("Please enter Valid \"Special Instructions\". It contains invalid characters like @ # & $ ^ * ( ) + = - [ ] \ ; / { } | \ < >");
		frm.instructions.focus();
		return false;	
	}else{
		return true;
	}
}

function movewin() { return; }

function movewin(win, width, height) 
{
	var fullWidth = screen.availWidth;
	var fullHeight = screen.availHeight;
	var x = (fullWidth/2)-(width/2);
	var y = (fullHeight/2)-(height/2);
	win.moveTo(x,y); 
}

function viewWin(filenames,val)
	{
	if(val==1){
		frm = document.frmbook1;
		postcode = frm.postcode.value;
	}
	if(val==5){
		frm = document.frmbook1;
		postcode = frm.postcode.value;
	}
	if(val==2){
		frm = document.frmbook4;
		postcode = frm.postcode1.value;
	}
	if(val==3){
		frm = document.frmbook5;
		postcode = frm.postcode2.value;
	}
	filenames = filenames+"postcode=" + postcode + "&frmnumber=" + val;
	var mybars = 'width=500,height=450,directories=no,location=no,menubar=no,status=no,screenX=0,screenY=0';
	mybars+=',titlebar=no,toolbar=no';
	myoptions = 'scrollbars=yes,resizeable=yes';
	myfeatures = mybars+ ','+myoptions
	
	var newwin = window.open(filenames,'mydoc',myfeatures);
		movewin(newwin, 500, 450);	
	    if (navigator.appName=="Netscape") newwin.location=url;
		newwin.opener = window;
		newwin.focus();
		return false;
	}

function clear_frmbook4()
{
	frm = document.frmbook4;
	frm.title1.value = "";
	frm.firstname1.value = "";
	frm.surname1.value = "";
	frm.phone1.value = "";
	frm.extension1.value = "";
	frm.companyname1.value = "";
	frm.add11.value = "";
	frm.add21.value = "";
	frm.add31.value = "";
	frm.city1.value = "";
	frm.instructions.value = "";
	frm.postcode1.value = "";	
	frm.find_addr1.value = "";
}

function fill_frmbook4(title,firstname,surname,phone,extension,email,companyname,add1,add2,add3,city,postcode,find_addr){
	frm = document.frmbook4;
	frm.title1.value = title;
	frm.firstname1.value = firstname;
	frm.surname1.value = surname;
	frm.phone1.value = phone;
	frm.extension1.value = extension;
	frm.companyname1.value = companyname;
	frm.add11.value = add1;
	frm.add21.value = add2;
	frm.add31.value = add3;
	frm.city1.value = city;
	frm.postcode1.value = postcode;
	frm.find_addr1.value = find_addr;
}

function clear_login_frmbook5(){
	frm = document.frmbook5;
	frm.title2.value = "";
	frm.firstname2.value = "";
	frm.surname2.value = "";
	frm.phone2.value = "";
	frm.extension2.value = "";
	frm.companyname2.value = "";
	frm.add12.value = "";
	frm.add22.value = "";
	frm.add32.value = "";
	frm.city2.value = "";
	frm.instructions2.value = "";
	frm.Found_us.value = "";
	frm.other.value = "";
}
function clear_frmbook5()
{
	frm = document.frmbook5;
	frm.title2.value = "";
	frm.firstname2.value = "";
	frm.surname2.value = "";
	frm.phone2.value = "";
	frm.postcode2.value = "";	
	frm.extension2.value = "";
	frm.companyname2.value = "";
	frm.add12.value = "";
	frm.add22.value = "";
	frm.add32.value = "";
	frm.city2.value = "";
	frm.instructions2.value = "";
	frm.Found_us.value = "";
	frm.marketing.value = "";	
	frm.other.value = "";
	frm.find_addr2.value = "";
}

function fill_frmbook5(title,firstname,surname,phone,extension,email,companyname,add1,add2,add3,city,postcode,find_addr){
	frm = document.frmbook5;
	frm.title2.value = title;
	frm.firstname2.value = firstname;
	frm.surname2.value = surname;
	frm.phone2.value = phone;
	frm.extension2.value = extension;
	frm.companyname2.value = companyname;
	frm.add12.value = add1;
	frm.add22.value = add2;
	frm.add32.value = add3;
	frm.city2.value = city;
	frm.postcode2.value = postcode;
	frm.find_addr2.value = find_addr;
}

function validate_frmbook5()
{
	var i = 0;
	while(i < document.forms['frmbook5'].elements.length){
		document.forms['frmbook5'].elements[i].value = trim(document.forms['frmbook5'].elements[i].value);
		i++;
	}
	frm = document.frmbook5;
	if(frm.title2.value==""){
		alert("Please select the title");
		frm.title2.focus();
		return false;
	}
	if(trim(frm.firstname2.value)==""){
		frm.firstname2.value = "";
		alert("Please enter the first name");
		frm.firstname2.focus();
		return false;
	}
	if(trim(frm.firstname2.value) !="" && textOnly(frm.firstname2.value)){
		alert("Please enter valid First Name");
		frm.firstname2.focus();
		return false;		
	}
	if(trim(frm.surname2.value)==""){
		frm.surname2.value = "";
		alert("Please enter the surname");
		frm.surname2.focus();
		return false;
	}
	if(trim(frm.surname2.value) !="" && textOnly(frm.surname2.value)){
		alert("Please enter valid Surname");
		frm.surname2.focus();
		return false;		
	}
	if(trim(frm.phone2.value)==""){
		frm.phone2.value = "";
		alert("Please enter the telephone number");
		frm.phone2.focus();
		return false;
	}
	if(trim(frm.phone2.value) !="" && telNumber(frm.phone2.value)){
		alert("Please enter valid Telephone Number");
		frm.phone2.focus();
		return false;	
	}
	if(trim(frm.extension2.value) != "" && validField(frm.extension2.value)){
		alert("Please enter valid Extension");
		frm.extension2.focus();
		return false;	
	}
	if(trim(frm.postcode2.value)==""){
		frm.postcode2.value = "";
		alert("Please enter the postal code");
		frm.postcode2.focus();
		return false;
	}
	if(trim(frm.postcode2.value) !="" && validField(frm.postcode2.value)){
		alert("Please enter Valid Postcode");
		frm.postcode2.focus();
		return false;
	}
	/*
	if(frm.find_addr2.value != "Yes"){
		if(frm.companyname2.value !="" && validField(frm.companyname2.value)){
			alert("Please enter Valid Company Name");
			frm.companyname2.focus();
			return false;	
		}
	}
	*/
	if(trim(frm.add12.value)==""){
		frm.add12.value = "";
		alert("Please enter the address1");
		frm.add12.focus();
		return false;
	}
	if(trim(frm.add12.value) !="" && validField(frm.add12.value)){
		alert("Please enter Valid \"Address Line 1\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add12.focus();
		return false;	
	}
	if(trim(frm.add22.value) !="" && validField(frm.add22.value)){
		alert("Please enter Valid \"Address Line 2\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add22.focus();
		return false;	
	}
	if(trim(frm.add32.value) !="" && validField(frm.add32.value)){
		alert("Please enter Valid \"Address Line 3\". It contains invalid characters like ~ ` ! @ # & $ % ^ * + | = ? ; } < > {");
		frm.add32.focus();
		return false;
	}
	if(trim(frm.city2.value)==""){
		frm.city2.value = "";
		alert("Please enter the city");
		frm.city2.focus();
		return false;
	}
	if(trim(frm.city2.value) !="" && textOnly1(frm.city2.value)){
		alert("Please enter valid city");
		frm.city2.focus();
		return false;	
	}
	if(trim(frm.instructions2.value) !="" && validI(frm.instructions2.value)){
		alert("Please enter Valid \"Special Instructions\". It contains invalid characters like @ # & $ ^ * ( ) + = [ ] \ ; / { } | < >");
		frm.instructions2.focus();
		return false;	
	}
	if(frm.Found_us.value==""){
		alert("Please select the \"Does your delivery fall within Central London’s Congestion Charge Zone?\"");
		frm.Found_us.focus();
		return false;
	}
	if(frm.marketing.value==""){
		alert("Please select how you heard about us.");
		frm.marketing.focus();
		return false;
	}
	if(frm.marketing.value=="Other" && trim(frm.other.value)==""){
		alert("Please enter how you heard about us.");
		frm.other.focus();
		return false;
	}
	if(trim(frm.other.value) !="" && validField(frm.other.value)){
		alert("Please enter Valid how you heard about us");
		frm.other.focus();
		return false;	
	}else{
		return true;	
	}
}

function validate_frmbook6()
{
	if(frmbook6.terms.checked==false){
		alert("Please agree to our term and conditions");
		frmbook6.terms.focus();
		return false;
	}
}

function changeall(val,val1)
{
	frm = document.frmbook3;		
	if(val=="cm")
	val2 = "Meters";
	if(val=="inches")
	val2 = "inches";	
	if(val=="Meters")
	val2 = "cm";
	if(val1==1){
		while (frm.widthmeasure.length > 0)
			frm.widthmeasure.options[0] = null;
		while (frm.lenghmeasure.length > 0)
			frm.lenghmeasure.options[0] = null; 
		len = frm.widthmeasure.length;
		frm.widthmeasure.options[len] = new Option(val,val);
		len = frm.widthmeasure.length;
		frm.widthmeasure.options[len] = new Option(val2,val2);		
		len = frm.lenghmeasure.length;
		frm.lenghmeasure.options[len] = new Option(val,val);
		len = frm.lenghmeasure.length;
		frm.lenghmeasure.options[len] = new Option(val2,val2);		
	}
	if(val1==2){
		while(frm.heightmeasure.length > 0)
		frm.heightmeasure.options[0]=null; 
		while (frm.lenghmeasure.length > 0)
		frm.lenghmeasure.options[0] = null; 		
		len = frm.heightmeasure.length;
		frm.heightmeasure.options[len] = new Option(val,val);
		len = frm.heightmeasure.length;
		frm.heightmeasure.options[len] = new Option(val2,val2);		
		len = frm.lenghmeasure.length;
		frm.lenghmeasure.options[len] = new Option(val,val);
		len = frm.lenghmeasure.length;
		frm.lenghmeasure.options[len] = new Option(val2,val2);
	}	
	if(val1==3){
		while (frm.heightmeasure.length > 0)
		frm.heightmeasure.options[0] = null; 
		while (frm.widthmeasure.length > 0)
		frm.widthmeasure.options[0] = null;
		len = frm.heightmeasure.length;
		frm.heightmeasure.options[len] = new Option(val,val);
		len = frm.heightmeasure.length;
		frm.heightmeasure.options[len] = new Option(val2,val2);		
		len = frm.widthmeasure.length;
		frm.widthmeasure.options[len] = new Option(val,val);
		len = frm.widthmeasure.length;
		frm.widthmeasure.options[len] = new Option(val2,val2);
	}
}

function convert(val,val1)
{
		ivalue = val.toUpperCase();
		if(val1==1)
		frmbook1.postcode.value = ivalue;
		if(val1==2)
		frmbook4.postcode1.value = ivalue;
		if(val1==3)
		frmbook5.postcode2.value = ivalue;
}

function changemonth(val)
{
	frm = document.frmbook2;
	while (frm.pickupmonth.length > 0)
	frm.pickupmonth.options[0] = null;
	len = frm.pickupmonth.length;
	frm.pickupmonth.options[len] = new Option(val,val);
}

function changeday(val)
{
	frm = document.frmbook2;
	while (frm.pickupday.length > 0)
	frm.pickupday.options[0] = null;
	len = frm.pickupday.length;
	frm.pickupday.options[len] = new Option(val,val);
}

function changeyear(val)
{
	frm = document.frmbook2;
	while(frm.pickupyear.length > 0)
	frm.pickupyear.options[0] = null;
	len = frm.pickupyear.length;
	frm.pickupyear.options[len] = new Option(val,val);
}
/** Functions for Input Masking**/
	function textOnly(fieldValue){
		var Length = fieldValue.length;
		var iChars = "~`!@#$%^&*()_+|\=-\"':;?/<>,[]}{01234567890";
		var ereg = /^[\s ]*$/ ;
		for (var i = 0; i < Length; i++) {
			if ((iChars.indexOf(fieldValue.charAt(i)) != -1) || (ereg.test(fieldValue) == true)){
				return true;
			}
		}
	}
	function textOnly1(fieldValue){
		var Length = fieldValue.length;
		var iChars = "~`!@#$%^&*()_+|\=\":;?/<>[]}{";
		var ereg   = /^[\s ]*$/ ;
		for(var i = 0; i < Length; i++) {
			if((iChars.indexOf(fieldValue.charAt(i)) != -1) || (ereg.test(fieldValue) == true)){
				return true;
			}
		}
	}
	function telNumber(fieldValue){
		var ereg = /^\+?[\d\s]+\(?[\d\s]{6,}$/ ;
		telval = fieldValue;
		if(ereg.test(telval) == false){
			return true;									
		}	
	}
	function validField(fieldValue){
		var chars = "!@#$%^&*()+=[]\\;/{}|\":<>?";
		var Length = fieldValue.length;
		for (var i = 0; i < Length; i++) {
			if(chars.indexOf(fieldValue.charAt(i)) != -1){
				return true;
			}
		}
	}
	function validI(fieldValue){
		var chars = "@#$&^*()+=[]\\\;/{}|\<>";
		var Length = fieldValue.length;
		for (var i = 0; i < Length; i++) {
			if(chars.indexOf(fieldValue.charAt(i)) != -1){
				return true;
			}
		}	
	}
	function validCard(fieldValue){
		var ereg = /^((4\d{3})|(5[1-5]\d{2})|(6011)|(3[68]\d{2})|(30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$/ ;
		cardval = fieldValue;
		if(ereg.test(cardval) == false){
			return true;									
		}
	}
/********************************/


function LTrim( value ) {	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function RTrim( value ) {	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

function trim( value ) {
	return LTrim(RTrim(value));
}