//-------------------------------------- Show Forgot Password Page --------------------------------------------//
function ShowForgotPwd()
{
    //ShowForgotPwd1();
    top.location = '/PasswordReset.aspx';
}

function ShowForgotPwd1()
{
    //document.getElementById("Loading").innerHTML = "<center>LOADING...</center>";
    document.getElementById("Loading").innerHTML = GetStr(1000);
    
    //alert('Goto Forgot password page');
    var ajax = new AJAX( GetAbsoluteUrl("ForgotPwd1.aspx") );
    ajax.SetCallbackFun(_GetForgotPwd1Callback);
    
    // 发送请求
    ajax.Send(null);
}

function _GetForgotPwd1Callback(ajax)
{
    document.getElementById("Loading").innerHTML = "";
    
    // 获取DOM
    var objDOM = ajax.GetXmlDoc();
  
    document.getElementById("ForgotPwd1").innerHTML = objDOM.selectSingleNode("//xmlRoot/html").text;
    //ForgotPwdPageLoad();
    carousel(-1, null, $$('.myVideoPlayPanelOn .regWrapper .carouselBody')[0], 1, -969);
}
//-------------------------------------- Show Forgot Password Page --------------------------------------------//


//-------------------------------------- Forgot Password Flow 1--------------------------------------------//
function ValidateForgotPwd1Data(objemail)
{
    var result = true; 
    if (IsEmpty(objemail))
    {
        //document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Please enter a email.';
        document.getElementById('forgotpwdemailerrormsg').innerHTML = GetStr(1700);
        document.getElementById('forgotpwdemailerrormsg').style.display = "";
        result = false;
    }
    else
    {
        if (!ValidateEmail(objemail))
        {
            //document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Email is required and must contains @';
            //document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Must include @ and .';
            document.getElementById('forgotpwdemailerrormsg').innerHTML = GetStr(1701);
            document.getElementById('forgotpwdemailerrormsg').style.display = "";
            result = false;
        }
    }
    return result;
}
    
function DoForgotPwd1()
{
    document.getElementById('forgotpwdemailerrormsg').innerHTML = '';
    document.getElementById('forgotpwdemailerrormsg').style.display = 'none';

    var objemail = document.getElementById('txtforgotpwdemail');
  
    if (!ValidateForgotPwd1Data(objemail))
        return;

    //document.getElementById("Loading").innerHTML = "<center>LOADING...</center>";
    document.getElementById("Loading").innerHTML = GetStr(1000);
    document.getElementById("forgotpwdsubmit").href = "javascript:IsLoading();";
        
    // hook up a method that gets the response
    proxies.ProxyService.ForgotPwd1.func = ForgotPwd1Callback;
     
    // now call the server
    proxies.ProxyService.ForgotPwd1( Trim(objemail.value) );
    return;
}

