﻿function SignUp_Input_onfocus(e) {
    if (e.defaultValue) {
        if (e.defaultValue == "Password") {
            var base = e.id.replace(/Password/, "").replace(/Txt/, "");

            var passwordJoinPassword = document.getElementById(base + "Password");
            var passwordJoinTxt = document.getElementById(base + "Txt");

            if (passwordJoinPassword.style.display == "none") {
                passwordJoinPassword.style.display = "";
                passwordJoinTxt.style.display = "none";

                passwordJoinPassword.focus();
                passwordJoinPassword.value = "";
            }
        }
        else {
            if (e.value.replace(/\s/g, "").toLowerCase() == e.defaultValue.replace(/\s/g, "").toLowerCase()) {
                e.value = "";
            }
        }
    }
}

function SignUp_Input_onblur(e) {
    if (e.defaultValue) {
        if (e.defaultValue == "Password") {
            var base = e.id.replace(/Password/, "").replace(/Txt/, "");

            var passwordJoinPassword = document.getElementById(base + "Password");
            var passwordJoinTxt = document.getElementById(base + "Txt");

            if (passwordJoinPassword.value.replace(/\s/g, "") == "") {
                passwordJoinPassword.style.display = "none";
                passwordJoinTxt.style.display = "";
            }
        }
        else {
            if (e.value.replace(/\s/g, "") == "") {
                e.value = e.defaultValue;
            }
        }
    }
}
var SignUp_Loading = false;


function submitSignUp() {
    if (!SignUp_Loading) {
        SignUp_Loading = true;

        var signupError = document.getElementById("signupError");
        signupError.innerHTML = "Authenticating...please wait";

        var url = "data/SignUp/SignUp.aspx";
        var sendData = "verb=signup";

        var themeId = document.getElementById("themeId");
        if (themeId)
            sendData += "&themeId=" + themeId.value;

        var userNameJoinTxt = document.getElementById("userNameJoinTxt");

        sendData += "&un=" + encodeURIComponent(userNameJoinTxt.value);

        var passwordJoinTxt = document.getElementById("passwordJoinTxt");
        var passwordJoinPassword = document.getElementById("passwordJoinPassword");

        if (passwordJoinTxt.style.display == "") {
            sendData += "&pw=";
        }
        else {
            sendData += "&pw=" + encodeURIComponent(passwordJoinPassword.value);
        }

        var firstNameJoinTxt = document.getElementById("firstNameJoinTxt");

        if (firstNameJoinTxt) {
            if (firstNameJoinTxt.value.toLowerCase() == firstNameJoinTxt.defaultValue.toLowerCase()) {
                sendData += "&fn=";
            }
            else {
                sendData += "&fn=" + encodeURIComponent(firstNameJoinTxt.value);
            }
        }


        var lastNameJoinTxt = document.getElementById("lastNameJoinTxt");
        if (lastNameJoinTxt) {
            if (lastNameJoinTxt.value.toLowerCase() == lastNameJoinTxt.defaultValue.toLowerCase()) {
                sendData += "&ln=";
            }
            else {
                sendData += "&ln=" + encodeURIComponent(lastNameJoinTxt.value);
            }
        }

        var emailAddressJoinTxt = document.getElementById("emailAddressJoinTxt");
        sendData += "&ea=" + encodeURIComponent(emailAddressJoinTxt.value);

        var DateOfBirthSelector = document.getElementById("DateOfBirthSelector");
        if (DateOfBirthSelector)
            sendData += "&dob=" + encodeURIComponent(DateOfBirthSelector.GetDate.ToShortDateString());

        var HideYearTable = document.getElementById("hideYearTable");
        if (HideYearTable) {
            if (!HideYearTable.checked) HideYearTable.checked = false;
            sendData += "&hy=" + encodeURIComponent(HideYearTable.checked);
        }

        var SelectGender = document.getElementById("SelectGender");
        if (SelectGender)
            sendData += "&gen=" + encodeURIComponent(SelectGender.options[SelectGender.selectedIndex].value);

        var SelectMyGender = document.getElementById("SelectMyGender");
        if (SelectMyGender)
            sendData += "&gen=" + encodeURIComponent(SelectMyGender.options[SelectMyGender.selectedIndex].value);

        var SelectSearchGender = document.getElementById("SelectSearchGender");
        if (SelectSearchGender)
            sendData += "&genSearch=" + encodeURIComponent(SelectSearchGender.options[SelectSearchGender.selectedIndex].value);

        var celebCBTable = document.getElementById("celebCBTable");


        var linktoprofile = QueryStringValue(window.location.href, "linktoprofile");
        if (linktoprofile.length > 0)
            sendData += "&linktoprofile=" + linktoprofile;



        if (celebCBTable && celebCBTable.checked != undefined) {

            var celebPromoCode = document.getElementById("celebPromoCode");

            if (celebPromoCode.value.toLowerCase() == celebPromoCode.defaultValue.toLowerCase()) {
                sendData += "&promotioncode=";
            }
            else {
                sendData += "&promotioncode=" + encodeURIComponent(celebPromoCode.value);
            }

        } else {
            var celebPromoCode = document.getElementById("celebPromoCode");
            if (celebPromoCode) {
                if (celebPromoCode.value.length > 0)
                    sendData += "&promotioncode=" + encodeURIComponent(celebPromoCode.value);
            }
        }
        AJAXPostWithError(url, "SignUp_Submit_onclick_ready", "SignUp_Submit_onclick_error", sendData);
    }
}

