﻿
$(function () {
    //  Create Product Tabs
    var tabContainers = $('div.tabs div.tabcontainer > div');

    $('div.tabs ul.tabNavigation a').click(function () {
        tabContainers.hide().filter(this.hash).show();

        $('div.tabs ul.tabNavigation a').removeClass('selected');
        $(this).addClass('selected');

        return false;
    }).filter(':first').click();

});

function clearFilters() {

    //  get all filters
    $(".productlist tr.heading td.filter").each(function () {

        //  cledar filter
        $(this).find("input:checkbox").each(function () {
            $(this).attr("checked", false);
        });
    });

    //  re-render filters
    renderTable();
}

function renderTable() {
    var filters = "";
    var category = $(".categoryname input:first").val();

    //  get all chosen filters
    $(".productlist tr.heading td.filter").each(function () {

        //  reset filtercount
        filterCount = 0;

        //  get option type
        filter = $(this).find("input:first").val();

        //  get options
        $(this).find("input:checked").each(function () {
            //alert(filter);
            //alert($(this).val());
            filters = filters + "&" + makeSafe(filter) + "nbsp" + filterCount + "=" + makeSafe($(this).val());

            //  incremembt count
            filterCount = filterCount + 1
        });
    });

    //  reload the datatable
    $("#ajaxresponse").load("/Assets/Pacer/WebServices/ProductList.aspx?category=" + makeSafe(category) + makeSafe(filters) + " .item", function (response, status, xhr) {
        $(".productlist tr.item").remove();
        $(".productlist tr.heading").after($("#ajaxresponse").html());

        //  reset product list functionality
        setProductList();
    });
}

function setFilters() {
    var filterCount = 0;

    $("select").dropdownchecklist({
        emptyText: "Filter...",
        explicitClose: "Done",
        icon: {
            placement: "right"
        },
        onComplete: function (selector) {
            renderTable();
        },
        textFormatFunction: function (options) {
            var selectedOptions = options.filter(":selected");
            var selectedCount = selectedOptions.size();

            switch (selectedCount) {
                case 0: return "Filter";
                default: return "Filter";
            }
        },
        width: "70px"
    });
    
    //  make list functionality
    setProductList();

}

function setAction(action, value) {

    //  set action and submit
    $("#form_action").val(action);
    $("#form_value").val(value);

    document.forms[0].submit();
}

function setProductList() {
    $(".productlist tr.item td a.datasheet").click(function () {
        var partNumber = $(this).parent().parent().find("td:first").find("a:first").html();
        var asset = $(this).parent().find("span.assetid input:first").val();

        //  if email address has already been supplied simply download
        if ($(".customeremailaddress input:first").val() == "" || $(".customeremailaddress input:first").val() == null) {
            $.fancybox({
                href: "/download-datasheet.html?partnumber=" + partNumber + "&asset_id=" + asset
            });
        } else {

            //  email address already provided
            newLead(partNumber, $(".customeremailaddress input:first").val(), asset);
        }
    });
    $(".productlist tr.item td .partnumber").hover(function () {
        $(this).next("span").show();
    }, function () {
        $(this).next("span").hide();
    });
    $(".productlist tr.item td .partnumber a").click(function () {
        var partNumber = $(this).html();

        //  set part number
        $(".enquiry-info .part").html("Part Number: <b>" + partNumber + "</b>");
        $("#partnumber input:first").val(partNumber);
        $(".enquirypartnumber input:first").val(partNumber);
    });
    $(".productlist tr.item td a.enquire").click(function () {
        var partNumber = $(this).parent().parent().find("td:first").find("a:first").html();

        //  set part number
        $(".enquiry-info .part").html("Part Number: <b>" + partNumber + "</b>");
        $(".enquirypartnumber input:first").val(partNumber);
    });
    $("tr.item").show();
    $("#ajaxloader").hide();
}

function makeJSONSafe(json) {
    var safe = "";

    //   escape single quotes.
    if (json != undefined) safe = json.toString().replace(/'/g, "\\'");

    return safe;
}

function makeSafe(string) {
    var safe = "";

    //   replace all spaces
    if (string != undefined) safe = string.toString().replace(/ /g, "nbsp");

    return safe;
}

function newLead(partnumber, emailAddress, asset) {
    var json = "{ 'PartNumber' : '" + partnumber + "' , 'EmailAddress' : '" + makeJSONSafe(emailAddress) + "' , 'Asset' : '" + asset + "' , 'UrlPath' : '" + makeJSONSafe(window.location) + "' }";
    
    //  call the web service passing the info and then redirect to the basket
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/Assets/Pacer/WebServices/Pacer.asmx/NewLead",
        data: json,
        dataType: "json",
        success: function (response) {

            //  let them know
            //alert("Thank you, the pdf datasheet has been emailed to " + emailAddress);

            //  store email address
            $(".customeremailaddress input:first").val(emailAddress);

            //  all done with fancy box
            $.fancybox.close();

            //  log in analytics
            if (document.domain.indexOf("usa") != -1) {

                //  usa site
                var pageTracker = _gat._getTracker('UA-4455850-2');
                pageTracker._trackPageview('/pdfdownload');
            } else {

                //  uk site
                var pageTracker = _gat._getTracker('UA-4455850-1');
                pageTracker._trackPageview('/pdfdownload');
            };

            //  open pdf in new window
            window.open("http://www.pacer.co.uk/Assets/Pacer/User/" + response.d);
            //setTimeout("downloadPDF(" + asset + ", '" + emailAddress + "');", 250);
        },
        error: function (response) {
            alert("Sorry there was a problem sending you the data-sheet, please contact us.");

            //  close fancybox
            $.fancybox.close();
        }
    });
}

function cleartext(thisfield, defaulttext) {
    if (thisfield.value == defaulttext) {
        thisfield.value = "";
        thisfield.style.color = "#666666";
    }
}
function recalltext(thisfield, defaulttext) {
    if (thisfield.value == "") {
        thisfield.value = defaulttext;
        thisfield.style.color = "#666666";
    }
}

function showLocation(Area) {
    var selectedAreaID = "#" + Area;
    $(".location").removeClass('active');
    $(selectedAreaID).addClass('active');
}


