﻿function get($id) 
{ 
	return document.getElementById($id);
}

//cost of each labour item

var Plist, cableObject, labourObject, taxesObject, currDiscounts;
var loadedItems = new Array();
var currItems, currItemsByType, currDesc;
var currDropDown, currFullDesc = "";
var safeClick;
var currScreens, currAudios, currMounts, currRemotes, currAddons;
var currScreen, currAudio, currMount, defaultMount, currRemote, currAddon1, currAddon2, currAddon3 = Array();
var totalLabour, labourCalc, priceCable, cableCalc, priceLabour, labourCalc, regPrice, discount, packPrice, savings, totalTaxes, grandTotal, using;
priceScreen = 0;

$(document).ready(function() {
    $.ajax({
        type: "POST",
        url: "../WebServices/Packages.asmx/GetCable",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function(xhr, textStatus, errorThrown) {
            alert("There was an error with the database");
        },
        success: function(data) {
            cableObject = data;
        }
    });
    $.ajax({
        type: "POST",
        url: "../WebServices/Packages.asmx/GetLabour",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function(xhr, textStatus, errorThrown) {
            alert("There was an error with the database");
        },
        success: function(data) {
            labourObject = data;
        }
    });
    $.ajax({
        type: "POST",
        url: "../WebServices/Packages.asmx/GetTaxes",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function(xhr, textStatus, errorThrown) {
            alert("There was an error with the database");
        },
        success: function(data) {
            taxesObject = data;
        }
    });
    $.ajax({
    type: "POST",
    url: "WebServices/Packages.asmx/GetPackages",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    error: function(xhr, textStatus, errorThrown){
    alert("There was an error with the database");
    },
    success: function(data) {
        gotPackages(data);
    }
    });
});

    function gotPackages(data) {
        Plist = data;
        text = "";
        loadedItems = new Array(Plist.length);
        for (var i = 0; i < Plist.length; i++) {
            //alert(i + " " + Plist[i]["PackageName"]);
            text = text + "<div class=\"packages_drop_down_item\" onclick=\"changePackage('" + i + "')\" id=\"" + Plist[i]["ID"] + "\">" + Plist[i]["PackageName"] + "</div>";
            //loadedItems[Plist[i]["PackageName"]] = "test" + i;
        }
        document.getElementById("packages_drop_down").innerHTML = text;
        get("current_package").onclick = function() { testDropDown("package") }
    }

    function testDropDown($type, $dest) {
        tempDropDown = "";
        if (currDropDown != "") {
            tempDropDown = currDropDown;
            $("#" + currDropDown).removeClass("show").addClass("hide");
            currDropDown = "";
        }
        //alert($type);
        if ($type == "package") {
            //alert("here");
            togglePackageDropDown();
            safeClick = true;
        }
        if ($type == "item" && tempDropDown != $dest + "_list") {
            toggleItemDropDown($dest);
            safeClick = true;
        }
            if (currFullDesc != "") {
                hideDesc(currFullDesc.replace("Desc", ""));
            }
            hideDesc("Labour");
            hideDesc("Cable");
            hideDesc("Taxes");
                
    }
    function bodyClick() {
        if (safeClick == false) {
            testDropDown();
        }
        safeClick = false;
    }

    function togglePackageDropDown() {
        if (currFullDesc != "") {
            hideDesc(currFullDesc.replace("Desc", ""));
        }
        if (get("packages_drop_down").className == "show")
        {
            get("packages_drop_down").className = "hide";
            currDropDown = "";
        }
        else
        {
            get("packages_drop_down").className = "show";
            currDropDown = "packages_drop_down";
        }

    }
    function toggleItemDropDown(type) {
        if (currFullDesc != "") {
            hideDesc(currFullDesc.replace("Desc", ""));
        }
        if (currItems != null) {
            if (get(type + "_list").className == "item_drop_down show") {
                get(type + "_list").className = "item_drop_down hide";
                currDropDown = "";
            }
            else {
                get(type + "_list").className = "item_drop_down show";
                currDropDown = type + "_list";
            }
        }
    }

    function changePackage(P) {
        get("current_package").innerHTML = Plist[P]["PackageName"];
        togglePackageDropDown()

        if (loadedItems[P]) {
            swapItems(P);
        }
        else {
            loadItems(P);
        }
    }

    function loadItems(P) {
        $.ajax({
            type: "POST",
            url: "WebServices/Packages.asmx/GetItemsByPackage",
            data: "{'packageID': " + Plist[P]["ID"] + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            error: function(xhr, textStatus, errorThrown) {
                alert("There was an error with the database");
            },
            success: function(data) {
                loadedItems[P] = data;
                swapItems(P);
            }
        });
        
    }

    function swapItems(P) {
        get("current_labour").innerHTML = labourObject["Description"];
        get("labour_list").innerHTML = "";
        get("labour_list").innerHTML = get("labour_list").innerHTML + "<div class=\"item_drop_down_item\" onclick=\"swapObject('Labour','none')\">None</div>";
        get("labour_list").innerHTML = get("labour_list").innerHTML + "<div class=\"item_drop_down_item\" onclick=\"swapObject('Labour','delivery')\">Delivery Only</div>";
        get("labour_list").innerHTML = get("labour_list").innerHTML + "<div class=\"item_drop_down_item\" onclick=\"swapObject('Labour','full')\">" + labourObject["Description"] + "</div>";
        
        labourCalc = "full"

        get("current_cable").innerHTML = cableObject["Description"];
        get("cable_list").innerHTML = "";
        get("cable_list").innerHTML = get("cable_list").innerHTML + "<div class=\"item_drop_down_item\" onclick=\"swapObject('Cable','none')\">None</div>";
        get("cable_list").innerHTML = get("cable_list").innerHTML + "<div class=\"item_drop_down_item\" onclick=\"swapObject('Cable','full')\">" + cableObject["Description"] + "</div>";

        cableCalc = "full";

        currDiscounts = Array(Array(Plist[P]["Discount1Level"], Plist[P]["Discount1Percent"]), Array(Plist[P]["Discount2Level"], Plist[P]["Discount2Percent"]), Array(Plist[P]["Discount3Level"], Plist[P]["Discount3Percent"]));
    
        currItems = loadedItems[P]
        currItemsByType = new Array([], [], [], [], [], []);
        for (var x = 0; x < currItems.length; x++) {
            currItemsByType[currItems[x]["ItemType"]].push(currItems[x]);
        }
        currScreens = currItemsByType[1];
        currScreen = Array();
        $txt = "";
        get("current_screen").innerHTML = "";
        get("screen_price").innerHTML = "-";
        for (var x = 0; x < currScreens.length; x++) {
            $txt = $txt + "<div class=\"item_drop_down_item\" onclick=\"swapItem('Screen'," + [x] + ")\">" + currScreens[x]["ItemName"] + "</div>";
            if (currScreens[x]["ID"] == Plist[P]["DefaultScreen"]) {
                currScreen = currScreens[x];
                get("current_screen").innerHTML = currScreens[x]["ItemName"]
                get("screen_price").innerHTML = currScreens[x]["Retail"];            
            }
        }
        get("screen_list").innerHTML = $txt;

        currAudios = currItemsByType[2];
        currAudio = Array();
        $txt = "<div class=\"item_drop_down_item\" onclick=\"swapItem('Audio',-1)\">No Audio</div>";
        get("current_audio").innerHTML = "";
        get("audio_price").innerHTML = "-";
        for (var x = 0; x < currAudios.length; x++) {
            $txt = $txt + "<div class=\"item_drop_down_item\" onclick=\"swapItem('Audio'," + [x] + ");getMounts()\">" + currAudios[x]["ItemName"] + "</div>";
            if (currAudios[x]["ID"] == Plist[P]["DefaultAudio"]) {
                currAudio = currAudios[x];
                get("current_audio").innerHTML = currAudios[x]["ItemName"]
                get("audio_price").innerHTML = currAudios[x]["Retail"];
            }
        }
        get("audio_list").innerHTML = $txt;

        currMounts = currItemsByType[3];
        currMount = Array();
        $txt = "<div class=\"item_drop_down_item\" onclick=\"swapItem('Mount',-1)\">Table Top</div>";
        get("current_mount").innerHTML = "Table Top";
        get("mount_price").innerHTML = "-";
        for (var x = 0; x < currMounts.length; x++) {
            if (currScreen["ScreenSize"] >= currMounts[x]["MinScreenSize"] && currScreen["ScreenSize"] <= currMounts[x]["MaxScreenSize"]) {
                $txt = $txt + "<div class=\"item_drop_down_item\" onclick=\"swapItem('Mount'," + [x] + ")\">" + currMounts[x]["ItemName"] + "</div>";
                if (currMounts[x]["ID"] == Plist[P]["DefaultMount"]) {
                    currMount = currMounts[x];
                    defaultMount = currMounts[x];
                    get("current_mount").innerHTML = currMounts[x]["ItemName"]
                    get("mount_price").innerHTML = currMounts[x]["Retail"];
                }
            }
        }
        get("mount_list").innerHTML = $txt;

        currRemotes = currItemsByType[4];
        currRemote = Array();
        $txt = "<div class=\"item_drop_down_item\" onclick=\"swapItem('Remote',-1)\">Standard Remote</div>";
        get("current_remote").innerHTML = "Standard Remote";
        get("remote_price").innerHTML = "0";
        for (var x = 0; x < currRemotes.length; x++) {
            $txt = $txt + "<div class=\"item_drop_down_item\" onclick=\"swapItem('Remote'," + [x] + ")\">" + currRemotes[x]["ItemName"] + "</div>";
            if (currRemotes[x]["ID"] == Plist[P]["DefaultRemote"]) {
                currRemote = currRemotes[x];
                get("current_remote").innerHTML = currRemotes[x]["ItemName"]
                if (currRemotes[x]["Retail"] > 0) {
                    get("remote_price").innerHTML = currRemotes[x]["Retail"];
                }
            }
        }
        get("remote_list").innerHTML = $txt;

        currAddons = currItemsByType[5];
        packageAddons = Plist[P]["DefaultAddons"].split(",");
        for (var y = 1; y <= 3; y++) {
            window["currAddon" + y] = Array();
            $txt = "<div class=\"item_drop_down_item\" onclick=\"swapItem('Addon"+y+"',-1)\">No Add-on</div>";
            get("current_addon"+y).innerHTML = "No Addon";
            get("addon" + y + "_price").innerHTML = "-";
            for (var x = 0; x < currAddons.length; x++) {
                $txt = $txt + "<div class=\"item_drop_down_item\" onclick=\"swapItem('Addon" + y + "'," + [x] + ")\">" + currAddons[x]["ItemName"] + "</div>";
                if (packageAddons[y] && currAddons[x]["ID"] == packageAddons[y]) {
                    window["currAddon" + y] = currAddons[x];
                    get("current_addon"+y).innerHTML = currAddons[x]["ItemName"]
                    if (window["currAddon" + y]["Retail"] > 0) {
                        get("addon" + y + "_price").innerHTML = window["currAddon" + y]["Retail"];
                    }
                }
            }
            get("addon" + y + "_list").innerHTML = $txt;
        }
        
        calcPrice();
    }

    function swapItem(Itype, ID) {
        itype = Itype.toLowerCase();
        get("current_" + itype).innerHTML = "";
        window["curr" + Itype] = Array();
        if (Itype == "Audio") {
            get("current_" + itype).innerHTML = "No Audio";
        }
        if (Itype == "Mount") {
            get("current_" + itype).innerHTML = "Table Top";
        }
        if (Itype == "Remote") {
            get("current_" + itype).innerHTML = "Standard Remote";
        }
        if (Itype.replace(/[0-9]/g, '') == "Addon") {
            get("current_" + itype).innerHTML = "No Addon";
        }   
        get(itype + "_price").innerHTML = "-";
        if (ID >= 0) {
            window["curr" + Itype] = window["curr" + Itype.replace(/[0-9]/g, '') + "s"][ID];
            get("current_" + itype).innerHTML = window["curr" + Itype]["ItemName"]

            get(itype + "_price").innerHTML = window["curr" + Itype]["Retail"];
        }
        if (Itype == "Screen") {
            getMounts()
        }
        else {
            calcPrice();
        }
    }

    function swapObject(target, value) {
        if (target == "Labour") {
            if (value == "full") {
                txt = labourObject["Description"];
            }
            if (value == "delivery") {
                txt = "Delivery Only";
            }
            if (value == "none") {
                txt = "No Installation or Delivery";
            }
            get("current_labour").innerHTML = txt;
            labourCalc = value;
        }
        if (target == "Cable") {
            if (value == "full") {
                txt = cableObject["Description"];
            }
            if (value == "none") {
                txt = "No Cables";
            }
            get("current_cable").innerHTML = txt;
            cableCalc = value;
        }
        calcPrice();
    }
    
    function getMounts(){
        $txt = "<div class=\"item_drop_down_item\" onclick=\"swapItem('Mount',-1)\">Table Top</div>";
        get("current_mount").innerHTML = "Table Top";
        get("mount_price").innerHTML = "-";
        useCurrMount = false;
        useDefaultMount = false;
        for (var x = 0; x < currMounts.length; x++) {
            if (currScreen["ScreenSize"] >= currMounts[x]["MinScreenSize"] && currScreen["ScreenSize"] <= currMounts[x]["MaxScreenSize"]) {
                $txt = $txt + "<div class=\"item_drop_down_item\" onclick=\"swapItem('Mount'," + [x] + ")\">" + currMounts[x]["ItemName"] + "</div>";
                if (currMount["ID"] == currMounts[x]["ID"]){
                    useCurrMount = true;
                }
                if (defaultMount) {
                    if (currMounts[x]["ID"] == defaultMount["ID"]) {
                        useDefaultMount = true;
                    }
                }
            }
        }
        if (currMount.length == 0) {
            currMount = Array();        
        }
        else if (useCurrMount == true) {
            get("current_mount").innerHTML = currMount["ItemName"]
            get("mount_price").innerHTML = currMount["Retail"];
        } else if (useDefaultMount == true) {
            currMount = defaultMount;
            get("current_mount").innerHTML = currMount["ItemName"]
            get("mount_price").innerHTML = currMount["Retail"];
        } 
        get("mount_list").innerHTML = $txt;
        calcPrice();
    }

    function calcPrice() {

        /* calculates and displays labour */
        totalLabour = 0;
        priceLabour = 0;
        if (labourCalc == "full") {
        totalLabour = myParseFloat(currScreen["Labour"]) + myParseFloat(currAudio["Labour"]) + myParseFloat(currMount["Labour"]) + myParseFloat(currRemote["Labour"]) + myParseFloat(currAddon1["Labour"]) + myParseFloat(currAddon2["Labour"]) + myParseFloat(currAddon3["Labour"]);
        priceLabour = Math.ceil(totalLabour * labourObject["Retail"]);
            priceLabour = priceLabour + myParseFloat(labourObject["DeliveryFee"]);
        }
        if (labourCalc == "delivery") {
            priceLabour = myParseFloat(labourObject["DeliveryFee"]);
        }
        get("labour_price").innerHTML = priceLabour;

        /* calculates and displays cable */
        priceCable = 0;
        if (cableCalc == "full") {
            if (currScreen["Cable"] == 1) {
                priceCable = priceCable + myParseFloat(cableObject["ScreenCable"]);
            }
            if (currAudio["Cable"] == 1) {
                priceCable = priceCable + myParseFloat(cableObject["AudioCable"]);
            }
            if (currMount["Cable"] == 1) {
                priceCable = priceCable + myParseFloat(cableObject["MountCable"]);
            }
            if (currRemote["Cable"] == 1) {
                priceCable = priceCable + myParseFloat(cableObject["RemoteCable"]);
            }
            if (currAddon1["Cable"] == 1) {
                priceCable = priceCable + myParseFloat(cableObject["AddonsCable"]);
            }
            if (currAddon2["Cable"] == 1) {
                priceCable = priceCable + myParseFloat(cableObject["AddonsCable"]);
            }
            if (currAddon3["Cable"] == 1) {
                priceCable = priceCable + myParseFloat(cableObject["AddonsCable"]);
            }
        }
        get("cable_price").innerHTML = priceCable;

        regPrice = myParseFloat(currScreen["Retail"]) + myParseFloat(currAudio["Retail"]) + myParseFloat(currMount["Retail"]) + myParseFloat(currRemote["Retail"]) + myParseFloat(currAddon1["Retail"]) + myParseFloat(currAddon2["Retail"]) + myParseFloat(currAddon3["Retail"]) + priceCable + priceLabour;
        get("reg_price").innerHTML = regPrice;

        totalSellPrice = myParseFloat(currScreen["SellPrice"]) + myParseFloat(currAudio["SellPrice"]) + myParseFloat(currMount["SellPrice"]) + myParseFloat(currRemote["SellPrice"]) + myParseFloat(currAddon1["SellPrice"]) + myParseFloat(currAddon2["SellPrice"]) + myParseFloat(currAddon3["SellPrice"]) + priceCable + priceLabour;
        sellDiscount = ((regPrice - totalSellPrice) / regPrice) * 100;

        usePackage = false;
        packageDiscount = 0;
        totalPackagePrice = 0;
        
        for (var i = 0; i < 3; i++)
        {
            if (regPrice > currDiscounts[i][0]) {
                usePackage = true;
                discountLevel = i;
                packageDiscount = myParseFloat(currDiscounts[i][1]);
                totalPackagePrice = Math.ceil(regPrice * ((100 - packageDiscount) / 100));
            }
        }
        discount = Math.round(sellDiscount);
        packPrice = totalSellPrice;
        using = "totalsellprice";
        if (totalPackagePrice < totalSellPrice && usePackage == true) {
            discount = packageDiscount;
            packPrice = totalPackagePrice;
            using = "totalpackageprice";
        }
        
        //alert("total sell price: " + totalSellPrice + "\nsell discount: " + sellDiscount +"\npackage discount: "+packageDiscount+"\npackage price : "+totalPackagePrice+"\nusing: "+using);
        get("discount_price").innerHTML = discount;
        savings = regPrice - packPrice;
        get("savings_price").innerHTML = savings;
        packPrice = regPrice - savings;
        get("package_price").innerHTML = packPrice;

        totalTaxes = 0;
        if (using == "totalsellprice") {
            totalTaxes = totalTaxes + (myParseFloat(currScreen["SellPrice"]) * (myParseFloat(taxesObject["ScreenTaxes"]) / 100))
            totalTaxes = totalTaxes + (myParseFloat(currAudio["SellPrice"]) * (myParseFloat(taxesObject["AudioTaxes"]) / 100))
            totalTaxes = totalTaxes + (myParseFloat(currMount["SellPrice"]) * (myParseFloat(taxesObject["MountTaxes"]) / 100))
            totalTaxes = totalTaxes + (myParseFloat(currRemote["SellPrice"]) * (myParseFloat(taxesObject["RemoteTaxes"]) / 100))
            totalTaxes = totalTaxes + (myParseFloat(currAddon1["SellPrice"]) * (myParseFloat(taxesObject["AddonsTaxes"]) / 100))
            totalTaxes = totalTaxes + (myParseFloat(currAddon2["SellPrice"]) * (myParseFloat(taxesObject["AddonsTaxes"]) / 100))
            totalTaxes = totalTaxes + (myParseFloat(currAddon3["SellPrice"]) * (myParseFloat(taxesObject["AddonsTaxes"]) / 100))
            totalTaxes = totalTaxes + (priceLabour * (myParseFloat(taxesObject["LabourTaxes"]) / 100))
            totalTaxes = totalTaxes + (priceCable * (myParseFloat(taxesObject["CableTaxes"]) / 100))
        } else {
            totalTaxes = totalTaxes + ((myParseFloat(currScreen["Retail"]) * ((100 - discount) / 100)) * (myParseFloat(taxesObject["ScreenTaxes"]) / 100))
            totalTaxes = totalTaxes + ((myParseFloat(currAudio["Retail"]) * ((100 - discount) / 100)) * (myParseFloat(taxesObject["AudioTaxes"]) / 100))
            totalTaxes = totalTaxes + ((myParseFloat(currMount["Retail"]) * ((100 - discount) / 100)) * (myParseFloat(taxesObject["MountTaxes"]) / 100))
            totalTaxes = totalTaxes + ((myParseFloat(currRemote["Retail"]) * ((100 - discount) / 100)) * (myParseFloat(taxesObject["RemoteTaxes"]) / 100))
            totalTaxes = totalTaxes + ((myParseFloat(currAddon1["Retail"]) * ((100 - discount) / 100)) * (myParseFloat(taxesObject["AddonsTaxes"]) / 100))
            totalTaxes = totalTaxes + ((myParseFloat(currAddon2["Retail"]) * ((100 - discount) / 100)) * (myParseFloat(taxesObject["AddonsTaxes"]) / 100))
            totalTaxes = totalTaxes + ((myParseFloat(currAddon3["Retail"]) * ((100 - discount) / 100)) * (myParseFloat(taxesObject["AddonsTaxes"]) / 100))
            totalTaxes = totalTaxes + ((priceLabour * ((100 - discount) / 100)) * (myParseFloat(taxesObject["LabourTaxes"]) / 100))
            totalTaxes = totalTaxes + ((priceCable * ((100 - discount) / 100)) * (myParseFloat(taxesObject["CableTaxes"]) / 100))
        }
        totalTaxes = (totalTaxes + myParseFloat(taxesObject["ScreenRecyclingFee"])).toFixed(2);
        get("taxes_div").innerHTML = totalTaxes;

        grandTotal = (packPrice + myParseFloat(totalTaxes)).toFixed(2);
        get("grand_total").innerHTML = grandTotal;

    }

    function showForm() {
        get("go_button").style.display = "none";
        get("bottom_form").style.display = "block";
    }

    function showForm2() {
        get("go_button2").style.display = "none";
        get("bottom_form2").style.display = "block";
    }

    function submitForm(usepackage) {
        form = document.forms["packages"]
        $errTxt = "";
        get("error").innerHTML = "";
		
		if(usepackage != 'false')
		{
        	if (!currScreen) {
    	        $errTxt = $errTxt + "A package must be selected<br/>"
	        }
		}
		
        if (form.elements["name"].value == "") {
            $errTxt = $errTxt + "Name is required<br/>"
        }
        if (form.elements["phone"].value == "") {
            $errTxt = $errTxt + "Phone is required<br/>"
        }
        if (form.elements["email"].value == "") {
            $errTxt = $errTxt + "Email is required<br/>"
        }
        if ($errTxt != "") {
            get("error").innerHTML = $errTxt;

        }
		else if (usepackage == 'false'){
			 form.submit();
		}
        else if (usepackage != 'false') {
            form.elements["screen"].value = get("current_screen").innerHTML
            form.elements["screenPriceUser"].value = "- $" + currScreen["Retail"]
            form.elements["audio"].value = get("current_audio").innerHTML
            if (currAudio["Retail"] != null) {
                form.elements["audioPriceUser"].value = "- $" + currAudio["Retail"]
            } else {
                form.elements["audioPriceUser"].value = "";
            }
            form.elements["mount"].value = get("current_mount").innerHTML
            if (currMount["Retail"] != null) {
                form.elements["mountPriceUser"].value = "- $" + currMount["Retail"]
            } else {
                form.elements["mountPriceUser"].value = "";
            }
            form.elements["labour"].value =  get("current_labour").innerHTML
            form.elements["labourPrice"].value = "- $" + priceLabour;
            form.elements["remote"].value = get("current_remote").innerHTML
            if (currRemote["Retail"] != null) {
                form.elements["remotePriceUser"].value = "- $" + currRemote["Retail"]
            } else {
                form.elements["remotePriceUser"].value = "";
            }
            form.elements["cable"].value = get("current_cable").innerHTML
            form.elements["cablePrice"].value = "- $" + priceCable
            form.elements["addon1"].value = get("current_addon1").innerHTML
            if (currAddon1["Retail"] != null) {
                form.elements["addon1PriceUser"].value = "- $" + currAddon1["Retail"]
            } else {
                form.elements["addon1PriceUser"].value = "";
            }
            form.elements["addon2"].value = get("current_addon2").innerHTML
            if (currAddon2["Retail"] != null) {
                form.elements["addon2PriceUser"].value = "- $" + currAddon2["Retail"]
            } else {
                form.elements["addon2PriceUser"].value = "";
            }
            form.elements["addon3"].value = get("current_addon3").innerHTML
            if (currAddon3["Retail"] != null) {
                form.elements["addon3PriceUser"].value = "- $" + currAddon3["Retail"]
            } else {
                form.elements["addon3PriceUser"].value = "";
            }
            form.elements["regularPrice"].value = regPrice
            form.elements["discount"].value = discount
            form.elements["packPrice"].value = packPrice
            form.elements["savings"].value = savings
            form.elements["taxes"].value = totalTaxes
            form.elements["grandTotal"].value = grandTotal
            $extra = "";
            if (using == "totalsellprice") {
                $extra = " - Sell Price: "
                form.elements["screenPrice"].value = "- $" + currScreen["Retail"] + $extra + currScreen["SellPrice"]
                if (currAudio["Retail"] != null) {
                    form.elements["audioPrice"].value = "- $" + currAudio["Retail"] + $extra + currAudio["SellPrice"]
                } else {
                    form.elements["audioPriceUser"].value = "";
                }
                if (currMount["Retail"] != null) {
                    form.elements["mountPrice"].value = "- $" + currMount["Retail"] + $extra + currMount["SellPrice"]
                } else {
                    form.elements["mountPrice"].value = "";
                }
                if (currRemote["Retail"] != null) {
                    form.elements["remotePrice"].value = "- $" + currRemote["Retail"] + $extra + currRemote["SellPrice"]
                } else {
                    form.elements["remotePrice"].value = "";
                }
                if (currAddon1["Retail"] != null) {
                    form.elements["addon1Price"].value = "- $" + currAddon1["Retail"] + $extra + currAddon1["SellPrice"]
                } else {
                    form.elements["addon1Price"].value = "";
                }
                if (currAddon2["Retail"] != null) {
                    form.elements["addon2Price"].value = "- $" + currAddon2["Retail"] + $extra + currAddon2["SellPrice"]
                } else {
                    form.elements["addon2Price"].value = "";
                }
                if (currAddon3["Retail"] != null) {
                    form.elements["addon3Price"].value = "- $" + currAddon3["Retail"] + $extra + currAddon3["SellPrice"]
                } else {
                    form.elements["addon2Price"].value = "";
                }
                form.elements["using"].value = "Sell Prices"
            } else {
            $extra = " - Package Discount: "
            form.elements["screenPrice"].value = "- $" + currScreen["Retail"] + $extra + Math.round((myParseFloat(currScreen["Retail"]) * (100 - (myParseFloat(discount) / 100))))
            if (currAudio["Retail"] != null) {
                form.elements["audioPrice"].value = "- $" + currAudio["Retail"] + $extra + Math.round((myParseFloat(currAudio["Retail"]) * (100 - (myParseFloat(discount) / 100))))
            } else {
                form.elements["audioPrice"].value = "";
            }
            if (currMount["Retail"] != null) {
                form.elements["mountPrice"].value = "- $" + currMount["Retail"] + $extra + Math.round((myParseFloat(currMount["Retail"]) * (100 - (myParseFloat(discount) / 100))))
            } else {
                form.elements["mountPrice"].value = "";
            }
            if (currRemote["Retail"] != null) {
                form.elements["remotePrice"].value = "- $" + currRemote["Retail"] + $extra + Math.round((myParseFloat(currRemote["Retail"]) * (100 - (myParseFloat(discount) / 100))))
            } else {
                form.elements["remotePrice"].value = "";
            }
            if (currAddon1["Retail"] != null) {
                form.elements["addon1Price"].value = "- $" + currAddon1["Retail"] + $extra + Math.round((myParseFloat(currAddon1["Retail"]) * (100 - (myParseFloat(discount) / 100))))
            } else {
                form.elements["addon1Price"].value = "";
            }
            if (currAddon2["Retail"] != null) {
                form.elements["addon2Price"].value = "- $" + currAddon2["Retail"] + $extra + Math.round((myParseFloat(currAddon2["Retail"]) * (100 - (myParseFloat(discount) / 100))))
            } else {
                form.elements["addon2Price"].value = "";
            }
            if (currAddon3["Retail"] != null) {
                form.elements["addon3Price"].value = "- $" + currAddon3["Retail"] + $extra + Math.round((myParseFloat(currAddon3["Retail"]) * (100 - (myParseFloat(discount) / 100))))
            } else {
                form.elements["addon3Price"].value = "";
            }
            form.elements["using"].value = "Package Discount"
            }
            
            form.submit();
        }
    }
    
    //allows parseFloat to accept a blank value and return 0 instead of NaN
    function myParseFloat($num){
        if ($num) {
            return parseFloat($num);
        } else {
            return 0;
        }
    }



    /* The Code for the show description section of the pages */

    function showDesc($type) {
        testDropDown();
        if (currFullDesc != "") {
            hideDesc(currFullDesc.replace("Desc",""));
        }
        currDesc = "desc";
        headerText = "";
        if (window["curr" + $type]) {
            if (window["curr" + $type]["LongDescription"] != null && window["curr" + $type]["LongDescription"] != "") {
                headerText = "<div class=\"descHeader current\" onclick=\"swapDesc('desc','" + $type + "')\">Description</div>";
                
                //description AND photos
                if (window["curr" + $type]["Photos"] != null) {
                    if (window["curr" + $type]["Photos"].length > 0) {
                        headerText = headerText + "<div class=\"descHeader\" onclick=\"swapDesc('photos','" + $type + "')\" >Photos</div>";
                    }
                }
                
                get($type + "Desc").innerHTML = "<div class=\"full_content\" onclick=\"descClick()\"><div class=\"close_full\"><img src=\"images/more_info_white.jpg\" onclick=\"hideDesc('" + $type + "')\" /></div><img id=\"close_x\" src=\"images/close_x.jpg\"  onclick=\"hideDesc('" + $type + "')\"><div id=\"descHeader\">"+ headerText+ "</div><div id=\"descBody\">" + window["curr" + $type]["LongDescription"] + "</div></div>"
                currFullDesc = $type + "Desc";
                safeClick = true;
            } else if (window["curr" + $type]["Photos"] != null) {
                //Photos but no description
                if (window["curr" + $type]["Photos"].length > 0) {
                    headerText = headerText + "<div class=\"descHeader\" onclick=\"swapDesc('photos','" + $type + "')\" >Photos</div>";
                    get($type + "Desc").innerHTML = "<div class=\"full_content\" onclick=\"descClick()\"><div class=\"close_full\"><img src=\"images/more_info_white.jpg\" onclick=\"hideDesc('" + $type + "')\" /></div><img id=\"close_x\" src=\"images/close_x.jpg\"  onclick=\"hideDesc('" + $type + "')\"><div id=\"descHeader\">" + headerText + "</div><div id=\"descBody\"></div></div>"
                    swapDesc('photos', $type)
                }
            }
        }
        if ($type == "Labour" || $type == "Cable" || $type == "Taxes") {
            //get($type + "Desc").innerHTML = "<div class=\"full_content\" onclick=\"descClick()\"><div class=\"close_full\"><img src=\"images/more_info_white.jpg\" onclick=\"hideDesc('" + $type + "')\" /></div><img id=\"close_x\" src=\"images/close_x.jpg\"  onclick=\"hideDesc('" + $type + "')\"><div id=\"descHeader\"><div class=\"descHeader current\" >Description</div></div><div id=\"descBody\">" + window[$type.toLowerCase() + "Object"]["LongDescription"] + "</div></div>"
            if (window[$type.toLowerCase() + "Object"]["LongDescription"] != null && window[$type.toLowerCase() + "Object"]["LongDescription"] != "") {
                headerText = "<div class=\"descHeader current\" onclick=\"swapDesc('desc','" + $type + "')\">Description</div>";

                //description AND photos
                if (window[$type.toLowerCase() + "Object"]["Photos"] != null) {
                    if (window[$type.toLowerCase() + "Object"]["Photos"].length > 0) {
                        headerText = headerText + "<div class=\"descHeader\" onclick=\"swapDesc('photos','" + $type + "')\" >Photos</div>";
                    }
                }

                get($type + "Desc").innerHTML = "<div class=\"full_content\" onclick=\"descClick()\"><div class=\"close_full\"><img src=\"images/more_info_white.jpg\" onclick=\"hideDesc('" + $type + "')\" /></div><img id=\"close_x\" src=\"images/close_x.jpg\"  onclick=\"hideDesc('" + $type + "')\"><div id=\"descHeader\">" + headerText + "</div><div id=\"descBody\">" + window[$type.toLowerCase() + "Object"]["LongDescription"] + "</div></div>"
                currFullDesc = $type + "Desc";
                safeClick = true;
            } else if (window[$type.toLowerCase() + "Object"]["Photos"] != null) {
                //Photos but no description
            if (window[$type.toLowerCase() + "Object"]["Photos"].length > 0) {
                    headerText = headerText + "<div class=\"descHeader\" onclick=\"swapDesc('photos','" + $type + "')\" >Photos</div>";
                    get($type + "Desc").innerHTML = "<div class=\"full_content\" onclick=\"descClick()\"><div class=\"close_full\"><img src=\"images/more_info_white.jpg\" onclick=\"hideDesc('" + $type + "')\" /></div><img id=\"close_x\" src=\"images/close_x.jpg\"  onclick=\"hideDesc('" + $type + "')\"><div id=\"descHeader\">" + headerText + "</div><div id=\"descBody\"></div></div>"
                    swapDesc('photos', $type)
                }
            }
        }
        safeClick = true;
    }
    function descClick() {
        safeClick = true;
    }

    function swapDesc(src, $type) {
        if (src != currDesc) {
            if (window["curr" + $type]) {
                $(".item_info #descHeader .descHeader").toggleClass("current");
                if (src == "desc") {
                    $(".item_info #descBody").html(window["curr" + $type]["LongDescription"])
                }
                if (src == "photos") {
                    bodyText = "<div id=\"photosLeft\">";
                    for (var $i = 0; $i < window["curr" + $type]["Photos"].length; $i++) {
                        extraClass = "";
                        if ($i == 0) {
                            extraClass = "class=\"current\"";
                        }
                        bodyText = bodyText + "<img id=\"photos" + $i + "\" onmouseover=\"swapPhoto('" + $i + "','" + $type + "')\" " + extraClass + " src=\"/productphotos/" + window["curr" + $type]["ID"] + "/" + window["curr" + $type]["Photos"][$i] + "\"/><br/>"
                    }
                    bodyText = bodyText + "</div><div id=\"mainImg\"><img src=\"/productphotos/" + window["curr" + $type]["ID"] + "/resized/" + window["curr" + $type]["Photos"][0] + "\"/></div>"
                    $(".item_info #descBody").html(bodyText);
                }
                currDesc = src;
            }
            if ($type == "Labour" || $type == "Cable" || $type == "Taxes") {
                $(".item_info #descHeader .descHeader").toggleClass("current");
                if (src == "desc") {
                    $(".item_info #descBody").html(window[$type.toLowerCase() + "Object"]["LongDescription"])
                }
                if (src == "photos") {
                    bodyText = "<div id=\"photosLeft\">";
                    for (var $i = 0; $i < window[$type.toLowerCase() + "Object"]["Photos"].length; $i++) {
                        extraClass = "";
                        if ($i == 0) {
                            extraClass = "class=\"current\"";
                        }
                        bodyText = bodyText + "<img id=\"photos" + $i + "\" onmouseover=\"swapPhoto('" + $i + "','" + $type + "')\" " + extraClass + " src=\"/productphotos/" + $type.toLowerCase() + "/" + window[$type.toLowerCase() + "Object"]["Photos"][$i] + "\"/><br/>"
                    }
                    bodyText = bodyText + "</div><div id=\"mainImg\"><img src=\"/productphotos/" + $type.toLowerCase() + "/resized/" + window[$type.toLowerCase() + "Object"]["Photos"][0] + "\"/></div>"
                    $(".item_info #descBody").html(bodyText);
                }
                currDesc = src;
            }
        }        
        safeClick = true;
    }

    function swapPhoto(img,$type) {
        $(".item_info #photosLeft img").removeClass("current");
        $(".item_info #photosLeft #photos" + img).addClass("current");
        if (window["curr" + $type]) {
            $(".item_info #mainImg img").attr("src", "/productphotos/" + window["curr" + $type]["ID"] + "/resized/" + window["curr" + $type]["Photos"][img]);
        }
        if ($type == "Labour" || $type == "Cable" || $type == "Taxes") {
            $(".item_info #mainImg img").attr("src", "/productphotos/" + $type.toLowerCase() + "/resized/" + window[$type.toLowerCase() + "Object"]["Photos"][img]);
        }
        
    }

    function hideDesc($type) {
        get($type + "Desc").innerHTML = "<img src=\"images/more_info.jpg\" onclick=\"showDesc('" + $type + "')\" />";
        currFullDesc = "";
    }
 
