// JavaScript Document
<!--
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { 
			num = parseFloat(val);
          	num  = string.replace(' ','');
			alert(num);
			alert(num.length);
			if (num.length < 7) {
				errors+='- '+nm+' must be a valid telephone number.\n';
			}
		  if (isNaN(val)) {
			  	errors+='- '+nm+' must contain a telephone number.\n';
		  }
		  else if (val.length < 7) {
			  	alert(val.length);
				errors+='- '+nm+' must be a valid telephone number.\n';
			}
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }

function validateForm() {
	var errormessage
	errormessage = ""
	if (document.form1.name.value == "") {
			errormessage = errormessage + "\n" + "Contact Name"; 
	}
	if (document.form1.phone.value == "") {
		errormessage = errormessage + "\n" + "Telephone"; 
	}
	else if (!checkInternationalPhone(document.form1.phone.value)) {
			errormessage = errormessage + "\n" + "Telephone"; 
	}

	if (!isValidEmail(document.form1.contact_email_address.value)) {
			errormessage = errormessage + "\n" + "Email"; 
	}
	if (document.form1.worktostart.value == "") {
			errormessage = errormessage + "\n" + "When you would like the work to start";
	}	
	if (document.form1.whenavailable.value == "") {
			errormessage = errormessage + "\n" + "Available Between"; 
	}
	if (document.form1.message.value == "") {
			errormessage = errormessage + "\n" + "Work Description"; 
	}
	if (document.form1.postcode.value == "") {
			errormessage = errormessage + "\n" + "Postcode"; 
	}
	if (errormessage != "") {
		errormessage = "The following fields are required or invalid:-\n" + errormessage;
		alert(errormessage);
	 	return false;
	}
	else {
		document.form1.submit();
	}
}

function validateShortForm() {
	var errormessage
	errormessage = ""
	if (document.form1.name.value == "") {
			errormessage = errormessage + "\n" + "Contact Name"; 
	}
	if (document.form1.phone.value == "") {
		errormessage = errormessage + "\n" + "Telephone"; 
	}
	else if (!checkInternationalPhone(document.form1.phone.value)) {
			errormessage = errormessage + "\n" + "Telephone"; 
	}
	if (!isValidEmail(document.form1.contact_email_address.value)) {
			errormessage = errormessage + "\n" + "Email"; 
	}
	if (document.form1.postcode.value == "") {
			errormessage = errormessage + "\n" + "Postcode"; 
	}
	if (errormessage != "") {
		errormessage = "The following fields are required or invalid:-\n" + errormessage;
		alert(errormessage);
	 	return false;
	}
	else {
		document.form1.submit();
	}
}


// JavaScript Document
// JavaScript Document
/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;
function isValidEmail(str) {
   return (str.indexOf(".") >= 1) && (str.indexOf("@") > 0);
}

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

//-->
