﻿function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

function swapImage(strID, strMode) {
    var objImage = document.getElementById(strID);

    objImage.src = "/media/images/nav_" + strID + "_" + strMode + ".gif";
}

function OpenNewWindow(bigurl, width, height) {
    var newWindow = window.open("", "pictureViewer",
        "location=no, directories=no, fullscreen=no, menubar=no, status=no, toolbar=no, width=" + width + ", height=" + height + ", scrollbars=no");
    newWindow.document.writeln("<html>");
    newWindow.document.writeln("<body style='margin: 0 0 0 0;'>");
    newWindow.document.writeln("<a href='javascript:window.close();'>");
    newWindow.document.writeln("<img src='" + bigurl + "' alt='Click to close' border='0' id='bigImage'/>");
    newWindow.document.writeln("</a>");
    newWindow.document.writeln("</body></html>");
    newWindow.document.close();
}
function Popup(bigurl, width, height) {
    var newWindow = window.open(bigurl, "pictureViewer",
        "location=no, directories=no, fullscreen=no, menubar=no, status=no, toolbar=no, width=" + width + ", height=" + height + ", scrollbars=no");
}

function contractAll() {
    var objTable;
    objTable = document.getElementById("symphony");
    objTable.style.display = "none";
    objTable = document.getElementById("concerto");
    objTable.style.display = "none";
    objTable = document.getElementById("classic-square");
    objTable.style.display = "none";
    objTable = document.getElementById("classic-triangular");
    objTable.style.display = "none";
    objTable = document.getElementById("adagio-square");
    objTable.style.display = "none";
    objTable = document.getElementById("adagio-triangular");
    objTable.style.display = "none";
    objTable = document.getElementById("vouchers");
    objTable.style.display = "none";
    objTable = document.getElementById("accessories");
    objTable.style.display = "none";
}

function ordervouchers() {
    window.opener.document.location.href = "/order.htm#vouchers";
    window.close();
}

function Expand(id) {
    var objTable;
    var imgCat;
    objTable = document.getElementById(id);
    imgCat = document.getElementById("img" + id);

    if (objTable.style.display == "none") {
        imgCat.src = "images/expand-on.gif";
        objTable.style.display = "block";
    } else {
        imgCat.src = "images/expand-off.gif";
        objTable.style.display = "none";
    }
    return null;
}

function getRotaire() {
    document.getElementById('nomodel').innerHTML = 'The model you need is: <span id="answer" name="answer"></span> <br /><br />Continue to the <a href="/order/" title="Order your rotaire now">order page</a> to order your Rotaire Dryline!';
    document.getElementById('answerdiv').style.display = "block";

    if (document.getElementById('classic').checked == true) {
        if (document.getElementById('c4').checked == true) {
            if (document.getElementById('size').value == '1500mm') { document.getElementById('answer').innerHTML = 'Classic S1500'; }
            else if (document.getElementById('size').value == '1700mm') { document.getElementById('answer').innerHTML = 'Classic S1700'; }
            else if (document.getElementById('size').value == '1800mm') { document.getElementById('answer').innerHTML = 'Classic S1800'; }
            else if (document.getElementById('size').value == '1900mm') { document.getElementById('answer').innerHTML = 'Classic S1900'; }
            else if (document.getElementById('size').value == '2000mm') { document.getElementById('answer').innerHTML = 'Classic S2000'; }
            else if (document.getElementById('size').value == '2100mm') { document.getElementById('answer').innerHTML = 'Classic S2100'; }
            else if (document.getElementById('size').value == '2200mm') { document.getElementById('answer').innerHTML = 'Classic S2200'; }
            else if (document.getElementById('size').value == '2300mm') { document.getElementById('answer').innerHTML = 'Classic S2300'; }
            else if (document.getElementById('size').value == '2400mm') { document.getElementById('answer').innerHTML = 'Classic S2400'; }
            else if (document.getElementById('size').value == '2500mm') { document.getElementById('answer').innerHTML = 'Classic S2500'; }
            else {
                document.getElementById('nomodel').innerHTML = 'Unfortunately there is currently no standard model which matches your requirements. Sizes outside our range are available on special order, please <a href="/contact-us.html" title="Contact Us">contact us</a> for more details.';
            }
        }
        else if (document.getElementById('c3').checked == true) {
            if (document.getElementById('size').value == '1700mm') { document.getElementById('answer').innerHTML = 'Classic T1800'; }
            else if (document.getElementById('size').value == '1800mm') { document.getElementById('answer').innerHTML = 'Classic T1800'; }
            else if (document.getElementById('size').value == '1900mm') { document.getElementById('answer').innerHTML = 'Classic T1900'; }
            else if (document.getElementById('size').value == '2000mm') { document.getElementById('answer').innerHTML = 'Classic T2000'; }
            else if (document.getElementById('size').value == '2100mm') { document.getElementById('answer').innerHTML = 'Classic T2100'; }
            else if (document.getElementById('size').value == '2200mm') { document.getElementById('answer').innerHTML = 'Classic T2200'; }
            else if (document.getElementById('size').value == '2300mm') { document.getElementById('answer').innerHTML = 'Classic T2300'; }
            else if (document.getElementById('size').value == '2500mm') { document.getElementById('answer').innerHTML = 'Classic T2500'; }
            else if (document.getElementById('size').value == '2600mm') { document.getElementById('answer').innerHTML = 'Classic T2600'; }
            else if (document.getElementById('size').value == '3100mm') { document.getElementById('answer').innerHTML = 'Classic T3100'; }
            else {
                document.getElementById('nomodel').innerHTML = 'Unfortunately there is currently no standard model which matches your requirements. Sizes outside our range are available on special order, please <a href="/contact-us.htm//" title="Contact Us">contact us</a> for more details.';
            }
        }
        else {
            document.getElementById('nomodel').innerHTML = 'Unfortunately there is currently no standard model which matches your requirements. Sizes outside our range are available on special order, please <a href="/contact-us.htm//" title="Contact Us">contact us</a> for more details.';
        }
    }
    else if (document.getElementById('adagio').checked == true) {
        if (document.getElementById('a4').checked == true) {
            if (document.getElementById('size').value == '1800mm') { document.getElementById('answer').innerHTML = 'Adagio B1800'; }
            else if (document.getElementById('size').value == '1900mm') { document.getElementById('answer').innerHTML = 'Adagio B1900'; }
            else if (document.getElementById('size').value == '2000mm') { document.getElementById('answer').innerHTML = 'Adagio B2000'; }
            else if (document.getElementById('size').value == '2100mm') { document.getElementById('answer').innerHTML = 'Adagio B2100'; }
            else if (document.getElementById('size').value == '2200mm') { document.getElementById('answer').innerHTML = 'Adagio B2200'; }
            else if (document.getElementById('size').value == '2300mm') { document.getElementById('answer').innerHTML = 'Adagio B2300'; }
            else {
                document.getElementById('nomodel').innerHTML = 'Unfortunately there is currently no standard model which matches your requirements. Sizes outside our range are available on special order, please <a href="/contact-us.html" title="Contact Us">contact us</a> for more details.';
            }
        }
        else if (document.getElementById('a3').checked == true) {
            if (document.getElementById('size').value == '1800mm') { document.getElementById('answer').innerHTML = 'Adagio BT1800'; }
            else if (document.getElementById('size').value == '2000mm') { document.getElementById('answer').innerHTML = 'Adagio BT2000'; }
            else if (document.getElementById('size').value == '2100mm') { document.getElementById('answer').innerHTML = 'Adagio BT2100'; }
            else if (document.getElementById('size').value == '2200mm') { document.getElementById('answer').innerHTML = 'Adagio BT2200'; }
            else if (document.getElementById('size').value == '2300mm') { document.getElementById('answer').innerHTML = 'Adagio BT2300'; }
            else if (document.getElementById('size').value == '2600mm') { document.getElementById('answer').innerHTML = 'Adagio BT2600'; }
            else if (document.getElementById('size').value == '3100mm') { document.getElementById('answer').innerHTML = 'Adagio BT3100'; }
            else {
                document.getElementById('nomodel').innerHTML = 'Unfortunately there is currently no standard model which matches your requirements. Sizes outside our range are available on special order, please <a href="/contact-us.html" title="Contact Us">contact us</a> for more details.';
            }
        }
        else {
            document.getElementById('nomodel').innerHTML = 'Unfortunately there is currently no standard model which matches your requirements. Sizes outside our range are available on special order, please <a href="/contact-us.html" title="Contact Us">contact us</a> for more details.';
        }
    }
    else {
        document.getElementById('nomodel').innerHTML = 'Unfortunately there is currently no standard model which matches your requirements. Sizes outside our range are available on special order, please <a href="/contact-us.html" title="Contact Us">contact us</a> for more details.';
    }
}

