$(document).ready(function() {



// INICJALIZACJA GALERII
	$('#Gallery').jcarousel();


// ROZWINANY MENUS
	$('.archiveLink').click(function() {
		$('.archive').slideToggle("normal");
		return false;
	});
	
	
// ROZWIJANA MAPA
	
	var clicked = false;

	$('#MapLoader').hide();
	$('#Map').hide();
	$('.mapLink').click(function() {
		$('#Map').slideToggle("normal",function() {
			if (clicked == false) {
				$('#MapLoader').show();
				loadGmaps();
				clicked = true;
			}
			setTimeout(function() {
				$('#MapLoader').fadeOut();
			}, 3000);
		});
		return false;
	});
	
// WYWOLYWANIE MAPY Z GALERII BADZ VIDEOTEKI


	$('.mapDet').click(function() {
		$('html, body').animate({scrollTop:0}, 'slow');
		$('#Map').slideToggle("normal",function() {
			if (clicked == false) {
				$('#MapLoader').show();
				loadGmaps();
				clicked = true;
			}
			setTimeout(function() {
				$('#MapLoader').fadeOut();
			}, 3000);
		});
		return false;
	});
	
// SKRYPTY MAPY

	function TypyMapy() {}
		TypyMapy.prototype = new GControl();
		
		TypyMapy.prototype.odswiez = function() {
			if(this.map.getCurrentMapType() != G_SATELLITE_MAP)
				this.przycisk1.className = 'nieaktywny';
			else
				this.przycisk1.className = 'aktywny';
				
			if(this.map.getCurrentMapType() != G_HYBRID_MAP)
				this.przycisk2.className = 'nieaktywny';
			else
				this.przycisk2.className = 'aktywny';
				
			if(this.map.getCurrentMapType() != G_NORMAL_MAP)
				this.przycisk3.className = 'nieaktywny';
			else
				this.przycisk3.className = 'aktywny';
				
			if(this.map.getCurrentMapType() != G_PHYSICAL_MAP)
				this.przycisk4.className = 'nieaktywny';
			else
				this.przycisk4.className = 'aktywny';
		}
		
		TypyMapy.prototype.initialize = function(map)	{
			var lista 	= document.createElement("ul");
			lista.id	= 'typymapy';
			
			var przycisk1 = document.createElement('li');
			var separator1 = document.createElement('li');
			var przycisk2 = document.createElement('li');
			var separator2 = document.createElement('li');
			var przycisk3 = document.createElement('li');
			var separator3 = document.createElement('li');
			var przycisk4 = document.createElement('li');
			
			przycisk1.innerHTML = 'satelita';
			separator1.innerHTML = '|';
			przycisk2.innerHTML = 'hybryda';
			separator2.innerHTML = '|';
			przycisk3.innerHTML = 'mapa';
			separator3.innerHTML = '|';
			przycisk4.innerHTML = 'teren';
			
			przycisk1.title = 'pokaż zdjęcia satelitarne';
			przycisk2.title = 'pokaż zdjęcia satelitarne z nakładką ulic';
			przycisk3.title = 'pokaż mapę';
			przycisk4.title = 'pokaż mapę fizyczną';
			
			przycisk1.onclick = function() { map.setMapType(G_SATELLITE_MAP); return false; };
			przycisk2.onclick = function() { map.setMapType(G_HYBRID_MAP); return false; };
			przycisk3.onclick = function() { map.setMapType(G_NORMAL_MAP); return false; };
			przycisk4.onclick = function() { map.setMapType(G_PHYSICAL_MAP); return false; };
			
			lista.appendChild(przycisk1);
			lista.appendChild(separator1);
			lista.appendChild(przycisk2);
			lista.appendChild(separator2);
			lista.appendChild(przycisk3);
			lista.appendChild(separator3);
			lista.appendChild(przycisk4);
			
			this.przycisk1 = przycisk1;
			this.separator1 = separator1;
			this.przycisk2 = przycisk2;
			this.separator2 = separator2;
			this.przycisk3 = przycisk3;
			this.separator3 = separator3;
			this.przycisk4 = przycisk4;
			this.map = map;			
			map.getContainer().appendChild(lista);
			return lista;
		}
		
		TypyMapy.prototype.getDefaultPosition = function() {
			return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(5, 5));
		}

		
		var typymapy;



	function loadGmaps() {
			
	// INICJALIZACJA MAPY
		var map = new GMap2(document.getElementById('Map'),{size:new GSize(910,300)});
		var centering = new GLatLng(47.267805,9.492188);
		var customUI = map.getDefaultUI();
		customUI.controls.maptypecontrol = false;
		map.setUI(customUI);
		map.setCenter(centering, 4);
		/*map.setUIToDefault();*/
		typymapy = new TypyMapy();
		map.addControl(typymapy);
		GEvent.addListener(map,'maptypechanged',function() {
			typymapy.odswiez();
		});
		map.setMapType(G_PHYSICAL_MAP);

						
	// POBIERAM XML
				
		var xmlFiles = ['xml/galerie.xml','xml/filmy.xml'];
		var ifile = 0;
				
		GDownloadUrl(xmlFiles[ifile],showfile);
				
		function showfile(XMLdata, responseCode) {
			if (responseCode == 200) {
				var xml = GXml.parse(XMLdata);
				var markers = xml.documentElement.getElementsByTagName("title");
				for(var i=0; i<markers.length; i++) {
					var lat	= parseFloat(markers[i].getAttribute("lat"));
					var lon	= parseFloat(markers[i].getAttribute("lon"));
					var date = markers[i].getAttribute("date");
					var catalogName = markers[i].getAttribute("name");
					if (ifile == 0) {
						var catalog = 'galerie/'+catalogName+'/';
						var fileType = 'gallery';
					}
					else {
						var catalog = 'filmy/'+catalogName+'/';
						var fileType = 'movie';
					}
					var nazwa = markers[i].childNodes[0].nodeValue;
					if (lat) {
						var marker = addMarker(lat,lon,nazwa,catalog,fileType,date);
					}
				}
			}
			ifile++;
			if(ifile<xmlFiles.length) GDownloadUrl(xmlFiles[ifile],showfile);
		}
		
		$("#Message").appendTo(map.getPane(G_MAP_FLOAT_SHADOW_PANE));
				
			
	// DODAJ MARKER
		function addMarker(lat,lon,nazwa,catalog,fileType,date) {
			var ikona = new GIcon();
			if (fileType == 'gallery') {
				ikona.image = 'static/images/marker.png';
			}
			else {
				ikona.image = 'static/images/marker2.png';
			}
			ikona.iconSize = new GSize(20, 20);
			ikona.iconAnchor = new GPoint(6, 18);
			ikona.shadow = 'static/images/markerShadow.png';
			ikona.infoWindowAnchor = new GPoint(20,0);
					
			var marker = new GMarker(new GLatLng(lat,lon),{title: nazwa, icon: ikona});
			marker.txt = '<a href="javascript: function close() {return false;}" class="close"><img src="static/images/blank.gif" alt="zamknij" /></a>';
			marker.txt = marker.txt + '<span class="date">'+date+'</span><br />';
			
			if (fileType == 'gallery') {
				marker.txt  =   marker.txt + '<img src="static/images/blank.gif" style="background: url(static/images/sprite.png) -163px -203px no-repeat; width: 18px; height: 16px; display: inline; vertical-align: middle;">';
			}
			else {
				marker.txt  =   marker.txt + '<img src="static/images/blank.gif" style="background: url(static/images/sprite.png) -163px -225px no-repeat; width: 18px; height: 16px; display: inline; vertical-align: middle;">';
			}
			
			marker.txt = marker.txt + '<a href="'+catalog+'">'+nazwa+'</a>';
			map.addOverlay(marker);
			GEvent.addListener(marker,"click",function() {
				displayPoint(marker, 1);
			});
			
			var urlCatalog = "/"+catalog;
			
			if (location.host == 'maroszek.org') {
				if (location.pathname == urlCatalog) {
					displayPoint(marker, 1);
				}				
			}
			
			return marker;
		}
		
		//displayPoint("test",1);
	
			
	// PODMIEN MARKER NA DIVA
		function displayPoint(marker, index){
			if ($('#Message').is(':hidden')) {//Allow toggling of markers
				$('#Message').fadeIn();
			}
			else{//Remove all .active classes and hide markers
				$('#Message').hide();
				$(".active").removeClass();
			}

			var moveEnd = GEvent.addListener(map, "moveend", function(){
				var markerOffset = map.fromLatLngToDivPixel(marker.getLatLng());
				$("#Message").html(marker.txt).fadeIn().css({ top:markerOffset.y-52, left:markerOffset.x+14 });
				GEvent.removeListener(moveEnd);
			});
			map.panTo(marker.getLatLng());
		}
			
				
	// ZAMYKANIE DIVA
		$('#Message').click(function() {
			$("#Message").fadeOut();
		});
		
		
	}
	
// ROZWINANE KOLORU I TLA

	$('.settingsLink').click(function() {
		$('.panel').slideToggle("normal");
		$('.panelBg').slideUp("normal");
	});
	$('.bgLink').click(function() {
		$('.panelBg').slideToggle("normal");
		$('.panel').slideUp("normal");
	});
	
// ZOOMIN GALERII
    $(".zoomin").click(function() {
		$("#PhotoContent").find("img").remove();
		
        // Set new image src
		var altImageSrc = $(this).attr("href");

		$("#PhotoContent").attr('href', altImageSrc);

		var img = new Image();
		$(img).load(function () {
			$(this).hide();
			$('#PhotoContent').append(this);
			$(this).fadeIn();
		}).error(function () {
        // notify the user that the image could not be loaded
		}).attr({
			src: altImageSrc,
			id: "PhotoContent"
		});

        return false;           	
	});
    
// POBIERANIE TAPETY  
    $(".download").click(function() {
		$("#PhotoContent").find("img").remove();
		
        // Set new image src
		var altImageSrc = $(this).attr("href");
		var downloadLink = altImageSrc.replace("ph", "download/big");
		
		
		$("#PhotoContent").attr('href', downloadLink);
		$("#DownloadLink").attr('href', downloadLink);

		var img = new Image();
		$(img).load(function () {
			$(this).hide();
			$('#PhotoContent').append(this);
			$(this).fadeIn();
		}).error(function () {
        // notify the user that the image could not be loaded
		}).attr({
			src: altImageSrc,
			id: "PhotoContent"
		});

        return false;           	
	});
	
// SLIDESHOW

	$(".slideShow").click(function() {
	
		return false;
	});

	
// ZMIANA STYLI

	$('.green').click(function() {
		changeColor('green');
		return false;
	});
	$('.red').click(function() {
		changeColor('red');
		return false;
	});
	$('.rose').click(function() {
		changeColor('rose');
		return false;
	});
	$('.orange').click(function() {
		changeColor('orange');
		return false;
	});
	$('.blue').click(function() {
		changeColor('blue');
		return false;
	});	
	
	var COLOR_COOKIE = 'colorCookie';
	var selectedColor = '';

	if (!$.cookie(COLOR_COOKIE)) {
		selectColor('blue');
		changeColor('blue');
	}
	
	if ($.cookie(COLOR_COOKIE)) {
		changeColor($.cookie(COLOR_COOKIE), 'true');
	}

	function changeColor(value, freezeFlash) {
		var colorSpan = '.'+value+'Span';
		var colorCss = 'static/css/'+value+'.css';
		var colorImg = '.'+value+'Img';
		var colorClass = '.'+value;
		var date = new Date();
		
		//$(colorImg).css("border", "solid 1px #fff");
		
		date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
		$.cookie(COLOR_COOKIE, value, { path: '/', expires: date });
		$("link").attr("href", colorCss);
		
		if (value == 'green') 			{ var colorCode = 'b4e046' }
		else if (value == 'red') 		{ var colorCode = 'd82c28' }
		else if (value == 'rose') 		{ var colorCode = 'bf196b' }
		else if (value == 'orange') 	{ var colorCode = 'ff6600' }
		else						 	{ var colorCode = '00c8f3' }
		
		var borderProp = 'solid 1px #'+colorCode;
		$("#Wallpaper").mouseover(function(){ $(this).css("border", borderProp); });
		$("#Wallpaper").mouseout(function(){$(this).css("border","dashed 1px #323232");});
		$('.submit').mouseover(function(){ $(this).css("border", borderProp); });
		$(".submit").mouseout(function(){$(this).css("border","solid 1px #606060");});
		
		// ON PAGE ENTER DON'T SEND REQUEST TO FLASH, CAUSE MIGHT NOT BE LOADED
		if (!freezeFlash) {
			callExternalInterface(colorCode);
		}
		selectColor(value);
	}
	
	function selectColor(value) {
		$('.selectedColor').removeClass('selectedColor');
		var imgClass = '.'+value+'Img';
		$(imgClass).addClass('selectedColor');
		
	}

	$('.bg1').click(function() {
		changeBg('bg1');
		return false;
	});
	$('.bg2').click(function() {
		changeBg('bg2');
		return false;
	});
	$('.bg3').click(function() {
		changeBg('bg3');
		return false;
	});

	var BG_COOKIE = 'bgCookie';
	var selectedBg = '';
	
	if (!$.cookie(BG_COOKIE)) {
		selectBg('bg1');
	}
	
	if ($.cookie(BG_COOKIE)) {
		changeBg($.cookie(BG_COOKIE));
	}
	
	function changeBg(value) {
	
		var date = new Date();
		
		date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
		$.cookie(BG_COOKIE, value, { path: '/', expires: date });
		
		if (value == 'bg1') 		{ var bgFile = 'body1.jpg'; }
		else if (value == 'bg2') 	{ var bgFile = 'body2.png'; }
		else 						{ var bgFile = 'body3.png'; }
		
		var bgPath = 'url(static/images/'+bgFile+')';
		$("body").css("backgroundImage", bgPath);
		selectBg(value);
	}
	
	function selectBg(value) {
		$('.selectedBg').removeClass('selectedBg');
		var imgClass = 'a.'+value+' img';
		$(imgClass).addClass('selectedBg');
		
	}
	
// AJAX FORM KSIEGA GOSCI

	$('.formLoader').ajaxStart(function() {$(this).show();})
	$('.formLoader').ajaxStop(function() {$(this).fadeOut();})


	var formOptions = {
	target: '.comments',
	url: 'data/formGuestBook.php',
	beforeSubmit: formValidate,
	clearForm: true,
	success: formClear
	};

	function formValidate(formData) {
		var commentName = formData[0].value;
		var commentMail = formData[1].value;
		var commentWeb = formData[2].value;
		var commentContent = formData[3].value;
		var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
		if (!commentName && !commentContent) {
			$('#input1').focus();
			$('.formReply').fadeIn().html('Niewypełnione pole imię/nick oraz treść.');
			return false;
		}
		if (!commentName) {
			$('#input1').focus();
			$('.formReply').fadeIn().html('Niewypełnione pole imię/nick.');
			return false;
		}
		if (!commentContent) {
			$('#tresc').focus();
			$('.formReply').fadeIn().html('Niewypełnione pole treści.');
			return false;
		}
		if (commentMail) {
			if (!filter.test(commentMail)) {
				$('#input2').focus();
				$('.formReply').fadeIn().html('Błędny e-mail.');
				return false;
			}
		}
	}
	
	$('#comment').ajaxForm(formOptions);
	
	
// AJAX FORM KONTAKT
	
	var formOptions2 = {
		target: '.formReply',
		url: 'data/formContact.php',
		beforeSubmit: formValidate2,
		clearForm: true,
		success: formClear2
	};

	function formValidate2(formData) {
		var messageType = formData[0].value;
		var messageReply = formData[1].value;
		var messageContent = formData[2].value;
		//alert (messageType+''+messageReply+''+messageContent);
		var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
		var filterGG = /^([0-9])+$/;
		var filterPhone = /^([0-9+])+$/;

		if (!messageReply) {
			$('#input2').focus();
			$('.formReply').fadeIn().html('Niewypełnione pole kontaktowe.');
			return false;
		}
		if (messageReply) {
			if (messageType == 'e-mail') {
				if (!filter.test(messageReply)) {
					$('#input2').focus();
					$('.formReply').fadeIn().html('Błędny adres e-mail.');
					return false;
				}
			}
			else if (messageType == 'gadu-gadu') {
				if (!filterGG.test(messageReply)) {
					$('#input2').focus();
					$('.formReply').fadeIn().html('Błędny nr gadu-gadu.');
					return false;
				}
			}
			else if (messageType == 'telefon') {
				if (!filterPhone.test(messageReply)) {
					$('#input2').focus();
					$('.formReply').fadeIn().html('Błędny nr telefonu.');
					return false;
				}
			}
		}
		if (!messageContent) {
			$('#tresc').focus();
			$('.formReply').fadeIn().html('Niewypełnione pole treści.');
			return false;
		}
	}
	
	function formClear() {
		$('.formReply').fadeOut();
	}
	
	function formClear2() {
		$('.formReply').fadeOut(function (){
			$('.formReply').fadeIn().html('Wiadomość wysłana pomyślnie. Dziękuję.');
		});
		//$('.formReply').show();
	}
	
	$('#message').ajaxForm(formOptions2);
	
// SELECT
	
	$(".selectType").styleSelect({styleClass: "selectList",optionsWidth: 1,speed: 'fast', optionsTop: '22px', selectTrigger: 'change'});

    $(".selectType").change(function () {
		var str = "";
		$("select option:selected").each(function () {
			str += $(this).text() + "";
		});
		//alert (str);
		$(".selectedType").fadeOut(function () {
			if (str == 'e-mail') {
				$(".selectedType").fadeIn().html("Twój e-mail: *");
			}
			else if (str == 'gadu-gadu') {
				$(".selectedType").fadeIn().html("Twój nr gadu-gadu: *");
			}
			else {
				$(".selectedType").fadeIn().html("Twój nr telefonu: *");
			}
		});


	})


	
// FACEBOOK
	
		
	if (($.browser.msie == true) && ($.browser.version < 7)) {
	}
	else {	
		var version = 1;
		var base = (document.getElementsByTagName ('BASE')[0] && document.getElementsByTagName( 'BASE')[0].href) || location.href;
		FB.init("e7515ed8f5017c6f7b5b356c648fcd1c");
		$('#FBfans').html('<fb:fan profile_id="297844856392" stream="0" connections="6" logobar="0" width="180" height="260" css="http://maroszek.org/static/css/facebook.css?'+version+'"></fb:fan>');
	}
	
		
}); 

// JAVASCRIPT TO FLASH COMMUNICATION

	function callExternalInterface(value) {
		getMovieName("header").setColor(value); 
	}

	function getMovieName(movieName) {
		if (navigator.appName.indexOf("Microsoft") != -1) {
			return window[movieName]
		}
		else {
			return document[movieName]
		}
	}



// ADD TO BOOKMARKS

function bookmarkLink() {

	title = "maroszek.org"; 
	url = "http://maroszek.org/";

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if ( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title);
	} else if (window.opera && window.print) { // Opera Hotlist
		return false;
	}
}










