function setTab(tabName) {
    MM_showHideLayers('descriptionLayer', '', 'hide');
    MM_showHideLayers('infoLayer', '', 'hide');
    MM_showHideLayers('shippingLayer', '', 'hide');
    MM_showHideLayers(tabName, '', 'show');

    if (tabName == 'descriptionLayer') {
        MM_swapImage('descriptionImage', '', 'images/pronav/DescriptionOn.jpg');
    }
    else {
        MM_swapImage('descriptionImage', '', 'images/pronav/DescriptionOff.jpg');
    }
    if (tabName == 'infoLayer') {
        MM_swapImage('infoImage', '', 'images/pronav/FeaturesOn.jpg');
    }
    else {
        MM_swapImage('infoImage', '', 'images/pronav/FeaturesOff.jpg');
    }
    if (tabName == 'shippingLayer') {
        MM_swapImage('shippingImage', '', 'images/pronav/ShippingInfoOn.jpg');
    }
    else {
        MM_swapImage('shippingImage', '', 'images/pronav/ShippingInfoOff.jpg');
    }

}

//User scripts
function validateUser(frmEle) {
    if (frmEle.FirstName.value == "") {
        alert("You must enter a Firstname!");
        frmEle.FirstName.focus();
        return false;
    }
    if (frmEle.LastName.value == "") {
        alert("You must enter a Lastname!");
        frmEle.LastName.focus();
        return false;
    }
    if (frmEle.Address.value == "") {
        alert("You must enter a Address!");
        frmEle.Address.focus();
        return false;
    }
    if (frmEle.Email) {
        if (frmEle.Email.value == "") {
            alert("You must enter a Email!");
            frmEle.Email.focus();
            return false;
        }
        var exclude = /[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
        var check = /@[\w\-]+\./;
        var checkend = /\.[a-zA-Z]{2,4}$/;

        emailad = frmEle.Email.value;

        if (((emailad.search(exclude) != -1) || (emailad.search(check))
		== -1) || (emailad.search(checkend) == -1)) {
            alert("Incorrect email address!  Please ammend.");
            frmEle.Email.focus();
            return false;
        }
    }
    if (frmEle.City.value == "") {
        alert("You must enter a City!");
        frmEle.City.focus();
        return false;
    }
    if (frmEle.State) {
        if (frmEle.State.value == "" || frmEle.State.value == "0") {
            alert("You must enter a State!");
            frmEle.State.focus();
            return false;
        }
        if (frmEle.State.value == "AK" || frmEle.State.value == "HI") {
            frmEle.shipping.checked = true;
        }

    }
    if (frmEle.Zip.value == "") {
        alert("You must enter a Zip!");
        frmEle.Zip.focus();
        return false;
    }
    if (frmEle.Phone.value == "") {
        alert("You must enter a Phone Number!");
        frmEle.Phone.focus();
        return false;
    }
    if (frmEle.Password) {
        if (frmEle.Password.value == "") {
            alert("You must enter a Password!");
            frmEle.Password.focus();
            return false;
        }
        if (frmEle.Password.value != frmEle.Password2.value) {
            alert("Passwords do not match!");
            frmEle.Password.focus();
            return false;
        }
    }
}


// Added by Shekhar Dt. 20/Aug/2011 To validate test credit card expiry date 

function ValidateExpDate() {
    var selectedMonth = frmEle.expMonth.value;
    var selectedYear = frmEle.expYear.value;

    var currentDate = new Date();
    var ccExpYear = currentDate.getFullYear().toString().substring(0, 2) + selectedYear;
    var ccExpMonth = selectedMonth;

    var expDate = new Date();
    expDate.setFullYear(ccExpYear, ccExpMonth, 1);

    if (expDate < currentDate) {
        return false;
    }
    else {
        return true;
    }
}

// End by Shekhar

function validatePayment(frmEle) {
    //ValidateExpDate(); return false;
    var testCCStatus = $("#testCreditCardActive").val();
    var testCCNumber = $("#testCreditCardNumber").val();

    if (frmEle.measure_disclaimer.checked == false) {
        alert("Please select that you have reviewed the policy and disclaimer before you continue.");
        //alert("You must read the policy and disclaimer and agree to the terms!");
        frmEle.measure_disclaimer.focus();
        return false;
    }

    if (frmEle.PaymentType[0].checked) {//CreditCard
        if (frmEle.PaymentID.value == "0") {
            alert("Please select a credit card type.");
            frmEle.PaymentID.focus();
            return false;
        }
        if (frmEle.CardNumber.value == "") {
            alert("Please enter a credit card number.");
            frmEle.CardNumber.focus();
            return false;
        }
        // Credit Card Number Validation: AMEX, VISA, MasterCard 
        var type = "MasterCard";
        if (frmEle.PaymentID.value == "1") type = "MasterCard";
        if (frmEle.PaymentID.value == "2") type = "Visa";
        if (frmEle.PaymentID.value == "3") type = "Discover";
        if (frmEle.PaymentID.value == "4") type = "American Express";
        var num = frmEle.CardNumber.value;
        var dig1 = num.charAt(0);
        /*var dig2 = num.charAt(1); 
        var dig3 = num.charAt(2); 
        var dig4 = num.charAt(3); 
        var dig5 = num.charAt(4); 
        var dig6 = num.charAt(5); 
        var dig7 = num.charAt(6); 
        var dig8 = num.charAt(7); 
        var dig9 = num.charAt(8); 
        var dig10 = num.charAt(9); 
        var dig11 = num.charAt(10); 
        var dig12 = num.charAt(11); 
        var dig13 = num.charAt(12); 
        var dig14 = num.charAt(13); 
        var dig15 = num.charAt(14); 
        var dig16 = num.charAt(15); */
        

        if (testCCStatus == "true" && type != "Visa") {
            alert('Invalid credit card type! Please select Visa Card.');
            frmEle.PaymentID.focus();
            return false;
        }

        if (type == "American Express") {
            if ((dig1 != "3") || (num.length != 15)) {
                alert('Invalid credit card number! Please ensure you are using an American Express card or change the Type of Card.');
                frmEle.PaymentID.focus();
                return false;
            }
        }

        if (type == "Visa") {
            // Added by Shekhar Dt. 20/Aug/2011 To check test credit card validations as per settings
            if (testCCStatus == "true")
             {
               /* if (num != testCCNumber) {
                    alert('Invalid credit card number!');
                    frmEle.PaymentID.focus();
                    return false;
                }*/

                 if (!ValidateExpDate()) {
                    alert("Please select valid expiry date");
                    frmEle.expMonth.focus();
                    return false;
                }
            }
            // End by Shekhar

            else if ((dig1 != "4") || (num.length != 16)) {
                alert('Invalid credit card number! Please ensure you are using a Visa or change the Type of Card.');
                frmEle.PaymentID.focus();
                return false;
            }
        }

        if (type == "MasterCard") {
            if ((dig1 != 5) || (num.length != 16)) {
                alert('Invalid credit card number! Please ensure you are using a Mastercard or change the Type of Card.');
                frmEle.PaymentID.focus();
                return false;
            }
        }
        if (frmEle.Name.value == "") {
            alert("Please enter the name on the credit card.");
            frmEle.Name.focus();
            return false;
        }
        if (frmEle.Zip.value == "") {
            alert("Please enter your zip code.");
            frmEle.Zip.focus();
            return false;
        }
        if (frmEle.cvv2.value.length < 3) {

            alert("Please enter the CVV2 number on the credit card.");
            frmEle.cvv2.focus();
            return false;
        }

    }
    if (frmEle.PaymentType[2].checked) {//Alternative methods
        if (frmEle.Alternative.checked == false) {
            alert("Please select Call for Credit Card if you selected Alternative Payment Method!");
            //frmEle.frmEle.Alternative[0].focus();
            return false;
        }
    }
    MM_showHideLayers('PaymentDiv', '', 'show');
}

function validatePaymentMethod(clicked) {
    frmEle = document.shopcart;
    //REMOVE OPTIONS SELECTED	
    //if bill me later or credit card, remove alternative methods
    if ((frmEle.PaymentType[0].checked || frmEle.PaymentType[1].checked) && clicked != 'alternative') {
        frmEle.Alternative.checked = false;
    }
    //if an alternative method selected, check alternative payment type
    if (frmEle.Alternative.checked) {
        frmEle.PaymentType[2].checked = true;
    }

    //ENABLE-DISABLE OPTIONS
    if (frmEle.PaymentType[0].checked) {//credit card
        frmEle.PaymentID.disabled = false;
        frmEle.CardNumber.disabled = false;
        frmEle.expMonth.disabled = false;
        frmEle.expYear.disabled = false;
        frmEle.Name.disabled = false;
        frmEle.Address.disabled = false;
        frmEle.City.disabled = false;
        frmEle.State.disabled = false;
        frmEle.Zip.disabled = false;

        if (frmEle.c90days) frmEle.c90days.disabled = true;

        frmEle.Alternative.checked = false;
    }
    else if (frmEle.PaymentType[1].checked) {//BML
        frmEle.PaymentID.disabled = true;
        frmEle.CardNumber.disabled = true;
        frmEle.expMonth.disabled = true;
        frmEle.expYear.disabled = true;
        frmEle.Name.disabled = true;
        frmEle.Address.disabled = true;
        frmEle.City.disabled = true;
        frmEle.State.disabled = true;
        frmEle.Zip.disabled = true;

        if (frmEle.c90days) frmEle.c90days.disabled = false;

        frmEle.Alternative.checked = false;
    }
    else {//Alternative
        frmEle.PaymentID.disabled = true;
        frmEle.CardNumber.disabled = true;
        frmEle.expMonth.disabled = true;
        frmEle.expYear.disabled = true;
        frmEle.Name.disabled = true;
        frmEle.Address.disabled = true;
        frmEle.City.disabled = true;
        frmEle.State.disabled = true;
        frmEle.Zip.disabled = true;

        if (frmEle.c90days) frmEle.c90days.disabled = true;

        frmEle.Alternative.disabled = false;
        frmEle.Alternative.checked = true;
    }
}
function setPayment(theType) {

}
function validatePaypalCheckout(frmEle) {
    if (frmEle.measure_disclaimer.checked == false) {
        alert("You must read the policy and disclaimer and agree to the terms!");
        frmEle.measure_disclaimer.focus();
        return false;
    }

    MM_showHideLayers('PaymentDiv', '', 'show');
}
