function validateMailId(str)
{   
	var at =  "@";
	var dot =  ".";		
  var lstr = str.length;		
			
	// If at(@) does not occur or at(@) occur very first position or at(@) occur in last position.
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{   
		return false;
	}
	// if dot(.) does not occur or dot(.) occur very first position 0r dot(.) occur in last position.  
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{                               
		return false;
	}
	// if at(@) occur more than one times in the string.
	if (str.indexOf(at,(str.indexOf(at)+1))!=-1)
	{                                       
		return false;
	}
	// If dot(.) occur just before and just after at(@).
	if (str.substring(str.indexOf(at)-1,str.indexOf(at))==dot || str.substring(str.indexOf(at)+1,str.indexOf(at)+2)==dot)
	{                                        
		return false;
	}
	// If dot(.) does not occur after at(@).  
	if (str.indexOf(dot,(str.indexOf(at)+2))==-1)
	{                                    
		return false;
	} 
	// If blank occur in the string.
	if (str.indexOf(" ")!=-1)
	{                                       
		return false;
	}
	return true;
}
	 
	function validatePhone(str)
	{
	  if(str =="" )
	{
	  return false;
	}
	else if(str == null)
	{
	  return false;
	}
	else if (str=="Please prefix country, area codes" || str=="Prefix country, area codes")
	  {
	    return false;
	  }
	  else
	  {
	    return true;
	  }
	}
 
 // function for check valid emailid and phone no for all pop up.
 function validateContactDetails(emailField,phoneField, divId)
{
  if(validateMailId(emailField.value) || validatePhone(phoneField))
  {
     return true;
  }
 else
  {
    var error = "<br/>Sorry! We need your phone no or valid email to contact you. Please fill in the text fields above and click Submit again.</br>";
    document.getElementById(divId).innerHTML = error;
    return false;
  }
}


 // check key board press key is number or charcture      
function isCharacterKey(evt)
{    
  var charCode = (evt.which) ? evt.which : evt.keyCode
  if (charCode > 7 && (charCode < 48 || charCode > 57))
  {
    return true;
  }
  return false;
}

 //function for phone field which accept only numeric key.
function isNumberKey(evt)
{
  var charCode = (evt.which) ? evt.which : evt.keyCode
   //keyCode URL: http://www.aspdotnetfaq.com/Faq/What-is-the-list-of-KeyCodes-for-JavaScript-KeyDown-KeyPress-and-KeyUp-events.aspx
  // ctrl+x=120, ctrl+c=99,ctrl+v=118,leftarrow(<-)=37,uparrow=38,rightarrow=39,delete=46,Space=32,'-'=45,\=92,'+'=43,'('=40,')'=41 ,
  //alert(charCode);
  if (charCode == 120 || charCode == 99 ||charCode == 118 || charCode == 40 || charCode == 41 || charCode == 45 || charCode == 47 || charCode == 92 || charCode == 43 || charCode == 32 || charCode == 177 || charCode == 37 || charCode == 38 || charCode == 39 || charCode == 46 || charCode == 35 || charCode == 36)
  {
    return true;
  }
  if (charCode > 31 && (charCode < 48 || charCode > 57))
  {
    return false;
  }
    return true;
}
     
//function for check valid emailid and valid phone and password field. 
function CheckAlldetails(email,password,confirmPassword,phone,divId)
{   	
  if(!validateMailId(email.value))
  {
    var error = "Sorry! Enter a valid email id.</br>";
    document.getElementById(divId).style.display="block";
    document.getElementById(divId).innerHTML = error;
    return false;
  }        
	else if(password.value=="")
	{
	  var error = "Sorry! Password can not be blank.</br>";
	  document.getElementById(divId).style.display="block";
	  document.getElementById(divId).innerHTML = error;
	  return false;
	}        
	else if((password.value).length<6)
	{
	  var error = "Sorry! Password should not be less than 6 character.</br>";
	  document.getElementById(divId).style.display="block";
	  document.getElementById(divId).innerHTML = error;
	  return false;
	}    
	else if(password.value!=confirmPassword.value)
	{  
	  var error = "Sorry! Password and confirm password field should be same.</br>";
	  document.getElementById(divId).style.display="block";
	  document.getElementById(divId).innerHTML = error;
	  return false;
	}
  else if(!validatePhone(phone.value))
  {
    var error = "Sorry! Phone number can not be blank.</br>";
    document.getElementById(divId).style.display="block";
    document.getElementById(divId).innerHTML = error;
    return false;
  }      
  else
  {    
    return true;  
  }    	
}	
    
 // function for check valid emailid and return error message in case of false return  