function SignUp_Submit_onclick(e) {


    var celebCBTable = document.getElementById("celebCBTable");

    var sunp = document.getElementById("sunp");
    if (sunp)
        sunp = (parseInt(sunp.value) == 1)
    else
        sunp = false;

    var sunm = document.getElementById("sunm");
    if (sunm)
        sunm = (parseInt(sunp.value) == 1)
    else
        sunm = false;

    if (celebCBTable) {
        if (celebCBTable.checked && sunp)
            signUpNotice(true);
        else if (!celebCBTable.checked && sunm)
            signUpNotice(false);
        else
            submitSignUp();
    }
    else if (sunm)
        signUpNotice(false);
    else
        submitSignUp();

}

function SignUp_Submit_onclick_ready(responseText) {
    var signupError = document.getElementById("signupError");

    if (responseText != "") {
        var parsedResponse = responseText.split("|-|");

        var errorCode = parsedResponse[0];
        var errorMessage = parsedResponse[1];

        if (!errorMessage) errorMessage = "Error processing request. Try again later.";

        switch (parseInt(errorCode)) {
            case -1: // Awaiting Verification
                signupError.innerHTML = errorMessage;

                SignUp_ProcessAwaitingVerification();

                break;
            case 0:  // Success
                signupError.innerHTML = errorMessage;

                SignUp_ProcessSuccess();

                break;
            case 1:  // User Name Errors
                var userNameJoinTxt = document.getElementById("userNameJoinTxt");
                userNameJoinTxt.value = "";
                userNameJoinTxt.focus();

                signupError.innerHTML = errorMessage;

                break;
            case 2:  // Password Errors
                var passwordJoinTxt = document.getElementById("passwordJoinTxt");
                var passwordJoinPassword = document.getElementById("passwordJoinPassword");
                passwordJoinPassword.value = "";

                if (passwordJoinTxt.style.display == "") {
                    passwordJoinTxt.focus();
                }
                else {
                    passwordJoinPassword.focus();
                }

                signupError.innerHTML = errorMessage;

                break;
            case 5:  // Email Address Errors
                var emailAddressJoinTxt = document.getElementById("emailAddressJoinTxt");
                emailAddressJoinTxt.value = "";
                emailAddressJoinTxt.focus();

                signupError.innerHTML = errorMessage;

                break;
            case 6:  // Date of Birth
            case 7:  // Gender
            case 1000:  // Signup Options
                signupError.innerHTML = errorMessage;
                break;
            case 8:  // Promo Code Errors
                var celebPromoCode = document.getElementById("celebPromoCode");
                celebPromoCode.value = "";
                if (celebPromoCode.style.display = "")
                    celebPromoCode.focus();

                signupError.innerHTML = errorMessage;

                break;
            case 9:  // Last Name
                var lastNameJoinTxt = document.getElementById("lastNameJoinTxt");
                lastNameJoinTxt.value = "";
                lastNameJoinTxt.focus();

                signupError.innerHTML = errorMessage;

                break;
            case 10:  // First Name
                var firstNameJoinTxt = document.getElementById("firstNameJoinTxt");
                firstNameJoinTxt.value = "";
                firstNameJoinTxt.focus();

                signupError.innerHTML = errorMessage;

                break;
            case 600: //Pop Up Errors

                if (document.getElementById("popUpError"))
                    destroyElementById("popUpError");

                var errorContents = document.createElement("div");
                errorContents.innerHTML = errorMessage;

                var popUp = CreateNewPopUpSkeletonWithTitle("popUpError", errorContents, "New User Signup Error");
                popUp.style.width = errorContents.offsetWidth + "px";

                var ah = document.getElementById("AllHeaderDiv");
                DockToObject(popUp, ah, "center", "middle", "center", 0, 0);

                break;

            default:  // Any Other Errors
                signupError.innerHTML = "Error processing request. Try again later.";
                break;
        }
    }
    else {
        signupError.innerHTML = "Error processing request. Try again later.";
    }

    SignUp_Loading = false;
}