function createCustomiseAndBuy() {

    //  this builds the functionality for the customise and buy options
    //  the price is recalculated on each option
    //  change and retrieved via web service

    //  call the update when select boxes are changed or inputs clicked.
    $(".productoptions select").change(function() {
        updateCustomiseAndBuy(false, $(this).val());
    });

    //  call the update when quantity select boxes are changed.
    $(".quantity").change(function() {
        updateCustomiseAndBuy(false);
    });

    //  create add to basket function
    $(".addtobasketbutton").click(function() {
        updateCustomiseAndBuy(true);
    });

    //  call it on start up.
    updateCustomiseAndBuy(false);
}

//  the updateCustomiseAndBuy function is called whenenever a user changes an option 
//  in the customise and buy panel
function updateCustomiseAndBuy(bAddToBasket, productoptionid) {
    var product = $(".product-info input:first").val();
    var options = "";
    var quantity = $("select.quantity").val();

    if (productoptionid == null) productoptionid = 0;

    //  set default values

    if (quantity == null) quantity = 1;

    //  show calculating message.
    $(".total-price").html("...");

    //  get options.
    $(".productoptions select").each(function() {
        options = options + "'" + $(this).val() + "' , ";

    });
    if (options.length > 0) options = options.substr(0, options.length - 3);

    //  build the JSON string.

    var JSON = "{" +
               " 'Product_ID' : '" + product + "' , " +
               " 'ProductOptions' : [ " + options + " ] , " +
               " 'Quantity' : '" + quantity + "' , " +
               " 'AddToBasket' : '" + bAddToBasket + "' , " +
               " 'ProductOptionID' : '" + productoptionid + "' " +
               "}";

    //  track in analytics
    if (bAddToBasket) {
        var pageTracker = _gat._getTracker('UA-791030-1');
        pageTracker._trackPageview('/addproducttobasket');
    }

    //alert(JSON)
    //  call the web service passing the product, options, accessories, delivery and
    //  and then update the price.
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/Assets/Rotaire/WebServices/Rotaire.asmx/CustomiseAndBuy",
        data: JSON,
        dataType: "json",
        success: function(response) {
            var oResponse = eval("(" + response.d + ")");

            //  update prices.
            $(".asset-link-" + oResponse.DataFive).html(oResponse.DataFour);
            //$(".asset-link-14").html(oResponse.DataFour);
            //alert(oResponse.DataFive)
            if (bAddToBasket) {
                $(".basketmessage").html(oResponse.DataThree);
            }

        },
        error: function(response) {

            //  if an error has occured display for debugging purposes.
            alert(response.responseText);
        }
    });
}



