
var currCat;
var currProduct;

var loadMenus = function() {
    $('#ProductCategory').bind('change', loadMenuSubCats);
    $('#ProductSubCategory').bind('change', handleProductSelect);
    $('#menuCPCSubCat').bind('change', loadMenuCPCProducts);
    $('#menuCPCProduct').bind('change', function() { currProduct = $(this).val(); $('#menuAddBtn').show(); } );
    $('#menuAddBtn').bind('click', quoteAddProduct);
};

var loadMenuSubCats = function() {
    var sel = $(this).val();

    if (sel != "") {
        currCat = sel;

        if (sel == 'covers') {
            optionLoad('#ProductSubCategory', cpcCategories);
        }
        else if (productTypes[sel]) {
            optionLoad('#ProductSubCategory', productTypes[sel]);
        }

        $('#menuSubCatRow').show();
        $('#menuProductRow, #menuAddBtn, #menuCPCProductRow').hide();
    }

};


var handleProductSelect = function() {
    var sel = $(this).val();

    if (sel != "") {
        if (currCat == 'covers') {
            if (cpcCategories[sel]) {
                optionLoad('#menuCPCSubCat', cpcCategories[sel].subcats); 
                $('#menuProductRow').show();
            }
        }
        else {
            $('#menuAddBtn').show();
            currProduct = sel;
        }
    }
};


var loadMenuCPCProducts = function() {
    var sel = $(this).val();
    if (sel != "") {
        optionLoad('#menuCPCProduct', cpcApps[sel]);
        $('#menuCPCProductRow').show();
    }
};


function optionLoad(elem, opts) {
    $(elem).empty().append('<option value="" class="prompt"> -- select one -- </option>');
    for (var i in opts) {
        if (opts[i].chunk_slot) 
            var txt = opts[i].title;
        else if (opts[i].name) 
            var txt = opts[i].name;
        else
            var txt = opts[i];

        $(elem).append('<option value="'+ i  +'">'+ txt +'</option>');
    }
    return $(elem);
}


var quoteAddProduct = function() {
    $.get('/quote/save/ajax.html&cat=' + currCat + '&p=' + currProduct, function (data) {
        $('#quoteItemList').html(data);
        $('.user-notice').text('Product has been added to your Quote Request.');
    });
};

$(loadMenus);

