//pusta tabela na potrzeby sklepu
var products = [];
var product = {
	add: function(id) {
		if (!$('#basket table:first input').length){
			$('#basketWMF').css({
				display: 'block',
				width: 200,
				height: 200,
				top: "50%",
				right: "50%",
				marginTop: -100,
				marginRight: -100
			}).animate({
				width: 0,
				height: 0,
				top: 115,
				right: 0,
				margin: 0
			},'slow','easeInExpo');
			$('#basketTrigger').show();
		}

		if (!$('#basket table:first input[name="prod['+id+']"]').length) {
			//wiersz
			tr = $('<tr>').appendTo($('#basket table:first tbody'));
			//nazwa
			$('<th>',{text: products[id].name}).appendTo(tr);
			//ilość
			ilosc = $('<td>').appendTo(tr);
			$('<input>',{
				val: 1,
				name: 'prod['+id+']',
				size: 1,
				readonly: 'readonly'
			}).appendTo(ilosc);
			//cena
			$('<td>',{text: $().number_format(products[id].price,{
				numberOfDecimals:2,
				decimalSeparator: ',',
				thousandSeparator: ' '
			})+'zł'}).appendTo(tr);
			//przyciski
			actionButtons = $('<td>').appendTo(tr);
			$('<a>',{text:'+'}).button({
				icons: {primary: "ui-icon-plusthick"},
				text: false
			}).click(function(){
				product.add(id);
			}).appendTo(actionButtons);
			$('<a>',{text:'-'}).button({
				icons: {primary: "ui-icon-minusthick"},
				text: false
			}).click(function(){
				product.del(id);
			}).appendTo(actionButtons);
		} else {
			$('input[name="prod['+id+']"]').val(parseInt($('input[name="prod['+id+']"]').val())+1);
			price = $().number_format($('input[name="prod['+id+']"]').val()*products[id].price,{
				numberOfDecimals:2,
				decimalSeparator: ',',
				thousandSeparator: ' '
			});
			$('input[name="prod['+id+']"]').parent().next().text(price+'zł');
		}
		this.update(id);
	},
	del: function(id) {
		if ($('#basket input[name="prod['+id+']"]').val() == 1)
			$('#basket input[name="prod['+id+']"]').parent().parent().remove();
		else {
			$('input[name="prod['+id+']"]').val(parseInt($('input[name="prod['+id+']"]').val())-1);
			price = $().number_format($('input[name="prod['+id+']"]').val()*products[id].price,{
				numberOfDecimals:2,
				decimalSeparator: ',',
				thousandSeparator: ' '
			});
			$('input[name="prod['+id+']"]').parent().next().text(price+'zł');
		}

		if (!$('#basket table:first input').length){
			$('#basket').dialog("close");
			$('#basketTrigger').hide();
		}
		this.update(id);
	},
	update: function(id){
		if (typeof(id) == 'undefined') {
			id = 0;
			qty = 0;
		} else
			qty = $('input[name="prod['+id+']"]').val();
		$.post(
			'ajax/basket.php',{id:id,quantity:qty},
			function(data){$("input[name='p24_kwota']").val(data);}
		);
		if($('#basketTrigger span').length)
			$('#basketTrigger span').text($('input[name^="prod"]').sum());
	}
};

function message(data, location, button) {
	if (typeof(data) == "object") {
		msg = data.msg;
		location = data.location;
		button = data.button;
	} else msg = data;

	var div = $("<div>"+msg+"</div>").dialog({
		show: "blind",
		hide: "explode",
		modal: true
	});

	if (button) {
		div.dialog({
			buttons: {
				Ok: function() {
					if (location)
						window.location = location;
					else
						div.dialog( "close" );
				}
			},
			minWidth: 400
		});
	} else {
		setTimeout(function(){
			if (location)
				window.location = location;
			else
				div.dialog( "close" );
		}, 2000);
	}
}

function myConfirm(data, location) {
	if (typeof(data) == "object") {
		msg = data.msg;
		location = data.location;
	} else
		msg = data;

	var div = $("<div>"+msg+"</div>").dialog({
		show: "blind",
		hide: "explode",
		modal: true,
		buttons: {
			"Tak" : function() {
				window.location = location;
			},
			"Nie" : function() {
				$( this ).dialog( "close" );
			}
		},
		minWidth: 400
	});

	return false;
}

