﻿var sURL = '';
function RememberPage(flag) {
    if (flag == 1) {
        //sURL = "/my/m_username/created-list/all-list/all";
        sURL = "/my/created-list/page-1";
    }
    else if (flag == 2) {
        sURL = "/addlist.aspx";
    }
    else if (flag == 0) {
        //sURL = window.location.href;
        sURL = "/myprofile.aspx";
    }
    else {

        sURL = window.location.href;
    }
}

//=======================================================================
// FUNCTION TO CONTROL ENTER FOR LOGIN, REGISTER & FORGOT PASSWORD START
function checkEnter(e, flag) {
    //e is event object passed from function invocation var characterCode literal character code will be stored in this variable

    // flag = 1 : Login, 2 : Registration, 3 : Forgot Password, 4 : Search

    if (e && e.which) { //if which property of event object is supported (NN4)
        e = e;
        characterCode = e.which; //character code is contained in NN4's which property
    }
    else {
        e = event;
        characterCode = e.keyCode; //character code is contained in IE's keyCode property
    }

    if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
        e.returnValue = false;
        e.cancelBubble = true;

        if (flag == 1) {
            Login();
        }
        if (flag == 2) {
            ContinueSignUp();
        }
        if (flag == 3) {
            RequestPassword();
        }

        if (flag == 4) {
            doSiteSearch();
        }
        return false;
    }
    else {
        return true;
    }
}
// FUNCTION TO CONTROL ENTER FOR LOGIN, REGISTER & FORGOT PASSWORD END
//=======================================================================

//    //Script to fix the URL-rewritting issue
//    function NotPostback(sNewFormAction)
//    {
//        if(document.layers) //The browser is Netscape 4
//        {
//           document.layers['Content'].document.forms[0].action = sNewFormAction;
//        }
//        else //It is some other browser that understands the DOM
//        {
//            document.forms[0].action = sNewFormAction;
//        }
//    }
//    


function fnLogout() {
    var ret = confirm('Are you sure you want to Logout?');
    if (ret == true) {
        location.href = "/logout.aspx";
    }
}

//=======================================================================
//FUNCTION FOR REPLACE SPACIAL CHARACTERS START
function ReplaceSpecialCharacters(sStr) {
    try {
        if (sStr != '' && sStr != null) {
            sStr = trim(sStr);

            var arrSpecialChar = new Array(" - ", "/", "<", ">", "{", "}", "[", "]", "\\", "|", "=", "+", "(", ")", " ", "*", "^", "%", "$", "#", "`", "!", "'", "~", "@", "\"", ",", "&", ":", ";", ".", ",", "?", " and ", " ", "-", "______", "_____", "____", "___", "__", "_.aspx", "’", "À", "Á", "Â", "Ã", "Ž", "", "’", "€", "È", "", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "¥", "Ò", "Ó", "Ô", "Õ", "™", "×", "Ø", "Ù", "Ú", "Û", "š", "Ý", "Þ", "á", "…", " ", "ƒ", "ã", "„", "†", "‘", "‡", "Š", "‚", "ˆ", "‰", "", "¡", "Œ", "‹", "ð", "¤", "•", "¢", "“", "õ", "”", "ö", "ø", "—", "£", "–", "", "ý", "þ", "˜", "™", "", "§", "©", "®", "œ", "›", "š", "ž", "™", "š", "›", "œ", "Ÿ", "›", "œ", "¤", "", "¦", "§", "¦", "®", "ª", "ø", "ñ", "ý", "…", "†", "‡", "ˆ", "‰", "Š", "‹", "Œ", "œ", "›", "š", "ž");

            // REPLACE ALL CHARACTER WITH -            
            for (i = 0; i < arrSpecialChar.length; i++) {
                var tmp = "";
                tmp = arrSpecialChar[i];
                var newString1 = new Array();
                newString1 = sStr.split(tmp);
                sStr = newString1.join('-');
            }

            // SECOND TIME REPLACE -- TO - 
            var i = 0;
            var newstring2 = new Array();
            newString2 = sStr.split("--");
            sStr = newString2.join('-');
        }
    }
    catch (e) {
        return "";
    }

    return sStr;
}
//FUNCTION FOR REPLACE SPACIAL CHARACTERS END
//=======================================================================

// Removes leading whitespaces
function LTrim(value) {

    var re = /\s*((\S+\s*)*)/;
    return value.replace(re, "$1");

}

// Removes ending whitespaces
function RTrim(value) {

    var re = /((\s*\S+)*)\s*/;
    return value.replace(re, "$1");

}