function   CheckMailId(email,divId)
{
  if(!validateMailId(email.value))
  {
    var error = "<br/>Sorry! We need your valid email to contact you. Please fill in the text fields above and click Submit again.</br>";
    document.getElementById(divId).innerHTML = error;
    return false;
  }
  else 
  {  	
    document.getElementById(divId).innerHTML = "";
    return true;   
  }
}   
      
//function for check valid phone (currently being used in update user account). 
function CheckUpdateDetails(mobilePhone,homePhone,officePhone,divId)
{    
	var error;
  if(mobilePhone.value==""&&homePhone.value==""&&officePhone.value=="")   
  {
     error = "Sorry! We need your at least one phone number to contact you.</br>";     
     document.getElementById(divId).innerHTML = error;
     return false;
  }    
  else
  {   	
    return true;  
  }      
}  
//  function for check current password,new password and confirm password. 
//currently being used in update password form
function CheckPassword(currentPassword,newPassword,confirmPassword,divId)
{       
  if(currentPassword.value=="")
  {
    var error = "Sorry! Current password can not be blank.</br>";
    document.getElementById(divId).innerHTML = error;
    return false;
  }    
  if(newPassword.value=="")
  {
    var error = "Sorry! New Password can not be blank.</br>";
    document.getElementById(divId).innerHTML = error;
    return false;
  }          
  else if((newPassword.value).length<6)
  {
    var error = "Sorry! Password should be at least 6 characters long.</br>";
    document.getElementById(divId).innerHTML = error;
    return false;
  }    
  else if(newPassword.value!=confirmPassword.value)
  {  
    var error = "Sorry! Password and confirm password values don't match.</br>";
    document.getElementById(divId).innerHTML = error;
    return false;
  }       
  else
  {    
  	return true;     
  }      
}  

//function for check valid phone (currently being used in update user account). 
function CheckLoginDetails(email,password,divId)
{  	
  if(!validateMailId(email.value))
  {
    var error = "Sorry! Enter a valid email id.</br>";
    document.getElementById(divId).style.display="block";
    document.getElementById(divId).innerHTML = error;
    return false;
  }   
  else if(password.value=="")
  {
    var error = "Sorry! Password can not be blank.</br>";
    document.getElementById(divId).style.display="block";
    document.getElementById(divId).innerHTML = error;
    return false;
  }    
  else
  {    
    return true;  
  }      
}  

//being used in registeration and updation form onblur of password
function validatePassword(password,divId)
{
	if((password.value).length<6)
  {
  	
    var error = "Password should be at least 6 characters long.</br>";
    document.getElementById(divId).style.display = "block";
    document.getElementById(divId).innerHTML = error;    
    //document.getElementById(updatePasswordFeedback).innerHTML = "";
    return false;
  }  
  else 
  {
  	document.getElementById(divId).innerHTML ="";
    document.getElementById(divId).style.display = "none";
  	return true;  
  }
    
}

//being used in registeration and updation form onblur of password
function validateConfirmPassword(password,confirmPassword,divId)
{
	if(password.value!=confirmPassword.value)
  {  
    var error = "Password and confirm password values don't match.</br>";
    document.getElementById(divId).style.display = "block";
    document.getElementById(divId).innerHTML = error;
    //document.getElementById(updatePasswordFeedback).innerHTML = "";
    return false;
  }       
  else
  {  
  	document.getElementById(divId).innerHTML = "";
    document.getElementById(divId).style.display = "none";
    return true;     
  }      
}

