


function nowtime()
{
	now = new Date().getTime();
	return now;
}



function pobierz_opcje_produktu(id_pages, wybrana_opcja){
    //alert (wybrana_opcja);
    if (wybrana_opcja == null){
        $.post(URL+"ajaxLoad/productOptions.php", { ajaxDataLoad: "haslo", id_pages: id_pages },
    				function(ajaxDataLoad){
    							if(ajaxDataLoad != ""){
    								$('#stan_magazynowy').html(ajaxDataLoad);
    							} else {
    							$('#stan_magazynowy').html("");
    							};
        });
    } else {
        var wybory = new Array();
        $("#wybor_parametrow select").each(function(k,v){
            var opcja = $(this).attr("name");
            wybory.push($("#wybor_"+opcja+" option:selected").html());
        });
        
        var form = $("#wybor_parametrow").serialize();
        $.post(URL+"ajaxLoad/productOptions.php", { ajaxDataLoad: "haslo", id_pages: id_pages, form: form, wybrana_opcja: wybrana_opcja },
    				function(ajaxDataLoad){
    							if(ajaxDataLoad != ""){
    								$('#stan_magazynowy').html(ajaxDataLoad);
    							} else {
    							$('#stan_magazynowy').html("");
    							};
        });
    }
}



function pobierz_i_sprawdz_dostepna_ilosc_produktu(id_pages, nowa_liczba_sztuk){
        var czy_sa_opcje = 0;
        var nie_wybrano_opcji = 0;
        $("#wybor_parametrow select").each(function(k,v){
            czy_sa_opcje = 1;
            opcja = $(this).attr("name");
            //alert (opcja);
            if ($("#wybor_"+opcja+" option:selected").html() == "Wybierz"){nie_wybrano_opcji = 1};
        });
    
    if ((czy_sa_opcje == 0) || (nie_wybrano_opcji == 0 )){
        var stara_ilosc_w_inpucie = $('#il_'+id_pages).attr("value");
        var options = prodOptions();
        if (nowa_liczba_sztuk == null){var wpisano_recznie = "tak"; nowa_liczba_sztuk = $('#il_'+id_pages).attr("value");}
        $.post(URL+"ajaxLoad/productCheckAmount.php", { ajaxDataLoad: "haslo", id_pages: id_pages, opcje: options, nowa_liczba_sztuk: nowa_liczba_sztuk },
    				function(ajaxDataLoad){
    							if(ajaxDataLoad != ""){
    								$('#il_'+id_pages).attr("value", ajaxDataLoad);
    							} 
                                if(ajaxDataLoad != "" && (stara_ilosc_w_inpucie == ajaxDataLoad)){
    							  jAlert('Wybrano większą ilość produktu niż znajduje się na magazynie, proszę o kontakt telefoniczny.', global.shop_name);
    							}
        });
    } else {
        jAlert('Proszę najpierw wybrać parametry produktu.', global.shop_name);
    }
}





