﻿function findProduct(productId) {
    try {
        var previewPane = document.getElementById("previewPane");
        previewPane.innerHTML = "<div class='previewPaneLoading'><img src='images/preview-loader.gif' alt='Loading' /><p>Finding Product</p></div>";

        //Attach a timestamp to prevent caching
        var timestamp = new Date().getTime();
        $.get("Ajax/FindProduct.aspx", { _productId_: productId, time: timestamp },
                                      function(data) {
                                          findProductCallback(data);
                                      });
    }
    catch (ex) {
        window.location = "ViewProduct.aspx?productId=" + productId;
    }
}

function findProductCallback(data) {
    $(".previewPaneLoading").fadeOut(500, (function() { findProductCallbackInject(data); }));
}

function findProductCallbackInject(data) {
    document.getElementById("previewPane").innerHTML = "<div class='previewToggle'>" + data + "</div>";
    $(".previewToggle").fadeIn(1000);
}

function addToBasket(productId) {
    $(".addBasket").animate({ backgroundPosition: "-113px 0px" }, 500, "linear", (function() { addToBasketAjax(productId); }));
}

function addToBasketAjax(productId) {
    try {
        //Attach a timestamp to prevent caching
        var timestamp = new Date().getTime();
        $.get("Ajax/AddProduct.aspx", { _productId_: productId, time: timestamp },
                                          function(data) {
                                              addToBasketAjaxCallback(data);
                                          });
    }
    catch (ex) {
        window.location = "ViewProduct.aspx?productId=" + productId;
    }
}


function addToBasketAjaxCallback(data) {
    $(".addBasket").animate({ backgroundPosition: "-226px 0px" }, 500, "linear");
    
    //alert(data);

    var basketCount = document.getElementById("ctl00_basketItemCount");
    if (basketCount != null) {
        if (data == "1") {
            document.getElementById("ctl00_basketItemCount").innerHTML = "&nbsp;" + data;
        }
    }
    else {
        alert("'ctl00_basketItemCount' doesn't exist in the DOM.");
    }

    $("#ctl00_shoppingBasketBox").slideDown(1000, function() { addToBasketAnimationCallback(data); });
}

function addToBasketAnimationCallback(data) {
    $("#ctl00_shoppingBasketBox").fadeOut(600, function() { addToBasketAnimationCallback_BackIn(data); });
}

function addToBasketAnimationCallback_BackIn(data) {
    var basketCount = document.getElementById("ctl00_basketItemCount");
    if (basketCount != null) {
        document.getElementById("ctl00_basketItemCount").innerHTML = "&nbsp;" + data;
    }
    else {
        alert("'ctl00_basketItemCount' doesn't exist in the DOM.");
    }

    $("#ctl00_shoppingBasketBox").fadeIn(650);
}