// JavaScript Document

function hideshow(el,act) {
	if(act) $('#'+el).css('visibility','visible');
	else $('#'+el).css('visibility','hidden');
}


function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function letternumber(e) {
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	
	// control keys
	if ((key==null) || (key==0) || (key==8) || 
		(key==9) || (key==13) || (key==27) )
	   return true;
	
	// alphas and numbers
	else if ((("abcdefghijklmnopqrstuvwxyz0123456789_-").indexOf(keychar) > -1))
	   return true;
	else {
		if (((" ").indexOf(keychar) > -1)) {
			return false;
		}
		else {
			msg= 'Use letters and numbers only';
			
			$('#useridDiv').show();
			$('#useridDiv').css({'color' :'#C00'});
			$('#useridDiv').html('<span style="width: 250px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
			$('#useridDiv').fadeOut(1000);
			
			//setTimeout($('#useridDiv').html($('#temp').val()),3000);
			return false;
		}
	}
}


function letternumberspace(e) {
	
	var key;
	var keychar;
	
	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;
	
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	
	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
		return true;
	
	// alphas and numbers
	else if ((("abcdefghijklmnopqrstuvwxyz0123456789 ").indexOf(keychar) > -1)) {
		$('#full_nameDiv').hide();
		return true;
	}else {
		msg= 'Use letters and numbers only';
		$('#full_nameDiv').show();
		$('#full_nameDiv').css({'color' :'#C00'});
		$('#full_nameDiv').html('<span style="width: 250px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
		return false;
	}
}

function special_space(data)  {
	  
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?~_"; 
	for (var i = 0; i < data.length; i++) {
		if (iChars.indexOf(data.charAt(i)) != -1) {
			return false;
		}
	}
	return true;
}

function special(data)  {
	  
   var iChars = "!@#$%^&*()+=[]\\\';,./{}|\":<>?~"; 
   for (var i = 0; i < data.length; i++) {
  	if (iChars.indexOf(data.charAt(i)) != -1) {
  	  
  	return false;
  	}
  }
  return true;
}


function somoid_check(sid)
	{	
		 var Oktag ='<span style="width: 240px; display:block; float:left; color:#FFF; font-weight:bold; ">OK!</span>';
			var url ="servervalidate.php?userid="+sid;
			var status ;
			parametri="&rand_no="+Math.random()*1000000; 							  
			$.ajax({
			type: "GET",
			url: url,
			data: parametri,
			dataType: "html",
			success: function(msg){	
				if(trim(msg))
					{
					 msg= 'Sorry,  that User ID has been already taken, try again'	;
					$('#status').val(0);
					$('#useridDiv').show();
					$('#useridDiv').css({'color' :'#C00'});
					$('#useridDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
					 
					}
					else
					{
						$('#status').val(1);
						$('#useridDiv').show(); 
						$('#useridDiv').css({'color' :'#C00'});
						$('#useridDiv').html(Oktag);  
					 
					}
			}
			});
			 return status ;
  }	
	function email_check(email)
	{
		
	var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
		var returnval=emailfilter.test(email); 						   
		 if(returnval==false)
		{
			$('#status').val(0);
		    var msg= "Not a valid address";
			$('#emailDiv').show(); 
			$('#emailDiv').css({'color' : '#C00'});
			$('#emailDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span>' ); 	
	}
	else
	{
	 var Oktag ='<span style="width: 250px; display:block; float:left; font-weight:bold;">OK!</span>';
	 var url ="servervalidate.php?email="+email;
	  var status;
		   parametri="&rand_no="+Math.random()*1000000; 
		   $.ajax({
				type: "GET",
				url: url,
				data: parametri,
				dataType: "html",
				success: function(msg){
					
					
					if(trim(msg))
					{
					$('#status').val(0);
					$('#emailDiv').show();
					$('#emailDiv').css({'color' : '#C00'});
					$('#emailDiv').html('<span style=" display:block; float:left; font-weight:bold;">the email is already in use.&nbsp; </span> <span class="urlb"><a href="index.php" >Log in </a></span>' );  
					 
					}
					else
					{
						$('#status').val(1);
						$('#emailDiv').show(); 
						$('#emailDiv').css({'color' : '#FFF'});
						$('#emailDiv').html(Oktag);  
					 
					
					}
					
				}
			});
		}
		
   }

function check_password_safety(pwd){

var msg = "";
var points = pwd.length;


var has_letter		= new RegExp("[a-z]");
var has_caps		= new RegExp("[A-Z]");
var has_numbers		= new RegExp("[0-9]");
var has_symbols		= new RegExp("\\W");

if(has_letter.test(pwd)) 	{ points += 4; }
if(has_caps.test(pwd)) 		{ points += 4; }
if(has_numbers.test(pwd)) 	{ points += 4; }
if(has_symbols.test(pwd)) 	{ points += 4; }


if( points >= 24 ) {
	msg = '  <div id="passwordDiv2" >&nbsp;&nbsp;Very strong</div><div id="passwordDiv3" style="background-color: #0F3;);"  ><!--- --></div> <div id="passwordDiv3" style="background-color: #0F3;);"  ><!--- --></div> <div id="passwordDiv3" style="background-color: #0F3;);"  ><!--- --></div> <div id="passwordDiv3" style="background-color: #0F3;);"  ><!--- --></div>';
} else if( points >= 16 ) {
	msg = '<div id="passwordDiv2" >&nbsp;&nbsp;Good</div><div id="passwordDiv3" style="background-color: #FF3;);"  ><!--- --></div> <div id="passwordDiv3" style="background-color: #FF3;);"  ><!--- --></div> <div id="passwordDiv3" style="background-color: #FF3;);"  ><!--- --></div> <div id="passwordDiv3"   ><!--- --></div>';
} else if( points >= 12 ) {
	msg = '<div id="passwordDiv2" >&nbsp;&nbsp;Getting there</div> <div id="passwordDiv3" style="background-color: #F90;);"  ><!--- --></div> <div id="passwordDiv3" style="background-color: #F90;);"  ><!--- --></div><div id="passwordDiv3"   ><!--- --></div><div id="passwordDiv3"   ><!--- --></div> ';
} else {
	msg = '<div id="passwordDiv2" >&nbsp;&nbsp;Weak</div>    <div id="passwordDiv3" style="background-color: #F00;);"  ><!--- --></div> <div id="passwordDiv3"   ><!--- --></div><div id="passwordDiv3"   ><!--- --></div> <div id="passwordDiv3"   ><!--- --></div>';
}

$('#passwordDiv').html(msg);
}


function validform()
		{	
			          var  msg=''
			            var Oktag ='<span style="width: 250px; display:block; float:left; color:#FFF; font-weight:bold;">OK!</span>';
				       
						 if( $('#full_name').val() ==""){
					    var msg= "Enter your name";
						$('#full_nameDiv').show();
						$('#full_nameDiv').css({'color' :'#C00'});
						$('#full_nameDiv').html('<span style="width: 250px; display:block; float:left; font-weight:bold; ">'+ msg +'</span> ' );  
						}	
						else
						{
						  
							if(special_space($('#full_name').val()))
							{  
							
							$('#full_nameDiv').show();	
							$('#full_nameDiv').css({'color' :'#FFF'});
							$('#full_nameDiv').html(Oktag ); 
					
							}
							else
							{
								 var msg= "Use letters and numbers only";
							$('#full_nameDiv').show();
							$('#full_nameDiv').css({'color' :'#C00'});
							$('#full_nameDiv').html('<span style="width: 250px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
						
							}
						   
						}
						
						
						if( $('#userid').val() ==""){	
					    var msg= "Enter a userid (username)";
						$('#useridDiv').show();
						$('#useridDiv').css({'color' :'#C00'});
						$('#useridDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
						}	
						else
						{	
							if(special($('#userid').val()))	{
								somoid_check($('#userid').val());
							} else {
								  var msg= "Use letters and numbers only";
								$('#useridDiv').show();
								$('#useridDiv').css({'color' :'#C00'});
								$('#useridDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
						
							}
						}
						if( $('#email').val() ==""){
					    var msg= "Enter your email address";
						$('#emailDiv').show();
						$('#emailDiv').css({'color' :'#C00'});
						$('#emailDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
						}	
						else
						{
							
						email_check($('#email').val());
						
						}
						if( $('#password').val() ==""){
					    var msg= "Enter a password";
						$('#passwordDiv').show();
						$('#passwordDiv').css({'color' :'#C00'});
						$('#passwordDiv').html('  <span style="width: 240px; display:block; float:left;  padding-top:2px; font-weight:bold;  ">'+ msg +'</span> ' );  
						
						
						}	
						else if( $('#password').val().length < 6){
											
					    var msg= "6 characters or more";
						$('#passwordDiv').show();
						$('#passwordDiv').css({'color' :'#C00'});
						$('#passwordDiv').html('  <span style="width: 240px; display:block; float:left;  padding-top:2px; font-weight:bold;  ">'+ msg +'</span> ' );  
							
						}
						if( $('#verify_password').val() ==""){
					    var msg= "Enter your password again";
						$('#verify_passwordDiv').show();
						$('#verify_passwordDiv').css({'color' :'#C00'});
						$('#verify_passwordDiv').html(' <span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
						}
						else
						if( trim($('#verify_password').val()) != trim($('#password').val())){
					    var msg= "Oops, the passwords don't match";
						
						$('#verify_passwordDiv').show();
						$('#verify_passwordDiv').css({'color' :'#C00'});
						$('#verify_passwordDiv').html('<span style="width: 250px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
						}
						
						
						if( $('#siteadd').val() ==""){
							var msg= "Enter a site address for your website";
							$('#siteaddDiv').show();
							$('#siteaddDiv').css({'color' :'#C00'});
							$('#siteaddDiv').html('  <span style="width: 240px; display:block; float:left;  padding-top:2px; font-weight:bold;  ">'+ msg +'</span> ' );  
						}
						
						if( $('#sitetitle').val() ==""){
					    var msg= "Enter a site title for your website";
						$('#sitetitleDiv').show();
						$('#sitetitleDiv').css({'color' :'#C00'});
						$('#sitetitleDiv').html('  <span style="width: 240px; display:block; float:left;  padding-top:2px; font-weight:bold;  ">'+ msg +'</span> ' );  
						}else {
							 
							$('#status').val(1);
							$('#sitetitleDiv').show();	
							$('#sitetitleDiv').css({'color' :'#C00'});
							$('#sitetitleDiv').html(Oktag ); 
					
								
						}
												
						var status=$('#status').val();
											
						if(msg=='' && status==1 )
						{
							 //return true;	
							 document.regFrom.submit(); 
							
						}
						else
						{
							return false;
						}
}
	
		
$(document).ready(function () {
					
			$("#regFrom").bind("keypress", function(e) {
													
				  if (e.keyCode == 13) {    validform(); return false;};
				 
				});
			
			/* Delay Js*/
			  $.fn.delay = function( time, name ) {

				return this.queue( ( name || "fx" ), function() {
					var self = this;
					setTimeout(function() { $.dequeue(self); } , time );
				} );
			
			};
						
			$('#password').bind('keyup', function(e) {
												  
												if($(this).val() !="")
												{				 
													$('#passwordDiv').show('blind');		 
													check_password_safety($(this).val());
												  }
																				
			});
			
	$('#full_name').bind('focus',function(e){
		if($(this).val() =="")
			{	
				$('#full_nameDiv').show();
				$('#full_nameDiv').css({'background-color' : '#7FB3DF'});
				$('#full_nameDiv').css({'color' :'#FFF'});
				$('#full_nameDiv').html(' <span style="width: 240px; display:block; float:left; font-weight:bold;background:#7FB3DF; padding: 10px; "> You can enter your full name, first name, or just an alias. Whatever you would prefer others to see on your site owner profile.</span> ' );  
			}
	});	
	$('#email').bind('focus',function(e){	
			
			if($(this).val() =="")
			{				
			$('#emailDiv').show(); 
			$('#emailDiv').css({'background-color' : '#7FB3DF'});
			$('#emailDiv').css({'color' :'#FFF'});
			 $('#emailDiv').html('<span style="width: 250px; display:block; float:left; font-weight:bold; background:#7FB3DF; padding: 10px;">Your email address. Don\'t worry, we don\'t spam.</span> ' ); 
			}
			
	});
	
  $('#userid').bind('focus',function(e){
		if($(this).val() =="")
			{							 
		
			$('#useridDiv').show();
			$('#useridDiv').css({'background-color' : '#7FB3DF'});
			$('#useridDiv').css({'color' :'#FFF'});
			$('#useridDiv').html('<span style="width: 240px; display:block; float:left;  font-weight:bold; background:#7FB3DF; padding: 10px;">Pick a unique name on GoSite Builder. It will serve as your login.</span> '); 
		
			}
		
	});	
  
  $('#password').bind('focus',function(e){
									   
			if($(this).val() =="")
			{
				
			$('#passwordDiv').show(); 
			$('#passwordDiv').css({'background-color' : '#7FB3DF'});
			$('#passwordDiv').css({'color' :'#FFF'});
			$('#passwordDiv').html('<span style="width: 240px;  display:block; float:left; padding-top:2px; font-weight:bold;background:#7FB3DF; padding: 10px; ">Please enter a password</span> '  );  
			}
    });
     $('#verify_password').bind('focus',function(e){
		  
			if($(this).val() =="")
			{
			$('#verify_passwordDiv').show();
			$('#verify_passwordDiv').css({'background-color' : '#7FB3DF' });
			$('#verify_passwordDiv').css({'color' :'#FFF'});
			$('#verify_passwordDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;background:#7FB3DF; padding: 10px;">Type your password again</span> '  );  
			}
	});	
			
	$('#siteadd').bind('focus',function(e){
		if($(this).val() =="")
			{	
				$('#siteaddDiv').show();
				$('#siteaddDiv').css({'background-color' : '#7FB3DF'});
				$('#siteaddDiv').css({'color' :'#FFF'});
				$('#siteaddDiv').html(' <span style="width: 240px; display:block; float:left; font-weight:bold;background:#7FB3DF; padding: 10px; "> Choose a site address for your website. After creating your site, you can also register a custom domain name such as www.yourname.com.</span> ' );  
			}else{
				$('#siteaddDiv').show();	
				$('#siteaddDiv').css({'color' :'#FFF'});
				$('#siteaddDiv').html(Oktag); 
			}
	});	
	
	$('#siteadd').bind('blur',function(e){
		if($(this).val() !="") {
			
				$('#siteaddDiv').show();	
				$('#siteaddDiv').css({'color' :'#FFF'});
				$('#siteaddDiv').html(Oktag); 
			}
	});	
	
	$('#sitetitle').bind('focus',function(e){
		if($(this).val() =="")
			{	
				$('#sitetitleDiv').show();
				$('#sitetitleDiv').css({'background-color' : '#7FB3DF'});
				$('#sitetitleDiv').css({'color' :'#FFF'});
				$('#sitetitleDiv').html(' <span style="width: 240px; display:block; float:left; font-weight:bold;background:#7FB3DF; padding: 10px; "> Title your website so people know what it\'s about. This title will appear at the top of your site and can be changed at any time.</span> ' );  
			}
	});	
	
	$('#sitetitle').bind('blur',function(e){
		if($(this).val() !="") {
			
				$('#sitetitleDiv').show();	
				$('#sitetitleDiv').css({'color' :'#FFF'});
				$('#sitetitleDiv').html(Oktag); 
			}
	});	
		
	
			 
 var Oktag ='<span style="width: 240px; display:block; float:left; color:#FFF; font-weight:bold;background:#7FB3DF; padding: 10px;">OK!</span>';					
	  $('#full_name').bind('blur',function(e){
		$('#full_nameDiv').hide();								   
		if( trim($(this).val()) ==""){
			$('#full_nameDiv').hide();
			}	
		else
		{
			
			$('#full_nameDiv').show();	
			$('#full_nameDiv').css({'color' :'#FFF'});
			$('#full_nameDiv').html(Oktag ); 
		}
	});	
							
	 
	 $('#userid').bind('blur',function(e){
		if( $(this).val() ==""){
				$('#useridDiv').hide();
		}
		});	
	 
	  $('#siteadd').bind('blur',function(e){
		if( $(this).val() ==""){
				$('#siteaddDiv').hide();
		}
		});	
	  $('#sitetitle').bind('blur',function(e){
		if( $(this).val() ==""){
				$('#sitetitleDiv').hide();
		}
		});	
	 
	  $('#userid').bind('keyup',function(e){
						
		if( trim($(this).val()) ==""){
			
			$('#useridDiv').css({'color' :'#FFF'});
			$('#useridDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">Enter a nickname (username) without any spaces.</span> '); 
				
			
		}else
		{
			
			
			if($('#sDiv').html().length <16)
			{
			
			var url ="servervalidate.php?userid="+$(this).val();
			
			parametri="&rand_no="+Math.random()*1000000; 							  
			
			if (this.value != this.lastValue) {
      if (this.timer) clearTimeout(this.timer);
	    $('#useridDiv').show();
		$('#useridDiv').css({'color' :'#FFF'});
      $('#useridDiv').html('<span style="width: 30px; display:block; float:left;"> <img src="images/ajax-loader_small.gif" alt="working.." width="20" height="20" id="loading"  /></span><span style="width: 200px; display:block; float:left; font-weight:bold;">   Checking availability...  </span>');
	
	   this.timer = setTimeout(function () {
			
			$.ajax({
			type: "GET",
			url: url,
			data: parametri,
			dataType: "html",
			success: function(msg){
				if(trim(msg))
					{
					 msg= 'Sorry,  that userid is taken, try again'	;
					$('#status').val(0);
					$('#useridDiv').show();
					$('#useridDiv').css({'color' :'#C00'});
					$('#useridDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
					}
					else
					{
						$('#status').val(1);
						$('#useridDiv').show(); 
						$('#useridDiv').css({'color' :'#FFF'});
						$('#useridDiv').html(Oktag);  
					}
				
					 $('#temp').val($('#useridDiv').html());
			}
			}); },500);
	  
	  
			this.lastValue = this.value;
			}
			
			
		
		}
		
		
     }
		var soid =$(this).val();	
						$('#sDiv').html(soid);	
						if($('#sDiv').html().length==15)
						{
			
							
							
						}	 
						
		
	});		
   
  $('#email').bind('blur',function(e){	
	    if( $(this).val() ==""){
				$('#emailDiv').hide();
		}							   
		var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
		var returnval=emailfilter.test($(this).val()); 						   
		if( $(this).val() ==""){
			$('#emailDiv').hide(); 
			
			 
		}else if(returnval==false)
		{
			$('#status').val(0);
		    var msg= "Not a valid address";
			$('#emailDiv').show(); 
			$('#emailDiv').css({'color' : '#C00'});
			$('#emailDiv').html(' <span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span>' ); 	
		}
		else
		{						   
		   var url ="servervalidate.php?email="+$(this).val(); 
		   parametri="&rand_no="+Math.random()*1000000; 
		   
		   $.ajax({
				type: "GET",
				url: url,
				data: parametri,
				dataType: "html",
				success: function(msg){
					
					if(trim(msg))
					{
					$('#status').val(0);
					$('#emailDiv').show();
					$('#emailDiv').css({'color' : '#C00'});
					$('#emailDiv').html('<span style=" display:block; float:left; font-weight:bold;">That address is in use.&nbsp; </span>' );  
					}
					else
					{
						$('#status').val(1);
						$('#emailDiv').show(); 
						$('#emailDiv').css({'color' : '#FFF'});
						$('#emailDiv').html(Oktag);  
					}
					
				}
			});
		 
		}
  });
   
    $('#password').bind('blur',function(e){
		if( $(this).val() ==""){
				$('#passwordDiv').hide();
		}
	});	
  $('#password').bind('keyup',function(e){
			   $('#passwordDiv').show(); 
			   if( $(this).val() ==""){
				   $('#passwordDiv').css({'color' : '#FFF'});
				   $('#passwordDiv').html('<span style="width: 240px;  display:block; float:left; padding-top:2px; font-weight:bold;">Please enter a password</span> '  );  
			}	
		else
		{
			
		 	if( $('#password').val().length < 6){
											
					    var msg= "6 characters or more";
						$('#passwordDiv').show();
						$('#passwordDiv').css({'color' :'#FFF'});
						$('#passwordDiv').html('  <span style="width: 240px; display:block; float:left;  padding-top:2px; font-weight:bold;  ">'+ msg +'</span> ' );  
							
						}
						else
						{
							$('#passwordDiv').css({'color' :'#FFF'});
							check_password_safety($(this).val());
						}
		}
									  
    });
  
 
   
     $('#verify_password').bind('blur',function(e){
		  if( $(this).val() ==""){
			  $('#verify_passwordDiv').css({'color' : '#FFF'});
			  $('#verify_passwordDiv').html('<span style="width: 240px; display:block; float:left; font-weight:bold;">Type your password again</span> '  );  
			 $('#verify_passwordDiv').hide();
			}	
		else
		{
			 var opassword=trim($('#verify_password').val());
					var npassword =trim($('#password').val());
				
			             if( opassword != npassword ){
					    var msg= "Oops, the passwords don't match";
						$('#status').val(0);
						$('#verify_passwordDiv').show();
						$('#verify_passwordDiv').css({'color' : '#C00'});
						$('#verify_passwordDiv').html(' <span style="width: 240px; display:block; float:left; font-weight:bold;">'+ msg +'</span> ' );  
						}
						else
						{	
						$('#status').val(1);
						$('#verify_passwordDiv').show(); 
						$('#verify_passwordDiv').css({'color' : '#FFF'});
						$('#verify_passwordDiv').html(Oktag);  
												
						}
			
		}
									  
    });
  
    
  
});


