function validateregister(obj) {

	if(obj.USERNAME){
		if(!validateusername(obj.USERNAME,"text","usernameerror",1)){
			return false;
		}
	}

	if(obj.EMAILID){
		if($('EMAILID').readOnly!=true){
			if(!validateemail(obj.EMAILID,"text","email_error",1,1)){
				return false;
			}
		}
	}

	if(obj.PASSWORD){
		if(!validatepassword(obj.PASSWORD,"password",1)){
			return false;
		}
	}

	if(obj.PASSWORD && obj.CONFIRMPASSWORD){
		if(!comparepassword(obj.PASSWORD,obj.CONFIRMPASSWORD,1)){
			return false;
		}
	}

	if(obj.REGNAME){
		if(!validatename(obj.REGNAME,"text",1)){
			return false;
		}
	}

	if(obj.COUNTRY){
		if(!validatecountry(obj.COUNTRY,"select",1)){
			return false;
		}
	}

	if(($('stateId')) && (obj.REGSTATE) && (obj.REGCITY)){
		if($('stateId').style.display == 'block') {
			if(!validatestate(obj.REGSTATE,"select",1)){
				return false;
			}
			if(!validateCity(obj.REGCITY,"regcityerrdiv",1)){
				return false;
			}
		}
	}



	if(obj.REGCOUNTRYCODE){
		if(!validatecountrycode(obj.REGCOUNTRYCODE,"select",1)){
			return false;
		}
	}


	if(!validateContactNumber('REGCOUNTRYCODE',obj.REGAREACODE,'REGAREACODE',obj.REGPHONENO,obj.MOBILENO,'phoneno_error','mobileno_error',1)){
		return false;
	}


	if($('AGENT')){
		if($('AGENT').checked==true){
			
			if(obj.AGENTURL.value!=""){
				if(!isValidURL(obj.AGENTURL,'agent_url_error')){
					printError('agent_url_error',"Please enter valid url","block",obj.AGENTURL,1);
					return false;
				}else{
					printError('agent_url_error',"","none",obj.AGENTURL);
				}
			}else{
				printError('agent_url_error',"","none",obj.AGENTURL);
			}
			
			if(!validateagentyears(obj.AGENTYEARSOFOPERATION,"select",1)){
				return false;
			}
			if(!validateagentpropertysold(obj.AGENTPROPERTYSOLDLASTYEAR,"select",1)){
				return false;
			}
			
			if(obj.AGENTCITYOPERATIONSRIGHT){
				selallCOP(obj.AGENTCITYOPERATIONSRIGHT);
			}

			if(obj.LANGUAGESPOKENRIGHT){
				selallCOP(obj.LANGUAGESPOKENRIGHT);
			}
		}

	}
	

	if($('BUILDER')){
		if($('BUILDER').checked==true){
			if(obj.BUILDERURL.value!=""){
				if(!isValidURL(obj.BUILDERURL,'builder_url_error')){
					printError('builder_url_error',"Please enter valid url","block",obj.BUILDERURL,1);
					return false;
				}else{
					printError('builder_url_error',"","none",obj.BUILDERURL);
				}
			}else{
				printError('builder_url_error',"","none",obj.BUILDERURL);
			}
			
			if(!validatebuilderyears(obj.BUILDERYEARSOFOPERATION,"select",1)){
				return false;
			}

			if(!validatebuilderpropertysold(obj.BUILDERPROPERTYSOLDLASTYEAR,"select",1)){
				return false;
			}
			
			if(obj.BUILDERCITYOPERATIONSRIGHT){
				selallCOP(obj.BUILDERCITYOPERATIONSRIGHT);
			}
		}
	}

	if(obj.terms){
		if(IsEmpty(obj.terms,'checkbox')){
		  printError('divtermserror', 'Please check terms and conditions','block',obj.terms);
		  $('terms').focus();
		  return false;
		}
	}

	
	if(obj.ip_register){
		obj.ip_register.value = "Processing..."
		obj.ip_register.setAttribute('readonly',true);
	}

	return true;
}

