var bmlpromodisabled;

function showhideattr(i) {

    $("#attr_" + i).toggle();
    $("#attrDetails_" + i).toggle();

    /*
    with (document) {
        var x = getElementById("attr." + i).style;
        x.display = (x.display == "none") ? "block" : "none";

        var y = getElementById("attrDetails." + i).style;
        y.display = (y.display == "none") ? "block" : "none";
    } */   
    
}

function showhideattr_base(i) {
    with (document) {
        var x = getElementById("attr_" + i).style;
        getElementById("showhide_" + i).src = (x.display == "none") ? "/template/default/images/cart/min.jpg" : "/template/default/images/cart/pls.jpg";
        x.display = (x.display == "none") ? "block" : "none";
    }
}

function formatcurr(x) {
    s = "" + x;
    i = s.indexOf("."); if (i == -1) s = s + ".00"; else if (i == s.length - 2) s = s + "0"; else if (i < s.length - 3) s = s.substr(0, i + 3);
    for (i = s.indexOf(".") - 3; i > 0; i -= 3) s = s.substring(0, i) + ',' + s.substr(i);
    return "$" + s;
}

var subtotal, taxsel, tax, ewrf, fuel;
function calctax() {
    try {
        with (document) {
            var sc = getElementById("shipcountry"), ss = getElementById("shipstate"), /*ssc = getElementById("shipstateCAN"),*//*er = getElementById("ewrfrow"), erprice = getElementById("ewrfrowprice");*/ ec = getElementById("ewrfcell");
            if (sc.value == "USA" && ss.value == "CA") { taxsel = tax; ec.innerHTML = formatcurr(ewrf); /*er.style.display = (ewrf == 0 ? "none" : "block");*/ } else { taxsel = 0; ec.innerHTML = "N/A"; /*er.style.display = "none";*/ }
            /*erprice.style.display = er.style.display;*/
            if (sc.value == "USA") { ss.style.display = "inline"; /*ssc.style.display = "none";*/ } else { ss.style.display = "none"; /*ssc.style.display = "inline";*/ }
        }
    } catch (e) { }
    document.getElementById("taxcell").innerHTML = formatcurr(taxsel);
    calctotal();
}

var shipchargesel, shipcharge = new Array();
function calcshipcharge() {
    with (document) {
        var sel = getElementById("shipmethod").selectedIndex;
        shipchargesel = shipcharge[sel];
        getElementById("shipchargecell").innerHTML = formatcurr(shipchargesel);
        if (fuel != -1) {
            getElementById("fuelcell").innerHTML = (sel >= 1 && sel <= 5) ? formatcurr(fuel) : formatcurr(0);
        }
        calctotal();
    }
}

function calctotal() {
    var total = subtotal + taxsel + shipchargesel;
    with (document) {
        if (getElementById("shipcountry").value == "USA" && getElementById("shipstate").value == "CA") total += ewrf;
        if (fuel != -1) {
            var sel = getElementById("shipmethod").selectedIndex;
            if (sel >= 1 && sel <= 5) total += fuel;
        }
        getElementById("totalcell").innerHTML = formatcurr(total);
    }
}

function delitem(i) {
    with (document) {
        getElementById("qty." + i).value = 0;
        frmCart.submit();
    }
}

function init() {
    with (document.checkout) {
        if (ft.value == "sb") { chkshipmethod(); chkpaymentmethod(); chkamex(); shipfirstname.select(); shipfirstname.focus(); }
        else if (ft.value == "ai") { sales.select(); sales.focus(); }
        //else if (ft.value == "oc") { placeorder.focus(); }
    }
}

function copyship() {
    with (document.checkout) {
        if (!shipeqbill.checked) {
            billfirstname.select(); billfirstname.focus();
        } else {
            billfirstname.value = shipfirstname.value;
            billlastname.value = shiplastname.value;
            billaddr1.value = shipaddr1.value;
            billaddr2.value = shipaddr2.value;
            billcity.value = shipcity.value;
            billstate.value = shipstate.value;
            billzip.value = shipzip.value;
            billphone_code.value = shipphone_code.value;
            billphone_prefix.value = shipphone_prefix.value;
            billphone_suffix.value = shipphone_suffix.value;
            billphone_ext.value = shipphone_ext.value;
        }
    }
}