function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ) {
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ) {
      if ( aQueryString[iParam].indexOf(strParamName + "=") > -1 ) {
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
}

function setCookie(name, value, expires) {
	  var cookieStr = escape(name) +"=";
	  if (typeof value != "undefined") {
	    cookieStr += escape(value);
	  }
	  if (!expires) {
	    expires = new Date();
	    expires.setTime(expires.getTime()+365*24*60*60*1000);
	  }
	  cookieStr += "; expires="+ expires.toGMTString() +";";
	  document.cookie = cookieStr;
	}

function getCookie(name){
	  var str = '; '+ document.cookie +';';
	  var index = str.indexOf('; '+ escape(name) +'=');
	  if (index != -1) {
	    index += name.length+3;
	    var value = str.slice(index, str.indexOf(';', index));
	    return unescape(value);
	  }
	  return '';
	}

function deleteCookie(name){
	  var past = new Date();
	  past.setTime(0); // 1970-01-01
	  setCookie(name, null, past);
	}

//Ulubione
function ulubione(obj) {
	var title = document.title;
	var url = document.location.href;
	if(window.sidebar) {
		window.sidebar.addPanel(title, url, "");
		obj.href = "#";
		return false;
	}
	else if(window.external) {
		window.external.AddFavorite(url, title);
		obj.href = "#";
		return false;
	}
	else if(window.opera && window.print) {
		obj.rel = 'sidebar';
		obj.title = title;
		obj.href = url;
		return true;
	}
	return false;
}

//Startowa
function startowa(obj) {
	var url = document.location.href;
	if(url.toLowerCase().indexOf('http://') != 0) {
		url = 'http://' + url;
	}
	var przegladarka = navigator.userAgent;
	var ie_ver = 0;
	if(przegladarka.indexOf("MSIE") != -1 && przegladarka.indexOf(") ") == -1) {
		ie_ver = parseInt(przegladarka.substring(przegladarka.indexOf("MSIE")+5));
	}
	if (ie_ver >= 4) {
		obj.style.behavior='url(#default#homepage)';
		obj.setHomePage(url);
	}
	return false;
}

/**
 * funkcja formatująca podpis w fancyboxie w widoku galerii
 */
function formatTitle(opis, currentArray, currentIndex, currentOpts) {
	title = $(currentArray[currentIndex]).children('img').attr('title');

	titleBox = '<div></div>';
	if ((title && title.length) || (opis && opis.length))
		titleBox = '<div id="fancyboxTitle" class="ui-corner-all">'
			+ (title && title.length ? '<b>' + title + '</b>' : '')
			+ (title && title.length && opis && opis.length ? '<br />' : '')
			+ (opis && opis.length ? opis : '')
			+ '</div>';

    return titleBox;
}

/**
 * funkcja ukrywająca wszystkie zakładki w widoku
 */
function hideAllTabs() {
	$("#menu_tabs_top .tab_content").slideUp("fast");
	$("#menu_tabs_right .tab_content").animate({right: -500}, 'fast');
	$("#menu_tabs_bottom .tab_content").slideUp("fast");
	$("#menu_tabs_left .tab_content").animate({left: -500}, 'fast');
}

/**
 * funkcja dołączająca plik js
 *
 * @param path string scieżka do pliku
 */
var scripts = new Array();
function includeScript(path) {
	if (in_array(path, scripts))
		return false;
	scripts[scripts.length] = path;
	$("head script:last").after('<script type="text/javascript" charset="utf-8" language="JavaScript" src="'+path+'"></script>');
	return true;
}

/**
 * funkcja dołączająca plik css
 *
 * @param path string scieżka do pliku
 */
function includeStyle(path) {
	if (!$("head").find('link[href="'+path+'"]').length)
		$("head link:last").after($('<link rel="stylesheet" type="text/css" href="'+path+'" charset="utf-8" />'));
	if (typeof(console) != 'undefined')
		console.info("IE nie obsługuje wczytywania styli!!!");
}

/**
 * funkcja identyczna jak w PHP
 *
 * @param needle mixed szukany element
 * @param haystack array tablica do przeszukania
 * @return bool czy znaleziono
 */
function in_array(needle , haystack){
	for (var i = 0; i < haystack.length; i++) {
		if (haystack[i] == needle)
			return true;
	}
	return false;
}

/**
 * funkcja przesuwająca linki w środku wskazanego diva
 *
 * @param target string id diva
 * @param speed int ilość milisekund na przewinięcie (domyślnie 1500)
 * @param stop int ilość milisekund do następnego przewinięcia (domyślnie połowa speed)
 */
function slideLogos(target, speed, stop){
	if (typeof(speed) != "number")
		speed = 1500;
	if (typeof(stop) != "number")
		stop = Math.round(speed/2);
	a = $("#"+target+" div a:first");
	a.animate({
		"margin-left": -1*a.outerWidth(true)
	}, speed, 'easeInOutCirc', function(){
		$("#"+target+" div").append(a);
		a.css("margin-left", 0);
		setTimeout(function(){slideLogos(target, speed, stop);}, stop);
	});
}

/**
 * funkcja wstrzymująca pracę js na podaną ilość sekund
 *
 * @param seconds float ilość sekund
 */
function sleep(seconds) {
	milliseconds = Math.round(seconds*1000);
	var start = new Date().getTime();
	for (var i = 0; i < 1e7; i++) {
		if ((new Date().getTime() - start) > milliseconds)
			break;
	}
}

/**
 * funkcja pokazując okno obsługi rejestracji
 */
function register() {
	registerForm = $("<form>").dialog({
		title: "Rejestracja"
	}).css('text-align','right').append(
		$("<label>",{text: 'E-mail: '}).append(
			$("<input>",{
				type: 'text',
				name: 'email',
				'class': 'required email'
			})
		)
	).append(
		$("<br>")
	).append(
		$("<label>",{text: 'Hasło: '}).append(
			$("<input>",{
				type: 'password',
				name: 'password',
				'class': 'required'
			})
		)
	).append(
		$("<br>")
	).append(
		$("<label>",{text: 'Potwierdź hasło: '}).append(
			$("<input>",{
				type: 'password',
				name: 'password2',
				'class': 'required'
			})
		)
	).append(
		$("<br>")
	).append(
		$("<input>",{
			type: 'submit',
			value: 'Wyślij'
		}).css('margin','5px 1px 0 0').button()
	).submit(function(){
		$.post("./ajax/register.php",$(this).serialize(),function(data){
			registerForm.dialog('close');
			registerForm.remove();
			$("<div>",{html:data}).dialog();
		})
		return false;
	});
}

$(document).ready(function() {

//walidacja pól formularzy
	$(".validate").each(function(){
		$(this).validate({
			errorElement: "em"
		});
		$(this).submit(function(){
			if (!$(this).valid()) {
				$(".check em.error").each(function(){
					$(this).parent().addClass("error");
					$(this).parent().children("input").change(function(){
						$(this).parent().removeClass("error");
						$(this).parent().children("em").removeClass("error");
					});
				});
				if(typeof(notice) != 'undefined')
					notice('Należy poprawnie wypełnić pola obowiązkowe!', "error");
				else
					message('Należy poprawnie wypełnić pola obowiązkowe!');
				return false;
			} else
				return true;
		});
	});

//fancybox
	if ($("a.fancybox").length) $("a.fancybox").fancybox();

//youtube player
	if ($(".youtubeplayer").length){
		$(".youtubeplayer").each(function(){
			$(this).height($(this).parent().width()*3/4);
		});
	}

//flash player
	if (typeof flowplayer != "undefined"){
		$("a.videoplayer").each(function(){
			switch(parseInt($(this).attr('rel'))){
				case 1:
					options = {
						autoPlay: false,
						autoBuffering: true
					};
					break;
				case 2:
					options = {
						autoPlay: true,
						autoBuffering: true
					};
					break;
				default:
					options = {
						autoPlay: false,
						autoBuffering: false
					};
					break;
			}
			$(this).height($(this).width()*3/4);
			$(this).flowplayer("swf/flowplayer/flowplayer-3.2.5.swf", {
				plugins: {
					controls: {
						url: 'swf/flowplayer/flowplayer.controls-3.2.3.swf',
						playlist: false,
						//autoHide: 'never',
						play:true,
						volume:$(this).width()>=180,
						mute:$(this).width()>=380,
						time:$(this).width()>=360,
						stop:$(this).width()>=400,
						playlist:false,
						fullscreen:true
					}
				},
				clip: options
			});
		});
		$("a.audioplayer").each(function(){
			switch(parseInt($(this).attr('rel'))){
			case 1:
				options = {
					autoPlay: true,
					autoBuffering: true
				};
				break;
			default:
				options = {
					autoPlay: false,
					autoBuffering: false
				};
				break;
			}
			$(this).flowplayer("swf/flowplayer/flowplayer-3.2.5.swf", {
				playlist: [
					{url: $(this).attr("href")}
				],
				plugins: {
					controls: {
						url: 'swf/flowplayer/flowplayer.controls-3.2.3.swf',
						playlist: false,
						autoHide: 'never',
						play:true,
						volume:$(this).width()>=100,
						mute:$(this).width()>=300,
						time:$(this).width()>=280,
						stop:$(this).width()>=320,
						playlist:false,
						fullscreen:false
					}
				},
				clip: options
			});
		});
	}

//kalendarzyk do wyboru daty
	if ($(".datepicker").length) {
		$(".datepicker").datepicker({
			dateFormat: 'yy-mm-dd',
			firstDay: 1,
			changeMonth: true,
			changeYear: true,
			constrainInput: true
		});
	}

	//accordion w newsach
	if ($("#news_accordion").length) {
		$("#news_accordion input[type='submit']").button();
		$("#news_accordion").accordion({
			autoHeight: false
		});
	}

	//zakładki
	if ($(".tab_headers button").length) {
		$(".tab_headers button").each(function(){
			$(this).button().click(function(){
				if ($(this).hasClass('right')){
					if ($("#tab_right_"+$(this).attr('rel')).css("right") == "-500px") {
						hideAllTabs()
						$("#tab_right_"+$(this).attr('rel')).animate({right: 0}, "slow");
					} else
						$("#tab_right_"+$(this).attr('rel')).animate({right: -500}, "slow");
				} else if ($(this).hasClass('left')) {
					if ($("#tab_left_"+$(this).attr('rel')).css("left") == "-500px") {
						hideAllTabs()
						$("#tab_left_"+$(this).attr('rel')).animate({left: 0}, "slow");
					} else
						$("#tab_left_"+$(this).attr('rel')).animate({left: -500}, "slow");
				} else {
					if ($(this).hasClass('bottom'))
						pos='bottom';
					if ($(this).hasClass('top'))
						pos='top';

					if ($("#tab_"+pos+"_"+$(this).attr('rel')).css("display") == "none") {
						hideAllTabs()
						$("#tab_"+pos+"_"+$(this).attr('rel')).slideDown("slow");
					} else
						$("#tab_"+pos+"_"+$(this).attr('rel')).slideUp("slow");
				}
			});
			if ($(this).hasClass("right"))
				$("#tab_right_"+$(this).attr('rel')).css("margin-top", $("#tab_right_"+$(this).attr('rel')).innerHeight()/(-2));
			else if ($(this).hasClass("left"))
				$("#tab_left_"+$(this).attr('rel')).css("margin-top", $("#tab_left_"+$(this).attr('rel')).innerHeight()/(-2));
		});
		if ($("#menu_tabs_top").length)
			$("#menu_tabs_top").css("margin-left", $("#menu_tabs_top").width()/(-2));
		if ($("#menu_tabs_right").length)
			$("#menu_tabs_right").css("margin-top", $("#menu_tabs_right").height()/(-2));
		if ($("#menu_tabs_bottom").length)
			$("#menu_tabs_bottom").css("margin-left", $("#menu_tabs_bottom").width()/(-2));
		if ($("#menu_tabs_left").length)
			$("#menu_tabs_left").css("margin-top", $("#menu_tabs_left").height()/(-2));
	}

	//koszyk
	if ($("#basket").length) {
		$("#basket").dialog({
			minWidth: 550,
			autoOpen: false,
			title: $("#basket").attr('title'),
			buttons: {
				'Realizuj': function(){
					$("#basket").dialog('close');
					$("#basket").dialog('option', 'buttons', {
						'Wyślij': function(){
							$.ajax({
								url: "ajax/basketSave.php",
								type: "post",
								data: $("#basket").serialize(),
								dataType: 'html',
								error: function(){
									$('<div>',{
										html: "Błąd podczas zapisywania zamówienia!<br />Skontaktuj się z sprzedawcą."
									}).dialog();
								},
								success: function(data){
									if ($("#basket").attr('action'))
										$("#basket").submit();
									else
										$('<div>',{
											text: "Zamówienie zostało zapisane."
										}).dialog();
								}
							});
						}
					});
					$("#daneF").show();
					$("input[name='p24_klient']").focus();
					$("#basket").dialog('open');
				}
			}
		});
		if ($("#basket table:first tr").length > 1) {
			$("#basketTrigger").show();
			$("#basket table:first tr:not(:first)").each(function(){
				actionButtons = $('<td>').appendTo($(this));
				$('<a>',{text:'+'}).button({
					icons: {primary: "ui-icon-plusthick"},
					text: false
				}).click(function(){
					product.add(parseInt($(this).parent().parent().find('input').attr('name').split('[')[1]));
				}).appendTo(actionButtons);
				$('<a>',{text:'-'}).button({
					icons: {primary: "ui-icon-minusthick"},
					text: false
				}).click(function(){
					product.del(parseInt($(this).parent().parent().find('input').attr('name').split('[')[1]));
				}).appendTo(actionButtons);
			});
		}
		$("#basketTrigger").hover(function(){
			$(this).css('background-image',$(this).css('background-image').replace('kosz.png','kosz_h.png'));
		},function(){
			$(this).css('background-image',$(this).css('background-image').replace('kosz_h.png','kosz.png'));
		}).click(function(){
			if ($("#basket").dialog('isOpen'))
				$("#basket").dialog('close');
			else
				$("#basket").dialog('open');
		});

		product.update();
	}

	//rejestracja
	if($(".register").length)
		$(".register").click(function(){register();return false;});
});

