var mikExp = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|\0-9\;]/;
function dodacheck(val) {
var strPass = val.value;
var strLength = strPass.length;
var lchar = val.value.charAt((strLength) - 1);
if(lchar.search(mikExp) != -1) {
var tst = val.value.substring(0, (strLength) - 1);
val.value = tst;
   }
}


var mikExp2 = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|\a-z\A-Z\;]/;
function dodacheck2(val) {
var strPass = val.value;
var strLength = strPass.length;
var lchar = val.value.charAt((strLength) - 1);
if(lchar.search(mikExp2) != -1) {
var tst = val.value.substring(0, (strLength) - 1);
val.value = tst;
   }
}
 function isEmail(str)
{
	var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	return regex.test(str);
}
function validate_sample()
{
  var message="";
  var error=0; 
  x = document.frm_sample;
  str =x.surname.value;	 
  if(str == "")
	 {	
	     if(error==0)
		 x.surname.focus();
	  	 error=1;
	 	 message=message + "* Please enter surname.\n";
	 }
   
	 
	 
	 
	 if(x.email.value!="" )
	 {
	  if(!isEmail(x.email.value))
		{
			if(error==0)
		   x.email.focus();	
		   error=1;
		   message=message+"* Please enter Valid Email Id.\n";
		}
	 }
	 
	 
 	 if(error==1)
       {
 	     alert(message);
	     return false;
       }
     return true;
	
  }
 
 
function validateEpcFrom()
{
	
		if(document.getElementById('name').value=="")
		{
			alert("Please enter name.");
			document.getElementById('name').focus();
			return false;
		}
		
		if(document.getElementById('addressLine1').value=="")
		{
			alert("Please enter address line first.");
			document.getElementById('addressLine1').focus();
			return false;
		}
		
		if(document.getElementById('town').value=="")
		{
			alert("Please enter town.");
			document.getElementById('town').focus();
			return false;
		}
		
		if(document.getElementById('county').value=="")
		{
			alert("Please enter county.");
			document.getElementById('county').focus();
			return false;
		}

		if(document.getElementById('contactNumber').value=="")
		{
			alert("Please enter contactno.");
			document.getElementById('contactNumber').focus();
			return false;
		}
		
		if(document.getElementById('email').value!=""){
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var address = document.getElementById('email').value;
			if(reg.test(address) == false) {
			alert('Invalid Email Address');
			return false;
			}
		}
		
		if(document.getElementById('propertyType').value=="-")
		{
			alert("Please select propertyType.");
			document.getElementById('propertyType').focus();
			return false;
		}

		if(document.getElementById('bedrooms').value=="-")
		{
			alert("Please select bedrooms.");
			document.getElementById('bedrooms').focus();
			return false;
		}

		if(document.getElementById('access').value=="-")
		{
			alert("Please select access.");
			document.getElementById('access').focus();
			return false;
		}


		return true;
}

function checkRegister()
{
	document.getElementById('fname').value=document.getElementById('fname').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('fname').value=="")
	{
			alert("Please enter first name");
			document.getElementById('fname').focus();
			return false;
	}
	
	document.getElementById('lname').value=document.getElementById('lname').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('lname').value=="")
	{
			alert("Please enter last name");
			document.getElementById('lname').focus();
			return false;
	}
	
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('emailadd').value)))
	{
			alert("Please enter valid email address");
			document.getElementById('emailadd').focus();
			return false;
	}
	
	document.getElementById('userpassword').value=document.getElementById('userpassword').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('userpassword').value=="")
	{
			alert("Please enter password");
			document.getElementById('userpassword').focus();
			return false;
	}
	else if(document.getElementById('userpassword').value.length<6)
	{
			alert("Password should be more than six characters");
			document.getElementById('userpassword').focus();
			return false;
	}

	document.getElementById('confirmpassword').value=document.getElementById('confirmpassword').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('confirmpassword').value=="")
	{
			alert("Please enter confirm password");
			document.getElementById('confirmpassword').focus();
			return false;
	}
	
	if( document.getElementById('userpassword').value!=document.getElementById('confirmpassword').value )
	{
			alert("Please match confirm password with password");
			document.getElementById('confirmpassword').focus();
			return false;
	}

	return true;
}