function chkshipmethod() {
    with (document.checkout) {
        if (shipstate.value == "AP" || shipstate.value == "AE" || shipstate.value == "AA") {
            shipmethod1.disabled = true; shipmethod2.disabled = true; shipmethod3.disabled = true; shipmethod4.disabled = true; shipmethod5.checked = true; shipmethod5.disabled = false; shipmethod6.disabled = true;
        } else if (shipstate.value == "AK" || shipstate.value == "HI") {
            shipmethod1.disabled = true; shipmethod2.disabled = true; shipmethod3.checked = true; shipmethod3.disabled = false; shipmethod4.disabled = false; shipmethod5.disabled = true; shipmethod6.disabled = true;
        } else {
            /*shipmethod1.checked = true;*/shipmethod1.disabled = false; shipmethod2.disabled = false; shipmethod3.disabled = false; shipmethod4.disabled = false; shipmethod5.disabled = true; shipmethod6.disabled = (shipstate.value != "CA");
        }
        document.getElementById("ak_hi").style.display = (shipstate.value == "AK" || shipstate.value == "HI") ? "inline" : "none";
        document.getElementById("tax").style.display = (shipstate.value == "CA") ? "inline" : "none";
    }
}

function chkpaymentmethod() {
    with (document) {
        if (getElementById("paymethod_bml").checked) {
            getElementById("bmlpromo").disabled = bmlpromodisabled;
            getElementById("ccname").disabled = getElementById("ccnum1").disabled = getElementById("ccnum2").disabled = getElementById("ccnum3").disabled = getElementById("ccnum4").disabled =
			getElementById("ccmonth").disabled = getElementById("ccyear").disabled = getElementById("vcode").disabled = true;
        } else if (getElementById("paymethod_ebm") && getElementById("paymethod_ebm").checked) {
            getElementById("bmlpromo").disabled = true;
            getElementById("ccname").disabled = getElementById("ccnum1").disabled = getElementById("ccnum2").disabled = getElementById("ccnum3").disabled = getElementById("ccnum4").disabled =
			getElementById("ccmonth").disabled = getElementById("ccyear").disabled = getElementById("vcode").disabled = true;
        } else if (getElementById("paymethod_cc").checked) {
            getElementById("bmlpromo").disabled = true;
            getElementById("ccname").disabled = getElementById("ccnum1").disabled = getElementById("ccnum2").disabled = getElementById("ccnum3").disabled = getElementById("ccnum4").disabled =
			getElementById("ccmonth").disabled = getElementById("ccyear").disabled = getElementById("vcode").disabled = false;
        }
    }
}

function chkamex() {
    with (document.checkout) {
        var isamex = (ccname.value == 'AMEX');
        ccnum2.maxLength = ccnum2.size = (isamex ? 6 : 4);
        ccnum3.maxLength = ccnum3.size = (isamex ? 5 : 4);
        document.getElementById('cclastdigits').style.display = (isamex ? 'none' : 'inline');
    }
}

function trim(s) {
    return s.replace(/^\s*|\s*$/g, "");
}

