var usernameObj;
var citynameObj;
var profilename;

	function validate()
	{
		var error=0;	
		if(document.frmReg.username.value == "")
		{
			document.getElementById('signuperrmsg').innerHTML = "<div class='action-msg-fontr'>Username is required.</div>";
			document.frmReg.username.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		
		if(document.frmReg.username.value != "")
		{
			if(document.frmReg.username.value.length < 4)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username length must be atleast 4 letters.</div>";
				document.signform.username.focus();
				error=1;
				return false;
			}
			if(document.frmReg.username.value.length > 25)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username length must be less than 25 letters.</div>";
				document.frmReg.username.focus();
				error=1;
				return false;
			}
			else if(document.frmReg.username.value.length >= 4 && document.frmReg.username.value.length <=25)
			{
				var regcheck = new RegExp(" ");
				if(regcheck.test(document.frmReg.username.value)==1)
				{
					document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>No space allowed in Username.</div>";
					document.frmReg.username.focus();
					error =1;
					return false;
				}
				
				if(error==0)
				{					
					var unameRegExp = /^[a-z0-9\_\-\.]+$/;
					if(!document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Only Small Letters,Numbers,Underscore,Hyphen and a single dot (.) are allowed.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
					var unameRegExp = /^[0-9]+$/;
					if(document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username should contain one or more alphabets.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
					var unameRegExp = /^[_|\-|\.|\d]+/;
					if(document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username should not start with Numbers,Underscore,Hyphen and dot.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
					var unameRegExp = /[_|\-|\.]+$/;
					if(document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username should not end with Underscore,Hyphen and dot.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
				}
			}
		}
		if(error==0 && document.frmReg.password.value == "")
		{
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Password is required.</div>";
			document.frmReg.password.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		if(document.frmReg.password.value != "")
		{
			if(document.frmReg.password.value.length < 7)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Password length must be atleast 7 letters.</div>";
				document.frmReg.password.focus();
				error=1;
				return false;
			}
			if(document.frmReg.password.value.length > 25)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Password length must be less than 25 letters.</div>";
				document.frmReg.password.focus();
				error=1;
				return false;
			}
			else if(document.frmReg.password.value.length >= 7 && document.frmReg.password.value.length <=25)
			{
				var reg = new RegExp(" ");
				if(reg.test(document.frmReg.password.value)==1)
				{
					document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>No space allowed in password.</div>";
					document.frmReg.password.focus();
					error =1;
					return false;
				}
			}
		}
		if(error==0 && document.frmReg.confirmpassword.value == "")
		{
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Confirm Password is required.</div>";
			document.frmReg.confirmpassword.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		if(document.frmReg.confirmpassword.value != "")
		{
			if(document.frmReg.confirmpassword.value!=document.frmReg.password.value)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Confirm Password should match with Password.</div>";
				document.frmReg.confirmpassword.focus();
				error =1;
				return false;
			}
			else
			{
				document.getElementById("signuperrmsg").innerHTML = "";
			}
		}
		
		if(error==0 && document.frmReg.email.value == "")
		{
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Email ID is required.</div>";
			document.frmReg.email.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		if(document.frmReg.email.value!= "")
		{
			emailRegExp =/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			if(document.frmReg.email.value.search(emailRegExp) == -1)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Email ID format is invalid.</div>";
				document.frmReg.email.focus();
				error =1;
				return false;
			}
		}
		if(document.frmReg.gender.value== "")
		{	
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Gender is required.</div>";
			document.frmReg.gender.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		if(document.frmReg.day.value == "")
		{
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Day is required.</div>";
			document.frmReg.day.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		if(document.frmReg.day.value != "")
		{
			dayval=document.frmReg.day.value;
			daycheck=/^[0-9]{1,2}$/;	
			if(dayval.search(daycheck)== -1 || dayval <1 || dayval > 31)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Day must be a number between 1 and 31.</div>";
				document.frmReg.day.focus();
				error =1;
				return false;
			}
		}
		if(document.frmReg.month.value == "")
		{
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Month is required.</div>";
			document.frmReg.month.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}	
		if(document.frmReg.month.value != "")
		{
			monval=document.frmReg.month.value;
			moncheck=/^[0-9]{1,2}$/;	
			if(monval.search(moncheck)== -1 ||monval <1 || monval > 12)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Month must be a number between 1 and 12.</div>";
				document.frmReg.month.focus();
				error =1;
				return false;
			}
		}
		if(document.frmReg.year.value == "")
		{		
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Year is required.</div>";
			document.frmReg.year.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		if(document.frmReg.year.value != "")
		{
			yearval=document.frmReg.year.value;
			yearcheck=/^[0-9]{1,4}$/;
			var d = new Date();
			var curr_year = d.getFullYear();
	
			if(yearval.search(yearcheck)== -1 || yearval < 1910)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Year is invalid.</div>";
				document.frmReg.year.focus();
				error =1;
				return false;
			}	
			if(yearval > curr_year)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Year is greater than the current year.</div>";
				document.frmReg.year.focus();
				error =1;
				return false;
			}	
		}
		if(document.frmReg.day.value != "" && document.frmReg.month.value != "" && document.frmReg.year.value != "")
		{	
			dayval=parseInt(document.frmReg.day.value);
			monthval=parseInt(document.frmReg.month.value);
			if(monthval < 10)
				monthval="0"+monthval;
			
			if(dayval < 10)
				dayval="0"+dayval;		
				
			yearval=parseInt(document.frmReg.year.value);
			var d = new Date();
			var curr_year = d.getFullYear();
			
			if ((monthval==04 || monthval==06 || monthval==09 || monthval==11) && dayval==31) 
			{ 
				document.getElementById("signuperrmsg").innerHTML="<div class='action-msg-fontr'>This month doesn't have 31 days.</div>";
				error =1;
				return false;
			} 
			if (monthval == 02) 
			{ 
				var isleap = (yearval % 4 == 0 && (yearval % 100 != 0 || yearval % 400 == 0)); 
				if (dayval > 29 || (dayval==29 && !isleap)) 
				{ 
					document.getElementById("signuperrmsg").innerHTML="<div class='action-msg-fontr'>This is not a Leap Year.</div>"; 
					error =1;
					return false;
				} 
			}
			if(yearval > curr_year-14)
			{
					document.getElementById("signuperrmsg").innerHTML="<div class='action-msg-fontr'>You need to be atleast 14 years of age.</div>"; 
					error =1;
					return false;
			}
		}
		if(document.frmReg.country.value=="India")
		{
			if(document.frmReg.state.value== "")
			{	
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>State is required.</div>";
				document.frmReg.state.focus();
				error =1;
				return false;
			}
			else
			{
				document.getElementById("signuperrmsg").innerHTML = "";
			}
			if(document.frmReg.city.value== "")
			{	
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>City is required.</div>";
				document.frmReg.city.focus();
				error =1;
				return false;
			}
			else
			{
				document.getElementById("signuperrmsg").innerHTML = "";
			}
		}
		else
		{
			if(document.frmReg.otherstate.value== "")
			{	
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>State is required.</div>";
				document.frmReg.otherstate.focus();
				error =1;
				return false;
			}
			else
			{
				document.getElementById("signuperrmsg").innerHTML = "";
			}
			if(document.frmReg.othercity.value== "")
			{	
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>City is required.</div>";
				document.frmReg.othercity.focus();
				error =1;
				return false;
			}
			else
			{
				document.getElementById("signuperrmsg").innerHTML = "";
			}
		}
		if(error==0 && document.frmReg.security_code.value== "")
		{
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Please enter verification code.</div>";
			error =1;
			return false;
		}
		if(document.getElementById("copyright").checked==false) 
		{
			document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Please check this box to continue.</div>";
			error =1;
			return false;
		} 	
		if(error==0)
		{
			document.frmReg.submit();
			return true;
		}	
	}
	function checkusername()
	{
		var error=0;	
		document.getElementById("signuperrmsg").innerHTML = "";
		if(document.frmReg.username.value == "")
		{
			document.getElementById('signuperrmsg').innerHTML = "<div class='action-msg-fontr'>Username is required.</div>";
			document.frmReg.username.focus();
			error =1;
			return false;
		}
		else
		{
			document.getElementById("signuperrmsg").innerHTML = "";
		}
		
		if(document.frmReg.username.value != "")
		{
			if(document.frmReg.username.value.length < 4)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username length must be atleast 4 letters.</div>";
				document.signform.username.focus();
				error=1;
				return false;
			}
			if(document.frmReg.username.value.length > 25)
			{
				document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username length must be less than 25 letters.</div>";
				document.frmReg.username.focus();
				error=1;
				return false;
			}
			else if(document.frmReg.username.value.length >= 4 && document.frmReg.username.value.length <=25)
			{
				var regcheck = new RegExp(" ");
				if(regcheck.test(document.frmReg.username.value)==1)
				{
					document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>No space allowed in Username.</div>";
					document.frmReg.username.focus();
					error =1;
					return false;
				}
				
				if(error==0)
				{					
					var unameRegExp = /^[a-z0-9\_\-\.]+$/;
					if(!document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Only Small Letters,Numbers,Underscore,Hyphen and a single dot (.) are allowed.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
					var unameRegExp = /^[0-9]+$/;
					if(document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username should contain one or more alphabets.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
					var unameRegExp = /^[_|\-|\.|\d]+/;
					if(document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username should not start with Numbers,Underscore,Hyphen and dot.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
					var unameRegExp = /[_|\-|\.]+$/;
					if(document.frmReg.username.value.match(unameRegExp))
					{
						document.getElementById("signuperrmsg").innerHTML = "<div class='action-msg-fontr'>Username should not end with Underscore,Hyphen and dot.</div>";
						document.frmReg.username.focus();
						error =1;
						return false;
					}
				}
			}
			if(error==0)
			{
				usernameObj=createRequestObject();
				fieldval=document.frmReg.username.value;		
				url="ajxfiles/checkUserName.php?fieldvalue="+fieldval;
				usernameObj.open('get', url+"&sid="+Math.random());
				usernameObj.onreadystatechange =namedisplayavail;
				usernameObj.send(null);
			}
			
		}
	}
	function namedisplayavail()
	{
		profilename=document.frmReg.username.value;
		if(profilename.length > 15)
		{
			profilename=profilename.substr(0,15)+"<br>"+profilename.substr(15,10);
		}
	   try
	   { 
	   	if(usernameObj.readyState == 4)
		{
		    try{
			  if(usernameObj.status == 200)
			   {
			   	if(usernameObj.responseText=="yes")
			   		document.getElementById('signuperrmsg').innerHTML="<img src='"+web_lite+"/images/AgreeTick.gif'>&nbsp;<font color='green'>Username is available.</font><br><font class='pinkfont'>Your Profile Url:www.mycantos.com/"+profilename+"</font>";
			   	else
					document.getElementById('signuperrmsg').innerHTML="<div class='action-msg-fontr'>Username is not available.</div>";
			   }
			   else{}
			}catch(e){}
		}}
		catch(e){}
	}
	function createRequestObject()
	{
	  var obj;
	  var browser = navigator.appName;
	  if(browser == "Microsoft Internet Explorer")
	  	obj = new ActiveXObject("Microsoft.XMLHTTP");
	  else 
	  	obj = new XMLHttpRequest();
	   return obj;
	}
	function changecity()
	{
		citynameObj=createRequestObject();
		
		document.getElementById("modbusy").innerHTML="<img src='"+web_lite+"/images/busy.gif' />";	
		
		if(document.frmReg.country.value=="India")
		{
			stateval=document.frmReg.state.value;		
		}
		else
		{
			stateval="";	
		}
				
		url="ajxfiles/checkCityName.php?statevalue="+escape(stateval);
		citynameObj.open('get', url+"&sid="+Math.random());
		citynameObj.onreadystatechange =displayavail;
		citynameObj.send(null);
	}
	function displayavail()
	{
  		 try
  		 { 
   			if(citynameObj.readyState == 4)
			{
	    		try{
		  		if(citynameObj.status == 200)
		 		{
		   			document.getElementById("indiacitydiv").innerHTML="<select class='smallinput' name='city' onchange='signupMain();'>"+citynameObj.responseText+"</select>";
					document.getElementById("modbusy").innerHTML="";
		   		}
		   		else{}
			    }catch(e){}
		 }}
		catch(e){}
	 }
	 function new_freecap()
	{
		document.getElementById("signuperrmsg").innerHTML = "";
		document.getElementById("freecap").src = 'luv_captcha/CaptchaSecurityImages.php?width=100&height=30&characters=5?'+Math.round(Math.random()*100000);
		document.getElementById("freecaptext").value ="";
	}
	function calllogindiv(curobj)
	{
		prep_pop();
		obj=curobj.parentNode;
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
	
		curleft-=400;
		curtop+=80;
		document.getElementById("memberlogin").style.left=curleft+'px';
		document.getElementById("memberlogin").style.top=curtop+'px';
		document.getElementById("memberlogin").style.display='block';
	}
	function closeMemberdiv()
	{
		document.getElementById("memberlogin").style.display='none';
		fade_out("fadeDiv",0.7,0);
	}
	function fade_in(fadeid,next,limit)
	{
		if(next < limit)
		{
			document.getElementById(fadeid).style.opacity = next;
			iestart=next*100;
			document.getElementById(fadeid).style.filter = 'alpha(opacity='+iestart+')';
			next=next+0.1;
			setTimeout((function(){fade_in(fadeid,next,limit);}), 100);
		}
	}
	function fade_out(fadeid,next,limit)
	{
	
		if(next > limit)
		{
			document.getElementById(fadeid).style.opacity = next;
			iestart=next*100;
			document.getElementById(fadeid).style.filter = 'alpha(opacity='+iestart+')';
			next=next-0.1;
			setTimeout((function(){fade_out(fadeid,next,limit);}), 100);
		}
		else
		{
			document.getElementById(fadeid).style.height='0px';	
			document.getElementById(fadeid).style.width='0px';
			document.getElementById(fadeid).style.display='none';	
		}
	}
	function prep_pop()
	{
		obj=document.getElementById("mainBody");
		var curwidth = curheight = 0;
		curwidth = obj.offsetWidth;
		curheight = obj.offsetHeight;
		document.getElementById("fadeDiv").style.height=curheight+'px';	
		document.getElementById("fadeDiv").style.width='900px';
		document.getElementById("fadeDiv").style.display='block';
		obj=obj.getElementsByTagName("div").item(0);
		var curtop = curleft  = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		
		document.getElementById("fadeDiv").style.left=curleft+'px';
		document.getElementById("fadeDiv").style.top=curtop+'px';
		
		fade_in("fadeDiv",0,0.7);
	}
	function selstatecity()
	{
		if(document.frmReg.country.value!="India")
		{
			document.getElementById("indiastatesdiv").style.display="none";
			document.getElementById("indiacitydiv").style.display="none";
			document.getElementById("otherstatesdiv").style.display="block";
			document.getElementById("othercitydiv").style.display="block";
		}
		else
		{
			document.getElementById("indiastatesdiv").style.display="block";
			document.getElementById("indiacitydiv").style.display="block";
			document.getElementById("otherstatesdiv").style.display="none";
			document.getElementById("othercitydiv").style.display="none";
		}
	}