// usage: log('inside coolFunc', this, arguments);
window.log = function () {
    log.history = log.history || [];   // store logs to an array for reference
    log.history.push(arguments);
    if (this.console) {
        arguments.callee = arguments.callee.caller;
        console.log(Array.prototype.slice.call(arguments));
    }
};
(function (b) { function c() { } for (var d = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","), a; a = d.pop(); ) b[a] = b[a] || c })(window.console = window.console || {});


/* Author: Aaron Brosey - gyro
   9-22-2011
*/
isMobile = function() {
    var ua = navigator.userAgent;
    return ua.match(/(iPhone|iPod|iPad|BlackBerry|Android)/);
}

// GLOBAL DOCREADY FUNCTION
$(document).ready(function () {
    // Top menu location dropdown styling
    if (!isMobile())
        $(".location-select").sSelect();
    $("a[href^='http:']:not([href*='" + window.location.host + "'])").addClass("external").attr({ target: "_blank" });
    $("a[href^='https:']:not([href*='" + window.location.host + "'])").addClass("external").attr({ target: "_blank" });
    $(".external").bind("click", function () {
        _gaq.push(['_trackEvent', 'External Link Click', $(this).attr("href"), location.href]);
        return true;
    });
    $(".download").bind("click", function () {
        _gaq.push(['_trackEvent', 'Download', $(this).attr("title") == "" ? $(this).attr("href") : $(this).attr("title"), location.href]);
        return true;
    });
    $("#lblLocation").click(function() {
        $("#store-location .selectedTxt").trigger('click.sSelect');
    });
});

homeDocReady = function () {
    $(".icon-print").click(function (event) {
        event.preventDefault();
        pwin = window.open($("#coupon-container img").attr('src'), "_blank");
        setTimeout("pwin.print()", 2000);
        return false;
    });
}

storeLayoutDocReady = function () {
    $(".print-icon").click(function (event) {
        event.preventDefault();
        pwin = window.open($("img.layout-image").attr('src'), "_blank");
        setTimeout("pwin.print()", 2000);
        return false;
    });
}

partPricesDocReady = function () {
    $("#bt-print").click(function (event) {
        event.preventDefault();
        window.print();
        return false;
    });
}

searchDocReady = function () {
    if (!isMobile())
        $(".styled-select").sSelect({ ddMaxHeight: '250px' });

    $(".vehicle-make-dropdown").change(function () {
        // Reset JPList filter
        $("#filter-text").val("");
        $("#filter-text").keyup();

        // Hide results area
        $(".search-results").slideUp();
        $(".search-callouts .triangle").hide();

        // Handle empty make/default value "Select a Make"
        if ($(".vehicle-make-dropdown option:selected").val() == "-1") {
            $('#ddlModels')
                .find('option')
                .remove()
                .end()
            ;
            if ($(".ESMX #ddlModels").length == 0)
                $('#ddlModels').append('<option value="">Select a model</option>');
            else
                $('#ddlModels').append('<option value="">Seleccione un modelo</option>');
            $("#ddlModels").attr("disabled", "disabled");
            return;
        }
        else {
            $(".vehicle-make-dropdown option:selected").each(function () {
                var models = makeModels[$(this).val()];
                $('#ddlModels')
                    .find('option')
                    .remove()
                    .end()
                ;
                if ($(".ESMX #ddlModels").length == 0)
                    $('#ddlModels').append('<option value="">Select a model</option>');
                else
                    $('#ddlModels').append('<option value="">Seleccione un modelo</option>');
                $.each(models, function (index, value) {
                    $('#ddlModels').append('<option value="' + index + '">' + value + '</option>');
                });
            });
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "/InventoryService.asmx/GetInventoryForMakeLocation",
                data: "{'make': '" + $(".vehicle-make-dropdown option:selected").text() + "', 'locationId': " + $("#hidLocationId").val() + "}",
                dataType: "json",
                success: function (result) {
                    populateInventorySearchResults(result);
                },
                error: function (error) {
                    alert(error);
                }
            });
        }
    });

    $("#ddlModels").change(function () {
        if ($("#ddlModels option:selected").val() != "")
            $("#filter-text").val($("#ddlModels option:selected").text());
        else
            $("#filter-text").val("");
        $("#filter-text").keyup();
    });

    $(".vehicle-make-dropdown").change();
}

