/*
 * JS'y wspólne dla wszystkich podstron
 */
var addthis_config = 
{
	services_expanded: "facebook,flaker,blip,blogger,delicious,digg,woscc,elefantapl,email,mailto,evernote,gabbr,gmail,google,googletranslate,grono,igoogle,print,tumblr,twitter,wykop,myspace,linkedin,reddit"
}

function resize() {
	
	if( Math.max( $("#left").height(), $("#right").height() ) > $("#center").height() ) {
		 $("#center").css('min-height', Math.max( $("#left").height(), $("#right").height() ) );
	}
}


function showMessage(msg) {
	$("#notifications p").text(msg);
	$("#notifications")
			.slideDown(
					"normal",
					function() {
						setTimeout(
								"$('#notifications').slideUp().children('p').text('');",
								1400);
					});

}

$(function() {
	
	if( $(".obiektBarcode").length ) {
		$(".obiektBarcode").click( function(){
			$.photocode( cmsTobiekt1Id  );
		} );
	}

	/* Ankiety */
	$("#poll").cmsPubPoll( {
		lang : cmsLang,
		poiPubUrl : cmsPoiPubUrl
	});

	/* Drukowanie */
	$("#print, #print2").click(
			function(event) {
				$.message("Drukowanie...");
				window.print();
				/*$("#printArea").printElement(
						{
							printMode : "iframe",
							overrideElementCSS : [ resUrl + 'css/global.css',
									resThmUrl + 'css/thm_cms.css',
									resThmUrl + 'css/thm_common.css',
									resTplUrl + 'css/tpl.css',
									resTplUrl + 'css/print.css' ]
						})*/
			});
	
	$("#print").button( {
		icons : {
		primary : "ui-icon-print"
	},
		text : false
	});

	/* Newsletter */
	$("#newsletter-reg, #newsletter-reg2")
			.click(
					function(event) {
						$
								.ajax( {
									url : cmsPoiPubUrl + '?q=biuletynReg&lang='
											+ cmsLang,
									dataType : "jsonp",
									jsonp : "jsonpCallback",
									jsonpCallback : "autocompleterCallback",
									data : {
										email : $("#newsletter-email").val()
									},
									success : function(data) {
										if (data.success) {
											$
													.message("Zostałeś poprawnie zapisany do biuletynu.");
										} else {
											$
													.message(
															"Taki adres już jest zapisany w biuletynie.",
															"err");
										}
									}
								});
						event.preventDefault();
					});
	
	$("#newsletter-reg").button( {
		icons : { primary : "ui-icon-mail-open" }
	});

	$("#newsletter-unreg").click(function() {
		$.ajax( {
			url : cmsPoiPubUrl + '?q=biuletynUnreg&lang=' + cmsLang,
			dataType : "jsonp",
			jsonp : "jsonpCallback",
			jsonpCallback : "autocompleterCallback",
			data : {
				email : $("#newsletter-email").val()
			},
			success : function(data) {
				if (data.success) {
					$.message("Zostałeś poprawnie wypisany z biuletynu.");
				} else {
					$.message("Brak takiego adresu w biuletynie.", "err");
				}
			}
		});
		event.preventDefault();
	}).button( {
		icons : {
			primary : "ui-icon-closethick"
		}
	});
	if( $("#user-info").length )
		$("#user-info").login();

	if (typeof cmsTobiekt1Id != "undefinied") {
		$("#setAsContext").click(function() {
			$.openMap( {
				tobiekt1Id : cmsTobiekt1Id
			});
		}).button( {
			icons : {
				primary : "ui-icon-circle-zoomin"
			}
		});

		$("#showOnMap").click(function() {
			$.openMap( {
				'mode': "map",
				tobiekt2Id : cmsTobiekt2Id
			});
		}).button( {
			icons : {
				primary : "ui-icon-circle-zoomin"
			}
		});

	}

	$("#wikiEditMode").change(function() {
		if ($(this).attr("checked")) {
			$(".wikiedit").addClass("wikiEditHighlight");
		} else {
			$(".wikiedit").removeClass("wikiEditHighlight");
		}
	});

	$(".wikiEditHighlight")
			.live(
					"click",
					function() {
						var kod = $(this).attr("id");
						var url = baseUrl + "/rpis/wiki?id=" + cmsTobiekt1Id
								+ "&lang=" + cmsLang + "&pkod=" + kod;
						window
								.open(
										url,
										'_blank',
										'menubar=no, toolbar=no, location=no, scrollbars=yes, resizable=yes, status=no, width=670, height=710');
					});

	if ($.cookies.get('user') !== null) {
		$(".wlasciciel").parent().show();
		$(".wlasciciel")
				.click(
						function(event) {
							$
									.ajax( {
										url : '/rpis/seam/resource/user.js?tobiekt1Id='
												+ cmsTobiekt1Id,
										dataType : "json",
										success : function(data) {
											alert('Wybór obiektu został zapamiętany. Uruchom polecenie "Narzędzia", a następnie w zakładce "Potwierdzenie tożsamości" możesz dowiedzieć się, w jaki sposób uzyskać uprawnienia właściciela tego obiektu. Jako właściciel będziesz mieć możliwość samodzielnego poprawiania treści karty obiektu, a także definiowania i zarządzania świadczonymi usługami.');
										}
									});
							event.preventDefault();
						}).button( {
					icons : {
						primary : "ui-icon-contact"
					}
				}).show();
	}
	$(".uslugi").click(function(event) {
		$.fancybox( {
			href : "/rpis/uslugi?id=" + cmsTobiekt1Id,
			type : "iframe",
			width : 800,
			height : 600
		})
	}).button( {
		icons : {
			primary : "ui-icon-suitcase"
		},
		text : true
	}).show();

	var uslId = getQueryParams()['tusluga1Id'];
	if (uslId!=null) {
		$.fancybox( {
			href : "/rpis/uslugi?id=" + cmsTobiekt1Id+"&uslId="+uslId,
			type : "iframe",
			width : 800,
			height : 600
		})
	}

	if (typeof cmsKalData1 == "undefined")
		cmsKalData1 = false;
	else {
		var tmp = cmsKalData1.split("-");
		cmsKalData1 = new Date(tmp[0], tmp[1] - 1, tmp[2]);
	}

	if (typeof cmsKalData2 == "undefined")
		cmsKalData2 = false;
	else {
		var tmp = cmsKalData2.split("-");
		cmsKalData2 = new Date(tmp[0], tmp[1] - 1, tmp[2]);
	}
	/* Portlet kalendarium */

	$("#portlet-calendar").cmsPubCalendar( {
		poiPubUrl : cmsPoiPubUrl,
		lang : cmsLang,
		kalUrl : cmsKalUrl,
		data1 : cmsKalData1,
		data2 : cmsKalData2
	});


	/* Portlet mapa, obiekty */
	if ($("#left #portlet-objects").length) {
		$("#left #portlet-objects")
				.cmsPubMap(
						{
							poiPubUrl : cmsPoiPubUrl,
							poiKartUrl : cmsPoiKartUrl,
							lang : cmsLang,
							tooltipPosition : "center right",
							tobiekt2IdVal : (typeof infomatTobiekt2Id != "undefined") ? infomatTobiekt2Id
									: false
						});
	}

	/* Portlet mapa, obiekty */
	if ($("#right #portlet-objects").length) {
		$("#right #portlet-objects").cmsPubMap( {
			poiPubUrl : cmsPoiPubUrl,
			poiKartUrl : cmsPoiKartUrl,
			lang : cmsLang,
			tooltipPosition : "center left"
		});
	}

	/* Portlet loswy obiekt */
	if ($("#portlet-random-object").length) {
		$("#portlet-random-object").cmsPubRandomObject( {
			poiPubUrl : cmsPoiPubUrl,
			cmsUrlVal : cmsUrl,
			lang : cmsLang
		});
	}

	/* Wyszukiwanie */
	$("#search-button").click(function() {
		search();
	}).button( {
		icons : {
			primary : "ui-icon-search"
		},
		text : false
	});

	$("#search-input").keyup(function(e) {
		if (e.keyCode == 13) {
			search();
		}
	});

	function search() {
		var searchUrl = $("#search-url").val();
		var query = $("#search-input").val();
		window.location = searchUrl + "/?szukaj=" + query;
	}

	// Automatyczne linki
	$('.email, .www, .vcard').magickLinks();

	// Fancybox
	$(".fancybox").fancybox({
		titlePosition: "inside"
	});

	$(".gallery > ul > li > ul > li > .gallery-item-sub").click(function() {
		$(this).hide();
		$(this).parent().parent().find(".gallery-item").show();
	});
	
	$(
			".flagi .niepelnosprawni, .flagi .placzabaw, .flagi .dlapalaczy, .flagi .klimatyzacja, .flagi .rezerwacja, .flagi .zwierzeta, .flagi .stolowka, .flagi .restauracja, .flagi .bar, .flagi .drinkbar, .flagi .sejf, .flagi .gotowka, .flagi .obcawaluta, .flagi .karta, .flagi .basen, .flagi .fitness, .flagi .internet, .flagi .parkingstrzezony, .flagi .uslugidlabiznesu, .flagi .telewizja ")
			.tipsy();

	/*
	 * Feedback
	 */
	
	/* Tworzy element opinii */
	function opiniaItem( options ) {
		var html = "\
		<div class='feedback-opinia'>\
		<div class='feedback-opinia-glosuj'>\
		</div>\
			<p class='feedback-opinia-tytul'</p>\
			<div style='clear: both;'></div>\
			<p class='feedback-opinia-info'>\
				<span class='feedback-opinia-podpis'></span>, \
				<span class='feedback-opinia-data'></span>\
			</p>\
			<div class='feedback-opinia-opis'></div>\
		</div>";
		var opinia = $(html);
		$(".feedback-opinia-tytul", opinia).text( options.tytul );
		$(".feedback-opinia-podpis", opinia).text( options.podpis );
		$(".feedback-opinia-data", opinia).text( options.dataczas );
		$(".feedback-opinia-opis", opinia).text(options.opis);
		
		/* Głosowanie */
		var za = $("<a href='#' class='feedback-glosuj-za'>" + options.ileZa + "</a>");
		if(!$.cookies.get( "feedbackOpinia" + options.topinia1Id )) {
			za.click( function(){
				opiniaGlosuj( options.topinia1Id, 1, $(this));
				return false;
			});	
		} else {
			za.css({opacity: 0.5});
			za.click( function(){return false; } );
		}
		
		
		$(".feedback-opinia-glosuj", opinia).append( za );
		
		
		if( options.kategoria == 1 || options.kategoria == 4 ) {
			var przeciw = $("<a href='#' class='feedback-glosuj-przeciw'>" + options.ilePrzeciw + "</a>");
			if(!$.cookies.get( "feedbackOpinia" + options.topinia1Id )) {
				przeciw.click( function(){
					opiniaGlosuj( options.topinia1Id, 2, $(this) );
					return false;
				});
			} else {
				przeciw.css({opacity: 0.5})
				przeciw.click( function(){return false; } );
			}
			
			$(".feedback-opinia-glosuj", opinia).append( przeciw );
		}
		opinia.hide();
		
		$(".feedback-list").prepend( opinia );
		opinia.show();
		
		if( options.odpowiedz ) {
			var odpowiedz = $("<div class='feedback-opinia-odpowiedz' />");
			odpowiedz.append( "<p class='feedback-opinia-tytul'>Odpowiedź:</p>");
			odpowiedz.append( "<div class='feedback-opinia-opis'>" + options.odpowiedz + "</div>" );
			opinia.append( odpowiedz );
			
			
		}
		
	}
	
	function opiniaGlosuj( opiniaId, odpowiedzId, link ) {
		var glosowal = $.cookies.get( "feedbackOpinia" + opiniaId );
		if( !glosowal ) {
			$.ajax({
				
				dataType : 'jsonp',
				async : false,
				jsonp : "jsonpCallback",
				jsonpCallback : "opiniaList",
				data: {
					"topinia1Id": opiniaId,
					"odpowiedzId": odpowiedzId
				},
				success : function(data) {
					if( odpowiedzId == 1 )
						link.text( data.odpowiedzTab[0].ile );
					else {
						link.text( data.odpowiedzTab[1].ile );
					}
					var today = new Date();
					link.parent().find("a").css({opacity: 0.5});
					$.cookies.set("feedbackOpinia" + opiniaId, true, {expiresAt: today.getDate() + 1, hoursToLive: 24 });
					
				},
				url : cmsPoiPubUrl + '?q=opiniaGlosuj'
			});
		}
		

	}
	
	$('#feedback-temat').keyup(function() {
		if( $("#feedback-temat").attr("title") == "Szukaj" ) {
			clearTimeout($.data(this, 'timer'));
			var wait = setTimeout(feedbackSearch, 500);
			$(this).data('timer', wait);			
		}

	});
	
	function feedbackSearch() {
		
		if( $('#feedback-temat').val().length > 0 ) {
			opiniaList({
				'zbior': opiniaStatus.zbior,
				'obiektId': opiniaStatus.obiektId,
				'kategoria': $(".feedback-hidden #kategoria").val(),
				'szukaj': $('#feedback-temat').val()
			});
		} else {
			opiniaList({
				'zbior': opiniaStatus.zbior,
				'obiektId': opiniaStatus.obiektId,
				'kategoria': $(".feedback-hidden #kategoria").val()
			});			
		}
	}
	
		
	$(".feedback [title]")
		.focusin( function(){
			if( $(this).val() == $(this).attr("title") ) $(this).val("");
		})
		.focusout( function(){
			if( $(this).val() == "" ) $(this).val( $(this).attr("title") );
		});
	
	$("#feedback-new").button({
		icons: {primary: "ui-icon-document"}
	}).click( function(){
		$(this).hide();
		$(".feedback-form-hidden").show();

		$("#feedback-temat").attr("title", "Temat").val("Temat").data("width", $(this).width).css({width: 636}).addClass("feedback-required");
		$("#feedback-opis, #feedback-podpis").addClass("feedback-required");
		
		var podpis = $.cookies.get( "feedback" );
		if( podpis ) {
			$("#feedback-podpis").val( podpis.podpis ).trigger("keyup");
			if (podpis.email!='') $("#feedback-email").val( podpis.email ).trigger("keyup");
		} else if ($.cookies.get('user')!=null) {
			$("#feedback-podpis").val( $.cookies.get('user').user ).trigger("keyup");
		}
		

		return false;
	});
	
	$("#feedback-opinia-anuluj").click( function(event){
		
		
		$("#feedback-temat").attr("title", "Szukaj").val("Szukaj").removeClass("feedback-required").data("required", false);
		$("#feedback-temat").css( {width: 560}  );
		$(".feedback #feedback-new").fadeIn();
		$(".feedback-form-hidden").hide();
		event.preventDefault();
		return false;
	}).button({
		icons: { primary: "ui-icon-closethick" },
		disabled: false
	});

	function opiniaList(options) {
		
		$.ajax({
			
			dataType : 'jsonp',
			async : false,
			jsonp : "jsonpCallback",
			jsonpCallback : "opiniaList",
			data : options,
			success : function(data) {
				$(".feedback-hidden #kategoria").val( options.kategoria );
				$(".feedback-form").show();
				$(".feedback-list").empty();
				$(data.opinie).each( function(){
					opiniaItem(this);
				});

			},
			url : cmsPoiPubUrl + '?q=opiniaList&lang=' + cmsLang
		});
	}
	

	$(".feedback-collapse").click( function(){
		$(".feedback-hidden").slideUp();
		$(".feedback .feedback-tabs li").removeClass("active");
		$(".feedback-collapse").fadeOut();
	});
	
	
	$(".feedback .feedback-tabs li[value]").click( function(){
		
		$("#feedback-new").hide();
		$(".feedback-collapse").fadeIn();
		$(".feedback-form-hidden").hide();
		$("#feedback-opinia-anuluj").trigger("click");
		$(".feedback .feedback-hidden form")[0].reset();
		

		var podpis = $.cookies.get( "feedback" );
		if( podpis ) {
			$("#feedback-podpis").val( podpis.podpis ).trigger("keyup");
			if (podpis.email!='') $("#feedback-email").val( podpis.email ).trigger("keyup");
		} else if ($.cookies.get('user')!=null) {
			$("#feedback-podpis").val( $.cookies.get('user').user ).trigger("keyup");
		}

		
		opiniaList({
			'zbior': opiniaStatus.zbior,
			'obiektId': opiniaStatus.obiektId,
			'kategoria': $(this).attr("value")
		});
		$(this).parent().find("li").removeClass("active");
		$(this).addClass("active");
		if( $(".feedback-tabs-ile span", this ).text() == "0")
			$(".feedback #feedback-new").trigger("click");
		$(".feedback-hidden").slideDown();
	});
	
	$(".feedback-form input, .feedback-form textarea").keyup( function(){
		
		if( $(this).hasClass("feedback-required") && $(this).val() != "" &&  $(this).val() != $("#feedback-temat").attr("title") ) {
			$(this).removeClass("feedback-required").data("required", true);
		}
		
		if( $(this).data("required") ) {
			if( $(this).val() == "" || $(this).val() == $("#feedback-temat").attr("title")  )
				$(this).addClass("feedback-required");
		}
		
		if( 
			$("#feedback-temat").val() != "" && $("#feedback-temat").val() != $("#feedback-temat").attr("title") &&
			$("#feedback-opis").val() != "" && $("#feedback-opis").val() != $("#feedback-opis").attr("title") &&
			$("#feedback-podpis").val() != "" && $("#feedback-podpis").val() != $("#feedback-podpis").attr("title")
		) {
			$("#feedback-opinia-zapisz").button("option", "disabled", false);
		} else {
			$("#feedback-opinia-zapisz").button("option", "disabled", true);
		}
	});
	
	$("#feedback-opinia-zapisz").button({
		icons: { primary: "ui-icon-disk" },
		disabled: true
	}).click( function(){
		$("#feedback-opinia-zapisz").button("option", "disabled", true);
		
		if( $(".feedback #feedback-email").val() == $(".feedback #feedback-email").attr("title") )
			var email = "";
		else {
			var email = $(".feedback #feedback-email").val();  
		}
		
		var dane = {
				'zbior': opiniaStatus.zbior,
				'obiektId': opiniaStatus.obiektId,
				'kategoria': $(".feedback #kategoria").val(),
				'tytul': $(".feedback #feedback-temat").val(),
				'opis': $(".feedback #feedback-opis").val(),
				'podpis': $(".feedback #feedback-podpis").val(),
				'email': email
			}
		
		/* Podpis - Cookie */
		$.cookies.set("feedback", {podpis: dane.podpis, email: dane.email});
			
			$(".feedback-form [name=opis], .feedback-form [name=tytul]").val("");
			$.ajax({
				dataType : 'jsonp',
				async : false,
				jsonp : "jsonpCallback",
				jsonpCallback : "opiniaNowa",
				data : dane,
				success : function(data) {
					var ile = $(".feedback .feedback-tabs [value=" + data.kategoria + "] .feedback-tabs-ile span");
					var noweIle = parseInt(ile.text()) + 1;
					ile.text( noweIle );
					ile.parent().show();
					opiniaItem(data)
					$(".feedback-hidden form")[0].reset();
					$("#feedback-opinia-anuluj").trigger("click");
					 
					$(".feedback-tabs li[value=" + dane.kategoria + "]").trigger("click");
				},
				url : cmsPoiPubUrl + '?q=opiniaNowa&lang=' + cmsLang
			});		
		
		
		return false;
		
	});
	
	
	$(".gallery-folder").click( function(){
		var e = this;
		if( $(".gallery-folder-div", this).attr("title")) {
			$(".gallery-subgallery-title").html( " - " + $(".gallery-folder-div", this).attr("title") );
		}
		
		
		if( $(this).siblings().length ) {
			$('.gallery-folder-div', this).fadeOut();
			$(this).siblings().fadeOut( "normal", function(){
				$(".gallery-subgallery", e).fadeIn();
			});			
		} else {
			$('.gallery-folder-div', this).fadeOut( "normal", function(){
				$(".gallery-subgallery", e).fadeIn();
			} );
		}

	});
	
	$(".gallery-subgallery-back div").click( function(event) {
		$(".gallery-subgallery-title").html("");
		$(".gallery-subgallery").fadeOut("normal", function(){
			$(".gallery-root > li, .gallery-root > li > div").fadeIn();
		});
		event.stopPropagation();
	});


	$("#portlet-boxopinie").cmsPubOpinie( {
		poiPubUrl : cmsPoiPubUrl,
		cmsUrlVal : cmsUrl,
		lang : cmsLang
	});

	resize();
	var promoInterval = 0;
	$(".box-promo .box-promo-menu li a").click( function(e){
		
		var box = $(this).parent().parent().parent();
		var itemId = $(this).attr("href");
		promoIndex = parseInt($(this).text());
		$(".box-promo-item", box).hide();
		$(itemId).show();
		$(".box-promo .box-promo-menu li a").removeClass("box-promo-active");
		$(this).addClass("box-promo-active");
		if( typeof( e.originalEvent ) == "object" ) {
			clearInterval ( promoInterval );
			setTimeout( function(){ promoInterval = setInterval( function(){ switchPromoItem() }, 5000 ) }, 5000 );
		}
			
		
		return false;
	});
	
	$(".box-promo-tresc").hover(
		function() { clearInterval ( promoInterval ); },
		function() { promoInterval = setInterval( function(){ switchPromoItem() }, 5000 ) }
	);
	
	$(".box-promo .box-promo-menu li a").first().trigger("click");
	var promoCount = $(".box-promo .box-promo-menu li a").length - 1;
	
	var promoIndex = 1;
	var promoInterval = setInterval ( function() {
		switchPromoItem();
	}, 5000);
	
	function switchPromoItem() {
		$($(".box-promo .box-promo-menu li a")[promoIndex++]).trigger("click");
		if( promoIndex > promoCount ) promoIndex = 0;
	}
	
	if ($("#portlet-random-image").length) {
		$("#portlet-random-image").cmsPubRandomImages( {
			poiPubUrl : cmsPoiPubUrl,
			lang : cmsLang,
			cmsUrlVal : cmsUrl

		});
	}
	
});

function getQueryParams( val ) {
    var retval = {};
    var querystr = val || window.location.search;
    if (querystr=='') return retval;
    querystr = querystr.split('?')[1]
    var pairs = querystr.split('&');
    var check = [];
    for( var i = 0; i < pairs.length; i++ ) {
            check = pairs[i].split('=');
            retval[decodeURIComponent(check[0])] = decodeURIComponent(check[1]);
    }
    return retval;
}

function flushCache() {
	$.ajax({
		dataType : 'text',
		async : false,
		success : function(data) {
			document.location.reload();
		},
		url : cmsPoiPubUrl + '?q=flush&typ=all'
	});
}

