function validate(field) {
var valid = "0123456789-() "
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
  return 1;
   }
if (!(exists(field.value))) {
  return 1;
   }
}

function exists(userEntry) {

  var aCharExists = 0;
  var entry=userEntry;

  if(entry) {
     for (var i=0; i<entry.length; i++) {
       if (entry.charAt(i) !="") {
         aCharExists=1;
       }
     }
  }

  if(!aCharExists) {
  return 0;
  }

  return 1;
}

function MM_openBrWindow(theURL,winName,features) {
  awindow = window.open(theURL,winName,features)
}

function doBookmark(url) {					
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
	var title=url + " - Finding your next home couldn't be easier";
	window.external.AddFavorite(url,title);
	}
	else {
	var msg = "Your browser requires you to add the bookmark yourself";
	if(navigator.appName == "Netscape") msg += "  (CTRL-D)";
	alert(msg)
	}
}

function getcss()  {
var browser=navigator.appName;
var version=navigator.appVersion;
	var csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/simple.css' TYPE='text/css'>";	
	if (browser.indexOf("Netscape") >= 0) {
		if (version.indexOf("3.") >= 0) {
		csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/simple.css' TYPE='text/css'>";
		}
		if (version.indexOf("4.") >= 0) {
		csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/simple.css' TYPE='text/css'>";
		}
		if (version.indexOf("5.") >= 0) {
		csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/netscape.css' TYPE='text/css'>";
		}
	}

	if (browser.indexOf("Microsoft") >= 0) {
		if (version.indexOf("3.") >= 0) {
		csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/simple.css' TYPE='text/css'>";
		}
		if (version.indexOf("4.") >= 0) {
		csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/explorer.css' TYPE='text/css'>";
		}
		if (version.indexOf("5.") >= 0) {
		csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/explorer.css' TYPE='text/css'>";
		}
	}
	
	if (browser.indexOf("Microsoft") == 0 && browser.indexOf("Netscape") == 0) {
		csslink = "<link REL='stylesheet' HREF='http://www.email4property.co.uk/simple.css' TYPE='text/css'>";
	}
	return csslink;
}

function isEmail(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					
}

//////////////////////////////////////////////////////////////////////
// FormValidator(thisform) function:
// Validates input of entire form.
//////////////////////////////////////////////////////////////////////