var validusername = '';
var usernameerr = 0;

function validateusername(obj,obj_type,errorid,tofocus) {

	

	if(IsEmpty(obj,obj_type)) {
		printError(errorid,"Please enter Username","block",obj,tofocus);
		return false;

	} else {
		
		
			
		if(obj.value.length<5){
			printError(errorid,"Username should have atleast 5 chars","block",obj,tofocus);
			return false;

		}else{


			var alphaChk = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

			if (alphaChk.indexOf(obj.value.charAt(0)) != -1) {

				
				var obj_y = usernameSpecialCharsChk(obj.value);

				if(obj_y==0){

					if(usernameerr==0 || (usernameerr==1 && validusername != obj.value)){

						printError(errorid,"Checking username...","block",obj,tofocus);

						var requrl='/ajax/ajaxresponse.php?type=username&fieldname='+obj.value;
						ajaxhttp2.open('POST',uncache(requrl),true);
						ajaxhttp2.send(null); 

						ajaxhttp2.onreadystatechange= function(){
							if(ajaxhttp2.readyState==4){
								if(ajaxhttp2.status==200){	
									if(ajaxhttp2.responseText==1){
										printError(errorid,"","none",obj,tofocus);
										usernameerr = 1;
										validusername = obj.value;
									}else if(ajaxhttp2.responseText==2){
										printError(errorid,"Username is already exists. Please try another username!","block",obj,tofocus);
										usernameerr = 1;
										validusername = obj.value;
										return false;
									}
								}
							
							}
						}

					}else{
						printError(errorid,"","none",obj,tofocus);
					}

				}else{
					printError(errorid,"Username should not have any Spaces or Special Characters not allowed","block",obj,tofocus);
					return false;
				}

				return true;

			}else{
				printError(errorid,"Username should start atleast with one alpha character","block",obj,tofocus);
				return false;
			}

		}
	}
}

function validatepassword(obj,obj_type,tofocus) {

	if(IsEmpty(obj,obj_type)) {
		printError('passworderror',"Please enter Password","block",obj,tofocus);
		return false;

	} else {
			
		
		if(obj.value.length<6){
			
			printError('passworderror',"Password should have atleast 6 chars","block",obj,tofocus);
			return false;

		}else{
		
			var obj_y = isSpecialChars(obj.value);

			if(obj_y==0){
				printError('passworderror',"","none",obj,tofocus);
				return true;
			}else{
				printError('passworderror',"Password should not have any Spaces or Special Characters not allowed","block",obj,tofocus);
				return false;
			}

		}
	}
}


function comparepassword(objpassword,objconfirmpassword,tofocus) {

	if(objpassword.value != objconfirmpassword.value) {
		printError('confirmpassword_error',"Password and confirm password do not match","block",objconfirmpassword,tofocus);
		return false;
	} else {
		printError('confirmpassword_error',"","none",objconfirmpassword,tofocus);
		return true;
	}
}

function validatename(obj,obj_type,tofocus) {
	var numericExpression = /^[0-9]+$/;
	if(IsEmpty(obj,obj_type)) {

		printError('name_error',"Please enter Name","block",obj,tofocus);
		return false;

	} else {
		if(obj.value.match(numericExpression)){
		printError('name_error',"Numbers Alone Not Allowed ","block",obj,tofocus);
			return false;
		}
		if(obj.value.length<2){
			printError('name_error',"Name should have atleast two chars","block",obj,tofocus);
			return false;

		}else{
		
			var obj_y = isSpecialChars(obj.value,1);

			if(obj_y==0){
				printError('name_error',"","none",obj,tofocus);
				return true;
			}else{
				printError('name_error',"Name should not have any Special Characters ","block",obj,tofocus);
				return false;
			}

		}
		
	}
}