carIntoCashDocReady = function () {
    if (!isMobile())
        $(".styled-select").sSelect({ ddMaxHeight: '250px' });

    $(".vehicle-make-dropdown").change(function () {
        // Handle empty make/default value "Select a Make"
        if ($(".vehicle-make-dropdown option:selected").val() == "-1") {
            $('.ddlModels')
                .find('option')
                .remove()
                .end()
            ;
            if ($(".ESMX .ddlModels").length == 0)
                $('.ddlModels').append('<option value="">Select a model</option>');
            else
                $('.ddlModels').append('<option value="">Seleccione un modelo</option>');
            $(".ddlModels").attr("disabled", "disabled");
            return;
        }
        else {
            $(".vehicle-make-dropdown option:selected").each(function () {
                var models = makeModels[$(this).val()];
                $('.ddlModels')
                    .find('option')
                    .remove()
                    .end()
                ;
                if ($(".ESMX .ddlModels").length == 0)
                    $('.ddlModels').append('<option value="">Select a model</option>');
                else
                    $('.ddlModels').append('<option value="">Seleccione un modelo</option>');
                $.each(models, function (index, value) {
                    $('.ddlModels').append('<option value="' + value + '">' + value + '</option>');
                });
            });
            if (!isMobile()) {
                $(".styled-select").resetSS();
            }
        }
    });
}

notifyMeDocReady = function () {
    if (!isMobile())
        $(".styled-select").sSelect({ ddMaxHeight: '250px' });

    $(".vehicle-make-dropdown").change(function () {
        // Handle empty make/default value "Select a Make"
        if ($(".vehicle-make-dropdown option:selected").val() == "-1") {
            $('.ddlModels')
                .find('option')
                .remove()
                .end()
            ;
            if ($(".ESMX .ddlModels").length == 0)
                $('.ddlModels').append('<option value="">Select a model</option>');
            else
                $('.ddlModels').append('<option value="">Seleccione un modelo</option>');
            $(".ddlModels").attr("disabled", "disabled");
            return;
        }
        else {
            $(".vehicle-make-dropdown option:selected").each(function () {
                var models = makeModels[$(this).val()];
                $('.ddlModels')
                    .find('option')
                    .remove()
                    .end()
                ;
                if ($(".ESMX .ddlModels").length == 0)
                    $('.ddlModels').append('<option value="">Select a model</option>');
                else
                    $('.ddlModels').append('<option value="">Seleccione un modelo</option>');
                $.each(models, function (index, value) {
                    $('.ddlModels').append('<option value="' + value + '">' + value + '</option>');
                });
            });
            if (!isMobile()) {
                $(".styled-select").resetSS();
            }
        }
    });
}

populateInventorySearchResults = function (results) {
    $(".results-grid").empty();
    if ($(".ESMX .results-grid").length == 0)
        $("#results-html-template").clone(true).appendTo(".results-grid").removeClass("closed");
    else
        $("#results-html-template-es").clone(true).appendTo(".results-grid").removeClass("closed");
    var json = $.parseJSON(results.d);
    $.each(json.Rows, function (index, result) {
        var newRow = $('<div class="results-item clearfix"><div class="results-make"></div><div class="resultsmodel"></div><div class="results-year"></div><div class="results-trim"></div><div class="results-row"></div></div>');
        if (index % 2 === 0)
            $('.results-item', newRow).addClass("alt");
        $('.results-make', newRow).text(result.make);
        $('.resultsmodel', newRow).text(result.model);
        $('.results-year', newRow).text(result.year);
        $('.results-trim', newRow).text(result.trim);
        $('.results-row', newRow).text(result.Row);
        $(".results-grid .results-items").append(newRow);
    });

    $(".results-grid").jplist({
        sort: { make: "div.results-make",
            model: "div.resultsmodel",
            year: "div.results-year",
            trim: "div.results-trim",
            row: "div.results-row"
        },
        filter: {
            resultsmodel: "div.resultsmodel"
        },
        filter_path: "#filter",
        sort_name: ".resultsmodel",
        items_box: ".results-items",
        item_path: ".results-item",
        items_on_page: 10
    });
    $(".search-callouts .triangle").show();
    $(".search-results").slideDown();
    if ($(".results-another-location .newListSelected").length == 0 && !isMobile())
        $(".styled-select-2").sSelect({ ddMaxHeight: '250px' });
    if (!isMobile()) {
        $(".styled-select").resetSS(); 
        $(".styled-select-2").resetSS(); 
    }
    $("#ddlModels").removeAttr("disabled");
    $("#page-by .p10").trigger("click");
}
