﻿// JScript File

function ClientRecPwd(Control , FooterControl , user , email , url , emptymsg , msgControl , btndisable , challenge , encValue , LoginControl , LoginFooterControl)
{   
    this.Control = Control;
    this.FooterControl = FooterControl;
    this.user = user;
    this.email = email;
    this.emptymsg = emptymsg;
    this.url = url;
    this.msgControl = msgControl;
    this.btndisable = btndisable;
    this.ResponseBack = new YAHOO.util.CustomEvent("ClientRecPwdResponseBack", this); 
    this.challenge = challenge;
    this.encValue = encValue;
    this.LoginControl = LoginControl;
    this.LoginFooterControl = LoginFooterControl;
}

ClientRecPwd.prototype.SetMessage = function (id) 
{
    var MyMessageProps = new AJAXMessageProps();
    var MyAJAXMessage = new AJAXMessage(id, MyMessageProps.ImgWait ,MyMessageProps.ImgOk, MyMessageProps.ImgNok, MyMessageProps.CSSImgWait, MyMessageProps.CSSImgOk, MyMessageProps.CSSImgNok, MyMessageProps.AJAXMessagePosImg, MyMessageProps.AJAXMessagePosMsg, MyMessageProps.Message, MyMessageProps.MessageOk ,MyMessageProps.MessageNOk , "False" , this, false);
    MyAJAXMessage.AJAXMessageinitOut();
    return MyAJAXMessage;
};

clearMsg = function (elem, value)
{
    var MyAJAXmsg  = document.getElementById(elem);
    MyAJAXmsg.parentNode.removeChild(MyAJAXmsg);
};

ClientRecPwd.prototype.ValidateClientRecPwd = function ()
{   
    if ((document.getElementById(this.user).value == "") || (document.getElementById(this.email).value == "" ))
    {
        return false;
    }
    else
    {
        return true;
    }       
};

ClientRecPwd.prototype.ShowErrorMsg = function ()
{   
    Disable(this.btndisable);
    MyAJAXMessage = this.SetMessage('AJAXMessage' + this.Control);
    this.AJAXMessage = 'AJAXMessage' + this.Control;
    if (! (document.getElementById(this.msgControl).innerHTML == ""))
    {
        var element = document.getElementById(this.msgControl);
        while (element.firstChild) 
        {
            element.removeChild(element.firstChild);
        }
    }
    document.getElementById(this.msgControl).appendChild(document.getElementById('AJAXMessage' + this.Control));   
    MyAJAXMessage.InitEvents(this);
    this.ResponseBack.fire(this.emptymsg , MyAJAXMessage.ImgNok);  
    FadeMessage(this.AJAXMessage, "True", 5);
    FadeEnable(this.btndisable, 6)
}

ClientRecPwd.prototype.ShowWaitMessage = function () 
{
    if (! (document.getElementById(this.msgControl).innerHTML == ""))
    {
        var element = document.getElementById(this.msgControl);
        while (element.firstChild) 
        {
            element.removeChild(element.firstChild);
        }
    }
    Disable(this.btndisable);
    MyAJAXMessage = this.SetMessage('AJAXMessage' + this.Control);
    this.AJAXMessage = 'AJAXMessage' + this.Control;
    document.getElementById(this.msgControl).appendChild(document.getElementById('AJAXMessage' + this.Control));   
    MyAJAXMessage.InitEvents(this);
};

ClientRecPwd.prototype.ValidateRecPwd = function (challenge, encvalue) 
{
    var GetParams = '';
    GetParams = this.encValue + "=" + encvalue + "&";
    GetParams += this.challenge+ "=" + challenge;
    var outer = this;
    this.returnedCallback = 
     {
        success: function(o) 
        {
            outer.completeRecPwd(o);
        },
        failure: function(o) 
        {
            outer.ShowCallBackErrorRecPwd(o);
        }
    }
    //YAHOO.util.Connect.setDefaultPostHeader(false);
    //YAHOO.util.Connect.initHeader("Content-Type", "text/xml; charset=utf-8"); 
    this.getXML = YAHOO.util.Connect.asyncRequest("GET",this.url + "?" + GetParams,this.returnedCallback); 
}

ClientRecPwd.prototype.completeRecPwd = function (response) {
    var x = response.responseXML.getElementsByTagName("ajax-response")
    var success = false;
    var error = -1;
    message = '';
    for (var i = 0; i < x.length; i++)
        {
            successcol = x[i].getElementsByTagName("Success")
            errorcol = x[i].getElementsByTagName("Error")
            messagecol = x[i].getElementsByTagName("Message")
            try
                {
                    var textValue; 
	                var optionItem;
	                //Add new states list to the state combo box.
	                for (var count = 0; count < successcol.length; count++)
	                    {
   		                    success = GetInnerText(successcol[count]);
                        } 
	                for (var count = 0; count < errorcol.length; count++)
	                    {
   		                    error = GetInnerText(errorcol[count]);
                        } 
	                for (var count = 0; count < messagecol.length; count++)
	                    {
   		                    message = GetInnerText(messagecol[count]);
                        } 
                } 
            catch(er)
                {
                }
            }

    if (success == "True1")
    {
        this.ResponseBack.fire(message,MyAJAXMessage.ImgOk);  
        FadeMessage(this.AJAXMessage, "True", 5);
        FadeEnable(this.btndisable, 6)
    }
    else {
        this.ResponseBack.fire(message, MyAJAXMessage.ImgNOk);
        FadeMessage(this.AJAXMessage, "True", 5);
        FadeEnable(this.btndisable, 6)
    }   
};

ClientRecPwd.prototype.ShowCallBackErrorRecPwd = function (response) 
{
    this.ResponseBack.fire(MyAJAXMessage.MessageNOk + ': ' + t.status + ' , ' + t.statusText , MyAJAXMessage.CSSImgNok);          
    FadeMessage(this.AJAXMessage, "True", 5);
    FadeEnable(this.btndisable, 6)
};