function validatecountry(obj,obj_type,tofocus) {

	if(validateselect(obj,obj_type)) {
		printError('country_error',"Please choose country","block",obj,tofocus);
		return false;
	} else {
		printError('country_error',"","none",obj,tofocus);
		printError('mobileno_error',"","none",obj,tofocus);
		printError('phoneno_error',"","none",obj,tofocus);
		return true;
	}
}


function validatecountrycode(obj,obj_type,tofocus) {

	if(validateselect(obj,obj_type)) {
		printError('mobileno_error',"Please select country code","block",obj,tofocus);
		return false;
	} else {
		///$("country_error").innerHTML = "";
		printError('mobileno_error',"","none",obj,tofocus);
		return true;
	}
}


function validatestate(obj,obj_type,tofocus) {
	if(validateselect(obj,obj_type)) {
		$("state_error").innerHTML = "Please select state";
		printError('state_error',"Please select state","block",obj,tofocus);
		return false;
	} else {
		printError('state_error',"","none",obj,tofocus);
		return true;
	}
}
function validatecity(obj,obj_type,tofocus) {
	if(validateselect(obj,obj_type)) {
		printError('regcityerrdiv',"Please select city","block",obj,tofocus);
		return false;
	} else {
		printError('regcityerrdiv',"","none",obj,tofocus);
		return true;
	}
}

function validatephone(objarea,objphone,mobileno) {
		
	if(mobileno.value==""){

		if(validatearea(objarea,"text") || validatephoneno(objphone,"text")) {
   			 printError('phoneno_error',"Please enter area code / phone no.","block",objarea);
			 return false;
		} else {
   			 printError('phoneno_error',"","none",objarea);
   			 printError('mobileno_error',"","none",objarea);
			 return true;
		}
	
	}else{
		printError('phoneno_error',"","none",objarea);
	    printError('mobileno_error',"","none",objarea);
	
		return true;
	}

}
function validatearea(objarea,obj_type) {

	if(IsEmpty(objarea,obj_type)) {
		return true;
	} else {
		return false;
	}

}
function validatephoneno(objphone,obj_type) {
	if(IsEmpty(objphone,obj_type)) {
		return true;
	} else {
		return false;
	}
}

function validatemobile(obj,obj_type,areacode,phoneno) {

	if(areacode.value=="" && phoneno.value==""){

		if(IsEmpty(obj,obj_type)) {
			
			printError('mobileno_error',"Please enter mobile no.","block",obj);
			///$("mobileno_error").innerHTML = "Please enter mobile no.";
			return false;

		} else {
			
			printError('mobileno_error',"","",obj);
			printError('phoneno_error',"","",obj);
			return true;
		}

	}else{
		printError('mobileno_error',"","",obj);
		printError('phoneno_error',"","",obj);
		return true;
	}
}




function dispValidemail() {
	if(ajaxhttp.readyState==4) {
		if(ajaxhttp.status==200) {	
			if(ajaxhttp.responseText==1){
				printError(error_id,"","none",obj);
			}else{
				printError(error_id,"","none",obj);
			}
		}
    }
}

function validateagentyears(obj,obj_type,tofocus) {
	if(validateselect(obj,obj_type)) {
		printError('agentyears_error',"Please select years of operation","block",obj,tofocus);
		//$("agentyears_error").innerHTML = "Please select years of operation";
	    return false;
	} else {
		//$("agentyears_error").innerHTML = "";
		printError('agentyears_error',"","none",obj,tofocus);
		return true;
	}
}

function validateagentpropertysold(obj,obj_type,tofocus) {
	if(validateselect(obj,obj_type)) {
		///$("agentpropertysold_error").innerHTML = "Please select property sold last year";
		printError('agentpropertysold_error',"Please select properties sold last year","block",obj,tofocus);
	    return false;
	} else {
		printError('agentpropertysold_error',"","none",obj,tofocus);
		return true;
	}
}



