function createSwitcher(sSelector, bTargetAsParent, sMode) {

	$(sSelector).click( function(e){
		var oTarget = $(this),
		sPrevAnchor = null;

		var oParent = bTargetAsParent ? oTarget : oTarget.closest("li"); 

		oParent.siblings().each( function(index, el){
			var oEl = $(el);
			if (oEl.hasClass("tab-active")) {
				oEl.removeClass("tab-active");
				sPrevAnchor = bTargetAsParent ? oEl.attr("href") : $(oEl.children(":first-child")).attr("href");
			}
		});

		oParent.addClass("tab-active");

		var oNewOn = $(oTarget.attr("href")),
		oPrevOn = $(sPrevAnchor);

		if (oNewOn.length && sPrevAnchor) {
			switch (sMode) {
				case "fade":
				oPrevOn.removeClass("on");
				oNewOn.css("opacity", 0.15);
				oNewOn.addClass("on");
				oNewOn.animate({ 
					opacity: 1
					}, 250 );
					break;

					default:
					oNewOn.addClass("on");
					oPrevOn.removeClass("on");
					break;
				}
			}
			return false;
		});
	};

	$(document).ready(

		function() {

			/* facebook share link */
			var oFacebookShare = $(".facebook-share");
			if (oFacebookShare.length) {
				var sTitle = oFacebookShare.attr("rel");
				sTitle = encodeURIComponent(sTitle);
				var sURI = encodeURIComponent(location.href);
				oFacebookShare.attr("href","http://www.facebook.com/sharer.php?u=" + sURI + "&amp;t=" + sTitle);
			}

			

			/* zakładki hotelu */
			createSwitcher(".hotel-tabs li a", false, "fade");
			$(".hotel-price-value a, .hotel-mmm-value .map-icon, .hotel-mmm-value .gallery-icon, .hotel-mmm-value .video-icon, .hotel-img-wrp a").click( function(){
				var sHref = $(this).attr("href");
				$(window).scrollTo(".hotel-tabs-wrp", 50,
				{onAfter : function(){
					$(".hotel-tabs li a[href=" + sHref + "]").trigger("click");
				}
			});
			return false;
		});

		/*tooltip do formularza*/

		$(".tooltip").hover(
			function() {
				$(this).find(".tooltip-txt").fadeIn("fast");
			},
			function() {
				$(this).find(".tooltip-txt").fadeOut("fast");				
			}
		);

		/* galeria zdjęć hotelu */
		$(".photo-gallery a").fancybox({
			'zoomSpeedIn':		300, 
			'zoomSpeedOut':	300, 
			'overlayShow':		true,
			"hideOnContentClick": false,
			"overlayOpacity": 0.6
		});
		
		/* mapa dojazdu do stacji narciarskiej */

		$(".drive-map p a").fancybox({
			'zoomSpeedIn':		300, 
			'zoomSpeedOut':	300, 
			'overlayShow':		true,
			"hideOnContentClick": false,
			"overlayOpacity": 0.6
		});

		/* formularz komentarza */

		$("#comment_form").submit(function() {
			var counter = 0;
			var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
			if ($("#inp_name").val() != "") {
				$(".c-val-name").removeClass("error");
				$(".c-val-name .msg-row").text("Pole wymagane");
				++counter;
			}
			else {
				$(".c-val-name").addClass("error");
				$(".c-val-name .msg-row").text("Podaj imię i nazwisko");
			}
			var inp_emailVal = $("#inp_email").val();
			if (inp_emailVal != "") {
				if(!emailReg.test(inp_emailVal)) {
					$(".c-val-email").addClass("error");
					$(".c-val-email .msg-row").text("Błędny e-mail");
				}
				else {
					$(".c-val-email").removeClass("error");
					$(".c-val-email .msg-row").text("Pole wymagane");
					++counter;
				}
			}
			else {
				$(".c-val-email").addClass("error");
				$(".c-val-email .msg-row").text("Podaj adres e-mail");
			}
			if ($("#inp_txt").val() != "") {
				$(".c-val-textarea").removeClass("error");
				$(".c-val-textarea .msg-row").text("Pole wymagane");
				++counter;
			}
			else {
				$(".c-val-textarea").addClass("error");
				$(".c-val-textarea .msg-row").text("Wpisz treść");
			}
			if (counter == 3) {
				return true;
			}
			else {
				return false;
			}

		});


		/* formularz Gdzie na narty? na warstwie */
	/*	$(".unsure .d-more").fancybox({
			'overlayShow': true,
			"overlayOpacity": 0.6,
			"frameHeight": 410,
			'hideOnContentClick': false,
			"callbackOnShow": function () {
		
				$("#fancy_div .calendar-bgXXXX").datepicker({
					regional: "pl",
					numberOfMonths: 2,
					duration: 250,
					showButtonPanel: true,
					closeText: "zamknij",
					showAnim: 'fadeIn',
					minDate: new Date(2009, 11 , 1), // data początku sezonu
					maxDate: new Date(2010, 03 , 30), // data końca sezonu
					hideIfNoPrevNext: true,
					dateFormat: "dd/mm/yy"
				});


				$(".tooltip").hover(
					function() {
						$(this).find(".tooltip-txt").fadeIn("fast");
					},
					function() {
						$(this).find(".tooltip-txt").fadeOut("fast");				
					}
				);

				$("form").submit(function() {
					var counter = 0;
					if ($("#fancy_div #inp_imie").val() != "") {
						$("#fancy_div #ski-form-name").removeClass("error");
						$("#fancy_div #ski-form-name .msg-row").text("Pole wymagane");
						++counter;
					}
					else {
						$("#fancy_div #ski-form-name").addClass("error");
						$("#fancy_div #ski-form-name .msg-row").text("Podaj imię i nazwisko");
					}
					if ($("#fancy_div #inp_email").val() != "") {
						$("#fancy_div #ski-form-email").removeClass("error");
						$("#fancy_div #ski-form-email .msg-row").text("Pole wymagane");
						++counter;
					}
					else {
						$("#fancy_div #ski-form-email").addClass("error");
						$("#fancy_div #ski-form-email .msg-row").text("Podaj adres email");
					}
					if (counter == 2) {
						return true;
					}
					else {
						return false;
					}

				});


			}
		});*/


	}		
);