function SignUp_Submit_onclick_error(responseText) {
    var signupError = document.getElementById("signupError");
    signupError.innerHTML = "Error processing request. Try again later.";

    SignUp_Loading = false;
}

function SignUp_ResetInputs() {
    var userNameJoinTxt = document.getElementById("userNameJoinTxt");
    userNameJoinTxt.value = userNameJoinTxt.defaultValue;

    var passwordJoinTxt = document.getElementById("passwordJoinTxt");
    var passwordJoinPassword = document.getElementById("passwordJoinPassword");

    passwordJoinPassword.value = "";
    passwordJoinTxt.value = passwordJoinTxt.defaultValue;
    passwordJoinPassword.style.display = "none";
    passwordJoinTxt.style.display = "";

    var firstNameJoinTxt = document.getElementById("firstNameJoinTxt");
    if (firstNameJoinTxt)
        firstNameJoinTxt.value = firstNameJoinTxt.defaultValue;

    var lastNameJoinTxt = document.getElementById("lastNameJoinTxt");
    if (lastNameJoinTxt)
        lastNameJoinTxt.value = lastNameJoinTxt.defaultValue;

    var emailAddressJoinTxt = document.getElementById("emailAddressJoinTxt");
    emailAddressJoinTxt.value = emailAddressJoinTxt.defaultValue;

    var DateOfBirthSelector = document.getElementById("DateOfBirthSelector");
    if (DateOfBirthSelector) {
        var now = new Date();
        DateOfBirthSelector.ChangeDate(-1, -1, -1)
        now = null;
    }
    var HideYearTable = document.getElementById("hideYearTable");
    if (HideYearTable) {
        if (HideYearTable.checked) {
            SignUp_HideYearTable_onclick(HideYearTable)
        }
    }

    var SelectGender = document.getElementById("SelectGender");
    if (SelectGender)
        SelectGender.selectedValue("0");

    var celebPromoCode = document.getElementById("celebPromoCode");
    if (celebPromoCode)
        celebPromoCode.value = celebPromoCode.defaultValue;
}

function SignUp_ProcessAwaitingVerification() {
    SignUp_ResetInputs();

    var commonId = "SignUpPopUp";

    var OldX;
    var OldY;

    if (document.getElementById(commonId)) {
        var PopUp_Old = document.getElementById(commonId);

        OldX = PopUp_Old.style.left;
        OldY = PopUp_Old.style.top;

        PopUp_Old.parentNode.removeChild(PopUp_Old);
    }

    var MainTable = document.createElement("table");
    MainTable.border = "0";
    MainTable.cellSpacing = "0";
    MainTable.cellPadding = "0";
    MainTable.style.width = "259px";

    var MainTR = document.createElement("tr");

    var MainTD = document.createElement("td");
    MainTD.className = "PopUp_Text";
    MainTD.style.padding = "10px";
    MainTD.style.fontSize = "12px";

    MainTD.innerHTML = "Account successfully created.<br/><br/>A verification email has been sent to the supplied email address.<br/><br/>You must click on a link provided in the verification email to verify the email address before you are able to log in your new account.";

    MainTR.appendChild(MainTD);

    addTableRows(MainTable, [MainTR]);

    var PopUp = CreateNewPopUpSkeletonWithTitle(commonId, MainTable, "Awaiting Verification...");

    if (OldX) {
        PopUp.style.left = OldX;
        PopUp.style.top = OldY;
    }
    else {
        CenterFloatingObject(PopUp);

        var AllHeaderDiv = document.getElementById("AllHeaderDiv");
        var winHeight = AllHeaderDiv.offsetHeight;

        var scrollTop = 0;

        if (document.documentElement) {
            scrollTop = document.documentElement.scrollTop;
        }
        else {
            scrollTop = document.body.scrollTop;
        }

        var hei = (PopUp.style.display == "none" ? PopUp.style.height : PopUp.offsetHeight);
        if (!hei) hei = PopUp.offsetHeight;

        var objTop = (parseInt((parseInt(winHeight) - parseInt(hei)) / 2) + scrollTop) + "px";
        if (parseInt(objTop) < 0) objTop = "0px";

        PopUp.style.top = objTop;
    }
}

