function ValidateRegistration(){
	var counter=0;
	
	var pass=$.trim($('#user_password').val());
	var cpass=$.trim($('#user_cpassword').val());
	
	if($.trim($('#user_email').val())=='')
	{
		$('#emailErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Your Email Address\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#emailErr').show();
		counter++;
	}else if(!validateEmail($.trim($('#user_email').val()))){
		$('#emailErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Valid Email Address\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#emailErr').show();
		counter++;
	}else{
		$('#emailErr').hide();
	}
	
	if($.trim($('#user_password').val())=='')
	{
		$('#passwordErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Your Password\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#passwordErr').show();
		counter++;
	}else if(!validateSpecialChars($.trim($('#user_password').val()))){
	$('#passwordErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Special Characters are not allowed.\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#passwordErr').show();
		counter++;
	}else if(pass.length<5)
	{
		$('#passwordErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Password length must be atleast 5\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#passwordErr').show();
		counter++;
	}else{
		if($.trim($('#user_cpassword').val())==''){
			$('#cpasswordErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Your Confirm Password\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
			$('#cpasswordErr').show();
			counter++;
		}else if(pass != cpass){
			$('#cpasswordErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Your confirm password is not matched.\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
			$('#cpasswordErr').show();
			counter++;
		}else{
			$('#cpasswordErr').hide();
		}
		$('#passwordErr').hide();
	}
	
	if($.trim($('#display_name').val())=='')
	{
		$('#displaynameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Your Display Name\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#displaynameErr').show();
		counter++;
	}else if($.trim($('#display_name').val()).length<6 || $.trim($('#display_name').val()).length>25){
		$('#displaynameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"User name must be b/w 6-25 character?\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#displaynameErr').show();
		counter++;
	}else if(!validateDisplayName($.trim($('#display_name').val()))){
	$('#displaynameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"User name must must contain a-z, A-Z and 0-9?\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#displaynameErr').show();
		counter++;
	}else{
		$('#displaynameErr').hide();
	}
	
	if($.trim($('#first_name').val())=='')
	{
		$('#firstnameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Your First Name\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#firstnameErr').show();
		counter++;
	}else if(!validateSpecialChars($.trim($('#first_name').val()))){
	$('#firstnameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Special Characters are not allowed.\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#firstnameErr').show();
		counter++;
	}else{
		$('#firstnameErr').hide();
	}
	
	if($.trim($('#last_name').val())=='')
	{
		$('#lastnameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Your Last Name\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#lastnameErr').show();
		counter++;
	}else if(!validateSpecialChars($.trim($('#last_name').val()))){
	$('#lastnameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Special Characters are not allowed.\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#lastnameErr').show();
		counter++;
	}else{
		$('#lastnameErr').hide();
	}
	
	if($.trim($('#month').val())=='')
	{
		$('#monthErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Select Your Birth Month\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#monthErr').show();
		counter++;
	}else{
		$('#monthErr').hide();
	}
	
	if($.trim($('#day').val())=='')
	{
		$('#dayErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Select Your Birth Day\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#dayErr').show();
		counter++;
	}else{
		$('#dayErr').hide();
	}
	
	if($.trim($('#year').val())=='')
	{
		$('#yearErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Select Your Birth Year\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#yearErr').show();
		counter++;
	}else{
		$('#yearErr').hide();
	}
	
	if($.trim($('#country_id').val())=='')
	{
		$('#ctrErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Select Your Country\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#ctrErr').show();
		counter++;
	}else{
		$('#ctrErr').hide();
	}
	
	
	if($('#other').attr('checked') && $('#otherut').val() == ''){
		$('#othrErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Please enter other role\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#othrErr').show();
		$('#roleErr').hide();
		counter++;
	}else{
		$('#othrErr').hide();
	}
	
	if($('#other').attr('checked') == false){
		var selector_checked = $("input[@id=role]:checked").length; 
		if(selector_checked == 0){
		   $('#roleErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Select atleast one role\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
			$('#roleErr').show();
			counter++;
		}else{
			$('#roleErr').hide();
		}
	}
	
	if(counter>0){
		return false;	
	}else{
		return true;
	}
}
//==================================================
function ValidateForgotForm(){
	var counter=0;
	
	if($.trim($('#user_email').val())=='')
	{
		$('#emailErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Your Email Address\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#emailErr').show();
		counter++;
	}else if(!validateEmail($.trim($('#user_email').val()))){
		$('#emailErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Valid Email Address\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#emailErr').show();
		counter++;
	}else{
		$('#emailErr').hide();
	}
	
	
	if(counter>0){
		return false;	
	}else{
		return true;
	}
}
//==============
function setupAjaxFormRegistration(form_id, form_validations){
	var form = '#' + form_id;
	var form_message = 'server-message';
	// en/disable submit button
	var disableSubmit = function(val){
		$(form + ' input[type=image]').attr('disabled', val);
	};
	// setup loading message
	$(form).ajaxSend(function(){
		//$(form_message).removeClass().addClass('loading').html('Loading...').fadeIn();
	});
	// setup jQuery Plugin 'ajaxForm' 	
	var options = {
		dataType:  'json',
		beforeSubmit: function(){
			// run form validations if they exist
			if(!ValidateRegistration()){
				return false;	
			}
			if(typeof form_validations == "function" && !form_validations()) {
				// this will prevent the form from being subitted
				return false;
			}
			disableSubmit(true);
			
		},
		success: function(json){
			//$('#server-message').hide();
			//$('#server-message').removeClass().addClass(json.type).html(json.message).fadeIn('slow');
			$.blockUI({ 
			message: json.message,  
					  css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: 'RED', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: '.5', 
            color: '#fff' 
				} }); 
			setTimeout($.unblockUI, 7500); 
			disableSubmit(false);
			if(json.type == 'success')				
				$(form).clearForm();
		}
	};
	$(form).ajaxForm(options);
}
//==============
$(document).ready(function() {  
    new setupAjaxFormRegistration('register_user');
});
/////////////////////////////////////////////
function setupAjaxFormForgotPassword(form_id, form_validations){
	var form = '#' + form_id;
	var form_message = 'server-message';
	// en/disable submit button
	var disableSubmit = function(val){
		$(form + ' input[type=image]').attr('disabled', val);
	};
	// setup loading message
	$(form).ajaxSend(function(){
		//$(form_message).removeClass().addClass('loading').html('Loading...').fadeIn();
	});
	// setup jQuery Plugin 'ajaxForm' 	
	var options = {
		dataType:  'json',
		beforeSubmit: function(){
			// run form validations if they exist
			if(!ValidateForgotForm()){
				return false;	
			}
			if(typeof form_validations == "function" && !form_validations()) {
				// this will prevent the form from being subitted
				return false;
			}
			disableSubmit(true);
			
		},
		success: function(json){
			//$('#server-message').hide();
			//$('#server-message').removeClass().addClass(json.type).html(json.message).fadeIn('slow');
			$.blockUI({ 
			message: json.message,  
					  css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: 'RED', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: '.5', 
            color: '#fff' 
				} }); 
			setTimeout($.unblockUI, 5000); 
			disableSubmit(false);
			if(json.type == 'success')				
				$(form).clearForm();
		}
	};
	$(form).ajaxForm(options);
}
//==============
$(document).ready(function() {  
    new setupAjaxFormForgotPassword('forgot_password');
});
//==============Email Validation
function validateEmail(email){
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}//end function

/*Check for a special character'***/
function validateSpecialChars(strToSearch)
{
     var illegalChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";   

     for (var i = 0; i < strToSearch.length; i++){
  		if (illegalChars.indexOf(strToSearch.charAt(i)) != -1){  	   
		  	return false;
  		}
     }
	 
	 return true;
}

function validateDisplayName(strToSearch)
{
    var k = strToSearch.length;
		for ( var i=0; i<k; i++)
		{
			ch = strToSearch.charAt(i);
			val = strToSearch;
			if((ch < 'a' || ch > 'z') && (ch < 'A' || ch > 'Z') && ch!='0' & ch!='1' & ch!='2' & ch!='3' & ch!='4' & ch!='5' & ch!='6' & ch!='7' & ch!='8' & ch!='9')
			{
				//alert('User name must must contain a-z and 0-9?');
				return false;
			}
		}
	 
	 return true;
}
//////////////////////////////
function ShowHideOther(val){
	if(val.checked)
		$('#othertype').show();
	else
		$('#othertype').hide();
}