// Removes leading and ending whitespaces
function trim(value) {

    return LTrim(RTrim(value));

}

function doSiteSearch() {
    var searchtext = '';
    searchtext = document.getElementById('ctl00_txtSearchSite').value;
    searchtext = trim(searchtext);
    searchtext = ReplaceSpecialCharacters(searchtext);

    if (searchtext != '') {
        //location.href = "/search/keyword-tag/" + searchtext;
        location.href = "/search_keywordresult.aspx?search=" + searchtext;
        return 1;
    }
    else {
        alert('Please enter search keyword');
        return 0;
    }
}

function ValidateRegisteration() {
    var sErr = "";
    if (document.getElementById('ctl00_txtFirstName').value == "") {
        sErr += "Please enter First name. \n";
    }
    if (document.getElementById('ctl00_txtLastName').value == "") {
        sErr += "Please enter Last name. \n";
    }

    if (document.getElementById('ctl00_txtEmail').value == "") {
        sErr += "Please enter Email Id. \n";
    }
    if (document.getElementById('ctl00_txtEmail').value != "") {
        //  [a-zA-Z0-9]+\.[a-zA-Z0-9]+
        var emailPat1 = /^(\".*\"|[a-zA-Z0-9]+\.[a-zA-Z0-9]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
        var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;

        var emailid = document.getElementById('ctl00_txtEmail').value;

        var matchArray = emailid.match(emailPat);
        var matchArray1 = emailid.match(emailPat1);
        if (matchArray == null && matchArray1 == null) {
            sErr += "Your email id seems incorrect. Please try again. \n";
        }
    }

    if (document.getElementById('ctl00_txtWebURL').value != "") {
        var Url = "^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$";
        var tempURL = document.getElementById('ctl00_txtWebURL').value;
        var matchURL = tempURL.match(Url);
        if (matchURL == null) {
            sErr += "Web URL does not look valid. \n";
            document.getElementById('ctl00_txtWebURL').value = "http://";
        }
    }

    if (document.getElementById('ctl00_txtUserName').value == "") {
        sErr += "Please enter Username. \n";
    }

    if (document.getElementById('ctl00_txtUserName').value != "") {
        var sLoginName = document.getElementById('ctl00_txtUserName').value;
        var iChars = "!@#$%^&*()+=-[]\';,./{}|\":<>? ";
        for (var i = 0; i < sLoginName.length; i++) {
            if (iChars.indexOf(sLoginName.charAt(i)) != -1) {
                sErr += "Special characters are not allowed in UserName. \n";
            }
        }

        if (document.getElementById('ctl00_txtUserName').value.length < 6 || document.getElementById('ctl00_txtUserName').value.length > 15) {
            sErr += "User name must be of 6-10 characters. \n";
        }
    }

    if (document.getElementById('ctl00_txtPassword').value == "") {
        sErr += "Please enter Password. \n";
    }

    if (document.getElementById('ctl00_txtRetypePassword').value == "") {
        sErr += "Please Re type Password. \n";
    }

    if (document.getElementById('ctl00_txtPassword').value != document.getElementById('ctl00_txtRetypePassword').value) {
        sErr += "Retyped Password not matched. \n";
    }

    if (sErr == "") {
        return true;
    }
    else {
        alert(sErr);
    }

}

function ContinueSignUp() {
    var valid = ValidateRegisteration();
    if (valid == true) {
        document.getElementById('dvRegister').style.display = 'none';
        document.getElementById('dvTerms').style.display = 'block';
        document.getElementById('dvThanks').style.display = 'none';
    }
}

function SignUp() {
    document.getElementById('dvRegisterWait').style.display = 'block';
    document.getElementById('dvTerms').style.display = 'none';
    //document.getElementById('imgAjax').style.display="block";
    var sFname = document.getElementById('ctl00_txtFirstName').value;
    var sLname = document.getElementById('ctl00_txtLastName').value;
    var sEmailId = document.getElementById('ctl00_txtEmail').value;
    var sWebURL = document.getElementById('ctl00_txtWebURL').value;
    var sLoginName = document.getElementById('ctl00_txtUserName').value;
    var sPassword = document.getElementById('ctl00_txtPassword').value;
    var sHostName = document.getElementById("ctl00_hdnsHostName").value
    var sPath = document.getElementById('ctl00_hdnsPath').value;

    var bGender;
    if (document.getElementById('ctl00_rdbMale').checked == true) {
        bGender = 1;
    }
    else {
        bGender = 0;
    }
    ui.btnRegisterUser_Click(sFname, sLname, bGender, sWebURL, sLoginName, sEmailId, sPassword, sHostName, sPath, btnRegisterUser_Click_CallBack);
}

function btnRegisterUser_Click_CallBack(response) {

    if (response.error != null) {
        alert(response.error);
    }

    if (response.value != null) {
        if (response.value > 0) {
            document.getElementById('ctl00_hdnUserId').value = response.value;
            //alert(response.value );
            document.getElementById('dvRegister').style.display = 'none';
            document.getElementById('dvTerms').style.display = 'none';
            document.getElementById('dvThanks').style.display = 'block';
            document.getElementById('dvRegisterWait').style.display = 'none';
            //                ClearControls(1);   
        }
        if (response.value == -1) {
            alert('User already exists with this username or email id');
            document.getElementById('dvRegister').style.display = 'block';
            document.getElementById('dvTerms').style.display = 'none';
            document.getElementById('dvThanks').style.display = 'none';
            document.getElementById('dvRegisterWait').style.display = 'none';
        }
    }
    //document.getElementById('imgAjax').style.display="none";
}

function ClearControls(nflag) {
    if (nflag == 1) {
        document.getElementById('dvRegister').style.display = 'block';
        document.getElementById('dvTerms').style.display = 'none';
        document.getElementById('dvThanks').style.display = 'none';
        document.getElementById('ctl00_txtFirstName').value = '';
        document.getElementById('ctl00_txtLastName').value = '';
        document.getElementById('ctl00_txtEmail').value = '';
        document.getElementById('ctl00_txtWebURL').value = '';
        document.getElementById('ctl00_rdbMale').checked == true;
        document.getElementById('ctl00_txtUserName').value = '';
        document.getElementById('ctl00_txtPassword').value = '';
        document.getElementById('ctl00_txtRetypePassword').value = '';
        document.getElementById('ctl00_hdnUserId').value = '';
        document.getElementById('ctl00_flPhoto').value = '';
    }
}

function ValidateLogin() {
    var sErr = "";
    if (document.getElementById('ctl00_txtsUserName').value == "") {
        sErr += "Please enter Username. \n";
    }

    if (document.getElementById('ctl00_txtsUserName').value != "") {
        var sLoginName = document.getElementById('ctl00_txtsUserName').value;
        var iChars = "!@#$%^&*()+=-[]\';,./{}|\":<>? ";
        for (var i = 0; i < sLoginName.length; i++) {
            if (iChars.indexOf(sLoginName.charAt(i)) != -1) {
                sErr += "Special characters are not allowed in UserName. \n";
            }
        }

        if (document.getElementById('ctl00_txtsUserName').value.length < 6 || document.getElementById('ctl00_txtsUserName').value.length > 15) {
            sErr += "User name must be of 6-10 characters. \n";
        }
    }

    if (document.getElementById('ctl00_txtsPassword').value == "") {
        sErr += "Please enter Password. \n";
    }
    if (sErr == "") {
        return true;
    }
    else {
        alert(sErr);
    }
}

function Login() {
    var valid = ValidateLogin();
    if (valid == true) {
        document.getElementById('dvLoginWait').style.display = 'block';
        document.getElementById('dvLoginBox').style.display = 'none';

        var sLoginName = document.getElementById('ctl00_txtsUserName').value;
        var sPassword = document.getElementById('ctl00_txtsPassword').value;

        ui.btnLogin_Click(sLoginName, sPassword, btnLogin_Click_CallBack);
    }

}

function btnLogin_Click_CallBack(response) {

    if (response.error != null) {
        alert(response.error);
    }

    if (response.value != null) {
        if (response.value == 1) {
            document.getElementById('dvLoginWait').style.display = 'none';
            //                document.getElementById('dvloginclose').style.display = 'none';

            if (sURL.indexOf("m_username") > 0) {
                findstring = "m_username";
                newstring = document.getElementById('ctl00_txtsUserName').value;
                sURL = sURL.replace(findstring, newstring);
            }

            location.href = sURL;

            //                location.reload(true);

        }

        if (response.value == 2) {
            alert('Wrong Username and/or Password. Please try again.');
            document.getElementById('dvLoginWait').style.display = 'none';
            document.getElementById('dvLoginBox').style.display = 'block';
        }
    }
    //document.getElementById('imgAjax').style.display="none";
}

function ResetLoginDiv(flag) {
    if (flag == 1) {
        document.getElementById('logindv').style.display = 'block';
        document.getElementById('forgotpassdv').style.display = 'none';
        document.getElementById('spnLoginTitle').innerHTML = 'LOGIN';

    }
    if (flag == 2) {
        document.getElementById('logindv').style.display = 'none';
        document.getElementById('forgotpassdv').style.display = 'block';
        document.getElementById('dvFP1').style.display = 'block';
        document.getElementById('dvFP2').style.display = 'none';
        document.getElementById('spnLoginTitle').innerHTML = 'REQUEST NEW PASSWORD';
    }
    if (flag == 3) {
        document.getElementById('logindv').style.display = 'block';
        document.getElementById('forgotpassdv').style.display = 'none';
        document.getElementById('spnLoginTitle').innerHTML = 'LOGIN';

        document.getElementById('ctl00_txtsUserName').value = '';
        document.getElementById('ctl00_txtsPassword').value = '';
        document.getElementById('ctl00_txtUsernameFP').value = '';
        document.getElementById('ctl00_txtEmailFP').value = '';
    }
}


function ValidateForgotPass() {
    var sErr = "";
    if (document.getElementById('ctl00_txtUsernameFP').value == "") {
        sErr += "Please enter Username. \n";
    }

    if (document.getElementById('ctl00_txtUsernameFP').value != "") {
        var sLoginName = document.getElementById('ctl00_txtUsernameFP').value;
        var iChars = "!@#$%^&*()+=-[]\';,./{}|\":<>? ";
        for (var i = 0; i < sLoginName.length; i++) {
            if (iChars.indexOf(sLoginName.charAt(i)) != -1) {
                sErr += "Special characters are not allowed in UserName. \n";
            }
        }

        if (document.getElementById('ctl00_txtUsernameFP').value.length < 6 || document.getElementById('ctl00_txtsUserName').value.length > 15) {
            sErr += "User name must be of 6-10 characters. \n";
        }
    }

    if (document.getElementById('ctl00_txtEmailFP').value == "") {
        sErr += "Please enter Email Id. \n";
    }
    if (document.getElementById('ctl00_txtEmailFP').value != "") {
        //  [a-zA-Z0-9]+\.[a-zA-Z0-9]+
        var emailPat1 = /^(\".*\"|[a-zA-Z0-9]+\.[a-zA-Z0-9]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
        var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;

        var emailid = document.getElementById('ctl00_txtEmailFP').value;

        var matchArray = emailid.match(emailPat);
        var matchArray1 = emailid.match(emailPat1);
        if (matchArray == null && matchArray1 == null) {
            sErr += "Your email id seems incorrect. Please try again. \n";
        }
    }

    if (sErr == "") {
        return true;
    }
    else {
        alert(sErr);
    }
}

function RequestPassword() {
    var valid = ValidateForgotPass();
    if (valid == true) {
        document.getElementById('dvLoginWait').style.display = 'block';
        document.getElementById('dvLoginBox').style.display = 'none';

        var sUserNameFP = document.getElementById('ctl00_txtUsernameFP').value;
        var sEmailFP = document.getElementById('ctl00_txtEmailFP').value;
        var sHostName = document.getElementById("ctl00_hdnsHostName").value
        var sPath = document.getElementById('ctl00_hdnsPath').value;

        ui.btnRequestPassword_Click(sUserNameFP, sEmailFP, sHostName, sPath, btnRequestPassword_Click_CallBack);
    }
}

function btnRequestPassword_Click_CallBack(response) {

    if (response.error != null) {
        alert(response.error);
    }

    if (response.value != null) {
        if (response.value == 1) {
            document.getElementById('dvLoginWait').style.display = 'none';
            document.getElementById('dvLoginWait').style.display = 'none';
            document.getElementById('dvLoginBox').style.display = 'block';
            document.getElementById('logindv').style.display = 'none';
            document.getElementById('forgotpassdv').style.display = 'block';
            document.getElementById('dvFP1').style.display = 'none';
            document.getElementById('dvFP2').style.display = 'block';

            document.getElementById('ctl00_txtUsernameFP').value = '';
            document.getElementById('ctl00_txtEmailFP').value = '';
        }
        if (response.value == 2) {
            alert('Wrong Username and/or Email ID. Please try again.');
            document.getElementById('dvLoginWait').style.display = 'none';
            document.getElementById('dvLoginBox').style.display = 'block';
            ResetLoginDiv(2);
        }
    }
}