function SignUp_ProcessSuccess() {
    SignUp_ResetInputs();

    var commonId = "SignUpPopUp";

    var OldX;
    var OldY;

    if (document.getElementById(commonId)) {
        var PopUp_Old = document.getElementById(commonId);

        OldX = PopUp_Old.style.left;
        OldY = PopUp_Old.style.top;

        PopUp_Old.parentNode.removeChild(PopUp_Old);
    }

    var MainTable = document.createElement("table");
    MainTable.border = "0";
    MainTable.cellSpacing = "0";
    MainTable.cellPadding = "0";
    MainTable.style.width = "259px";

    var MainTR = document.createElement("tr");

    var MainTD = document.createElement("td");
    MainTD.className = "PopUp_Text";
    MainTD.style.padding = "10px";
    MainTD.style.fontSize = "12px";

    MainTD.innerHTML = "Account successfully created and active.<br/><br/>You may now log in your new account.";

    MainTR.appendChild(MainTD);

    addTableRows(MainTable, [MainTR]);

    var PopUp = CreateNewPopUpSkeletonWithTitle(commonId, MainTable, "Account Created...");

    if (OldX) {
        PopUp.style.left = OldX;
        PopUp.style.top = OldY;
    }
    else {
        CenterFloatingObject(PopUp);

        var AllHeaderDiv = document.getElementById("AllHeaderDiv");
        var winHeight = AllHeaderDiv.offsetHeight;

        var scrollTop = 0;

        if (document.documentElement) {
            scrollTop = document.documentElement.scrollTop;
        }
        else {
            scrollTop = document.body.scrollTop;
        }

        var hei = (PopUp.style.display == "none" ? PopUp.style.height : PopUp.offsetHeight);
        if (!hei) hei = PopUp.offsetHeight;

        var objTop = (parseInt((parseInt(winHeight) - parseInt(hei)) / 2) + scrollTop) + "px";
        if (parseInt(objTop) < 0) objTop = "0px";

        PopUp.style.top = objTop;
    }
}

function SignUp_Gender_onchange(e) {
    var gender = e.options[e.selectedIndex].value;
    var currentColor = Get_Cookie("theme").toLowerCase();

    var dcm = document.getElementById("dcm");
    var dcf = document.getElementById("dcf");
    var dcng = document.getElementById("dcng");

    if (dcm && dcf) {
        if (gender == "2") {
            dcf = dcf.value.split("|");
            changeTheme(dcf[0], dcf[1]);
        } else if (gender == "1") {
            dcm = dcm.value.split("|");
            changeTheme(dcm[0], dcm[1]);
        } else {
            dcng = dcng.value.split("|");
            changeTheme(dcng[0], dcng[1]);

        }
    } else {
        if (gender == "2") {
            if (shadeName != "light") {
                changeTheme(currentColor, "light");
            }
        }
        else {
            if (shadeName != "dark") {
                changeTheme(currentColor, "dark");
            }
        }
    }
}

function CelebrityLink_onclick(e) { //Function Not Currently Used By PLM
    var celebCB = document.getElementById("celebCB");
    var joinSubmitBtnTD = document.getElementById("joinSubmitBtnTD");
    var celebPromoCodeTD = document.getElementById("celebPromoCodeTD");
    var whatsAllThisForHolder = document.getElementById("whatsAllThisForHolder");

    if (e.checked) {
        e.checked = false;

        if (celebCB) {
            top.SI.src("CheckBox_Unchecked.png", celebCB, top.SiteImagesType.BaseColorShade);
        }

        joinSubmitBtnTD.style.width = "";
        joinSubmitBtnTD.align = "center";
        joinSubmitBtnTD.style.paddingRight = "";
        celebPromoCodeTD.style.display = "none";

        if (whatsAllThisForHolder)
            whatsAllThisForHolder.style.display = "";
    }
    else {
        e.checked = true;

        if (celebCB) {
            top.SI.src("CheckBox_Checked.png", celebCB, top.SiteImagesType.BaseColorShade);
        }

        joinSubmitBtnTD.style.width = "66px";
        joinSubmitBtnTD.align = "left";
        joinSubmitBtnTD.style.paddingRight = "5px";
        celebPromoCodeTD.style.display = "";

        if (whatsAllThisForHolder)
            whatsAllThisForHolder.style.display = "none";
    }

    var celebPromoCode = document.getElementById("celebPromoCode");
    celebPromoCode.value = celebPromoCode.defaultValue;
}