function checkshippingbillinginfo() {
    with (document.checkout) {
        if (trim(shipfirstname.value) == "") { alert("SHIP TO:\nPlease enter the first name."); shipfirstname.focus(); return false; }
        if (trim(shiplastname.value) == "") { alert("SHIP TO:\nPlease enter the last name."); shiplastname.focus(); return false; }
        if (trim(shipaddr1.value) == "") { alert("SHIP TO:\nPlease enter the address."); shipaddr1.focus(); return false; }
        if (trim(shipcity.value) == "") { alert("SHIP TO:\nPlease enter the city."); shipcity.focus(); return false; }
        if (shipstate.value == "") { alert("SHIP TO:\nPlease select the state."); shipstate.focus(); return false; }
        if (trim(shipzip.value) == "") { alert("SHIP TO:\nPlease enter the ZIP code."); shipzip.focus(); return false; }
        //if (shipphone.value == "") { alert("SHIP TO:\nPlease enter the phone."); shipphone.focus(); return false; }
        if (trim(shipphone_code.value + shipphone_prefix.value + shipphone_suffix.value + shipphone_ext.value) != "") {
            if (trim(shipphone_code.value).length != 3 || trim(shipphone_prefix.value).length != 3 || trim(shipphone_suffix.value).length != 4) { alert("SHIP TO:\nPlease check the phone."); shipphone_code.focus(); return false; }
        }
        if (!(shipmethod1.checked || shipmethod2.checked || shipmethod3.checked || shipmethod4.checked || shipmethod5.checked || shipmethod6.checked)) { alert("SHIP TO:\nPlease select a shipping method."); shipmethod1.focus(); return false; }
        if (shipmethod5.checked && !(shipstate.value == "AP" || shipstate.value == "AE" || shipstate.value == "AA")) { alert("SHIP TO:\nAPO Priority Mail is available for APO only."); shipmethod5.focus(); return false; }
        if (shipmethod6.checked && shipstate.value != "CA") { alert("SHIP TO:\nPick up is available for CA residents only."); shipmethod6.focus(); return false; }

        if (!shipeqbill.checked) {
            if (trim(billfirstname.value) == "") { alert("BILL TO:\nPlease enter the first name."); billfirstname.focus(); return false; }
            if (trim(billlastname.value) == "") { alert("BILL TO:\nPlease enter the last name."); billlastname.focus(); return false; }
            if (trim(billaddr1.value) == "") { alert("BILL TO:\nPlease enter the address."); billaddr1.focus(); return false; }
            if (trim(billcity.value) == "") { alert("BILL TO:\nPlease enter the city."); billcity.focus(); return false; }
            if (billstate.value == "") { alert("BILL TO:\nPlease select the state."); billstate.focus(); return false; }
            if (trim(billzip.value) == "") { alert("BILL TO:\nPlease enter the ZIP code."); billzip.focus(); return false; }
            //if (billphone.value == "") { alert("BILL TO:\nPlease enter the phone."); billphone.focus(); return false; }
            if (trim(billphone_code.value + billphone_prefix.value + billphone_suffix.value + billphone_ext.value) == "") { alert("BILL TO:\nPlease enter the phone."); billphone_code.focus(); return false; }
            else if (trim(billphone_code.value).length != 3 || trim(billphone_prefix.value).length != 3 || trim(billphone_suffix.value).length != 4) { alert("BILL TO:\nPlease check the phone."); billphone_code.focus(); return false; }
        }

        // 5/18/2006 10:24:01 AM -- fax is no longer required
        //if (!shipeqbill.checked && (fax_code.value + fax_prefix.value + fax_suffix.value == "")) { alert("BILL TO:\nPlease enter the fax number."); fax_code.focus(); return false; }
        if (trim(fax_code.value + fax_prefix.value + fax_suffix.value) != "") {
            if (trim(fax_code.value).length != 3 || trim(fax_prefix.value).length != 3 || trim(fax_suffix.value).length != 4) { alert("BILL TO:\nPlease check the fax number."); fax_code.focus(); return false; }
        }

        e = trim(email.value).toLowerCase();
        if (e == "") { alert("BILL TO:\nPlease enter the e-mail address."); email.focus(); return false; }
        if (e.indexOf(" ") > -1 || e.indexOf("@") == -1 || e.indexOf(".") == -1 || e.length < 7) { alert("BILL TO:\nPlease check the e-mail address."); email.focus(); return false; }
        d = "/.com/.edu/.aero/.int/.name/.org/.gov/.coop/.biz/.museum/.net/.mil/.pro/.info/.us/.fr/.tv/.uk/.jp/.cc/.ca/.it/.fm/.es/.sp/.mx/";
        if (d.indexOf("/" + e.substr(e.lastIndexOf(".")) + "/") == -1) { alert("BILL TO:\nThe domain name of your e-mail address is not approved.\nPlease supply a different address."); email.focus(); return false; }

        if (paymethod_bml.checked) {
            // ...check bml promo...
        } else if (document.getElementById("paymethod_ebm") && document.getElementById("paymethod_ebm").checked) {
            // no additional checking
        } else if (paymethod_cc.checked) {
            if (ccname.value == "") { alert("PAYMENT METHOD:\nPlease select the credit card."); ccname.focus(); return false; }
            if (trim(ccnum1.value) == "" || trim(ccnum2.value) == "" || trim(ccnum3.value) == "" /*|| trim(ccnum4.value) == ""*/) { alert("PAYMENT METHOD:\nPlease enter the credit card number."); ccnum1.focus(); return false; }
            n = trim(ccnum1.value) + trim(ccnum2.value) + trim(ccnum3.value) + trim(ccnum4.value);
            if (ccname.value == "AMEX" && !(n.length == 15 && n.charAt(0) == "3")) { alert("PAYMENT METHOD:\nPlease check the credit card number."); ccnum1.focus(); return false; }
            if (ccname.value == "DISCOVER" && !(n.length == 16 && n.charAt(0) == "6")) { alert("PAYMENT METHOD:\nPlease check the credit card number."); ccnum1.focus(); return false; }
            if (ccname.value == "MASTERCARD" && !(n.length == 16 && n.charAt(0) == "5")) { alert("PAYMENT METHOD:\nPlease check the credit card number."); ccnum1.focus(); return false; }
            if (ccname.value == "VISA" && !(n.length == 16 && n.charAt(0) == "4")) { alert("PAYMENT METHOD:\nPlease check the credit card number."); ccnum1.focus(); return false; }
            if (ccmonth.value == "") { alert("PAYMENT METHOD:\nPlease select the expiration month."); ccmonth.focus(); return false; }
            if (ccyear.value == "") { alert("PAYMENT METHOD:\nPlease select the expiration year."); ccyear.focus(); return false; }
            //...check expiration...
            n = trim(vcode.value);
            if (!(n.length == 3 || n.length == 4)) { alert("PAYMENT METHOD:\nPlease enter/check the VCode."); vcode.focus(); return false; }
        } else {
            alert("PAYMENT METHOD:\nPlease select a payment method."); paymethod_bml.focus(); return false;
        }
    }
    return true;
}