function checkLoginForm()
{
	document.getElementById('emailaddLogin').value=document.getElementById('emailaddLogin').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('emailaddLogin').value=="")
	{
			alert("Please enter email address");
			document.getElementById('emailaddLogin').focus();
			return false;
	}
	
	document.getElementById('userpasswordLogin').value=document.getElementById('userpasswordLogin').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('userpasswordLogin').value=="")
	{
			alert("Please enter password");
			document.getElementById('userpasswordLogin').focus();
			return false;
	}

}

function checkPostCode (toCheck) {

  // Permitted letters depend upon their position in the postcode.
  var alpha1 = "[abcdefghijklmnoprstuwyz]";                       // Character 1
  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                       // Character 2
  var alpha3 = "[abcdefghjkstuw]";                                // Character 3
  var alpha4 = "[abehmnprvwxy]";                                  // Character 4
  var alpha5 = "[abdefghjlnpqrstuwxyz]";                          // Character 5
  
  // Array holds the regular expressions for the valid postcodes
  var pcexp = new Array ();

  // Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Expression for postcodes: ANA NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));

  // Expression for postcodes: AANA  NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Exception for the special postcode GIR 0AA
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);
  
  // Standard BFPO numbers
  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
  
  // c/o BFPO numbers
  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);
  
  // Overseas Territories
  pcexp.push (/^([A-Z]{4})(\s*)(1ZZ)$/i);

  // Load up the string to check
  var postCode = toCheck;

  // Assume we're not going to find a valid postcode
  var valid = false;
  
  // Check the string against the types of post codes
  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
    
      // The post code is valid - split the post code into component parts
      pcexp[i].exec(postCode);
      
      // Copy it back into the original string, converting it to uppercase and
      // inserting a space between the inward and outward codes
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      
      // If it is a BFPO c/o type postcode, tidy up the "c/o" part
      postCode = postCode.replace (/C\/O\s*/,"c/o ");
      
      // Load new postcode back into the form element
      valid = true;
      
      // Remember that we have found that the code is valid and break from loop
      break;
    }
  }
  
  // Return with either the reformatted valid postcode or the original invalid 
  // postcode
  if (valid) {return postCode;} else return false;
}


function checkFormStep1()
{
	document.getElementById('address1').value=document.getElementById('address1').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('address1').value=="")
	{
		alert("Please enter address line1")	;
		document.getElementById('address1').focus();
		return false;
	}
	
	document.getElementById('postcode').value=document.getElementById('postcode').value.replace(/^\s+|\s+$/g,"");
	var myPostCode = document.getElementById('postcode').value;
	if (checkPostCode (myPostCode)) {
		document.getElementById('postcode').value = checkPostCode (myPostCode)
	} 
	else {
		alert ("Postcode has invalid format")
		return false;
	}
	
	if(document.getElementById('propertytype').value=="")
	{
		alert("Please select property type")	;
		document.getElementById('propertytype').focus();
		return false;
	}

	
	
	document.getElementById('price').value=document.getElementById('price').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('price').value=="")
	{
		alert("Please enter price")	;
		document.getElementById('price').focus();
		return false;
	}



	if(confirm("Please make sure that the address of your property is entered correctly as it cannot be modified later. Please only select OK if you are sure that it is correct."))
	{
		return true;
	}
	else
	{
		return false;	
	}

}


function supportCheck()
{
	document.getElementById('name').value=document.getElementById('name').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('name').value=="")
	{
		alert("Please enter name")	;
		document.getElementById('name').focus();
		return false;
	}
		return true;
}