//validate password field in talktous,ask zamanzar,set up tour pop up
function validateRegisterPassword(email,password,confirmPassword,divId)
{	
	if(password.value!=""&&password.value!=null)
	{		
		if(email.value=="")
    {  
    	var error = "<br/>Sorry! We need valid email to register.</br>";
      document.getElementById(divId).innerHTML = error;
      return false;      
    }  
    else if(!validateMailId(email.value))
    {  
      var error = "<br/>Sorry! Enter valid email to register.</br>";
      document.getElementById(divId).innerHTML = error;
      return false;     
    }    
    else if(password.value!=confirmPassword.value)
    {  
      var error = "<br/>Sorry! Password and confirm password values don't match.</br>";
      document.getElementById(divId).innerHTML = error;
      return false;
    }       
    else if((password.value).length<6)
	  {
	    
	    var error = "<br/>Sorry! Password should be at least 6 characters long.</br>";
	    document.getElementById(divId).innerHTML = error;
	    return false;
	  }     
	  else if(password.value!=confirmPassword.value)
	  {  
	    var error = "Password and confirm password values don't match.</br>";
	    document.getElementById(divId).innerHTML = error;
	    return false;
	  }    
	  else
	  {
	  	return true; 
	  }	    
	}
	else
	{
		 return true; 
	}   
}


//validation for area,bed,bath,cov area on value property section on home page
function validatePropertyFieldsOnHome(area,cov_area,beds,baths,prop_type,div_id)
{		
  if(area == "" || area == "Please Enter Locality")
  {
  	var error = "Sorry! Enter valid locality.";
    document.getElementById(div_id).innerHTML = error;
    return false;
  }	
  else if(cov_area == ""||cov_area == "Area")
  {  	
    var error = "Sorry! Enter valid covered area.";
    document.getElementById(div_id).innerHTML = error;
    return false;
  } 
  
  else if(prop_type == "Apartment" ||  prop_type =="House")
  {
	  if(baths == ""||  baths == "Baths")
	  {
	    var error = "Sorry! Enter valid no of baths.";
	    document.getElementById(div_id).innerHTML = error;
	    return false;
	  }  
	  else if(beds == "" || beds == "Beds")
    {
      var error = "Sorry! Enter valid no of beds.";
      document.getElementById(div_id).innerHTML = error; 
      return false;     
    }  	 
	
  } 
  document.getElementById(div_id).innerHTML="";
  return true;
}

/**
 * Validation for quick post section of home page.
 * Send the fields to be validated and the error message element.
 */
function validateQuickPost(name, phone, email, req, error_div) 
{
  
  //Get values from fields.
  name = $F(name);
  phone = $F(phone);
  email = $F(email);
  req = $F(req);
  
  if(name == "" || name == "Name") {
    $(error_div).innerHTML = "Sorry! Enter valid name.";
    return false;
  }
  if(!validateMailId(email))
  {
    $(error_div).innerHTML = "Sorry! Enter valid email.";
    return false;
  }
  if(phone == "" || phone == "Phone") {
    $(error_div).innerHTML = "Sorry! Enter valid phone no.";
    return false;
  }
  if(req == "" || req.substr(0, 4) == "E.g.") {
    $(error_div).innerHTML = "Sorry! Enter property details.";
    return false;
  }
  
  $(error_div).innerHTML = "";
  return true;
}  

//validation for area,bed,bath,cov area on value property section on propertyValuation page