function ForgotPwd1Callback(response)
{
    document.getElementById("Loading").innerHTML = "";
    document.getElementById("forgotpwdsubmit").href = "javascript:DoForgotPwd1();";
    
    var result = response;
    
    if (result == ResponseCode.UsernameError)
    {
        //alert('UsernameError');
        //document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Wrong email address';
        document.getElementById('forgotpwdemailerrormsg').innerHTML = GetStr(1702);
        document.getElementById('forgotpwdemailerrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.UnknownError)
    {
        //alert('UnknownError');
        alert(GetStr(1002));
        return;
    }
    if (result == ResponseCode.Succeed)
    {
        //alert('Succeed');
        ShowForgotPwd2();
        return;
    }    
}

function ShowForgotPwd2()
{
    //document.getElementById("Loading").innerHTML = "<center>LOADING...</center>";
    document.getElementById("Loading").innerHTML = GetStr(1000);
    
    //alert('Goto Forgot password page');
    var ajax = new AJAX( GetAbsoluteUrl("ForgotPwd2.aspx") );
    ajax.SetCallbackFun(_GetForgotPwd2Callback);
    
    // 发送请求
    ajax.Send(null);
}

function _GetForgotPwd2Callback(ajax)
{
    document.getElementById("Loading").innerHTML = "";
    
    // 获取DOM
    var objDOM = ajax.GetXmlDoc();
  
    document.getElementById("ForgotPwd2").innerHTML = objDOM.selectSingleNode("//xmlRoot/html").text;
    ForgotPwd2Load();
    carousel(-1, null, $$('.myVideoPlayPanelOn .regWrapper .carouselBody')[0], 1, -969);
}

function ForgotPwd2Load()
{
    InitializeTextbox( 'txtforgotpwdyear', InputType.NonnegativeInteger);
    InitializeTextbox( 'txtforgotpwdmonth', InputType.NonnegativeInteger);  
    InitializeTextbox( 'txtforgotpwddate', InputType.NonnegativeInteger);      
}
//-------------------------------------- Forgot Password Flow 1--------------------------------------------//

//-------------------------------------- Forgot Password Flow 2--------------------------------------------//
function ValidateForgotPwd2Data(objgender,objyear,objmonth,objday,objpostalcode1,objpostalcode2)
{
    var result = true; 
    var dateerror = false;

    if (IsEmpty(objyear) || IsEmpty(objmonth) || IsEmpty(objday))
    {
        //document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Please enter a birthday.';
        document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = GetStr(1703);
        document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
        result = false;
    }
    else
    {
        if (!ValidateDateYear(objyear))
        {
            //document.getElementById('forgotpwdyearerrormsg').innerHTML = 'Invalid Year';
            document.getElementById('forgotpwdyearerrormsg').innerHTML = GetStr(1704);
            document.getElementById('forgotpwdyearerrormsg').style.display = '';
            result = false;     
            dateerror = true;   
        }
        if (!ValidateDateMonth(objmonth))
        {
            //document.getElementById('forgotpwdmontherrormsg').innerHTML = 'Invalid Month';
            document.getElementById('forgotpwdmontherrormsg').innerHTML = GetStr(1705);
            document.getElementById('forgotpwdmontherrormsg').style.display = '';
            result = false;  
            dateerror = true;      
        }
        if (!ValidateDateDay(objyear,objmonth,objday))
        {
            //document.getElementById('forgotpwddayerrormsg').innerHTML = 'Invalid Day';
            document.getElementById('forgotpwddayerrormsg').innerHTML = GetStr(1706);
            document.getElementById('forgotpwddayerrormsg').style.display = '';
            result = false;  
            dateerror = true;      
        }
        if (!dateerror)
        {
            if (IsInFeature(objyear,objmonth,objday))
            {
                //document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Birthday is in feature.';
                document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = GetStr(1707);
                document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
                result = false;            
            }
        }

    }
    
    if (IsEmpty(objpostalcode1) || IsEmpty(objpostalcode2))
    {
        //document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = 'Please enter a postal code.';
        document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = GetStr(1708);
        document.getElementById('forgotpwdpostalcodeerrormsg').style.display = "";
        result = false;
    }
    else
    {
        if (!ValidatePostalCode(objpostalcode1,objpostalcode2))
        {
            //$('postalcodeerrormsg').innerHTML = 'Invalid PostalCode';
            //document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = 'Postal code follows pattern A9A 9A9';
            document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = GetStr(1709);
            document.getElementById('forgotpwdpostalcodeerrormsg').style.display = "";
            alert(GetStr(1709));
            result = false;
        }
    }
    return result;
}

function DoForgotPwd2()
{
    document.getElementById('forgotpwdyearerrormsg').innerHTML = '';
    document.getElementById('forgotpwdyearerrormsg').style.display = 'none';

    document.getElementById('forgotpwdmontherrormsg').innerHTML = '';
    document.getElementById('forgotpwdmontherrormsg').style.display = 'none';

    document.getElementById('forgotpwddayerrormsg').innerHTML = '';
    document.getElementById('forgotpwddayerrormsg').style.display = 'none';   
    
    document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = '';
    document.getElementById('forgotpwdbirthdayerrormsg').style.display = 'none';

    document.getElementById('forgotpwdgendererrormsg').innerHTML = '';
    document.getElementById('forgotpwdgendererrormsg').style.display = 'none';

    document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = '';
    document.getElementById('forgotpwdpostalcodeerrormsg').style.display = 'none';
    
    var objgender = document.getElementById('forgotpwdgender');
    var objmonth = document.getElementById('txtforgotpwdmonth');
    var objday = document.getElementById('txtforgotpwddate');
    var objyear = document.getElementById('txtforgotpwdyear');
    var objpostalcode1 = document.getElementById('txtforgotpwdpostalcode1');
    var objpostalcode2 = document.getElementById('txtforgotpwdpostalcode2');
  
    if (!ValidateForgotPwd2Data(objgender,objyear,objmonth,objday,objpostalcode1,objpostalcode2))
        return;

    var birthday = Trim(objyear.value) + '-' + Trim(objmonth.value) + '-' + Trim(objday.value);
    var postalcode = Trim(objpostalcode1.value) + ' ' + Trim(objpostalcode2.value);

    //document.getElementById("Loading").innerHTML = "<center>LOADING...</center>";
    document.getElementById("Loading").innerHTML = GetStr(1000);
    document.getElementById("forgotpwdsubmit").href = "javascript:IsLoading();";
        
    // hook up a method that gets the response
    proxies.ProxyService.ForgotPwd2.func = ForgotPwd2Callback;
     
    // now call the server
    proxies.ProxyService.ForgotPwd2( Trim(objgender.value), Trim(birthday), postalcode );
    return;
    
}

function ForgotPwd2Callback(response)
{
    document.getElementById("Loading").innerHTML = "";
    document.getElementById("forgotpwdsubmit").href = "javascript:DoForgotPwd();";
    
    var result = response;
    
    if (result == ResponseCode.UsernameError)
    {
        alert('Wrong email address');
        return;
    }
    if (result == ResponseCode.BirthdayError)
    {
        //alert('PasswordError');
        //document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Wrong birthday';
        document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = GetStr(1710);
        document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.GenderError)
    {
        //alert('PasswordError');
        //document.getElementById('forgotpwdgendererrormsg').innerHTML = 'Wrong gender';
        document.getElementById('forgotpwdgendererrormsg').innerHTML = GetStr(1711);
        document.getElementById('forgotpwdgendererrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.PostalCodeError)
    {
        //alert('PasswordError');
        //document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = 'Wrong postalcode';
        document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = GetStr(1712);
        document.getElementById('forgotpwdpostalcodeerrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.ForgotPwdFlowBlocked)
    {
        //alert('Forgot password flow blocked, Please contact an Agent 1-800-123-456 to get password reset.');
        alert(GetStr(1713));
        return;
    }
    if (result == ResponseCode.UnknownError)
    {
        //alert('UnknownError');
        alert(GetStr(1002));
        return;
    }
    if (result == ResponseCode.Succeed)
    {
        //alert('Succeed');
        GotoForgotPwdConfirm();
        return;
    }    
}
//-------------------------------------- Forgot Password Flow 2--------------------------------------------//





function IsLoading()
{
    //alert('Hold your clicks! We\'re going as fast as we can!');
    alert(GetStr(1003));
}

function GotoForgotPwdConfirm()
{
    //document.getElementById("Loading").innerHTML = "<center>LOADING...</center>";
    document.getElementById("Loading").innerHTML = GetStr(1000);
    
    var objemail = document.getElementById('txtforgotpwdemail');
       
    var ajax = new AJAX( GetAbsoluteUrl("ForgotPwdConfirmation.aspx?Email=" + Trim(objemail.value)) );
    ajax.SetCallbackFun(GotoForgotPwdConfirmCallback);
    
    // 发送请求
    ajax.Send(null);    
}

function GotoForgotPwdConfirmCallback(ajax)
{
    document.getElementById("Loading").innerHTML = "";
    
    // 获取DOM
    var objDOM = ajax.GetXmlDoc();
    
    document.getElementById("ForgotPwdComplete").innerHTML = objDOM.selectSingleNode("//xmlRoot/html").text;
    carousel(-1, null, $$('.myVideoPlayPanelOn .regWrapper .carouselBody')[0], 1, -969);
}



















//-------------------------------------- Old Show Forgot Password Flow --------------------------------------------//
function ShowForgotPwdOld()
{
    //document.getElementById("Loading").innerHTML = "<center>LOADING...</center>";
    document.getElementById("Loading").innerHTML = GetStr(1000);
    
    //alert('Goto Forgot password page');
    var ajax = new AJAX( GetAbsoluteUrl("ForgotPwdAJAX.aspx") );
    ajax.SetCallbackFun(_GetForgotPwdAJAXCallback);
    
    // 发送请求
    ajax.Send(null);
}

function _GetForgotPwdAJAXCallback(ajax)
{
    document.getElementById("Loading").innerHTML = "";
    
    // 获取DOM
    var objDOM = ajax.GetXmlDoc();
  
    //alert($$('.carouselContainer')[0].innerHTML);
  
    //$$('.carouselContainer')[0].innerHTML = objDOM.selectSingleNode("//xmlRoot/html").text;

    document.getElementById("ForgotPwd").innerHTML = objDOM.selectSingleNode("//xmlRoot/html").text;
    ForgotPwdPageLoad();
    carousel(-1, null, $$('.myVideoPlayPanelOn .regWrapper .carouselBody')[0], 1, -969);
}
function ForgotPwdPageLoad()
{
    InitializeTextbox( 'txtforgotpwdyear', InputType.NonnegativeInteger);
    InitializeTextbox( 'txtforgotpwdmonth', InputType.NonnegativeInteger);  
    InitializeTextbox( 'txtforgotpwddate', InputType.NonnegativeInteger);      
}

function ValidateForgotPwdData(objemail,objgender,objyear,objmonth,objday,objpostalcode1,objpostalcode2)
{
    var result = true; 
    var dateerror = false;
    if (IsEmpty(objemail))
    {
        document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Please enter a email.';
        document.getElementById('forgotpwdemailerrormsg').style.display = "";
        result = false;
    }
    else
    {
        if (!ValidateEmail(objemail))
        {
            document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Email is required and must contains @';
            document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Must include @ and .';
            document.getElementById('forgotpwdemailerrormsg').style.display = "";
            result = false;
        }
    }
    
    if (IsEmpty(objyear) || IsEmpty(objmonth) || IsEmpty(objday))
    {
        document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Please enter a birthday.';
        document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
        result = false;
    }
    else
    {
        if (!ValidateDateYear(objyear))
        {
            document.getElementById('forgotpwdyearerrormsg').innerHTML = 'Invalid Year';
            document.getElementById('forgotpwdyearerrormsg').style.display = '';
            result = false;     
            dateerror = true;   
        }
        if (!ValidateDateMonth(objmonth))
        {
            document.getElementById('forgotpwdmontherrormsg').innerHTML = 'Invalid Month';
            document.getElementById('forgotpwdmontherrormsg').style.display = '';
            result = false;  
            dateerror = true;      
        }
        if (!ValidateDateDay(objyear,objmonth,objday))
        {
            document.getElementById('forgotpwddayerrormsg').innerHTML = 'Invalid Day';
            document.getElementById('forgotpwddayerrormsg').style.display = '';
            result = false;  
            dateerror = true;      
        }
        if (!dateerror)
        {
            if (IsInFeature(objyear,objmonth,objday))
            {
                document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Birthday is in feature.';
                document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
                result = false;            
            }
        }

    }
//    if (IsEmpty(objyear) || IsEmpty(objyear) || IsEmpty(objyear))
//    {
//        document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Please enter a birthday.';
//        document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
//        result = false;    
//    }
//    else
//    {
//        if (!ValidateDate(objyear,objmonth,objday))
//        {
//            document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Invalid Birthday';
//            document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
//            result = false;
//        }    
//    }    
    
    if (IsEmpty(objpostalcode1) || IsEmpty(objpostalcode2))
    {
        document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = 'Please enter a postal code.';
        document.getElementById('forgotpwdpostalcodeerrormsg').style.display = "";
        result = false;
    }
    else
    {
        if (!ValidatePostalCode(objpostalcode1,objpostalcode2))
        {
            //$('postalcodeerrormsg').innerHTML = 'Invalid PostalCode';
            document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = 'Postal code follows pattern A9A 9A9';
            document.getElementById('forgotpwdpostalcodeerrormsg').style.display = "";
            result = false;
        }
    }
    return result;
}

function DoForgotPwd(prefix)
{
    document.getElementById('forgotpwdemailerrormsg').innerHTML = '';
    document.getElementById('forgotpwdemailerrormsg').style.display = 'none';

    document.getElementById('forgotpwdyearerrormsg').innerHTML = '';
    document.getElementById('forgotpwdyearerrormsg').style.display = 'none';

    document.getElementById('forgotpwdmontherrormsg').innerHTML = '';
    document.getElementById('forgotpwdmontherrormsg').style.display = 'none';

    document.getElementById('forgotpwddayerrormsg').innerHTML = '';
    document.getElementById('forgotpwddayerrormsg').style.display = 'none';   
    
    document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = '';
    document.getElementById('forgotpwdbirthdayerrormsg').style.display = 'none';

    document.getElementById('forgotpwdgendererrormsg').innerHTML = '';
    document.getElementById('forgotpwdgendererrormsg').style.display = 'none';

    document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = '';
    document.getElementById('forgotpwdpostalcodeerrormsg').style.display = 'none';
 
    var objemail = document.getElementById('txtforgotpwdemail');
    var objgender = document.getElementById('forgotpwdgender');
    var objmonth = document.getElementById('txtforgotpwdmonth');
    var objday = document.getElementById('txtforgotpwddate');
    var objyear = document.getElementById('txtforgotpwdyear');
    var objpostalcode1 = document.getElementById('txtforgotpwdpostalcode1');
    var objpostalcode2 = document.getElementById('txtforgotpwdpostalcode2');
  
    if (!ValidateForgotPwdData(objemail,objgender,objyear,objmonth,objday,objpostalcode1,objpostalcode2))
        return;

    var birthday = Trim(objyear.value) + '-' + Trim(objmonth.value) + '-' + Trim(objday.value);
    var postalcode = Trim(objpostalcode1.value) + ' ' + Trim(objpostalcode2.value);

    //document.getElementById("Loading").innerHTML = "<center>LOADING...</center>";
    document.getElementById("Loading").innerHTML = GetStr(1000);
    document.getElementById("forgotpwdsubmit").href = "javascript:IsLoading();";
        
    // hook up a method that gets the response
    proxies.ProxyService.ForgotPwd.func = ForgotPwdCallback;
     
    // now call the server
    proxies.ProxyService.ForgotPwd( Trim(objemail.value), Trim(objgender.value), Trim(birthday), postalcode );
    return;

//    var ajax = new GLM.AJAX();
//    ajax.callService(GetAbsoluteUrl("ProxyService.asmx"), "ForgotPwd", ForgotPwdCallback, "email=" + email, "gender=" + gender, "birthday=" + birthday, "postalcode=" + postalcode);
}

function ForgotPwdCallback(response)
{
    document.getElementById("Loading").innerHTML = "";
    document.getElementById("forgotpwdsubmit").href = "javascript:DoForgotPwd();";
    
    var result = response;
    
    if (result == ResponseCode.UsernameError)
    {
        //alert('UsernameError');
        document.getElementById('forgotpwdemailerrormsg').innerHTML = 'Wrong email address';
        document.getElementById('forgotpwdemailerrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.BirthdayError)
    {
        //alert('PasswordError');
        document.getElementById('forgotpwdbirthdayerrormsg').innerHTML = 'Wrong birthday';
        document.getElementById('forgotpwdbirthdayerrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.GenderError)
    {
        //alert('PasswordError');
        document.getElementById('forgotpwdgendererrormsg').innerHTML = 'Wrong gender';
        document.getElementById('forgotpwdgendererrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.PostalCodeError)
    {
        //alert('PasswordError');
        document.getElementById('forgotpwdpostalcodeerrormsg').innerHTML = 'Wrong postalcode';
        document.getElementById('forgotpwdpostalcodeerrormsg').style.display = "";
        return;
    }
    if (result == ResponseCode.ForgotPwdFlowBlocked)
    {
        alert('Forgot password flow blocked, Please contact an Agent 1-800-123-456 to get password reset.');
        return;
    }
    if (result == ResponseCode.UnknownError)
    {
        alert('UnknownError');
        return;
    }
    if (result == ResponseCode.Succeed)
    {
        //alert('Succeed');
        GotoForgotPwdConfirm();
        return;
    }    
}

//-------------------------------------- Old Show Forgot Password Flow --------------------------------------------//