function SignUp_OpenSignUp() {
    try {
        var vidSWF = document.getElementById("landingIntroPlayer");
        if (vidSWF) vidSWF.StopStream();
    }
    catch (e) {
    }

    var introArea = document.getElementById("introArea");
    var joinArea = document.getElementById("joinArea");

    if (introArea)
        introArea.style.display = "none";

    joinArea.style.display = "";
}



function signUpNotice(gpt) {

    if (document.getElementById("signUpNotice_PopUp"))
        return;

    this.readyFunction = function(responseText) {

        var table = createTable();
        table.createRows(2, 1);
        table.rowArray[0].cellArray[0].innerHTML = responseText;
        table.rowArray[0].cellArray[0].style.padding = "10px";

        table.yes = document.createElement("img");
        table.yes.style.width = "125px";
        top.SI.src("btForms_Accept.png", table.yes, top.SiteImagesType.BaseColorShadeLanguage)
        table.yes.onmouseover = function() {
            image_onmouseover(table.yes);
        }


        table.no = document.createElement("img");
        table.no.style.width = "125px";
        top.SI.src("btForms_DoNotAccept.png", table.no, top.SiteImagesType.BaseColorShadeLanguage)
        table.no.onmouseover = function() {
            image_onmouseover(table.no);
        }


        table.rowArray[1].cellArray[0].appendChild(table.yes);
        table.rowArray[1].cellArray[0].appendChild(table.no);
        table.no.style.marginLeft = "20px";
        table.rowArray[1].cellArray[0].style.paddingBottom = "10px";
        table.rowArray[1].cellArray[0].style.textAlign = "center";

        var PopUp = CreateNewPopUpSkeletonWithTitle("signUpNotice_PopUp", table, "Sign Up Notice");


        PopUp.style.width = table.offsetWidth + "px";
        PopUp.style.height = (table.offsetHeight) + "px";

        var ah = document.getElementById("AllHeaderDiv")

        //DockToObject(PopUp, ah, "center", "middle", "center", 0, 40);
        //if (DetermineBrowser() == Browsers.IE)
        DockToObject(PopUp, ah, "center", "middle", "center", 0, 40);
        //else
        //    CenterFloatingObject(PopUp);

        table.yes.onclick = function() {
            destroyObject(PopUp);
            submitSignUp();
        }

        table.no.onclick = function() {
            destroyObject(PopUp);
        }

    }
    AJAXPost(top.document.getElementById("websiteURL").value + "/data/getSignUpNotice.aspx?gpt=" + gpt, "AddParams[1].readyFunction", null, this);
}


function handleSignUpStartUp() {
    var promotionCode = document.getElementById("promoCode");

    if (promotionCode)
        promotionCode = promotionCode.value;
    else
        return;

    if (promotionCode.length > 0) {

        var celebCBTable = document.getElementById("celebCBTable");
        if (celebCBTable) {
            celebCBTable.checked = false;
            CelebrityLink_onclick(celebCBTable)

        } else {
            var celebPromoCodeTD = document.getElementById("celebPromoCodeTD");

            if (celebPromoCodeTD)
                celebPromoCodeTD.style.display = "";
        }

        var celebPromoCode = document.getElementById("celebPromoCode");

        if (celebPromoCode)
            celebPromoCode.value = promotionCode;
    }
}

function SignUp_HideYearTable_onclick(e) {
    if (e.checked) {
        e.checked = false;

        var hideYearIMG = document.getElementById("hideYearIMG");

        if (hideYearIMG) {
            top.SI.src("CheckBox_Unchecked.png", hideYearIMG, top.SiteImagesType.BaseColorShade);
        }
    }
    else {
        e.checked = true;

        var hideYearIMG = document.getElementById("hideYearIMG");

        if (hideYearIMG) {
            top.SI.src("CheckBox_Checked.png", hideYearIMG, top.SiteImagesType.BaseColorShade);
        }
    }
}