﻿
var EcommBasket = new function() {
    this.SiteLabel = new Object();

    this.UpdateItemCount = function() {
        DealWithItemCount();
    }

    function DealWithItemCount() {
        document.getElementById("spanItemCount").innerHTML = document.getElementById("hdnTotalQuantity").value;
        if(document.getElementById("spanItemCount").innerHTML == "0") {
            $(".mainWorkArea .basketContainer .basketBar .checkout a").hide();
            $(".mainWorkArea .basketContainer .basketBar .checkout .titleHelp").show();
            $(".mainWorkArea .basketContainer .basketContentPanel .basketSummary ul li a").hide();
            $(".mainWorkArea .basketContainer .basketContentPanel .basketSummary ul li .titleHelp").show();
        } else {
            $(".mainWorkArea .basketContainer .basketBar .checkout a").show();
            $(".mainWorkArea .basketContainer .basketBar .checkout .titleHelp").hide();
            $(".mainWorkArea .basketContainer .basketContentPanel .basketSummary ul li a").show();
            $(".mainWorkArea .basketContainer .basketContentPanel .basketSummary ul li .titleHelp").hide();
        }
    }

    //webmethod for adding a product to basket
    this.UpdateBasket = function(logonID, sessionID, ecommProductID, quantity, price, revAppID, revData, siteID) {
        // Get rid of any spaces first
        if(isNaN(quantity))
            quantity = quantity.replace(" ", "");

        if(isNaN(quantity) || quantity == '') {
            alert("Please enter a numeric value greater than zero");
            return false;
        }

        PageMethods.UpdateBasket(logonID, sessionID, ecommProductID, quantity, price, revAppID, revData, siteID, OnCallPerformUpdateBasketComplete, OnCallError, '');
    }

    this.UpdateBasketAndRedirect = function(logonID, sessionID, ecommProductID, quantity, price, revAppID, revData, redirect, siteID) {
        // Get rid of any spaces first
        if(isNaN(quantity))
            quantity = quantity.replace(" ", "");

        if(isNaN(quantity) || quantity == '') {
            alert("Please enter a numeric value greater than zero");
            return false;
        }

        PageMethods.UpdateBasket(logonID, sessionID, ecommProductID, quantity, price, revAppID, revData, siteID, OnCallPerformUpdateBasketRedirectComplete, OnCallError, '');

        function OnCallPerformUpdateBasketRedirectComplete(result, txtresult, methodName) {
            window.location.href = redirect;
        }
    }



    function OnCallPerformUpdateBasketComplete(result, txtresult, methodName) {
        document.getElementById("divBasketList").innerHTML = result;
        DealWithItemCount()
    }

    //webmethod for updating a quantity in the basket
    this.UpdateBasketQuantity = function(logonID, sessionID, ecommProductID, quantity, price, revData, countryID, siteID, percentageDiscount) {
        var basketID = "ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtQuantity" + GetBasketID(ecommProductID, revData);
        var currentQTY = Number(document.getElementById(basketID).value);

        if(currentQTY == 1 && quantity == -1 || currentQTY == 0) {
            if(currentQTY == 0)
                DeleteProduct(logonID, sessionID, ecommProductID, price, -1, siteID, percentageDiscount, revData)
            return;
        }

        if(isNaN(currentQTY) || currentQTY < 0)
            currentQTY = 1;
        quantity = (quantity == 0) ? Number(currentQTY) : currentQTY + Number(quantity);
        PageMethods.UpdateBasketQuantity(logonID, sessionID, ecommProductID, quantity, price, revData, countryID, siteID, percentageDiscount, OnCallPerformUpdateBasketQuantityComplete, OnCallError, '');
    }

    this.RemoveItem = function(logonID, sessionID, ecommProductID, quantity, price, revData, countryID, siteID, percentageDiscount) {
        var basketID = "ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtQuantity" + GetBasketID(ecommProductID, revData);
        var currentQTY = Number(document.getElementById(basketID).value);

        if(currentQTY == 1 && quantity == -1 || currentQTY == 0) {
            if(currentQTY == 1)
                this.DeleteProduct(logonID, sessionID, ecommProductID, price, -1, siteID, percentageDiscount, revData)
            return;
        }

        if(isNaN(currentQTY) || currentQTY < 0)
            currentQTY = 1;
        quantity = (quantity == 0) ? Number(currentQTY) : currentQTY + Number(quantity);
        PageMethods.UpdateBasketQuantity(logonID, sessionID, ecommProductID, quantity, price, revData, countryID, siteID, percentageDiscount, OnCallPerformUpdateBasketQuantityComplete, OnCallError, '');
    }

    GetBasketID = function(ecommProductID, revData) {
        var basketID;
        //        if (revData != "")
        //            basketID = ecommProductID + "_" + revData.split(' ').join('');
        //        else
        basketID = ecommProductID;
        return basketID;
    }

    function OnCallPerformUpdateBasketQuantityComplete(result, txtresult, methodName) {
        var basketID = GetBasketID(result.ProductList[0].EcommProductID, result.ProductList[0].RevData);
        var deliveryCharge;

        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_orderDeliveryCharge"))
            deliveryCharge = document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_orderDeliveryCharge").innerHTML.substring(1);
        else
            deliveryCharge = 0;

        // Update Quantity
        document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtQuantity" + basketID).value
                = result.ProductList[0].Quantity;
        // Update Total Price for Row
        document.getElementById("spnProductPrice" + basketID).innerHTML
                = formatNumber((result.ProductList[0].Price * result.ProductList[0].Quantity), 2, -1, 0);
        // Update Total Quantity
        document.getElementById("totalQuantity").innerHTML = result.TotalQuantity;
        // Update Total Basket Value
        document.getElementById("totalBasketValue").innerHTML
                = "&pound;" + formatNumber(Number(result.TotalPrice) + parseFloat(deliveryCharge) + parseFloat(result.TotalVAT), 2, -1, 0);
        // Update Sub-Total Basket Value
        document.getElementById("subtotalBasketValue").innerHTML = "&pound;" + formatNumber(result.TotalPrice, 2, -1, 0);

        // Update Total Vat
        if(parseFloat(result.TotalVAT) > 0) {
            if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_totalVAT"))
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_totalVAT").innerHTML = "&pound;" + formatNumber(result.TotalVAT, 2, -1, 0);
        }
        else {
            if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_vatRow"))
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_vatRow").style.display = "none";
        }
    }

    //webmethod for emptying the basket
    this.EmptyBasket = function(logonID, sessionID, siteID) {
        PageMethods.EmptyBasket(logonID, sessionID, siteID, OnCallPerformEmptyBasketComplete, OnCallError, '');
    }

    function OnCallPerformEmptyBasketComplete(result, txtresult, methodName) {
        document.getElementById("divBasketList").innerHTML = result.ResponseText;
    }


    //webmethod for removing individual products from the basket
    this.DeleteProduct = function(logonID, sessionID, ecommProductID, price, quantity, siteID, percentageDiscount, revData) {
        PageMethods.DeleteProduct(logonID, sessionID, ecommProductID, quantity, siteID, percentageDiscount, revData, OnCallPerformDeleteProductComplete, OnCallError, '');
        var basketID = GetBasketID(ecommProductID, revData);

        $("#productRow" + basketID + " td:eq(1)").each(function() {
            var qty = this.innerHTML;
            if(qty > 1)
                this.innerHTML = qty - 1;
            else
                document.getElementById("productRow" + basketID).style.display = 'none';
        });
        $("#productRow" + basketID + " td:eq(0) span").each(function() {
            var oldPrice = this.innerHTML.replace('£', '').replace(',', '');
            this.innerHTML = "&pound;" + formatNumber((oldPrice - price), 2, -1, 0);
        });

        // sort basket quantity
        if(document.getElementById("hdnTotalQuantity")) {
            var tQty = document.getElementById("hdnTotalQuantity").value;
            document.getElementById("hdnTotalQuantity").value = tQty - 1;
            DealWithItemCount();
        }

        // Calculate new total
        if(document.getElementById("spanTotalPrice")) {
            var total = document.getElementById("spanTotalPrice").innerHTML;
            total = parseFloat(total.substring(1).replace(',', '')) - price;
            document.getElementById("spanTotalPrice").innerHTML = '&pound;' + total.toFixed(2).toLocaleString();
        }
    }

    function OnCallPerformDeleteProductComplete(result, txtresult, methodName) {

        var deliveryCharge;

        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_orderDeliveryCharge") && result.HasDelivery)
            deliveryCharge = document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_orderDeliveryCharge").innerHTML.substring(1);
        else
            deliveryCharge = 0;

        if(result != null && result.TotalQuantity == 0 && document.getElementById("divBasketList")) {
            document.getElementById("divBasketList").innerHTML = result.ResponseText;

            if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_divTotals"))
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_divTotals").style.display = "none";

            if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_imgBtnCheckout"))
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_imgBtnCheckout").style.display = "none";

        } else {

            if(result == null || result.EcommBasketID == -1 && (document.getElementById("totalQuantity") || document.getElementById("totalBasketValue") || document.getElementById("subtotalBasketValue"))) {
                document.getElementById("NoItemsInBasket").style.display = getMSIEInline();
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_pnlTotals").style.display = "none";
                return;
            }

            if(document.getElementById("totalQuantity"))
                document.getElementById("totalQuantity").innerHTML = result.TotalQuantity;

            if(document.getElementById("subtotalBasketValue"))
                document.getElementById("subtotalBasketValue").innerHTML = "&pound;" + formatNumber(result.TotalPrice, 2, -1, 0);

            if(document.getElementById("totalBasketValue"))
                document.getElementById("totalBasketValue").innerHTML
                = "&pound;" + formatNumber(Number(result.TotalPrice) + parseFloat(deliveryCharge) + parseFloat(result.TotalVAT), 2, -1, 0);

            if(parseFloat(result.TotalVAT) > 0) {
                if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_totalVAT"))
                    document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_totalVAT").innerHTML = "&pound;" + formatNumber(result.TotalVAT, 2, -1, 0);
            }
            else {
                if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_vatRow"))
                    document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_vatRow").style.display = "none";
            }

            if(!result.HasDelivery) {
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_deliveryRow").style.display = "none";
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_orderDeliveryCharge").innerHTML = "&pound;0.00";
            }
        }
    }

    //webmethod for putting billing address as the delivery address
    this.UseBillAddress = function(checkboxValue) {
        PageMethods.UseBillAddress(checkboxValue, null, OnCallError, '');
    }

    this.UpdateCountyLabel = function(countryID, countyLabelID) {
        if(countyLabelID == null)
            countyLabelID = "ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_lblState";

        if(countryID == 42)
            $('#' + countyLabelID).html(this.SiteLabel.TXT643 + ' <span class="mandatory">*</span>');
        else
            $('#' + countyLabelID).html(this.SiteLabel.TXT673 + ' <span class="mandatory">*</span>');
    }

    //webmethod for updating list of counties / states
    this.UpdateCountyList = function(countryID, countyDropDownID) {
        if(countyDropDownID == null)
            countyDropDownID = "ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlState";

        PageMethods.UpdateCountyList(countryID, countyDropDownID, OnCallPerformUpdateCountyComplete, OnCallError, '');
    }

    function OnCallPerformUpdateCountyComplete(result, txtresult, methodName) {
        var countyDropDownID = result[0];
        var arrOptionIDs = result[1];
        var arrOptionValues = result[2];

        if(document.getElementById(countyDropDownID)) {
            document.getElementById(countyDropDownID).options.length = 0;
            if(arrOptionIDs.length == 0) {
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_liCounty").style.display = "none";
            }
            else {
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_liCounty").style.display = "block";
                for(var i = 0; i < arrOptionIDs.length; i++) {
                    document.getElementById(countyDropDownID).options[i] = new Option(arrOptionValues[i], arrOptionIDs[i]);
                }
            }
        }
        return false;
    }


    UpdateDeliveryCharge = function(price) {
        var vat = 0;

        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_totalVAT"))
            vat = document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_totalVAT").innerHTML.substring(1);

        var newTotal = parseFloat(document.getElementById('subtotalBasketValue').innerHTML.substring(1).replace(',', '')) +
            parseFloat(vat) + parseFloat(price);

        document.getElementById('totalBasketValue').innerHTML = "&pound;" + formatNumber(newTotal, 2, -1, 0);

        if(document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_orderDeliveryCharge'))
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_orderDeliveryCharge').innerHTML = "&pound;" + formatNumber(price, 2, -1, 0);

        //PageMethods.UpdateDeliveryOption(BasketDeliveryObject.DeliveryID, null, OnCallError, '');
    }

    this.RetrieveAddressDetail = function(checked) {

        PageMethods.RetrieveAddressDetails(checked, OnCallPerformRetrieveAddressDetailComplete, OnCallError, '');
        PageMethods.RetrieveContactDetails(checked, OnCallPerformRetrieveContactDetailComplete, OnCallError, '');
        PageMethods.RetrieveOrgDetails(checked, OnCallPerformRetrieveOrgDetailComplete, OnCallError, '');

        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtAddress1').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtAddress2').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtAddress3').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtCity').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtPostcode').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlCountry').disabled = checked;

        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtTitle').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtFirstName').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtSurname').disabled = checked;
        document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtCompany').disabled = checked;
    }

    function OnCallPerformRetrieveAddressDetailComplete(result, txtresult, methodName) {
        if(result != null) {
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtAddress1').value = result.Address1;
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtAddress2').value = result.Address2;
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtAddress3').value = result.Address3;
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtCity').value = result.City;

            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtPostcode').value = result.PostCode;

            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlCounty').value = result.StateID;
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlCountry').value = result.CountryID;
        } else {
            alert('Failed to retrieve address details, your session has expired, please return to the basket summary page.');
        }
    }

    function OnCallPerformRetrieveContactDetailComplete(result, txtresult, methodName) {
        if(result != null) {
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtTitle').value = result.Title;
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtFirstName').value = result.FirstName;
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtSurname').value = result.Surname;
        } else {
            alert('Failed to retrieve contact details, your session has expired, please return to the basket summary page.');
        }
    }

    function OnCallPerformRetrieveOrgDetailComplete(result, txtresult, methodName) {
        if(result != null) {
            document.getElementById('ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_txtCompany').value = result.ClientName;
        } else {
            alert('Failed to retrieve company details, your session has expired, please return to the basket summary page.');
        }
    }

    function OnCallError(error, userContext, methodName) {
        if(error !== null) {
            alert(error.get_message());
        }
    }

    this.UpdateEventBasket = function(logonID, sessionID, ecommProductID, quantity, price, revAppID, revData, internalCode, siteID) {
        PageMethods.UpdateEventBasket(logonID, sessionID, ecommProductID, quantity, price, revAppID, revData, internalCode, siteID, OnCallPerformUpdateEventBasketComplete, OnCallError, '');
    }

    this.DeleteEvent = function(logonID, sessionID, revAppID, quantity, siteID) {
        PageMethods.DeleteEvent(logonID, sessionID, revAppID, quantity, siteID, OnCallPerformUpdateEventBasketComplete, OnCallError, '');
    }

    function OnCallPerformUpdateEventBasketComplete(result, txtresult, methodName) {
        document.getElementById("divProductList").innerHTML = result;

        var subtotal = 0;
        var vat = 0;
        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates")) {
            subtotal = parseFloat(document.getElementById("hfSubTotal").value.replace(',', '')) * parseInt(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates").value);
            vat = parseFloat(document.getElementById("hfVAT").value.replace(',', '')) * parseInt(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates").value);
        } else {
            subtotal = parseFloat(document.getElementById("hfSubTotal").value.replace(',', ''));
            vat = parseFloat(document.getElementById("hfVAT").value.replace(',', ''));
        }

        var totalPrice = parseFloat(vat) + parseFloat(subtotal);
        var currencySymbol = document.getElementById("hfCurrencySymbol").value;

        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_tdVAT")) {
            document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_tdVAT").innerHTML = currencySymbol + formatNumber(vat, 2, -1, 0)
        }

        document.getElementById("tdSubTotal").innerHTML = currencySymbol + formatNumber(subtotal, 2, -1, 0);
        document.getElementById("tdTotal").innerHTML = currencySymbol + formatNumber(totalPrice, 2, -1, 0);
    }

    this.DeleteDelegate = function(firstName, surname, jobTitle, email, companyName, logonID, sessionID, siteID) {
        PageMethods.DeleteDelegate(firstName, surname, jobTitle, email, companyName, logonID, sessionID, OnCallPerformDeleteDelegateComplete, OnCallError, '');
        PageMethods.UpdateSummaryBasket(logonID, sessionID, siteID, OnCallUpdateSummaryBasketComplete, OnCallError, '');
    }

    function OnCallPerformDeleteDelegateComplete(result, txtresult, methodName) {
        document.getElementById("divDelegateList").innerHTML = result;
        document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_furtherDetailsHeader").className = "";
        document.getElementById("spanDelegateNo").innerHTML = parseInt(document.getElementById("spanDelegateNo").innerHTML) - 1;
    }

    function OnCallUpdateSummaryBasketComplete(result, txtresult, methodName) {
        document.getElementById("basket").innerHTML = result;

        var subtotal = parseFloat(document.getElementById("hfSubTotal").value);
        var VAT = parseFloat(document.getElementById("hfVAT").value);

        document.getElementById("tdSubtotal").innerHTML = "£" + formatNumber(subtotal, 2, -1, 0)

        if (document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_tdVAT"))
            document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_tdVAT").innerHTML = "£" + formatNumber(VAT, 2, -1, 0)
            
        document.getElementById("tdTotal").innerHTML = "£" + formatNumber(subtotal + VAT, 2, -1, 0)
    }

    this.UpdateSubtotal = function() {
        if(document.getElementById("hfSubTotal"))
            var subtotal = parseFloat(document.getElementById("hfSubTotal").value) * parseInt(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates").value);
        else
            var subtotal = parseFloat(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_hfSubtotal").value) * parseInt(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates").value);

        if(document.getElementById("hfVAT"))
            var vat = parseFloat(document.getElementById("hfVAT").value) * parseInt(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates").value);
        else
            var vat = parseFloat(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_hfVAT").value) * parseInt(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates").value);

        if(document.getElementById("hfCurrencySymbol"))
            var symbol = document.getElementById("hfCurrencySymbol").value;
        else if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_hfCurrencySymbol"))
            var symbol = document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_hfCurrencySymbol").value;
        else
            var symbol = "£";

        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_tdVAT")) {
            document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_tdVAT").innerHTML = symbol + formatNumber(vat, 2, -1, 0)
        }

        var totalPrice = parseFloat(vat) + parseFloat(subtotal);

        document.getElementById("tdSubTotal").innerHTML = symbol + formatNumber(subtotal, 2, -1, 0);
        document.getElementById("tdTotal").innerHTML = symbol + formatNumber(totalPrice, 2, -1, 0)

    }

    this.GroupBooked = function() {

        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_chkGroupBook")) {
            if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_chkGroupBook").checked) {
                document.getElementById("divTotalNumber").style.display = "block";
            }
            else {
                document.getElementById("divTotalNumber").style.display = "none";
                document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_ddlNoOfDelegates").value = "1";
                this.UpdateSubtotal();
            }
        }
    }

    this.CheckProduct = function() {
        //alert(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_hfQuantity").value);
        if(document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_hfQuantity")
                 && document.getElementById("ctl00_ctl00_ContentPlaceHolderPageFrame_ContentPlaceHolderMain_hfQuantity").value == "0") {
            alert('Please select at least one product');
            return false;
        }
    }
}