function checkshippingbillinginfo_CAN() {
    with (document.checkout) {
        if (shipname.value == "") { alert("SHIP & BILL TO:\nPlease enter the full name."); shipname.focus(); return false; }
        if (shipaddr1.value == "") { alert("SHIP & BILL TO:\nPlease enter the address."); shipaddr1.focus(); return false; }
        if (shipcity.value == "") { alert("SHIP & BILL TO:\nPlease enter the city."); shipcity.focus(); return false; }
        if (shipstate.value == "__") { alert("SHIP & BILL TO:\nPlease select the province."); shipstate.focus(); return false; }
        if (shipzip.value == "") { alert("SHIP & BILL TO:\nPlease enter the postal code."); shipzip.focus(); return false; }
        else if (shipzip.value.length < 6 || shipzip.value.length > 7) { alert("SHIP & BILL TO:\nPlease check the postal code."); shipzip.focus(); return false; }
        else if (shipzip.value.length == 6) { z = shipzip.value; shipzip.value = z.substr(0, 3) + " " + z.substr(3, 3); }
        if (shipphone_code.value + shipphone_prefix.value + shipphone_suffix.value + shipphone_ext.value == "") { alert("SHIP & BILL TO:\nPlease enter the phone."); shipphone_code.focus(); return false; }
        else if (shipphone_code.value.length != 3 || shipphone_prefix.value.length != 3 || shipphone_suffix.value.length != 4) { alert("SHIP & BILL TO:\nPlease check the phone."); shipphone_code.focus(); return false; }
    }
    return true;
}

function checkbmlform() {
    with (document.checkout) {
        if (bdmonth.value == "" || bdday.value == "" || bdyear.value == "") { alert("Please enter the correct Date of Birth."); bdmonth.focus(); return false; }
        if (ssn.value == "" || ssn.value.length < 4) { alert("Please enter the correct Social Security Number."); ssn.focus(); return false; }
        if (!consent.checked) { alert("Please specify if you agree to have the Terms and Conditions presented electronically."); consent.focus(); return false; }
    }
    return true;
}

function checkadditionalinfo() {
    with (document.checkout) {
        if (!(referral1.checked || referral2.checked || referral3.checked || referral4.checked || referral5.checked ||
			referral6.checked || referral7.checked || referral8.checked || referral9.checked || referral10.checked ||
			referral11.checked || referral12.checked || referral13.checked ||
			referral30.checked || referral31.checked || referral32.checked || referral33.checked || referral34.checked ||
			referral35.checked || referral36.checked || referral37.checked || referral38.checked || referral39.checked ||
			referral40.checked || referral41.checked || referral42.checked || referral43.checked || referral44.checked ||
			referral45.checked || referral46.checked || referral47.checked ||
			referral50.checked || referral51.checked || referral52.checked ||
			referral100.checked)) { alert("REFERENCE:\nPlease select the source."); referral1.focus(); return false; }
        if (referral100.checked && referral_other.value == "") { alert("REFERENCE:\nPlease enter the source."); referral_other.focus(); return false; }

        if (comment.value.length > 500) { alert("COMMENTS:\nPlease enter max. 500 characters."); comment.focus(); return false; }
    }
    return true;
}

function confirmorder() {
    with (document.checkout) {
        if (!(acceptwarranty.checked)) { alert("WARRANTY INFORMATION:\nPlease check the box underneath our warranty information order to continue."); acceptwarranty.focus(); return false; }
        cancel.disabled = true;
        placeorder.disabled = true; placeorder.value = "Please wait...";
    }
}



function openwin(x) {
    window.open(x, "bigpic", "width=640, height=480, resizable=yes, scrollbars=yes").focus();
}

window.onload = function() {

    if (self.myonload) myonload();
}
