﻿/**************************************/
/**************************************/
/*******    Forms Functions    ********/
/**************************************/
/**************************************/
function textsel(that, sel) {
    if (that) {
        if (sel) {
            that.className = "textnobg";
        } else {
            that.className = "textbg";
            hideErr()
        }
    }
}

function submitform() {
    var frm = document.forms[0];
    if (validateform()) {
        frm.submit();
    }
}

function validateform() {
    var frm = document.forms[0].elements;

    if (Element('txtFirstname').value == '') {
        showErr(Element('txtFirstname'), 'First Name is required!');
        Element('txtFirstname').focus();
        return false;
    }
    if (Element('txtLastname').value == '') {
        showErr(Element('txtLastname'), 'Last Name is required!');
        Element('txtLastname').focus();
        return false;
    }
    if (Element('txtEmail').value == '') {
        showErr(Element('txtEmail'), 'Email is required!');
        Element('txtEmail').focus();
        return false;
    }
    if (!isEmail(Element('txtEmail').value)) {
        showErr(Element('txtEmail'), 'Email is invalid!');
        Element('txtEmail').focus();
        return false;
    }
    if (Element('txtPhone').value == '') {
        showErr(Element('txtPhone'), 'Phone is required!');
        Element('txtPhone').focus();
        return false;
    }
    if (Element('txtAddress').value == '') {
        showErr(Element('txtAddress'), 'Address is required!');
        Element('txtAddress').focus();
        return false;
    }
    if (Element('txtCity').value == '') {
        showErr(Element('txtCity'), 'City is required!');
        Element('txtCity').focus();
        return false;
    }
    if (Element('cboState').value == '') {
        showErr(Element('cboState'), 'State is required!', 250);
        return false;
    }
    if (Element('txtZip').value == '') {
        showErr(Element('txtZip'), 'Zip code is required!');
        Element('txtZip').focus();
        return false;
    }
    if (Element('txtUsername').value == '') {
        showErr(Element('txtUsername'), 'User Name is required!');
        Element('txtUsername').focus();
        return false;
    }
    if (Element('txtPassword').value == '') {
        showErr(Element('txtPassword'), 'Password is required!');
        Element('txtPassword').focus();
        return false;
    }
    if (Element('txtConfirmPassword').value == '') {
        showErr(Element('txtConfirmPassword'), 'Confirm Password is required!');
        Element('txtConfirmPassword').focus();
        return false;
    }
    if (Element('txtPassword').value != Element('txtConfirmPassword').value) {
        showErr(Element('txtConfirmPassword'), 'Password is mismatched!');
        Element('txtConfirmPassword').focus();
        return false;
    }

    Element('formaction').value = "signup"
    return true;
}

function Element(ename) {
    //return document.forms[0].elements['ctl00_cphContent_' + ename];
    //return document.forms[0].elements['_ctl0_cphContent_' + ename];
    var str = new String(document.getElementById("hdncphContent").value);
    var _str = str;
    str = str.replace("_cphContent", ":cphContent:");
    if (document.forms[0].elements[str + ename])
      return document.forms[0].elements[str + ename];
    str = _str.replace("_cphContent", "$cphContent$")
    if (document.forms[0].elements[str + ename])
      return document.forms[0].elements[str + ename];
    //return document.forms[0].elements['_ctl0:cphContent:' + ename];
}

