﻿/// <reference path="jquery-1.4.2-vsdoc.js" />

var czescIdGlobal = 0;
var liczbaSztukDialogWidth = 400;

$(function() {


    $('#Producent').change(function() {
        ShowAjaxLoader(true);
        $('#Model').empty();

        var markaId = $("#Producent").find(":selected").val();
        $.getJSON(
                "/Sklep/GetModels",
                { "producentId": markaId },
                function(result) {
                    CzyscWersje();
                    for (i = 0; i < result.length; i++) {
                        $("#Model").append('<option value="' + result[i].I + '">' + result[i].N + "</option>");
                    }
                    ShowAjaxLoader(false);
                }
                );
    });

    $('#Model').change(function() {
        var modelId = $("#Model").find(":selected").val();
        $('#wersjaForm').submit();
    });
});


function ZmienWersje(wersjaId, control) {
    ShowAjaxLoader(true);

    $('#wersjaIdHidden').val(wersjaId);
    $('#wersjaGrid').find('tr').removeClass("grid-row-selected");
    $(control).addClass("grid-row-selected");
    $.ajax(
        {
            type: "POST",
            url: "/Sklep/GetKategorie",
            data: { "wersjaId": wersjaId },
            success: ZaladujDrzewoKategorii,
            error:AjaxErrorFunction,
            dataType: "text"
        });

}

function ZaladujDrzewoKategorii(data) {
    CzyscListeCzesci();
    $('#kategorieTree').html(data);
    
    /*.treeview({
        collapsed: true,
        animated: "medium",
        unique: true
    });
            */
    ShowAjaxLoader(false);
}

function ShowAjaxLoader(show) {
    if (show) {
        $('#ajaxLoaderDialog').show();
    } else {
    $('#ajaxLoaderDialog').hide();
    }
}


function Kategoria(kategoriaId) {
    ShowAjaxLoader(true);
    var parametry = { "kategoriaId": kategoriaId, "wersjaId": $('#wersjaIdHidden').val() };
    
    $.ajax(
        {
            type: "POST",
            url: "/Sklep/GetCzesciDlaKategoriiWersji",
            data: parametry,
            success: ZaladujCzesci,
            dataType: "text"
        });
}

function ZaladujCzesci(data) {

    CzyscSzczegolyCzesci();
    $('#czesciGrid').html(data);
    ShowAjaxLoader(false);
}



function ZmienCzesc(czescId, row) {

    czescIdGlobal = czescId;

    if (row != null) {
        $('#czesciGrid').find("tr").removeClass("grid-row-selected");
        $(row).addClass("grid-row-selected");
    }


    ShowAjaxLoader(true);
    $.ajax({
        type: "POST",
        url: "/Sklep/GetCzesciSzczegoly",
        data: { "czescId": czescId },
        success: function(result) { $('#tabs-szczegoly').html(result) },
        error: AjaxErrorFunction,
        dataType: "text"
    });

    $.ajax({
        type: "POST",
        url: "/Sklep/GetCzesciZamienniki",
        data: { "czescId": czescId },
        success: function(result) { $('#tabs-zamienniki').html(result) },
        error: AjaxErrorFunction,
        dataType: "text"
    });

    $.ajax({
        type: "POST",
        url: "/Sklep/GetCzesciStosowaneW",
        data: { "czescId": czescId },
        success: function(result) {
            
            $('#tabs-stosowanew').html(result)
            ShowAjaxLoader(false);
            },
        error: AjaxErrorFunction,
        dataType: "text"
    });
}

function CzyscWersje() {
    $('#wersjaGrid').empty();
    CzyscKategorie();
}

function CzyscKategorie() {
    $('#kategorieTree').empty();
    CzyscListeCzesci();
}

function CzyscListeCzesci() {
    $('#czesciGrid').empty();
    CzyscSzczegolyCzesci();
}

function CzyscSzczegolyCzesci() {
    $('#tabs-szczegoly').empty();
    $('tabs-zamienniki').empty();
    $('#tabs-stosowanew').empty();
    czescIdGlobal = 0;
}

function AjaxErrorFunction(xhr) {
    alert(xhr.responseText);
}



