function setupLoginAjaxForm(form_id, form_validations){
	
	
	var form = '#' + form_id;
	var form_message = '#login-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(!ValidateLogin()){
				return false;	
			}
			if(typeof form_validations == "function" && !form_validations()) {
				// this will prevent the form from being subitted
				return false;
			}
			disableSubmit(true);
		},
		success: function(json){
			$(form_message).hide();
			$(form_message).removeClass().addClass(json.type).html(json.message).fadeIn('slow');
			disableSubmit(false);
			if(json.type == 'success')
				window.location.href=base_url;   
		}
	};
	$(form).ajaxForm(options);
}

$(document).ready(function() {  
    new setupLoginAjaxForm('login');
});

//==============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

function ChkUserName(strng){
var illegalChars = /\W/;
  // allow only letters, numbers, and underscores
    if (illegalChars.test(strng)) {
       return false;
    }
	else
	{
		return true;
	}
}

//============
function ValidateLogin(){
	var counter=0;
	var pass=$.trim($('#loginPass').val());
	
	if($.trim($('#loginName').val())=='')
	{
		$('#LoginNameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Email ID\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#LoginNameErr').show();
		counter++;
	}
	else if(!validateEmail($.trim($('#loginName').val()))){
		$('#LoginNameErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter Valid Email ID\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#LoginNameErr').show();
		counter++;
	}
	else{
		$('#LoginNameErr').hide();
	}	
	
	if($.trim($('#loginPass').val())=='')
	{
		$('#LoginPassErr').html("<img  class='form_info_icon' src='"+base_url+"images/warn.gif' onmouseover='showFloatDesc(\"Enter User Password\")'  onmousemove='moveFloatDesc( event )' onmouseout='hideFloatDesc()'> ");
		$('#LoginPassErr').show();
		counter++;
	}
	else if(pass.length<5)
	{
		$('#LoginPassErr').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()'> ");
		$('#LoginPassErr').show();
		counter++;
	}
	else{
		$('#LoginPassErr').hide();
	}
	
	
	if(counter>0){
		return false;	
	}else{		
		return true;	
	}
}