function isEmail(email) {
    var rExp = new RegExp("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
    return rExp.test(email);
}
function validatectl(lname) {
    var lval = Element(lname).value;
    lval = lval.replace(/ /g, "");
    if (lval == '') return false
    return true;
}
function showErr(ele, err, elew) {
    var eb = document.getElementById("errorbox");
    if (eb) {
        if (ele) {
            var pos = getAbsolutePosition(ele);
            eb.style.left = (pos.x + (elew ? elew : ele.offsetWidth) - 20) + "px";
            eb.style.top = (pos.y + 15) + "px";
        }
        eb.innerHTML = err;
        eb.style.display = 'block';
    }
}

function hideErr() {
    var eb = document.getElementById("errorbox");
    if (eb) {
        eb.style.display = 'none';
        eb.innerHTML = '';
    }
}
function hideError() {
    var eb = Element("ErrorText");
    if (eb) {
        eb.style.display = 'none';
        eb.innerHTML = '';
    }
}
/*******    Common Functions    ********/
function getAbsolutePosition(element) {
    var r = { x: element.offsetLeft, y: element.offsetTop };
    if (element.offsetParent) {
        var tmp = getAbsolutePosition(element.offsetParent);
        r.x += tmp.x;
        r.y += tmp.y;
    }
    return r;
}

/******   validation for checkout process page *******/

function submitcheckoutform() {
    var frm = document.forms[0];
    if (dosubmit()) {
        frm.submit();
    }
}
function dosubmit() {
    var frm = document.forms[0].elements;
    var lobjhdn = Element("hdnaction");
    lobjhdn.value = '';
    // var shipdet = Element("hdnShipdetail").value;
    var shipdet = "true";
    // var billdet = Element("hdnBilldetail").value;
    var billdet = "true";
    var ddlCards = Element("ddlCards");
    var carddet = "1";
    if (ddlCards) {
        if (ddlCards.value != "0") {
            carddet = "";
        }
    }
    if (carddet != "") {
        var err = '';
        var txtid = '';
        var txtcard = '';
        var regexp = Element("hdnRegExp").value;
        if (validatectl("txtCardHolderName") == false) {
            showErr(Element('txtCardHolderName'), 'Card Holder Name required!');
            Element('txtCardHolderName').focus();
            return false;
        }
        if (validatectl("txtCardNumber") == false) {
            showErr(Element('txtCardNumber'), 'Card Number required!');
            Element('txtCardNumber').focus();
            return false;
        }
        /*else{
        if(validatectl("txtCardNumber")==true)txtcard=Element("txtCardNumber").value;
        var rfv = new RegExp(regexp);
        if(txtcard.match(rfv)){
        }else{
        showErr(Element('txtCardNumber'), 'Invalid Card Number!');
        Element('txtCardNumber').focus();
        return false;
        }
        }*/
        if (validatectl("txtCSC") == false) {
            showErr(Element('txtCSC'), 'Security Code required!');
            Element('txtCSC').focus();
            return false;
        }
    }

    if (billdet != "") {
        if (validatectl("txtFirstBillName") == false) {
            showErr(Element('txtFirstBillName'), 'Bill Firstname is required!');
            Element('txtFirstBillName').focus();
            return false;
        }
        if (validatectl("txtLastBillName") == false) {
            showErr(Element('txtLastBillName'), 'Billing Lastname is required!');
            Element('txtLastBillName').focus();
            return false;
        }
        if (validatectl("txtBillAddress") == false) {
            showErr(Element('txtBillAddress'), 'Billing Address required!');
            Element('txtBillAddress').focus();
            return false;
        }
        if (validatectl("txtBillCity") == false) {
            showErr(Element('txtBillCity'), 'Billing City required!');
            Element('txtBillCity').focus();
            return false;
        }
        if (validatectl("selBillState") == false) {
            showErr(Element('selBillState'), 'Billing State required!');
            Element('selBillState').focus();
            return false;
        }
        if (validatectl("txtBillZip") == false) {
            showErr(Element('txtBillZip'), 'Billing Zip required!');
            Element('txtBillZip').focus();
            return false;
        }
    }
    if (shipdet != "") {

        if (validatectl("txtShipFirstName") == false) {
            showErr(Element('txtShipFirstName'), 'Shipping Firstname required!');
            Element('txtShipFirstName').focus();
            return false;
        }
        if (validatectl("txtShipLastName") == false) {
            showErr(Element('txtShipLastName'), 'Shipping Lastname required!');
            Element('txtShipLastName').focus();
            return false;
        }
        if (validatectl("txtShipAddress") == false) {
            showErr(Element('txtShipAddress'), 'Shipping Address required!');
            Element('txtShipAddress').focus();
            return false;
        }
        if (validatectl("txtShipCity") == false) {
            showErr(Element('txtShipCity'), 'Shipping City required!');
            Element('txtShipCity').focus();
            return false;
        }
        if (Element('cboState').value == '') {
            showErr(document.getElementById('shipstate'), 'Shipping State is required!', 250);
            return false;
        }
        if (validatectl("txtShipZip") == false) {
            showErr(Element('txtShipZip'), 'Shipping Zip required!');
            Element('txtShipZip').focus();
            return false;
        }

    }
    if (Element("ddlShippingMethod").value != "FedEx") {
        if (Element('ddlService').value == '' && Element('hdnFreeShip').value != 1) {
            alert("Select a Shipping Service!");
            return false;
        }
    }
    var arr = Element("hdnMethod").value.split("||");
    if (arr[1] == "") {
        alert("Calculate any one shipping method");
        return false;
    }
    if (!(parseFloat(Element("hdnShipping").value) > 0)) {
        alert("Calculate any one shipping method");
        return false;
    }
    changedisplayonly(true)
}
function ElementId(ename) {
    //return document.getElementById('ctl00_cphContent_' + ename); 
    return document.getElementById(document.getElementById("hdncphContent").value + '_' + ename);
}
function changedisplayonly(flg){
    var i = 0;
    if (flg == true) {
        Element('txtShippingZip').style.display = 'none';
        Element('ddlService').style.display = 'none';
        document.getElementById('shipmethod').style.display = 'none';
        document.getElementById('divFedexService').style.display = 'none';
        document.getElementById('divUSPSService').style.display = 'none';

        if (document.getElementById('divCards'))
            document.getElementById('divCards').style.display = 'none';
        else {
            Element('txtCardHolderName').style.display = 'none';
            document.getElementById('divNCardType').style.display = 'none';
            Element('txtCardNumber').style.display = 'none';
            document.getElementById('divNExpDate').style.display = 'none';
            Element('txtCSC').style.display = 'none';
            document.getElementById('lnkCSC').style.display = 'none';
            document.getElementById("trSave").style.display = 'none';
        }   
        Element('txtFirstBillName').style.display = 'none';
        Element('txtLastBillName').style.display = 'none';
        Element('txtBillAddress').style.display = 'none';
        Element('txtBillAddress2').style.display = 'none';
        Element('txtBillCity').style.display = 'none';
        document.getElementById('divState').style.display = 'none';
        Element('txtBillZip').style.display = 'none';
        Element('chkBI').style.display = 'none';

        Element('txtShipFirstName').style.display = 'none';
        Element('txtShipLastName').style.display = 'none';
        Element('txtShipAddress').style.display = 'none';
        Element('txtShipAddress2').style.display = 'none';
        Element('txtShipCity').style.display = 'none';
        document.getElementById('shipstate').style.display = 'none';
        Element('txtShipZip').style.display = 'none';
        document.getElementById('lblSAB').style.display = 'none';

        ElementId('lblShippingZip').style.display = '';
        ElementId('lblShipUSPSService').style.display = '';
        ElementId('lblShipFedexService').style.display = '';
        ElementId('lblShipmethod').style.display = '';

        if (ElementId('lblCardNumber'))
            ElementId('lblCardNumber').style.display = '';
        else {
            ElementId('lblNCardHolderName').style.display = '';
            ElementId('lblNCartType').style.display = '';
            ElementId('lblNCardNumber').style.display = '';
            ElementId('lblNExpDate').style.display = '';
            ElementId('lblNSecCode').style.display = '';
            ElementId('lblNCardHolderName').innerHTML = Element('txtCardHolderName').value;
            ElementId('lblNCartType').innerHTML = Element('ddlCardType').options[Element('ddlCardType').selectedIndex].text;            
            var card = Element('txtCardNumber').value;
            var lng = card.length;
            var newcard = '';
            for (i = 0; i < lng - 4; i++) {
                newcard += 'X';
            }
            newcard += card.substr(lng - 4, 4);
            ElementId('lblNCardNumber').innerHTML = newcard;
            //ElementId('lblNCardNumber').innerHTML = Element('txtCardNumber').value;
            ElementId('lblNExpDate').innerHTML = "XXXX-XXXX"
            var j=0;
            var scode=Element('txtCSC').value;
            var l=scode.length;
            var newcode=''
            for(j=0;j<l;j++)
            {
             newcode+='X';
            }
            newcode+=scode.substr(l-1,0);
            ElementId('lblNSecCode').innerHTML =newcode
            
        }
        if (ElementId('lblCSC')){
            i = 0;
            var csc = Element('hdnCSC').value;
            var lng = csc.length;
            var newcsc = '';
            for (i = 0; i < lng; i++) {
                newcsc += 'X';
            }
            ElementId('lblCSC').innerHTML = newcsc;
        }    
        if (ElementId('lblExpDate')){
            ElementId('lblExpDate').innerHTML = "XXXX-XXXX";
         }   
        ElementId('lblBillFirstName').style.display = '';
        ElementId('lblBillLastName').style.display = '';
        ElementId('lblBillAddress').style.display = '';
        ElementId('lblBillAddress2').style.display = '';
        ElementId('lblBillCity').style.display = '';
        ElementId('lblBillState').style.display = '';
        ElementId('lblBillZip').style.display = '';

        ElementId('lblShipFirstName').style.display = '';
        ElementId('lblShipLastName').style.display = '';
        ElementId('lblShipAddr').style.display = '';
        ElementId('lblShipAddr2').style.display = '';
        ElementId('lblShipCity').style.display = '';
        ElementId('lblShipState').style.display = '';
        ElementId('lblShipZip').style.display = '';

        ElementId('lblShippingZip').innerHTML = Element('txtShippingZip').value;
        ElementId('lblShipUSPSService').innerHTML = Element('ddlService').value;
        ElementId('lblShipFedexService').innerHTML = Element('ddlFedExService').options[Element('ddlFedExService').selectedIndex].text;
        ElementId('lblShipmethod').innerHTML = Element('ddlShippingMethod').value;      
        
        ElementId('lblBillFirstName').innerHTML = Element('txtFirstBillName').value;
        ElementId('lblBillLastName').innerHTML = Element('txtLastBillName').value;
        ElementId('lblBillAddress').innerHTML = Element('txtBillAddress').value;
        ElementId('lblBillAddress2').innerHTML = Element('txtBillAddress2').value;
        ElementId('lblBillCity').innerHTML = Element('txtBillCity').value;
        ElementId('lblBillState').innerHTML = Element('selBillState').options[Element('selBillState').selectedIndex].text;
        ElementId('lblBillZip').innerHTML = Element('txtBillZip').value;
        if (Element('txtBillAddress2').value == '')
            document.getElementById('trbill2').style.display = 'none';
            
        ElementId('lblShipFirstName').innerHTML = Element('txtShipFirstName').value;
        ElementId('lblShipLastName').innerHTML = Element('txtShipLastName').value;
        ElementId('lblShipAddr').innerHTML = Element('txtShipAddress').value;
        ElementId('lblShipAddr2').innerHTML = Element('txtShipAddress2').value;
        ElementId('lblShipCity').innerHTML = Element('txtShipCity').value;
        ElementId('lblShipState').innerHTML = Element('cboState').options[Element('cboState').selectedIndex].text;
        ElementId('lblShipZip').innerHTML = Element('txtShipZip').value;
        if (Element('txtShipAddress2').value=='')
            document.getElementById('trship2').style.display = 'none';        

        document.getElementById("btnback").setAttribute("href", "javascript:goback1();");
        ElementId("Img2").style.display = '';
        ElementId("Img3").style.display = 'none';        
    }
    else {
        Element('txtShippingZip').style.display = '';
        Element('ddlService').style.display = '';
        document.getElementById('shipmethod').style.display = '';
        document.getElementById('divFedexService').style.display = '';
        document.getElementById('divUSPSService').style.display = '';
        document.getElementById('trbill2').style.display = '';
        document.getElementById('trship2').style.display = '';        
        
        if (document.getElementById('divCards') != undefined)
            document.getElementById('divCards').style.display = '';
        else {
            Element('txtCardHolderName').style.display = '';
            document.getElementById('divNCardType').style.display = '';
            Element('txtCardNumber').style.display = '';
            document.getElementById('divNExpDate').style.display = '';
            Element('txtCSC').style.display = '';
            document.getElementById('lnkCSC').style.display = '';
            document.getElementById("trSave").style.display = '';
        }
        
        Element('txtFirstBillName').style.display = '';
        Element('txtLastBillName').style.display = '';
        Element('txtBillAddress').style.display = '';
        Element('txtBillAddress2').style.display = '';
        Element('txtBillCity').style.display = '';
        document.getElementById('divState').style.display = '';
        Element('txtBillZip').style.display = '';
        Element('chkBI').style.display = '';

        Element('txtShipFirstName').style.display = '';
        Element('txtShipLastName').style.display = '';
        Element('txtShipAddress').style.display = '';
        Element('txtShipAddress2').style.display = '';
        Element('txtShipCity').style.display = '';
        document.getElementById('shipstate').style.display = '';
        Element('txtShipZip').style.display = '';
        document.getElementById('lblSAB').style.display = '';

        if (ElementId('lblCardNumber'))
            ElementId('lblCardNumber').style.display = 'none';
        else {
            ElementId('lblNCardHolderName').style.display = 'none';
            ElementId('lblNCartType').style.display = 'none';
            ElementId('lblNCardNumber').style.display = 'none';
            ElementId('lblNExpDate').style.display = 'none';
            ElementId('lblNSecCode').style.display = 'none';
        }
        if (ElementId('lblCSC'))
            ElementId('lblCSC').innerHTML = Element('hdnCSC').value;         
        if (ElementId('lblExpDate'))
            ElementId('lblExpDate').innerHTML = Element('hdnExpDate').value;
                   
        ElementId('lblShippingZip').style.display = 'none';
        ElementId('lblShipUSPSService').style.display = 'none';
        ElementId('lblShipFedexService').style.display = 'none';
        ElementId('lblShipmethod').style.display = 'none';        
        
        ElementId('lblBillFirstName').style.display = 'none';
        ElementId('lblBillLastName').style.display = 'none';
        ElementId('lblBillAddress').style.display = 'none';
        ElementId('lblBillAddress2').style.display = 'none';
        ElementId('lblBillCity').style.display = 'none';
        ElementId('lblBillState').style.display = 'none';
        ElementId('lblBillZip').style.display = 'none';

        ElementId('lblShipFirstName').style.display = 'none';
        ElementId('lblShipLastName').style.display = 'none';
        ElementId('lblShipAddr').style.display = 'none';
        ElementId('lblShipAddr2').style.display = 'none';
        ElementId('lblShipCity').style.display = 'none';
        ElementId('lblShipState').style.display = 'none';
        ElementId('lblShipZip').style.display = 'none';
        document.getElementById("btnback").setAttribute("href", "javascript:goback();");
        ElementId("Img2").style.display = 'none';
        ElementId("Img3").style.display = '';
    }
    window.scroll(0,0);
}
function goback1() {
    changedisplayonly(false)
}
function submitcheckoutform1() {
    var lobjhdn = Element("hdnaction");
    lobjhdn.value = '';
    lobjhdn.value = 'process';
    document.forms[0].submit();
}
function validatectl(lname) {
    var lval = Element(lname).value;
    lval = lval.replace(/ /g, "");
    if (lval == '') return false
    return true;
}
