﻿var tarriffId;
var manufacturerId;
var modelId;
var networkId;
var giftId;
function ValueIfEmpty(value, defaultVal) {
    if (value == undefined) return defaultVal;
    return (value.length == 0) ? defaultVal : value;
}


function PopulateModels(divId, nPageNum, nPageSize, tarriffId, manufacturerId, modelId, networkId, giftId) {
    $.ajax({
        type: "GET",
        url: "/shop/phonedeals/" + nPageNum + "/" + nPageSize + "/0/" + tarriffId + "/" + manufacturerId + "/" + modelId + "/" + networkId + "/" + giftId, 
        dataType: "html", 
        success: function(result) { document.getElementById(divId).innerHTML = result; } });
}
function GetSearchParameters() { tarriffId = ValueIfEmpty($("#tarriffs > option:selected").val(), '-1'); manufacturerId = ValueIfEmpty($("#manufacturers > option:selected").val(), '-1'); modelId = ValueIfEmpty($("#models > option:selected").val(), '-1'); networkId = ValueIfEmpty($("#networks > option:selected").val(), '-1'); giftId = ValueIfEmpty($("#gifts > option:selected").val(), '-1'); }
$(document).ready
(function() { $('#manufacturers').change(function() { GetSearchParameters(); $.getJSON("/shop/SelectChange/" + tarriffId + "/" + manufacturerId + "/-1/" + networkId + '/-1/0', null, function(data) { $("#manufacturers").fillSelect(data.manufacturers); $("#models").fillSelect(data.models); $("#networks").fillSelect(data.networks); $("#tarriffs").fillSelect(data.tarriffs); $("#gifts").fillSelect(data.gifts); }); PopulateModels('phoneresults', 1, 6, tarriffId, manufacturerId, modelId, networkId, giftId) }); $('#tarriffs').change(function() { GetSearchParameters(); $.getJSON("/shop/SelectChange/" + tarriffId + "/" + manufacturerId + "/" + modelId + "/" + networkId, null, function(data) { $("#manufacturers").fillSelect(data.manufacturers); $("#models").fillSelect(data.models); $("#networks").fillSelect(data.networks); $("#gifts").fillSelect(data.gifts); }); PopulateModels('phoneresults', 1, 6, tarriffId, manufacturerId, modelId, networkId, giftId) }); $('#models').change(function() { GetSearchParameters(); $.getJSON("/shop/SelectChange/" + tarriffId + "/" + manufacturerId + "/" + modelId + "/" + networkId, null, function(data) { $("#manufacturers").fillSelect(data.manufacturers); $("#models").fillSelect(data.models); $("#networks").fillSelect(data.networks); $("#tarriffs").fillSelect(data.tarriffs); $("#gifts").fillSelect(data.gifts); }); PopulateModels('phoneresults', 1, 6, tarriffId, manufacturerId, modelId, networkId, giftId) }); $('#networks').change(function() { GetSearchParameters(); $.getJSON("/shop/SelectChange/" + tarriffId + "/" + manufacturerId + "/" + modelId + "/" + networkId, null, function(data) { $("#manufacturers").fillSelect(data.manufacturers); $("#models").fillSelect(data.models); $("#networks").fillSelect(data.networks); $("#tarriffs").fillSelect(data.tarriffs); $("#gifts").fillSelect(data.gifts); }); PopulateModels('phoneresults', 1, 6, tarriffId, manufacturerId, modelId, networkId, giftId) }); $('#gifts').change(function() { GetSearchParameters(); $.getJSON("/shop/SelectChange/" + tarriffId + "/" + manufacturerId + "/" + modelId + "/" + networkId, null, function(data) { $("#manufacturers").fillSelect(data.manufacturers); $("#models").fillSelect(data.models); $("#networks").fillSelect(data.networks); $("#tarriffs").fillSelect(data.tarriffs); $("#gifts").fillSelect(data.gifts); }); PopulateModels('phoneresults', 1, 6, tarriffId, manufacturerId, modelId, networkId, giftId) }); }); $.fn.clearSelect = function() {
    return this.each
(function() { if (this.tagName == 'SELECT') { this.options.length = 0; } });
}
$.fn.fillSelect = function(data) {
    return this.clearSelect().each
(function() {
    if (this.tagName == 'SELECT') {
        var dropdownList = this; $.each(data, function(index, optionData) {
            var option = new Option(optionData.Text, optionData.Value); if (optionData.Selected)
                option.setAttribute("selected", "selected"); if ($.browser.msie)
                dropdownList.add(option); else
                dropdownList.add(option, null);
        });
    }
});
}