﻿var OLogin=new Object();
OLogin.init=function()
{
    OLogin.initField("f_Username");
    OLogin.initField("f_Password");
    $("#l_Login").click(
        function()
        {
            OLogin.doLogin();
            return false;
        }
    );
    
    $("#l_Fpwd").click(
        function()
        {
            OLogin.showFpwdForm();
            return false;
        }
    );
}
OLogin.initField=function(id,initvalue)
{
    var jq=$("#"+id);
    if(jq.length==0)return;
    if(!initvalue)
    {
        initvalue=jq.attr("value");
    }
    /*
    jq.bind("focus",
        function()
        {
            this.value=$.trim(this.value);
            if(this.value==initvalue)this.value="";
        }
    ).bind("blur",
        function()
        {
            this.value=$.trim(this.value);
            if(this.value=="")this.value=initvalue;
        }
    );*/
    jq.bind("keypress",
        function(e)
        {
            if(e.which==13)
            {
                OLogin.doLogin();
                return false;
            }
        }
    );
}
OLogin.doLogin=function()
{
    $(".ferror").remove();
    var jqu=$("#f_Username");
    var jqp=$("#f_Password");
    var username=$.trim(jqu.attr("value"));
    var pwd=jqp.attr("value");
    var hasError=false;
    if(!username)
    {
        blinkField(jqu,"Please enter Username");
        hasError=true;
    }
    if(!pwd)
    {
        blinkField(jqp,"Please enter Password");
        hasError=true;
    }
    if(hasError)
    {
        $("#f_Password").val("");
        $("#f_Username").val("");
        return;
    }
    $("#l_Login").html("<i>Logging in...</i>");
    
    adInput(false,".topContainerLogin :input");
    $.post('/ajax.aspx', 
    {'ajaxcmd':'Login','uname': username,"pwd":pwd}, 
    function(json) {
       OLogin.handleLogin(json);
    });    
}

OLogin.handleLogin=function(json)
{
     json="var result="+json;
     eval(json);
     switch(result["Code"])
     {
        case 0:
            var r=$Get("return");
            if(r)
                location.href=r;
            else refreshPage();
            break;
        case 1:
            $("#f_Password").val("");
            $("#f_Username").val("");
            adInput(true,".topContainerLogin :input");
            $("#l_Login").html("Login");
            ModalPopup.poptxt("Username and password do not match");
            break;
     }
}

OLogin.fpwdForm=null;
OLogin.showFpwdForm=function()
{
    if(!OLogin.fpwdForm)
    {
        var obj={
                "title":"Lost or forgotten password",
                "body":$("#fpwdpc").get(0),
                "btnmax":false,
                "winwidth":"300px",
                "bodyheight":"120px"
        };
        OLogin.fpwdForm=new fWindow(obj);
        
        $("input[name='fp_cancel']").click(
            function()
            {
                OLogin.fpwdForm.closeWin();
                return false;
            }
        );
        
        $("input[name='fp_submit']").click(
            function()
            {
                OLogin.sendPwd();
                return false;
            }
        );
    }
    OLogin.fpwdForm.openWin();
}

OLogin.sendPwd=function()
{
    var username=$.trim($("input[name='fg_username']").val());
    if(!username)
    {
        alert("Please enter your Email address");
        blinkField($("input[name='fg_username']"));
        return;
    }
    adInput(false);
    $.post('/ajax.aspx', 
    {'ajaxcmd':'SendPwd','uname': username}, 
    function(json) {
       adInput(true);
       OLogin.handleSPwd(json);
    });    
}

OLogin.handleSPwd=function(json)
{
     $("input[name='fg_username']").val("");
     json="var result="+json;
     eval(json);
     switch(result["Code"])
     {
        case 0:
            OLogin.fpwdForm.closeWin();
            alert("Thank you – Your request has been submitted");
            break;
        case 1:
            alert("Unable to send password, the email address does not exists");
            break;
     }
}