function validatebuilderyears(obj,obj_type,tofocus) {
	if(validateselect(obj,obj_type)) {
		///$("builderyears_error").innerHTML = "Please select years of operation";
		printError('builderyears_error',"Please select years of operation","block",obj,tofocus);
	    return false;
	} else {
		///$("builderyears_error").innerHTML = "";
		printError('builderyears_error',"","block",obj,tofocus);
		return true;
	}
}

function validatebuilderpropertysold(obj,obj_type,tofocus) {
	if(validateselect(obj,obj_type)) {
		printError('builderpropertysold_error',"Please select properties sold last year","block",obj,tofocus);
		///$("builderpropertysold_error").innerHTML = "Please select property sold last year";
	    return false;
	} else {
		////$("builderpropertysold_error").innerHTML = "";
		printError('builderpropertysold_error',"","block",obj,tofocus);
		return true;
	}
}

function validateselect(obj,obj_type){
	if(obj.selectedIndex == 0) {
		return true;
	} else {
		return false;
	}
}

function usernameSpecialCharsChk(obj_val){
	var x=0;
	var iChars = "!@#$%^&*()+=[]\\\';,`~/.{}| \":<>?";
	for (var i = 0; i < obj_val.length; i++) {
		if (iChars.indexOf(obj_val.charAt(i)) != -1) {
			x=1;
		}
	}
	return x;
}

function isSpecialChars(obj_val,namefield){
	var x=0;
	var iChars;
	if(namefield==1){
		iChars = "!@#$%^&*()+=[]\\\';,`~/{}|\":<>?";
	}else{
		iChars = "!@#$%^&*()+=-[]\\\ ';,.`~/{}|\":<>?";
	}
	for (var i = 0; i < obj_val.length; i++) {
		if (iChars.indexOf(obj_val.charAt(i)) != -1) {
			x=1;
		}
	}

	return x;
}

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 dispStatediv(countryval){
	if(countryval==1){
		$('stateId').style.display = 'block';
	}else{
		$('stateId').style.display = 'none';
		$('REGSTATE').options[0].selected = 'selected';
		$('REGCITY').options[0].selected = 'selected';
	}

    $('REGCOUNTRYCODE').options[countryval].selected="selected";
	
}

function isValidURL(obj,errorid){
	var url = obj.value;
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	var totalCharCnt = url.length;

	if(url!=""){
	  if(totalCharCnt<=70){
		if(RegExp.test(url)){
			printError(errorid,"","none",obj,'');
			return true;
		}else{
			printError(errorid,"Please enter valid url!","block",obj,'');
			return false;
		}
	  }else{
			printError(errorid,"Please enter valid url!","block",obj,'');
			return false;
	  }
	}else{
		printError(errorid,"","none",obj,'');
		return true;
	}


}

function enableUserType(userTypeId){
	if(userTypeId=='INDIVIDUAL'){
		$('NRI').disabled = false;
		$('agentFields').style.display = 'none';
		$('builderFields').style.display = 'none';
		$('usertype_hint').style.display="none";
		$('comp_name').style.display="none";
		if($('listingContentDetails')){
			$('listingContentDetails').style.display = "block";
		}
	}else if(userTypeId=='AGENT'){
		$('NRI').disabled = true;
		$('NRI').checked = false;
		$('agentFields').style.display="block";
		$('builderFields').style.display="none";
		$('usertype_hint').style.display="block";
		$('comp_name').style.display="block";
		if($('listingContentDetails')){
			$('listingContentDetails').style.display = "block";
		}
	}else if(userTypeId=='BUILDER'){
		$('NRI').disabled = true;
		$('NRI').checked = false;
		$('builderFields').style.display="block";
		$('agentFields').style.display="none";
		$('usertype_hint').style.display="none";
		$('comp_name').style.display="none";
		if($('listingContentDetails')){
			$('listingContentDetails').style.display = "none";
		}
	}
}

function selallCOP(objid) // COP => Cities Of Operation
{
	for(var i=0;i < objid.length;i++)
	{objid.options[i].selected=true;}
	
}