function checkFormStep1forcommercial()
{
		
	document.getElementById('address1').value=document.getElementById('address1').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('address1').value=="")
	{
		alert("Please enter address line1")	;
		document.getElementById('address1').focus();
		return false;
	}
	
	document.getElementById('postcode').value=document.getElementById('postcode').value.replace(/^\s+|\s+$/g,"");
	var myPostCode = document.getElementById('postcode').value;
	if (checkPostCode (myPostCode)) {
		document.getElementById('postcode').value = checkPostCode (myPostCode)
	} 
	else {
		alert ("Postcode has invalid format")
		return false;
	}
	
	if(document.getElementById('propertytype').value=="-1")
	{
		alert("Please select property type")	;
		document.getElementById('propertytype').focus();
		return false;
	}

	if(document.getElementById('csize').value=="")
	{
		alert("Please enter size")	;
		document.getElementById('csize').focus();
		return false;
	}
	
	document.getElementById('price').value=document.getElementById('price').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('price').value=="")
	{
		alert("Please enter price")	;
		document.getElementById('price').focus();
		return false;
	}



	if(confirm("Please make sure that the address of your property is entered correctly as it cannot be modified later. Please only select OK if you are sure that it is correct."))
	{
		return true;
	}
	else
	{
		return false;	
	}


}

function checkContact()
{
	//alert('s');
	document.getElementById('name').value=document.getElementById('name').value.replace(/^\s+|\s+$/g,"");
	if(document.getElementById('name').value=="")
	{
		alert("Please enter name")	;
		document.getElementById('name').focus();
		return false;
	}
	
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('emailaddress').value)))
	{
			alert("Please enter valid email address");
			document.getElementById('emailaddress').focus();
			return false;
	}

	if(document.getElementById('enquiry').value=="")
	{
		alert("Please enter comments")	;
		document.getElementById('enquiry').focus()  ;
		return false;
	}

}

function checkForgot()
{
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('email').value)))
	{
			alert("Please enter valid email address");
			document.getElementById('email').focus();
			return false;
	}
	return true;

}


//////     my sripts //////////


function emailcheck(str) 
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	var msg='' ;
	var flag=1;
	if (str.indexOf(at)==-1)
	{
		flag=flag && 0;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
		flag=flag && 0;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
		flag=flag && 0;
	}

	 if (str.indexOf(at,(lat+1))!=-1)
	 {
		flag=flag && 0;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	 {
		flag=flag && 0;
	 }

	 if (str.indexOf(dot,(lat+2))==-1)
	 {
		flag=flag && 0;
	 }
	
	 if (str.indexOf(" ")!=-1)
	 {
		flag=flag && 0;
	 }
	 if(str == '')
	 {
		msg += "Email required...\n";	 
	}
	else if(flag==0 )
 	{
 		msg +="Email is invalid...\n";
	}
 return msg;						
}

function CheckBlank(name,str)
{
	var ErrMsg = '' ;
	var Name = name;
	if(str == '')
	{
		ErrMsg = Name + " Required...\n" ;
	}

	return ErrMsg ;
}

function checkfornumber(name,str)
{
   var errmsg = '';
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   var numflag = 0;

 
   for (i = 0; i < str.length && IsNumber == true; i++) 
   { 
      Char = str.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
		 IsNumber = false;
         numflag = 1;
      }
   }
	
	if(numflag==1)
	{
		errmsg = name + " Should Contain Numbers Only...\n" ;
	}
	
	return errmsg;
}

function checknumberprice(str)
{
	//alert(str);
	if(checknumber("price",str) != '')
	{
		alert('please enter numeric value only');	
		return false;
	}
	else
	{
		return true;	
	}
}
function CheckSame(Name1,Value1,Name2,Value2)
{
	var msg = '';
//alert(Value1,Value2);
	if(Value1 != Value2)
	{
		msg = "Values in '" + Name1 + "' and '" + Name2 + "' are not same.\n" ;
	}
	return msg ;
}