////////////////validating tel numbers  ////////////////////////////
function chkPhone(num) {

			var intTel = num.charAt(0);
			var telLen = num.length;
			var intTel2 = num.substring(0,2);
			
				if ((intTel == "+")||(intTel2 == "00")){
					return true;
				}			
			return false
			}
 
 
 function chkTelPhone(fld) {
 	var num = String(fld).replace(/[^\d]/g,'');
	if (String(num).substr(1, 1) == '2') {
			//' new style 02 number
			//' should be 3 4 4
			num = String(num).substr(0, 3) + ' ' + String(num).substr(3, 4) + ' ' + String(num).substr(7, 4);
		}
		else if (String(num).substr(1, 2) == '11' || String(num).substr(1, 1) == '8' || String(num).substr(1, 1) == '5') {
			//' new style 011 number or 08/05 number
			//' should be 4 3 4
			num = String(num).substr(0, 4) + ' ' + String(num).substr(4, 3) + ' ' + String(num).substr(7, 4);
		}
		else if (String(num).substr(1, 1) == '1' && String(num).substr(3, 1) == '1') {
			//' old style 01X1 number
			//' should be 4 3 4
			num = String(num).substr(0, 4) + ' ' + String(num).substr(4, 3) + ' ' + String(num).substr(7, 4);
		}
		else if (String(num).substr(1, 1) == '1' || String(num).substr(1, 1) == '7') {
			//' normal 01XXX number or mobile
			//' should be 5 6
			num = String(num).substr(0, 5) + ' ' + String(num).substr(5, 6);
		}
return num;
}
//////////////end oif validating tel numbers ///////////////////// 
 
  function FormValidator(thisform) {
  
  	var fixThis = "";
  	
  	if(!(chkCheckedAtLeastOne(thisform.agents))) {
  		fixThis += "Please check at least one recipient for your enquiry.\n"
  	}
  	
  	if(!(exists(thisform.name.value))) {
		fixThis += "Please enter your name.\n"
	}
  
  	if(!(isEmail(thisform.email.value))) {
		fixThis += "Please enter a valid email address.\n"
	}
 

 	if(thisform.telno1.value != ""){
 		
 		var checkIntTel = chkPhone(thisform.telno1.value)
 		if (checkIntTel){
 		//alert("int number leave alone")
 		}
 		if (!(checkIntTel)){
 		thisform.telno1.value = chkTelPhone(thisform.telno1.value)
 		}
 	
 	}
 	
  	if(thisform.telno1.value == "") {
		fixThis += "Please enter valid telephone numbers.\n"
	}
 	
  	if(!(thisform.email.value == thisform.confirmemail.value)) {
  		fixThis += "The email addresses you entered do not match.\n"
 	}
 	
  	if(!(exists(thisform.postcode.value))) {
		fixThis += "Please enter your postcode.\n"
	} 	
 	
   	if(!(exists(thisform.requirements.value))) {
		fixThis += "Please enter your requirements/message.\n"
	}
  	
   	if (fixThis !="") {
  	  alert(fixThis);
  	  return false
  	  
  	} else {
  	   
  	   //thisForm.submit();
  	   return true
  	}
  }
  
  function FormValidatorNewHomes(thisform) {
  
  	var fixThis = "";
  	
  	if(!(chkCheckedAtLeastOne(thisform.agents))) {
  		fixThis += "Please check at least one recipient for your enquiry.\n"
  	}
  	
  	if(!(exists(thisform.name.value))) {
		fixThis += "Please enter your name.\n"
	}
  
  	if(!(isEmail(thisform.email.value))) {
		fixThis += "Please enter a valid email address.\n"
	}
 
  	if(thisform.telno1.value != ""){
  		
  		var checkIntTel = chkPhone(thisform.telno1.value)
  		if (checkIntTel){
  		//alert("int number leave alone")
  		}
  		if (!(checkIntTel)){
  		thisform.telno1.value = chkTelPhone(thisform.telno1.value)
  		}
  	
  	}
 	
 	if(thisform.telno1.value == "") {
 		fixThis += "Please enter a valid telephone number.\n"
	}
 
  	if(!(thisform.email.value == thisform.confirmemail.value)) {
  		fixThis += "The email addresses you entered do not match.\n"
 	}
 	
  	if(!(exists(thisform.address.value))) {
		fixThis += "Please enter your address.\n"
	}  	
 	
  	if(!(exists(thisform.postcode.value))) {
		fixThis += "Please enter your postcode.\n"
	} 
	
	if(!(exists(thisform.minprice.value))) {
		fixThis += "Please enter your minimum purchase price.\n"
	}
	
	if(!(exists(thisform.maxprice.value))) {
		fixThis += "Please enter your maximum purchase price.\n"
	}  	
   	if(!(exists(thisform.requirements.value))) {
		fixThis += "Please enter your requirements/message.\n"
	}
  	
   	if (fixThis !="") {
  	  alert(fixThis);
  	  return false
  	  
  	} else {
  	   
  	   //thisForm.submit();
  	   return true
  	}
  } 
  
    function FormValidatorSL(thisform) {
    
    	var fixThis = "";
    	
    	if(!(chkCheckedAtLeastOne(thisform.agents))) {
    		fixThis += "Please check at least one recipient for your enquiry.\n"
    	}
    	
    	if(!(exists(thisform.name.value))) {
  		fixThis += "Please enter your name.\n"
  	}
    
    	if(!(isEmail(thisform.email.value))) {
  		fixThis += "Please enter a valid email address.\n"
  	}
   
  	if(thisform.telno1.value != ""){
  		
  		var checkIntTel = chkPhone(thisform.telno1.value)
  		if (checkIntTel){
  		//alert("int number leave alone")
  		}
  		if (!(checkIntTel)){
  		thisform.telno1.value = chkTelPhone(thisform.telno1.value)
  		}
  	
  	}
 	
 	if(thisform.telno1.value == "") {
 		fixThis += "Please enter a valid telephone number.\n"
	}
   
    	if(!(thisform.email.value == thisform.confirmemail.value)) {
    		fixThis += "The email addresses you entered do not match.\n"
   	}
   	
    	if(!(exists(thisform.postcode.value))) {
  		fixThis += "Please enter your postcode.\n"
  	} 	
   	
     	if (fixThis !="") {
    	  alert(fixThis);
    	  return false
    	  
    	} else {
    	   
    	   //thisForm.submit();
    	   return true
    	}
  }
  
    function FormValidatorSLNH(thisform) {
    
    	var fixThis = "";
    	
    	if(!(chkCheckedAtLeastOne(thisform.agents))) {
    		fixThis += "Please check at least one recipient for your enquiry.\n"
    	}
    	
    	if(!(exists(thisform.name.value))) {
  		fixThis += "Please enter your name.\n"
  	}
    
    	if(!(isEmail(thisform.email.value))) {
  		fixThis += "Please enter a valid email address.\n"
  	}
  	
   
  	if(thisform.telno1.value != ""){
  		
  		var checkIntTel = chkPhone(thisform.telno1.value)
  		if (checkIntTel){
  		//alert("int number leave alone")
  		}
  		if (!(checkIntTel)){
  		thisform.telno1.value = chkTelPhone(thisform.telno1.value)
  		}
  	
  	}   
   
    	if(thisform.telno1.value == "") {
  		fixThis += "Please enter a valid telephone number.\n"
  	}
   
    	if(!(thisform.email.value == thisform.confirmemail.value)) {
    		fixThis += "The email addresses you entered do not match.\n"
   	}
   	
    	if(!(exists(thisform.postcode.value))) {
  		fixThis += "Please enter your postcode.\n"
  	}
  	
  	if(thisform.newhomes.checked==true) {
	  if(!(exists(thisform.minprice.value))) {
  		fixThis += "Please enter your minimum purchase price.\n"
  		}
	  if(!(exists(thisform.maxprice.value))) {
  		fixThis += "Please enter your maximum purchase price.\n"
  		}  		
  	}
   	
     	if (fixThis !="") {
    	  alert(fixThis);
    	  return false
    	  
    	} else {
    	   
    	   //thisForm.submit();
    	   return true
    	}
  } 
  
  function ChangeRequestValidator(thisform) {
  
  	var fixThis = "";
  	
  	if(!(exists(thisform.contact.value))) {
		fixThis += "Please enter your name.\n"
	}
  
  	if(!(isEmail(thisform.email.value))) {
		fixThis += "Please enter a valid email address.\n"
	}
 
  	if (fixThis !="") {
  	  alert(fixThis);
  	  return false
  	  
  	} else {
  	   
  	   //thisForm.submit();
  	   return true
  	}
  }  
  
  function checkNSVForm(thisform) {
  
  	var fixThis = "";
  	
  	if(!(exists(thisform.name.value))) {
		fixThis += "Please enter your name.\n"
	}
  
  	if(!(isEmail(thisform.email.value))) {
		fixThis += "Please enter a valid email address.\n"
	}
	
  	if(!(exists(thisform.telephone.value))) {
		fixThis += "Please enter a contact telephone number.\n"
	} 
	
  	if(!(exists(thisform.address.value))) {
		fixThis += "Please enter the address or postcode of the property.\n"
	} 
	
  	if(!(exists(thisform.price.value))) {
		fixThis += "Please enter the purchase price of the property.\n"
	}
	
  	if (fixThis !="") {
  	  alert(fixThis);
  	  return false
  	  
  	} else {
  	   
  	   //thisForm.submit();
  	   return true
  	}
  }    
 
  function checkSuggestForm(thisform) {
  
  	var fixThis = "";
  	
  	if(!(exists(thisform.name.value))) {
		fixThis += "Please enter your name.\n"
	}
  
  	if(!(isEmail(thisform.email.value))) {
		fixThis += "Please enter a valid email address.\n"
	}
	
  	if(!(exists(thisform.website.value))) {
		fixThis += "Please enter a short description of the website.\n"
	} 
	
  	if(!(exists(thisform.url.value))) {
		fixThis += "Please enter the URL (address) of the website.\n"
	} 
	
  	if (fixThis !="") {
  	  alert(fixThis);
  	  return false
  	  
  	} else {
  	   
  	   //thisForm.submit();
  	   return true
  	}
  }    
 
