$(document).ready(function(){
	// Przeliczanie w koszyku
	$("input.count").click(function(){
        var oldAmount = $(this).val();
        $("#keep_old_value").val(oldAmount);
        $(this).next("img").show();
    });
	
	$("input.count").blur(function(){
        var itemIndex = $(this).attr("id");
        var oldAmount = $("#keep_old_value").val();
        var newAmount = $(this).val();
        var gotoUrl = $(this).attr("alt");
        
        if (oldAmount != newAmount) {
            //$(".basketNav").block();
            $.ajax({
                type: "POST",
                url: gotoUrl,
                data: {
                    index: itemIndex,
                    newAmount: newAmount
                },
                beforeSend: function(){
                    $("#basket").block();
                    $("#selectWayForm").attr("disabled", "disabled");
                    $("#selectPayForm").attr("disabled", "disabled");
                },
                error: function(msg){
                    if (showErrors) 
                        alert("ERROR: " + msg);
                },
                success: function(msg){
                    if (msg.substr(0,6) != "ERROR!") {
                        location.reload(true);
                    }
                    else {
                    	notify(msg.substr(7),'<b>Drogi Kliencie!</b> Zapraszamy ponownie w ciągu kilku dni w celu dokonania zakupu.','error',1);
                    }
                }
            });
        }
        else {
            $("#keep_old_value").val("");
            $(this).next("img").hide();
        }
    });
	
	// Usuwanie z koszyka
	$(".delete_from_basket").click(function(){
        var temp = $(this).attr("id");
        var itemId = $(this).attr("alt");
        var gotoUrl = $(this).attr("href");
        
        $.ajax({
            type: "POST",
            url: gotoUrl,
            data: {
                id: itemId
            },
            beforeSend: function(){
                $("#basket").block();
                $(".wait").show();
            },
            error: function(msg){
                if (showErrors) 
                    alert("ERROR: " + msg);
            },
            success: function(msg){
                if (msg.substr(0,6) != "ERROR!") {
                
                    var data = $.evalJSON(msg);
                    
                    $("#basket").unblock();
                    $("tr." + temp).animate({
                        background: "#feb4bb",
                        opacity: 0,
                        display: "none"
                    }, 1000, function(){
                        $("tr." + temp).remove();
                        $("td.ItemLP").each(function(i){
                            $(this).html(i + 1);
                        });
                        
                        if (data.basket_amount == null || data.basket_amount == 0) {
                            $("#basket table").append('<tr>' +
                            '<td class="b_2" align="center" colspan="5">brak produktów w koszyku</td>' +
                            '</tr>');
                        }
                    } // function
);
                    
                    if (data.basket_amount == null) {
                    	$(".wait").hide();
                        data.basket_amount = 0;
                        
                        $("#maxShippingTime").html("brak informacji");
                        $("#basketValue").html("0,00 zł");
                        $("#deliveryLongInfo").html("brak informacji");
                        $("#basketTopay").html("0,00 zł");
                        $("#basketPromoInfo").html("");
                        $("#rabatMsg").html("");
                        $("#rabatCode").val("");
                        $("#rabatOK").hide(); $("#rabatERROR").hide();
                        
                        $("#totalItemTop").html("0");
                        $("#totalPriceTop").html("0,00 zł");
                        
                        $("#totalItemTop").effect("pulsate", { times: 1 }, 1000);
                        $("#totalPriceTop").effect("pulsate", { times: 1 }, 1000);
           
                        $("#selectPayForm").attr("disabled", "disabled");
                        $("#selectPayForm").val("wybierz");
                        $("#selectWayForm").attr("disabled", "disabled");
                        $("#selectWayForm").val("wybierz");
                        $("#selectPZPayForm").attr("disabled", "disabled");
                        $("#selectPZPayForm").val("wybierz");
                        $("#selectPZWayForm").attr("disabled", "disabled");
                        $("#selectPZWayForm").val("wybierz");
 
                    }
                    else {
                        $(".wait").hide();
                        $("#totalItemTop").html(data.basket_amount);
                        $("#totalPriceTop").html(data.basket_value);
                        $("#totalItemTop").effect("pulsate", { times: 1 }, 1000);
                        $("#totalPriceTop").effect("pulsate", { times: 1 }, 1000);
                        
                        $("#basketValue").html(data.basket_value);
                        
                        $("#basketTopay").html(data.basket_topay);
                        $("#basketPromoInfo").html(data.promo_info);
                        
                        var wayId = $("#payway_id").val();
                        var parentId = $("#payway_parent_id").val();
                        
                        if (parentId) {
                            $.ajax({
                                type: "POST",
                                data: {
                                    parentId: parentId
                                },
                                url: '/pokaz_metody_wysylki.html',
                                data: {
                                    parentId: parentId
                                },
                                beforeSend: function(){
                                    $("#selectWayForm").attr("disabled", "disabled");
                                    $("#selectWayFormWait").show();
                                    $("#payway_parent_id").val(parentId);
                                },
                                error: function(msg){
                                    if (showErrors) 
                                        alert("ERROR: " + msg);
                                },
                                success: function(msg){
                                    if (msg.substr(0,6) != "ERROR!") {
                                        $("#selectWayForm").html(msg);
                                        $("#selectWayForm").attr("disabled", "");
                                        $("#selectWayFormWait").hide();
                                    }
                                }
                            });
                        }
                        
                        if (wayId) {
                            $.ajax({
                                type: "POST",
                                url: '/wybierz_metode_wysylki.html',
                                data: {
                                    wayId: wayId
                                },
                                beforeSend: function(){
                                    $("#selectWayFormWait").show();
                                    $("#payway_id").val(wayId);
                                },
                                error: function(msg){
                                    if (showErrors) 
                                        alert("ERROR: " + msg);
                                },
                                success: function(msg){
                                    if (msg.substr(0,6) != "ERROR!") {
                                        var data = $.evalJSON(msg);
                                        $("#deliveryLongInfo").html(data.delivery_long_info);
                                        $("#basketTopay").html(data.basket_topay);
                                        $("#selectWayFormWait").hide();
                                    }
                                }
                            });
                        }
                    }
                    
                    if (data.basket_value == null) {
                        data.basket_value = 0;
                    }
                }
            }
        });
        return false;
    });
	
	// Przesylki krajowe
	$("#selectPayForm").change(function(){
        if ($(this).val() !== "wybierz") {
            var parentId = $(this).val();
            
            $.ajax({
                type: "POST",
                url: '/pokaz_metody_wysylki.html',
                data: {
                    parentId: parentId
                },
                beforeSend: function(){
                    $("#selectWayForm").attr("disabled", "disabled");
                    $("#selectWayFormWait").show();
                    $("#payway_parent_id").val(parentId);
                },
                error: function(msg){
                    if (showErrors) 
                        alert("ERROR: " + msg);
                },
                success: function(msg){
                    if (msg.substr(0, 3) != "ERROR!") {
                        $("#selectWayForm").html(msg);
                        $("#selectWayForm").attr("disabled", "");
                        $("#selectWayFormWait").hide();
                    }
                }
            });
            
        }
        else {
            $("#selectWayForm").attr("disabled", "disabled");
        }
    });
    
    $("#selectWayForm").change(function(){
        if ($(this).val() !== "wybierz") {
            $(".basketNav").block();
            var wayId = $(this).val();
            
            $.ajax({
                type: "POST",
                url: '/wybierz_metode_wysylki.html',
                data: {
                    wayId: wayId
                },
                beforeSend: function(){
                    $("#selectWayFormWait").show();
                    $("#payway_id").val(wayId);
                },
                error: function(msg){
                    if (showErrors) 
                        alert("ERROR: " + msg);
                },
                success: function(msg){
                    if (msg.substr(0, 3) != "ERROR!") {
                        var data = $.evalJSON(msg);
                        $("#deliveryLongInfo").html(data.delivery_long_info);
                        $("#basketTopay").html(data.basket_topay);
                        $("#basketPromoInfo").html(data.promo_info);
                        $("#selectWayFormWait").hide();
                    }
                }
            });
            
        }
    });
	
	// Przesylki zagraniczne
	$("#setPZ").change(function(){
        if ($(this).val() == 1) {
            $(".PK").hide();
            $(".PZ").show();
            
            $.ajax({
                type: "POST",
                url: '/ustaw_przesylke_zagraniczna.html',
                data: {
                    value: 1
                },
                error: function(msg){
                    if (showErrors) 
                        alert("ERROR: " + msg);
                },
                success: function(msg){
                    if (msg.substr(0, 3) != "ERROR!") {}
                }
            });
        }
        else {
            $(".PK").show();
            $(".PZ").hide()
            
            $.ajax({
                type: "POST",
                url: '/ustaw_przesylke_zagraniczna.html',
                data: {
                    value: 0
                },
                beforeSend: function(){},
                error: function(msg){
                    if (showErrors) 
                        alert("ERROR: " + msg);
                },
                success: function(msg){
                    if (msg.substr(0, 3) != "ERROR!") {}
                }
            });
            
            $("#gcountry").val("Polska");
        }
        
        $("#selectWayForm").val("wybierz");
        $("#selectPayForm").val("wybierz");
        $("#selectWayForm").attr("disabled", "disabled");
        
        $("#selectPZPayForm").val("wybierz");
        $("#selectPZWayForm").val("wybierz");
        $("#selectPZWayForm").attr("disabled", "disabled");
    });
	
	 $("#selectPZPayForm").change(function(){
	        if ($(this).val() !== "wybierz") {
	            var payway_pz_type = $(this).val();
	            
	            $.ajax({
	                type: "POST",
	                url: '/pokaz_kraje_wysylki.html',
	                data: {
	                    payway_pz_type: payway_pz_type
	                },
	                beforeSend: function(){
	                    $("#selectPZWayForm").attr("disabled", "disabled");
	                    $("#selectPZWayForm").val("wybierz");
	                    $("#selectPZWayFormWait").show();
	                    $("#payway_pz_type").val(payway_pz_type);
	                },
	                error: function(msg){
	                    if (showErrors) 
	                        alert("ERROR: " + msg);
	                },
	                success: function(msg){
	                    if (msg.substr(0, 3) != "ERROR!") {
	                        $("#selectPZWayForm").html(msg);
	                        $("#selectPZWayForm").attr("disabled", "");
	                        $("#selectPZWayFormWait").hide();
	                    }
	                }
	            });
	            
	        }
	        else {
	            $("#selectPZWayForm").attr("disabled", "disabled");
	        }
	    });
	    
	    $("#selectPZWayForm").change(function(){
	        if ($(this).val() !== "wybierz") {
	            var country = $(this).val();
	            
	            $.ajax({
	                type: "POST",
	                url: '/wybierz_kraj_wysylki.html',
	                data: {
	                    country: country
	                },
	                beforeSend: function(){
	                    $("#selectPZWayFormWait").show();
	                    $("#order_pz_country").val(country);
	                },
	                error: function(msg){
	                    if (showErrors) 
	                        alert("ERROR: " + msg);
	                },
	                success: function(msg){
	                    if (msg.substr(0, 3) != "ERROR!") {
	                        var data = $.evalJSON(msg);
	                        $("#deliveryLongInfo").html(data.delivery_long_info);
	                        $("#basketTopay").html(data.basket_topay);
	                        $("#selectPZWayFormWait").hide();
	                        $("#gcountry").val(data.country_full);
	                        $("#basketPromoInfo").html(data.promo_info);
	                    }
	                }
	            });
	            
	        }
	    });
	    
	    // Prezent
	    $("#setGift").click(function(){
	        $("#setGiftWait").show();
	        $("#setGift").attr("disabled", "disabled");
	        
	        if ($(this).is(":checked")) {
	            $.ajax({
	                type: "POST",
	                data: {
	                    k: "1"
	                },
	                url: '/aktywuj_prezent.html',
	                error: function(msg){
	                    if (showErrors) 
	                        alert("ERROR: " + msg);
	                },
	                success: function(msg){
	                    if (msg.substr(0, 3) != "ERROR!") {
	                        var data = $.evalJSON(msg);
	                        $("#giftPrice").html(data.gift_price);
	                        $("#basketTopay").html(data.basket_topay);
	                        $("#basketPromoInfo").html(data.promo_info);
	                        
	                        $(".gift").fadeIn("normal");
	                        $("#setGiftWait").hide();
	                        $("#setGift").attr("disabled", "");
	                    }
	                }
	            });
	        }
	        else {
	            $.ajax({
	                type: "POST",
	                data: {
	                    k: "1"
	                },
	                url: '/deaktywuj_prezent.html',
	                error: function(msg){
	                    if (showErrors) 
	                        alert("ERROR: " + msg);
	                },
	                success: function(msg){
	                    if (msg.substr(0, 3) != "ERROR!") {
	                        var data = $.evalJSON(msg);
	                        $("#giftPrice").html(data.gift_price);
	                        $("#basketTopay").html(data.basket_topay);
	                        $("#basketPromoInfo").html(data.promo_info);
	                        
	                        $(".gift").fadeOut("normal");
	                        $("input.sGift").val("");
	                        $("#setGiftWait").hide();
	                        $("#setGift").attr("disabled", "");
	                    }
	                }
	            });
	        }
	    });
	    
	    $("#gcountry").unbind().keydown(function(){ return false; });
	    
	    $("input.sGift").blur(function(){
	        var tName = $(this).attr("id");
	        var tValue = $(this).val();
	        
	        $(this).addClass("ac_loading");
	        
	        $.ajax({
	            type: "POST",
	            data: {
	                k: tName,
	                v: tValue
	            },
	            url: '/dane_do_prezentu.html',
	            error: function(msg){
	                if (showErrors) 
	                    alert("ERROR: " + msg);
	            },
	            success: function(msg){
	                if (msg.substr(0, 3) != "ERROR!") {
	                    $(".gift").show();
	                    $(".gift input").removeClass("ac_loading");
	                }
	            }
	        });
	    });
	    
	    // Uwagi
	    $("#notice").blur(function(){
	        $("#noticeWait").show();
	        $(".form-uwagi").block();
	        
	        var tName = $(this).attr("name");
	        var tValue = $(this).val();
	        
	        $.ajax({
	            type: "POST",
	            data: {
	                k: tName,
	                v: tValue
	            },
	            url: '/uwagi_do_zamowienia.html',
	            error: function(msg){
	                if (showErrors) 
	                    alert("ERROR: " + msg);
	            },
	            success: function(msg){
	                if (msg.substr(0, 3) != "ERROR!") {
	                    $("#noticeWait").hide();
	                    $(".form-uwagi").unblock();
	                }
	            }
	        });
	    });
	    
	    // Rabaty
	    $("#checkRabatCode").click(function(){
	        if ($("#rabatCode").val() !== "") {
	        
	            var rabatCode = $("#rabatCode").val();
	            
	            $.ajax({
	                type: "POST",
	                url: '/sprawdz_kod_rabatowy.html',
	                data: {
	                    rabatCode: rabatCode
	                },
	                beforeSend: function(){
	                    $.blockUI({ message: '<div id="DIALOGBOX"><div id="DB"><p><img src="' + baseURL + 'public/images/ajax-loader-shop.gif" alt="(Loading)" /><br />Trwa sprawdzanie kodu rabatowego.<br />Proszę czekać.</p></div></div>' });
	                    $("#rabatERROR").hide();
	                    $("#rabatOK").hide();
	                    $("#rabatMsg").html("");
	                },
	                error: function(msg){
	                    if (showErrors) 
	                        alert("ERROR: " + msg);
	                },
	                success: function(msg){
	                    if (msg.substr(0, 3) != "ERROR!") {
	                        var data = $.evalJSON(msg);
	                        
	                        $("#basketTopay").html(data.basket_topay);
	                        $("#basketPromoInfo").html(data.promo_info);
	                        
	                        $("#rabatCode").val(data.promo_code);
	                        
	                        if (data.promo_disabled == 1) {
	                            $("#rabatERROR").show();
	                            $("#rabatMsg").html("<b class='font9'>Błąd!</b> Twój kod rabatowy został źle podany, bądź jest nieważny. Spróbój jeszcze raz.");
	                        }
	                        else {
	                            if (data.basket_value >= data.promo_min_price) {
	                                $("#rabatOK").show();
	                                if (data.promo_percent > 0) 
	                                    $("#rabatMsg").html("<b class='font9'>Gratulujemy!</b> Kod rabatowy na <b class='font5'>" + data.promo_percent + "%</b> został uwzględniony.");
	                                if (data.promo_sum > 0) 
	                                    $("#rabatMsg").html("<b class='font9'>Gratulujemy!</b> Kod rabatowy na kwotę <b class='font5'>" + data.promo_sum + "zł</b> został uwzględniony.");
	                            }
	                            else {
	                                $("#rabatERROR").show();
	                                $("#rabatMsg").html("<b class='font9'>Błąd!</b> Aby wykorzystać ten kod rabatowy, wartość zamówienia musi przekroczyć <b class='font5'>" + data.promo_min_price + "zł</b>.");
	                            }
	                        }
	                        
	                        $.unblockUI();
	                    }
	                }
	            });
	            
	        }
	    });
	    
	    $("#rabatCode").keyup(function(){
	        if ($("#rabatCode").val() !== "") {
	        
	            var rabatCode = $("#rabatCode").val();
	            
	            $.ajax({
	                type: "POST",
	                url: '/sprawdz_kod_rabatowy.html',
	                data: {
	                    rabatCode: rabatCode
	                },
	                beforeSend: function(){ },
	                error: function(msg){
	                    if (showErrors) 
	                        alert("ERROR: " + msg);
	                },
	                success: function(msg){ }
	            });
	            
	        }
	    });
	    
	    $(".sGift").blur(function(){
			if($(this).hasClass("required")){
				if($(this).val() == ""){
					$(this).addClass("error_in");
					if(!$(this).next().is("div")) $(this).after('<div class="error_in">To pole jest wymagane.</div>');
				}
			}
		});
		
		$(".sGift").keyup(function(){
			if($(this).hasClass("required")){
				if($(this).val() != ""){
					$(this).removeClass("error_in");
					if($(this).next().is("div")) $(this).next("div").remove();
				}
			}
		});
	    
	    // Nastepny krok
	    $(".basket_next_step").click(function(){
	    	
	        wait();
	        if ($("#setGift").is(":checked")) {
	        	
	        	$(".sGift").removeClass("error_in");
				if($(".sGift").next().is("div")) $(".sGift").next("div").remove();
	        	
	            var dataComplete = true;
	            if ($("#gname").val() == "") {
	            	$("#gname").addClass("error_in");
	            	if(!$("#gname").next().is("div")) $("#gname").after('<div class="error_in">To pole jest wymagane.</div>');
	                dataComplete = false;
	            }
	            if ($("#gsurname").val() == "") {
	            	$("#gsurname").addClass("error_in");
	            	if(!$("#gsurname").next().is("div")) $("#gsurname").after('<div class="error_in">To pole jest wymagane.</div>');
	                dataComplete = false;
	            }
	            if ($("#gaddress").val() == "") {
	            	$("#gaddress").addClass("error_in");
	            	if(!$("#gaddress").next().is("div")) $("#gaddress").after('<div class="error_in">To pole jest wymagane.</div>');
	                dataComplete = false;
	            }
	            if ($("#gpostcode").val() == "") {
	            	$("#gpostcode").addClass("error_in");
	            	if(!$("#gpostcode").next().is("div")) $("#gpostcode").after('<div class="error_in">To pole jest wymagane.</div>');
	                dataComplete = false;
	            }
	            if ($("#gcity").val() == "") {
	            	$("#gcity").addClass("error_in");
	            	if(!$("#gcity").next().is("div")) $("#gcity").after('<div class="error_in">To pole jest wymagane.</div>');
	                dataComplete = false;
	            }
	        }
	        
	        var selectPayWayForm = true;
	        if ($("#selectWayForm").val() == "wybierz") {
	            selectPayWayForm = false;
	        }
	        if ($("#selectPayForm").val() == "wybierz") {
	            selectPayWayForm = false;
	        }
	        
	        var selectPZForm = true;
	        if ($("#selectPZWayForm").val() == "wybierz") {
	            selectPZForm = false;
	        }
	        if ($("#selectPZPayForm").val() == "wybierz") {
	            selectPZForm = false;
	        }
	        
	        if (selectPayWayForm == false && selectPZForm == false) {
	        	notify('Musisz wybrać formę płatności, oraz sposób dostawy, aby przejść dalej.','','error',0);
	            return;
	        }
	        
	        if (dataComplete == false) {
	        	notify('Dane adresowe szczęśliwca, któremu pragniesz wysłać prezent są niekompletne. Uzupełnij dane adresowe i spróbój ponownie.','','error',0);
	            return;
	        }
	        url = $(this).attr('href');
	        setTimeout('top.location = url', 2000);
	        return false;
	    });    
});