function validatePropertyFields(valueProperty_name,valueProperty_phone,valueProperty_email,valueProperty_area,valueProperty_cov_area,valueProperty_beds,valueProperty_baths,valueProperty_prop_type,div_id)
{  	
  var area = document.getElementById(valueProperty_area).value;
  var cov_area = document.getElementById(valueProperty_cov_area).value;
  var beds = document.getElementById(valueProperty_beds).value;
  var baths = document.getElementById(valueProperty_baths).value;
  var prop_type = document.getElementById(valueProperty_prop_type).value;
  var user_name = document.getElementById(valueProperty_name).value;
  var phone = document.getElementById(valueProperty_phone).value;
  var email = document.getElementById(valueProperty_email).value;	
	
  if(area == "" || area == "Please Enter Locality")
  {
    var error = "<br/>Sorry! Enter  valid locality.</br>";
    document.getElementById(div_id).innerHTML = error;
    return false;
  } 
  else if(cov_area == ""||cov_area == "Area")
  {
    var error = "<br/>Sorry! Enter valid covered area.</br>";
    document.getElementById(div_id).innerHTML = error;
    return false;
  }   
 else if(user_name == "" || user_name == null)
  {
    var error = "<br/>Sorry! Enter your name.</br>";
    document.getElementById(div_id).innerHTML = error;      
    return false;   
  } 
  else if(!validatePhone(phone))
  {
     var error = "<br/>Sorry! We need your valid phone.</br>";
    document.getElementById(div_id).innerHTML = error;
    return false;
  }
  else if(!validateMailId(email))
  {
     var error = "<br/>Sorry! We need your valid email.</br>";
    document.getElementById(div_id).innerHTML = error;
    return false;
  }
  else if(prop_type == "Apartment" ||  prop_type =="House")
  {
    if(baths == ""||  baths == "Baths")
    {
      var error = "<br/>Sorry! Enter valid no of baths.</br>";
      document.getElementById(div_id).innerHTML = error;
      return false;
    }  
    else if(beds == "" || beds == "Beds")
    {
      var error = "<br/>Sorry! Enter valid no of beds.</br>";
      document.getElementById(div_id).innerHTML = error; 
      return false;     
    } 
    else
    {
    	document.getElementById(div_id).innerHTML = "";
      return true;
    }
  } 
  else
  {
   document.getElementById(div_id).innerHTML = "";
    return true;
  }  
   
} 

// function to use check details in link exchange page.
function checkDetails(emailField,url,desc,title,feedback)
{
  if(validateMailId(emailField.value) == "" || validateMailId(emailField.value) == null)
  {
    var error = "<br/>Sorry! We need your valid email to contact you.</br>";
    document.getElementById(feedback).innerHTML = error;
    return false;
  }
  else if(url.value == 'Please Enter Company URL' || url.value == "")
  {
    var error = "<br/>Sorry! We need Your Company URL</br>";
    document.getElementById(feedback).innerHTML = error;
    return false;
  }  
  else if(title.value == "Please Enter Title" || title.value == "")
  {
    var error = "<br/>Sorry! We need Your Company Title";
    document.getElementById(feedback).innerHTML = error;
    return false; 
  }
  else if(desc.value == null || desc.value == "")
  {
    var error = "<br/>Sorry! We need Your Company Description<br/>";
    document.getElementById(feedback).innerHTML = error;
    return false;
  }
  else 
  {
    document.getElementById(feedback).innerHTML = "";
   return true;
  } 
}

// function is used for live chat validation and live chat with associate. 
function chatWithUs(nameField,emailField,phoneField,feedbackField)
{
  if((nameField.value) != "" && validateMailId(emailField.value) && validatePhone(phoneField.value))
  {
    return true;    
  }
  else 
  {
    var error = "<br/>Please enter your name, phone and email before starting the chat.</br>"
    document.getElementById(feedbackField).innerHTML = error;
    return false;
  }
}

// function used to check the required validation in agentSiteCheckout page.
   function validateAgentSiteCheckOut()
   {
     var isError=false;
     
     // check name.
     if(document.getElementById('billing_cust_name').value=="" || document.getElementById('billing_cust_name').value==null)
     {
       isError=true;
       requiredFields('billing_cust_name','reqname','name');    
     }
     //check contact detail
     if(document.getElementById('billing_cust_tel').value=="" || document.getElementById('billing_cust_tel').value==null)
     {
       isError=true;
       requiredFields('billing_cust_tel','reqcontactno','contact no');
     }
     // check email
     if(document.getElementById('email').value=="" || document.getElementById('email').value==null)
     {
       isError=true;
       requiredFields('email','reqfeedback','email');
     }
     
     if(!isError)
     {
       document.checkOutForm.submit();
     }
     else
     {
       var error = "Please enter all required fields as indicated above.";
       document.getElementById('requireField').innerHTML = error;
       document.getElementById('requireField').style.display = 'block';
     }
   }
   