(function()
{
  	LOGIN = ({
	
	settings:{formid:null},
	
	processLoginIndex: function()
	{
		if(LOGIN.validate())
		{		
			jQuery.ajax({
				
				type:	LOGIN.settings.formid.attr("method"),
				url:	LOGIN.settings.formid.attr("action"),
				data:	LOGIN.settings.formid.serialize(),
				dataType:'json',
				success: function(rs)
				{
					if(rs.error=="false")
					{
						LOGIN.settings.formid.attr({action:rs.redirect});
						LOGIN.settings.formid.submit();
					}
					else
					{
						GSM_LOADER.hideWithMsg(rs.message);
					}
				},
				error: function(rs)
				{
					alert(rs);	
				}
				
			});			
		}
	},
	
	processLogin: function()
	{
		if(LOGIN.validate())
		{		
			jQuery.ajax({
				
				type:	LOGIN.settings.formid.attr("method"),
				url:	LOGIN.settings.formid.attr("action"),
				data:	LOGIN.settings.formid.serialize(),
				dataType:'json',
				success: function(rs)
				{
					if(rs.error=="false")
					{
						location.href = rs.redirect;
						
					}
					else
					{
						GSM_LOADER.hideWithMsg(rs.message);
					}
				},
				error: function(rs)
				{
					alert(rs);	
				}
				
			});			
		}
	},
    
    validateLogin: function()
    {
        GSM_LOADER.show("Please wait...");
        
        LOGIN.settings.formid = jQuery("#login_frm");
        
        var errors = new Array();
        
        if(jQuery.trim(jQuery("#email_address", LOGIN.settings.formid).val())=='' || jQuery.trim(jQuery("#email_address", LOGIN.settings.formid).val())=='Email Address')
        {
            errors.push("- Email Address");
        }
        
        if(jQuery.trim(jQuery("#password", LOGIN.settings.formid).val())=='' || jQuery.trim(jQuery("#password", LOGIN.settings.formid).val())=='Password')
        {
            errors.push("- Password");
        }
        
        if(errors.length)
        {
            var str = "Following fields have invalid values.<br><br>";
            str +=  errors.join("<br>");
            GSM_LOADER.hideWithMsg(str);            
            return false;
        }
        else
        {
            LOGIN.settings.formid.submit();
        }
    },
	
	validate: function()
	{
		GSM_LOADER.show("Please wait...");
		
		LOGIN.settings.formid = jQuery("#login_frm");
		
		var errors = new Array();
		
		if(jQuery.trim(jQuery("#email_address", LOGIN.settings.formid).val())=='' || jQuery.trim(jQuery("#email_address", LOGIN.settings.formid).val())=='Email Address')
		{
			errors.push("- Email Address");
		}
		
		if(jQuery.trim(jQuery("#password", LOGIN.settings.formid).val())=='' || jQuery.trim(jQuery("#password", LOGIN.settings.formid).val())=='Password')
		{
			errors.push("- Password");
		}
		
		if(errors.length)
		{
			var str = "Following fields have invalid values.<br><br>";
			str +=  errors.join("<br>");
			GSM_LOADER.hideWithMsg(str);			
			return false;
		}
		else
		{
			return true;
		}
	}
	
	});
  
})(jQuery);