function clearSearch(frmElem) {
	if (frmElem.value=='< Enter place name here >') {
		frmElem.value = '';
	}
}
function popSearch(frmElem) {
	if (frmElem.value=='') {
		frmElem.value = '< Enter place name here >';
	}
}

function goNewWin() {
	TheNewWin =window.open("http://www.email4property.co.uk");
	TheNewWin.blur();
}

function chkCheckedAtLeastOne(frmElem) {
	var thisElem = frmElem;
	var checkCount = 0;
	if (thisElem.length > 0) {
		for (i=0;i<thisElem.length;i++) {
			if (thisElem[i].checked==true) {
				checkCount++
			}
		}
	} else {
		if (thisElem.checked==true) {
			checkCount++
		}
	}
	if (checkCount > 0) {
		return true;
	}
	//alert('You need to check at least one');
	return false;
}

function checkValidPC(postcode) {
	var pattern = /^[a-zA-Z]{1,2}[0-9]{1,2}[a-zA-Z]?(?: [0-9][a-zA-Z]{0,2})?/;
	if (pattern.test(postcode)) {
		return true;
	}
	alert('Please enter a valid postcode or postcode part. e.g. CV1, CV1 2, CV1 2B etc.');
	return false;
}

function trackThis(link,linkurl,id,catid,regionid) {
	var baseUrl = 'http://www.email4property.co.uk/gosite.asp?';
	link.href = baseUrl + 'id=' + id + '&catid=' + catid + '&c=' + regionid + '&caturl=' + linkurl.replace(/http:\/\//,"");
}



//*************************//
//VALUATION FORM VALIDATION //
//*************************//

function ValEmail(str) {
 var pattern = /^[\w-_.]*[\w-_.]@[\w].+[\w]+[\w]$/i;
 return pattern.test(str);
}



 function ValFormValidator(thisform) {
 	var fixThis = "";
 	
 	if(!(chkCheckedAtLeastOne(thisform.agents))) {
	    		fixThis += "Please check at least one recipient for your enquiry.\n"
	    	}
    	
 	
 	if(thisform.homeTel.value != ""){
 			thisform.homeTel.value = chkTelPhone(thisform.homeTel.value)
 		}
 	if(thisform.workTel.value != ""){
	 			thisform.workTel.value = chkTelPhone(thisform.workTel.value)
 		}
  	if(thisform.mobTel.value != ""){
 			thisform.mobTel.value = chkTelPhone(thisform.mobTel.value)
 		}
 		
 	if (!(exists(thisform.name.value))) {
		   	fixThis += "Please enter your name.\n";	
  	  	    	}
  	  	    	
  	if ((!(exists(thisform.homeTel.value)))&&(!(exists(thisform.mobTel.value)))&&(!(exists(thisform.workTel.value)))) {
  			   	fixThis += "Please provide at least one contact number.\n";	
  	  	    	}
  	
 	if(!(exists(thisform.address.value))) {
			fixThis += "Please enter your address.\n";
			
	} 
		
	if (!(isEmail(thisform.emailadd.value))) {
		   	fixThis += "Please enter a valid email address.\n";	
  	  	    	}
	
  	if (fixThis != "") {
  	  alert(fixThis);
  	  return false
  	  
  	} else {
  	   
  	   return true 
  	}
 }	 
 
  function CommFormValidator(thisform) {
     	var fixThis = "";
     	
     	if(!(chkCheckedAtLeastOne(thisform.agents))) {
     		fixThis += "Please check at least one recipient for your enquiry.\n"
     	}
     	
     	if(!(exists(thisform.companyname.value))) {
   		fixThis += "Please enter your company name.\n"
   	}   	
     	
     	if(!(exists(thisform.name.value))) {
   		fixThis += "Please enter your name.\n"
   	}
     
     	if(!(isEmail(thisform.email.value))) {
   		fixThis += "Please enter a valid email address.\n"
   	}
    
   
    	if(thisform.telno1.value != ""){
    		
    		var checkIntTel = chkPhone(thisform.telno1.value)
    		if (checkIntTel){
    		//alert("int number leave alone")
    		}
    		if (!(checkIntTel)){
    		thisform.telno1.value = chkTelPhone(thisform.telno1.value)
    		}
    	
    	}
    	
     	if(thisform.telno1.value == "") {
   		fixThis += "Please enter valid telephone numbers.\n"
   	}
    	
     	if(!(thisform.email.value == thisform.confirmemail.value)) {
     		fixThis += "The email addresses you entered do not match.\n"
    	}
    	
     	if(!(exists(thisform.postcode.value))) {
   		fixThis += "Please enter your postcode.\n"
   	} 	
    	
      	if(!(exists(thisform.requirements.value))) {
   		fixThis += "Please enter your requirements/message.\n"
   	}
     	
      	if (fixThis !="") {
     	  alert(fixThis);
     	  return false
     	  
     	} else {
     	   
     	   //thisForm.submit();
     	   return true
     	}
   }
   
   
function RemovalFormValidator(thisform) {
     
     	var fixThis = "";
     	
     	if(!(chkCheckedAtLeastOne(thisform.agents))) {
     		fixThis += "Please check at least one recipient for your enquiry.\n"
     	}
     	
     	if(!(exists(thisform.name.value))) {
   		fixThis += "Please enter your name.\n"
   	}
     
     	if(!(isEmail(thisform.email.value))) {
   		fixThis += "Please enter a valid email address.\n"
   	}
    
   
    	if(thisform.telno1.value != ""){
    		
    		var checkIntTel = chkPhone(thisform.telno1.value)
    		if (checkIntTel){
    		//alert("int number leave alone")
    		}
    		if (!(checkIntTel)){
    		thisform.telno1.value = chkTelPhone(thisform.telno1.value)
    		}
    	
    	}
    	
     	if(thisform.telno1.value == "") {
   		fixThis += "Please enter valid telephone numbers.\n"
   	}
    	
     	if(!(thisform.email.value == thisform.confirmemail.value)) {
     		fixThis += "The email addresses you entered do not match.\n"
    	}
    	
     	if(!(exists(thisform.postcode.value))) {
   		fixThis += "Please enter your postcode.\n"
   	} 	
 
      	if(!(exists(thisform.anticipatedmovdate.value))) {
    		fixThis += "Please enter your anticipated move date.\n"
   	} 
 
      	if(!(exists(thisform.requirements.value))) {
   		fixThis += "Please enter your requirements/message.\n"
   	}
     	
      	if (fixThis !="") {
     	  alert(fixThis);
     	  return false
     	  
     	} else {
     	   
     	   //thisForm.submit();
     	   return true
     	}
     }
     
     
function FormValidatorHips(thisform) {
    
    	var fixThis = "";
    	
    	if(!(chkCheckedAtLeastOne(thisform.agents))) {
    		fixThis += "Please check at least one recipient for your enquiry.\n"
    	}
    	
    	if(!(exists(thisform.name.value))) {
  		fixThis += "Please enter your name.\n"
  	}
    
    	if(!(isEmail(thisform.email.value))) {
  		fixThis += "Please enter a valid email address.\n"
  	}

        if(!(thisform.email.value == thisform.confirmemail.value)) {
        		fixThis += "The email addresses you entered do not match.\n"
    	}
   
  	if(thisform.telno1.value != ""){
  		
  		var checkIntTel = chkPhone(thisform.telno1.value)
  		if (checkIntTel){
  		//alert("int number leave alone")
  		}
  		if (!(checkIntTel)){
  		thisform.telno1.value = chkTelPhone(thisform.telno1.value)
  		}
  	
  	}
 	
 	if(thisform.telno1.value == "") {
 		fixThis += "Please enter a valid telephone number.\n"
	}
   
    	if(!(thisform.email.value == thisform.confirmemail.value)) {
    		fixThis += "The email addresses you entered do not match.\n"
   	}
   	
    	if(!(exists(thisform.postcode.value))) {
  		fixThis += "Please enter your postcode.\n"
  	} 	
   	
     	if (fixThis !="") {
    	  alert(fixThis);
    	  return false
    	  
    	} else {
    	   
    	   //thisForm.submit();
    	   return true
    	}
  }
  
  
  
        
function FormMortgages(thisform) {
        
   var fixThis = "";
        	
       if(!(chkCheckedAtLeastOne(thisform.agents))) {
        	fixThis += "Please check at least one recipient for your enquiry.\n"
        }
        	
        if(!(exists(thisform.name.value))) {
      		fixThis += "Please enter your name.\n"
      	}
        
        if(!(isEmail(thisform.email.value))) {
      		fixThis += "Please enter a valid email address.\n"
      	}
  
       	if(!(thisform.email.value == thisform.confirmemail.value)) {
       		fixThis += "The email addresses you entered do not match.\n"
      	}    	
   
       	if(!(exists(thisform.postcode.value))) {
     		fixThis += "Please enter your postcode.\n"
     	} 	
    
    	if(((thisform.ccj.checked==true)||(thisform.bankrupt.checked==true)||(thisform.missedloan.checked==true))&&(!exists(thisform.creditdetails.value))){
     		fixThis += "Please provide details on your credit history.\n"
  
    	}
    	
    
       	
         	if (fixThis !="") {
        	  alert(fixThis);
        	  return false
        	  
        	} else {
        	   
        	   //thisForm.submit();
        	   return true
        	}
  }
  
  
     function SingleValuation(thisform) {
     	var fixThis = "";
     	
     	if (!(exists(thisform.name.value))) {
    		   	fixThis += "Please enter your name.\n";	
      	  	    	}
      	  	    	
      	if ((!(exists(thisform.homeTel.value)))&&(!(exists(thisform.mobTel.value)))&&(!(exists(thisform.workTel.value)))) {
      			   	fixThis += "Please provide at least one contact number.\n";	
      	  	    	}
      	
     	if(!(exists(thisform.address.value))) {
    			fixThis += "Please enter your address.\n";
    			
    	} 
    		
    	if (!(isEmail(thisform.emailadd.value))) {
    		   	fixThis += "Please enter a valid email address.\n";	
      	  	    	}
          
          if(!(thisform.emailadd.value == thisform.confirmemail.value)) {
         		fixThis += "The email addresses you entered do not match.\n"
        	}   
        	
      	if (fixThis != "") {
      	  alert(fixThis);
      	  return false
      	  
      	} else {
      	   
      	   return true 
      	}
     }	 