function DodajDoKoszyka() {

    if (czescIdGlobal == 0) {
        Message("Wybierz cześć.");
        return true;
    }

    
    $('#czescId').val(czescIdGlobal);
    $('#liczbaSztukTextBox').val("1").removeClass('input-validation-error');
    
    var row = $('#czesciTable tr.grid-row-selected').find('td');
    $('#liczbaSztukDialogIndex').val(row.eq(0).html());
    $('#liczbaSztukDialogNazwa').val(row.eq(2).html());


    $('#liczbaSztukDialog').dialog({
        title: "Dodaj do koszyka",
        modal: true,
        buttons: {
            "Anuluj": function() {
                $(this).dialog("close");
                $('#message').hide();
            },
            "Dodaj": DodajDoKoszykaServer
        },
        width: liczbaSztukDialogWidth,
        open: function() { $('#liczbaSztukTextBox').focus().putCursorAtEnd(); }
    });
}

function DodajDoKoszykaServer() {

    
    if( DodajDoKoszykaSprawdzFormularz() )
    {
        $('#liczbaSztukDialog').dialog('close');
        var liczbaSztuk = $.trim($('#liczbaSztukTextBox').val());
        var czescId = $('#czescId').val();
        
        $.ajax({
            type: "POST",
            url: "/Koszyk/DodajDoKoszyka",
            data: { "czescId": czescId, "liczbaSztuk" : liczbaSztuk },
            success: DodajDoKoszykaResponse,
            error: AjaxErrorFunction,
            dataType: "text"
        });
    }
}

function DodajDoKoszykaSprawdzFormularz() {
    var liczbaSztuk = $.trim($('#liczbaSztukTextBox').val());

    if (isNaN(liczbaSztuk) || liczbaSztuk == "" || !(liczbaSztuk > 0)) {
        $('#liczbaSztukTextBox').addClass("input-validation-error");
        return false;
    } 
    else 
    {
        return true;
    }
}

function DodajDoKoszykaResponse(result) {
    
    $('#dodajDoKoszykaPotwierdzenieDialogText').html(result);
    $('#dodajDoKoszykaPotwierdznieDialog').dialog({
        buttons: {
            "Zamknij": function() {
                $(this).dialog("close");
            },
            "Przejdź do koszyka": function() {
                $('#przekierowanieDoKoszykaForm').submit();
            }
        },
        modal: true,
        close: function(event, ui) {
            $('#dodajDoKoszykaPotwierdzenieDialogText').html("");
        }
    }
    );
    
}


function WyszukiwarkaSzukaj() {

    var parametry = {
        numery : $('#wyszukiwarkaNumery').val(),
        producent : $('#wyszukiwarkaProducent').val(),
        model : $('#wyszukiwarkaModel').val(),
        indeks : $('#wyszukiwarkaIndeks').val(),
        nazwa: $('#wyszukiwarkaNazwa').val()
    }


    $.ajax({
        type: "POST",
        url: "/Sklep/WyszukiwarkaSzukaj",
        data: parametry,
        success: WyszukiwarkaSzukajResponse,
        error: AjaxErrorFunction,
        dataType: "text"
    });

}


function WyszukiwarkaSzukajResponse(response) {
    $('#czesciGrid').html(response);
}


function WersjaPanel() {
    CzyscListeCzesci();
    $('#czesciPanel').addClass('with-margin', 500, function() {
        $('#kategorieTreePanel').show('fold', null, 500);
    });
    
    
}


function WyszukiwarkaPanel() {
    CzyscListeCzesci();
    $('#kategorieTreePanel').hide('fold', null, 500, function() {
        $('#czesciPanel').removeClass('with-margin', 500);
    });
    
}


function ZamiennikDoKoszyka(czescId) {


    $('#czescId').val(czescId);
    $('#liczbaSztukTextBox').val("1").removeClass('input-validation-error');

    var rowId = "#zamiennikRow" + czescId;
    var row = $(rowId).find('td');
    
    $('#liczbaSztukDialogIndex').val(row.eq(0).html());
    $('#liczbaSztukDialogNazwa').val(row.eq(2).html());
    
    
     
    $('#liczbaSztukDialog').dialog({
        title: "Dodaj do koszyka",
        modal: true,
        buttons: {
            "Anuluj": function() {
                $(this).dialog("close");
                $('#message').hide();
            },
            "Dodaj": DodajDoKoszykaServer
        },
        width:liczbaSztukDialogWidth,
        open: function() { $('#liczbaSztukTextBox').focus().putCursorAtEnd(); }
    });
}