function shopcartInit() {
	// dane z koszyka
	if ($('#shopcart_mini').length == 1) {
		loadXML('shop.php?'+nowtime(), 'shopRefresh', 'shopcart_mini');
		var wys = $('#cont').height();
		$("#bl_right").height(wys);
		$("#shopcart_mini").css('margin-top', '10px');
		$("#shopcart_mini").stickyfloat( {
			duration : 400
		})
	}
	// dodawanie i odejmowanie liczby sztuk na karcie produktu
	$("img[id^=plus_]").click(function() {
		var id_pages = $(this).attr('id').substring(5);
		var nowa_liczba_sztuk = (parseInt($("#il_" + id_pages).val()) + 1);
        pobierz_i_sprawdz_dostepna_ilosc_produktu(id_pages, nowa_liczba_sztuk);
	});
	$("img[id^=minus_]").click(function() {
		var id_pages = $(this).attr('id').substring(6);
		var newVar = parseInt($("#il_" + id_pages).val());
		if (newVar > 1) {
		var nowa_liczba_sztuk = ((newVar - 1));
        pobierz_i_sprawdz_dostepna_ilosc_produktu(id_pages, nowa_liczba_sztuk);
		}
	});
	$('img[id^="buy_"]').click(function() {
	   var czy_sa_opcje = 0;
       var nie_wybrano_opcji = 0;
        $("#wybor_parametrow select").each(function(k,v){
            czy_sa_opcje = 1;
            var opcja = $(this).attr("name");
            if ($("#wybor_"+opcja+" option:selected").html() == "Wybierz"){nie_wybrano_opcji = 1};
        });
        if ((czy_sa_opcje == 0) || (nie_wybrano_opcji == 0 )){
				var prod_id = $(this).attr('id').substring(4);
				var amount = $('#il_' + prod_id).val();
				
				if(amount == 0 || amount == undefined)
				{
				amount=1;
				}
				var options = prodOptions();
				var responseUrl = 'shop.php?prod=' + prod_id + '&amount=' + amount +'&'+options;
				loadXML(responseUrl, 'shopRefresh', 'shopcart_mini');
				jAlert('Produkt dodany do koszyka.', global.shop_name);
        } else {
            jAlert('Proszę uzupełnić wszystkie opcje wyboru.', global.shop_name);
        }
		return false;
		
	});
    
    
    
    // usowanie produktu z "karty detalis" z opcja np.koloru lub bez
	$(".cart_remove").click(function() {
        var prod_opt = $(this).attr('rel');
        var prod_opt = prod_opt.replace(/\#/g, '');
        $("#form_cart_remove_"+prod_opt).submit();
	});
    
	
	// po nacisniecu enter klika guzik id button next
		$(this).keydown(function(event) {
			if (event.keyCode == '13') {
			 event.preventDefault();
			 	$("#button_next").click();
			}
		});
		

		
	
	$('#clear_shopcart').click(function() {
		$("#product_idz_do_kasy").css("display", "none");
		var responseUrl = 'shop.php?reset';
		loadXML(responseUrl, 'shopRefresh', 'shopcart_mini');
	});
	$('img[id^="rem"]').live('click', function() {
		var prod_id = $(this).attr('id').substring(4);
        var id_storage = $(this).attr('rel');
		var responseUrl = 'shop.php?remove&id=' + prod_id+'&id_storage='+id_storage;
		loadXML(responseUrl, 'shopRefresh', 'shopcart_mini');
	});
	$('img[id^="dec"]').live('click', function() {
		var prod_id = $(this).attr('id').substring(4);
        var id_storage = $(this).attr('rel');
		var responseUrl = 'shop.php?dec&id=' + prod_id+'&id_storage='+id_storage;
		loadXML(responseUrl, 'shopRefresh', 'shopcart_mini');
	});
	$('img[id^="inc"]').live('click', function() {
		var prod_id = $(this).attr('id').substring(4);
        var id_storage = $(this).attr('rel');
		var responseUrl = 'shop.php?inc&id=' + prod_id+'&id_storage='+id_storage;
		loadXML(responseUrl, 'shopRefresh', 'shopcart_mini');
	});

	// czas dostawy
	$('div.delivery_button').click(function() {
		var hours;
		$('#choosed_hour').removeAttr('id');
		if ($('#active_delivery_button').length > 0) {
			$('#active_delivery_button').removeAttr('id');
		}
		$(this).attr('id', 'active_delivery_button');
		checkDeliveryTime();
		hours = $(this).attr('title').substring(6);
		// wybieranie godziny sugerowanej
			$('div.suggested_hours').css('display', 'none');
			$('#h_' + hours).css('display', 'block');
		});
	$('div.suggested_hour').click(function() {
		$('#choosed_hour').removeAttr('id');
		$(this).attr('id', 'choosed_hour');
		checkDeliveryTime();
	});

	/* wczytywanie rejestracji, jesli istnieje kontener */
	if ($("#registration_content").length > 0) {
		registration_loadContent();
		/* wysylanie formularza */
		$('#button_next').live('click', function() {
			// wyjatek dla miejsca dostawy
			loadPost('shop_register.php', 'registration_content', 'f_reg');
		});
		$('#button_prev').live('click', function() {
			loadPost('shop_register.php', 'registration_content', 'f_back');
		});
	}

	
	/* wczytywanie finalizacji zamowienia, jesli istnieje kontener */
	if ($("#finalization_content").length > 0) {
		finalization_loadContent();
		/* wysylanie formularza */
		$('#button_next').live('click', function() {
			if($('#deliveryTime').length && $('#deliveryTime').val() == '')
			{
				jAlert('musisz wybrać godzinę dostawy', global.shop_name)
				return false;
			}
			loadPost('shop_finalize.php', 'finalization_content', 'f_reg');
		});
	}
	// uzupelnienie danych do dostawy
	$('select[name=delivery_address]').livequery(
			'change',
			function() {
				var newVal = $(this).val();
				if(newVal == "")
				{
					$("#f_reg input[type=text]").val('');
					$(this).val('');
					return false;
				}
				loadXML('shop_finalize.php?deliveryPlace=' + $(this).val(),
						'loadDeliveryAddress', 'forms_content');
			});

	// ukrywanie i pokazywanie elementow za pomoca checkboxa
	$('input[id^=hidc_]').live('click', function() {
		var target = $(this).attr('id').substring(5);
		if ($(this).is(":checked")) {
			$('.' + target).each(function() {
				$(this).css('display', 'table-row');
			});
		} else {
			$('.' + target).each(function() {
				$(this).css('display', 'none');
			});
		}
	});
}



function calculate_shipping_price(suma, payment_type_id, delivery_type_id){
    if (suma != "" || payment_type_id != "" || delivery_type_id != ""){
        $.post(URL+"ajaxLoad/paymentType.php", { ajaxDataLoad: "haslo", order_sum: suma, payment_type: payment_type_id, delivery_type: delivery_type_id },
        				function(ajaxDataLoad){
        							if(ajaxDataLoad != ""){
	                                    var wynik = ajaxDataLoad.split("#");
        							    $('#cena_przesylki').html(wynik[1] +" zł");
                                        $('#suma_ostateczna').html(wynik[0] +" zł");
                                        $('#platnosci_ostateczna').attr("value", ((wynik[0]).replace('.', '')));
        							} else {
            							$('#cena_przesylki').html("wystąpił błąd proszę o kontakt telefoniczny");
                                        $('#suma_ostateczna').html(suma+"zł -bez przesyłki");
                                        $('#platnosci_ostateczna').attr('value', "");
        							};
         });
     }
}



function shopRefresh(xml) {
	$("#total_price").text($("#total_price", xml).text());
	$("#total_products").text($("#total_products", xml).text());
	$("#left_to_minimal_price").text($("#left_to_minimal_price", xml).text());
	if(parseFloat($("#left_to_minimal_price", xml).text()) > 0)
	{
		$("#left_to").css('display', 'block');
	}
	else
	{
		$("#left_to").css('display', 'none');
	}
	if ($('#shopcart_mini_details').length != 0) {
		// update listy produktow z koszyka
		$('#shopcart_mini_details_list').text('');
		$(xml)
				.find('product')
				.each(function() {
					// alert($(this).text());
		     // alert($(this).attr('storage_amount')+' '+$(this).attr('amount'));
						// tworzenie nowego elementu listy
						var newListItem = '<li>';
						newListItem += '<div><span class="px_125"><b>' + $(this).text() +'</b>';
						if( parseInt($(this).attr('storage_amount')) < parseInt($(this).attr('amount')) ){
							newListItem += '<br /><span style="color: red;">(Brak pożądanej ilości produktów na magazynie.<br />Prosimy o kontakt.)</span>';
						}else if( parseInt($(this).attr('storage_amount')) == 0){
							newListItem += '<br /><span style="color: red;">(Brak produktu na magazynie.<br />Prosimy o kontakt.)</span>';
						}
						newListItem += '</span><br />';
						newListItem += '<span class="px_125 to_l">' + $(this).attr('options') + '</span>';
						newListItem += '<span class="to_r"><img src="'+URL + $(this).attr('imgsrc') + '&w=40&h=45" /></span></div>';
						newListItem += '<span style="margin: 4px" class="full_w"><img class="imgl" id="rem_'
								+ $(this).attr('product_id') + '" rel="' + $(this).attr('id_storage')
								+ '" src="'+URL+'images/delete.png" alt="usun" />&nbsp;&nbsp;Ilość: '
								+ $(this).attr('amount')
								+ ' szt&nbsp;&nbsp;&nbsp;<img id="dec_'
								+ $(this).attr('product_id') + '" rel="' + $(this).attr('id_storage')
								+ '" src="'+URL+'images/minus.png" class="imgl" alt="minus" />&nbsp;&nbsp;<img id="inc_'
								+ $(this).attr('product_id') + '" rel="' + $(this).attr('id_storage')
								+ '" src="'+URL+'images/plus.png" class="imgl" alt="plus" />&nbsp;&nbsp;&nbsp;Cena:&nbsp;'
								+ $(this).attr('price') + '&nbsp;zł</span>';
						newListItem += '</li>';
						$('#shopcart_mini_details_list').append(newListItem);
					});
	}
	if ($('#message', xml).length != 0) {
		jAlert($('#message', xml).text(), global.shop_name);
	}
}
function parseXml(xml) {
	if (jQuery.browser.msie) {
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.loadXML(xml);
		xml = xmlDoc;
	}
   // alert (xml);
	return xml;
}
function loadXML(url, callback, obj) {
	if (obj != undefined) {
		$("#" + obj).mask("");
	}
	var response;
	var content = $.ajax( {url : URL+url, type : "GET", dataType : ($.browser.msie) ? "text" : "xml",error : function() {
			// alert('blad');
            $("#" + obj).unmask();
	}, success : function(response) {
		if (obj != undefined) {$("#" + obj).unmask("loading...");}
		response = parseXml(response);
        eval(callback + "(response)");
	}
	});
	// alert (content);
}
function loadGET(url, obj) {
	$("#" + obj).mask("loading...");
	var responseText;
	responseText = $.ajax( {
		url : URL+url,
		type : "GET",
		dataType : "html",
		cache : false,
		error : function() {
			$("#" + obj).text('wystapil blad');
			$("#" + obj).unmask();
		},
		success : function(html) {
			$("#" + obj).html(html);
			$("#" + obj).unmask();
		}
	});
}
function loadPost(url, obj, frm) {
	var postData = $('#' + frm).serialize();
	$("#" + obj).mask("loading...");
	var responseText;
	responseText = $.ajax( {
		url : URL+url,
		type : "POST",
		cache : false,
		dataType : "html",
		data : postData,
		error : function() {
			$("#" + obj).text('wystapil blad');
			alert('error');
			$("#" + obj).unmask();
		},
		success : function(html) {
			$("#" + obj).html(html);
			$("#" + obj).unmask();
		}
	});
}
function readMessages() {
	var msgs = $('div.alert_msg');
	if (msgs.length > 0) {
		var msgText = '';
		msgs.each(function() {
			msgText += msgs.text();
		});
		if (msgText != '')
			jAlert(msgText, global.shop_name);
	}
}
function saveShopcartList() {
	jPrompt('Zapisz listę', '', 'Nowa lista zakupowa', function(r) {
		if (r)
			location.href = URL+'shopcart_details.html&savelist=' + r;
	});
}
function loadDeliveryAddress(xml) {
	$(xml).find('delivery field').each(
			function() {
				if($(this).attr('textarea') == 'yes')
				{
				$('textarea[name=' + $(this).attr('name') + ']').text(
						$(this).attr('value'));
				}
				else
				{
					$('input[name=' + $(this).attr('name') + ']').val(
							$(this).attr('value'));
				}
			});
	var deliveryTime = $(xml).find('delivery #deliveryTime').text();
	$('input[name=deliveryTime]').val(deliveryTime);
}
// zmiana ceny w detalach koszyka
function changeAmountUrl(id, option) {
	var reqUrl;
	var opt = 'inc';
	switch (option) {
	case 'inc':
		opt = 'inc';
		break;
	case 'dec':
		opt = 'dec';
		break;
	default:
		break;
	}
	reqUrl = URL+'shop.php?'+opt+'&id='+id;
	return(reqUrl);
}

//zmiana ilosci produktu
function changeAmountEffect(xml)
{
var prodParams = $('#editedprod', xml);
var pid = prodParams.attr('pid');
var left_to = parseFloat($('#left_to_minimal_price', xml).text());
$('#total_overall').text($("#total_price", xml).text());
$('#full_price_'+pid).text(prodParams.attr('fullprice'));
$('#amount_'+pid).text(prodParams.attr('amount'));
if(parseInt(left_to) > 0)
	{
		$('#left_to').text('do złożenia dostawy brakuje: '+left_to+' zł').css('display', 'inline-block');
		$('#finalize_button').css('display', 'none');
	}
else
	{
		$('#left_to').css('display', 'none');
		$('#finalize_button').css('display', 'inline-block');
	}
if ($('#message', xml).length != 0) {
	jAlert($('#message', xml).text(), global.shop_name);
}
}

//ladowanie opcji produktu
function prodOptions() {
	var a = $('#wybor_parametrow').serialize();
	
	return a;
}
function redirect_to_details()
{
	location.href = URL+'shopcart_details.html';
}


// funkcja wywolywana w TPL'ach tam gdzie jest potrzeba wyswietlic jedne jakies dane adresowe uzytkownika
// jeżeli do funkcji nie jest przekazany parametr (city_street) miasto+"-"+ulica     klienta, funkcja zwraca pierwsze dane adresowe wpisane przez klienta
// funkcja odrazu uzupelnia pola formularza na stronie, więc dobrze jest wszedzie miec "name" ten sam... 
function getPeoplesAdresses(city_street){
    //alert (city_street);
    
        if (city_street == ""){
            var city = $("input[name=city]").attr("value");
            var street = $("input[name=street]").attr("value");
            if (city != "" && street != ""){var city_street = city+"_"+street;}       
        } 
    //alert (city_street);
    $.post(URL+"ajaxLoad/getPeopleAdresses.php?"+nowtime(), { ajaxDataLoad: "haslo", city_street: city_street},
        function(ajaxDataLoad){
            xml = parseXml(ajaxDataLoad);
            $(xml).find('wybrany').each(
			function() {
                $("#id_address").attr("value", $(this).find("id_address").text());
                //alert ($(this).find("id_address").text());
                $("input[name=postal_code]").attr("value", $(this).find("postal_code").text());
                $("input[name=city]").attr("value", $(this).find("city").text());
                $("input[name=street]").attr("value", $(this).find("street").text());
                $("input[name=house_nr]").attr("value", $(this).find("house_nr").text());
                $("input[name=flat_nr]").attr("value", $(this).find("flat_nr").text());
			});
            //alert (response);
        });
}
