/*
	Compiled by Piotr 'Riddle' Petrus.
	Last modified: 22nd May 2007
	----------------------------------
	Props & kudos: 
		Dean Edwards 			http://dean.edwards.name/weblog/2006/06/again/
		John Resig 				http://code.jquery.com/jquery-latest.js
		Matthias Miller		http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
*/

var browser = {}
browser.explorer = /*@cc_on!@*/false;
browser.webkit = /Apple|KDE/i.test(navigator.vendor);

if (browser.explorer) {
	document.write('<script id="_defer" defer="true" src="//:"><\/script>');
}
var documentReadyCalls = new Array();
function documentReady(callback)
{
	documentReadyCalls.push(callback);
}
function documentReady_(callback) {
	//Firefox, Opera
	if (document.addEventListener) {
		document.addEventListener("DOMContentLoaded", callback, false);
	}
	//Internet Explorer
	if (browser.explorer) {
		var deferScript = document.getElementById('_defer');
		if (deferScript) {
			deferScript.onreadystatechange = function() {
				if (this.readyState == 'complete') {
					callback();
				}
			};
			deferScript.onreadystatechange();
			deferScript = null;
		}
	}
	//Safari, Konqueror
	if (browser.webkit) {
		var _timer = setInterval(function() {
			if (/loaded|complete/.test(document.readyState)) {
				clearInterval(_timer);
				callback();
			}
		}, 10);
	}
	window.onload = callback;	
}
function documentReadyCall()
{
	if(!document.domLoaded)
	{
		documentReadyCalls.each(function(s){s();});
		document.domLoaded = true;
	}
}
documentReady_(documentReadyCall);

/* Ładowanie newsa na głównej */
function loadCached(id,btn,slide)
{
	if(!btn.loaded)
	{
		 load(id,btn,slide);
	}
	else
	{
/*			Element.setOpacity($(slide),0);
			Effect.BlindDown($(slide));
			new Effect.Opacity($(slide), {duration:0.5, from:0.0, to:1.0,queue: 'end'});
		    Effect.Fade($($(slide).id+'Btn'), {duration:0.5, from:1.0, to:0.0, queue:{scope: 'btns'}});
		    Effect.Appear($($(slide).id+'Close'), {duration:0.5, from:0.0, to:1.0, queue:{position: 'end', scope: 'btns'}});*/
			Effect.Fade($($(slide).id+'Btn'), {duration:0.5, from:1.0, to:0.0, queue:{scope: 'btns'}});
			Element.setOpacity($(slide),0);
			Effect.BlindUp($($(slide).id+'Short'),{queue:'end'});
			Effect.BlindDown($(slide),{queue: 'end'});
			new Effect.Opacity($(slide), {duration:0.5, from:0.0, to:1.0,queue: 'end'});

		    Effect.Appear($($(slide).id+'Close'), {duration:0.5, from:0.0, to:1.0, queue:{position: 'end', scope: 'btns'}});

	}
	
}
function closeX(btn,slide)
{
	new Effect.Fade($($(slide).id+'Close'), {duration:0.5, from:1.0, to:0.0, queue:{scope: 'btns'}}); 
	new Effect.Appear($($(slide).id+'Btn'), {duration:0.5, from:0.0, to:1.0, queue:{position: 'end', scope: 'btns'}}); 
	new Effect.Opacity($(slide), {duration:0.5, from:1.0, to:0.0}); 
	Effect.BlindUp($(slide),{queue: 'end'}); 
	Effect.BlindDown($($(slide).id+'Short'),{queue: 'end'}); 	

}
function load(id,btn,slide)
{
	var url = '/ajax/News.php?id='+id+'&lang='+lang;
	// notice the use of a proxy to circumvent the Same Origin Policy.
	//btn.update('ładowanie...');
	Effect.Fade($($(slide).id+'Btn'), {duration:0.5, from:1.0, to:0.0, queue:{scope: 'btns'}});
	Effect.Appear($(slide).id+'Loading',{duration:0.3, queue:{position: 'end', scope: 'btns'}});
	Effect.Pulsate($(slide).id+'Loading',{queue:{position: 'end', scope: 'btns'}});

	
	new Ajax.Request(url, {
	  method: 'get',
	  onSuccess: function(transport) {
	  	  //alert(transport.responseText);
		   	$($(slide).id+'Body').replace(transport.responseText);
		    //Effect.Pulsate(btn,{pulses:1});
		    //btn.update('« zwiń');
		    
		    
	    	Effect.Fade($($(slide).id+'Loading'));
			Element.setOpacity($(slide),0);
			Effect.BlindUp($($(slide).id+'Short'),{queue:'end'});
			Effect.BlindDown($(slide),{queue: 'end'});
			new Effect.Opacity($(slide), {duration:0.5, from:0.0, to:1.0,queue: 'end'});

		    Effect.Appear($($(slide).id+'Close'), {duration:0.5, from:0.0, to:1.0, queue:{position: 'end', scope: 'btns'}});

			btn.loaded = true;		    
	  },
	  onFailure: function(transport) {
		    btn.update("<strong style='color:red;'>Wystąpił błąd, kliknij aby spróbować ponownie.</strong>");
	  }
	});
}
/* DOMContentLoaded */
function init(){
	var els = document.getElementsByClassName('newsBox');
	for(i=0;i<els.length;i++)
	{
		var e = els[i];
		if(!e.newsfixed)
		{
			if(window.opera)
			{
				var x1 = document.createElement('div');
				x1.addClassName("news");
				var x2 = document.createElement('div');
				x2.addClassName("newsTop");
				var x3 = document.createElement('div');
				x3.addClassName("newsBtm");
				e.removeClassName('newsBox');
				var c = e.cloneNode(true);
				c.addClassName("newsCnt");
				x3.appendChild(c);
				x2.appendChild(x3);
				x1.appendChild(x2);
				e.parentNode.insertBefore(x1,e);
				e.parentNode.removeChild(e)
			}
			else
			{
				e.addClassName('news');
				e.update('<div class="newsTop"><div class="newsBtm"><div class="newsCnt">'+e.innerHTML+'</div></div></div>');	
			}
		}//e.update('<div class="newsTop"><div class="newsBtm"><div class="newsCnt">'+e.innerHTML+'</div></div></div>');
		e.newsfixed = true;
		
	}
	var over = document.getElementsByClassName('over');
	var mOv = function(event){
			new Effect.Opacity(Event.element(event), {duration:0.25, from:1.0, to:0.0});
		}
	var mOu = function(event){
			new Effect.Opacity(Event.element(event), {duration:0.25, from:0.0, to:1.0});
		}
	for(i=0;i<over.length;i++)
	{
		Event.observe(over[i],'mouseover',mOv)
		Event.observe(over[i],'mouseout',mOu)
	}
	
	var ac = document.getElementsByClassName('autoclean');
	var onf = function(event){
			if(!Event.element(event).cleaned) {Event.element(event).orgVal = Event.element(event).value; Event.element(event).value=''; Event.element(event).cleaned = true; }
		}
	var onb = function(event){
			if(Event.element(event).cleaned && Event.element(event).value == '') {Event.element(event).value=Event.element(event).orgVal; Event.element(event).cleaned=0;}
		}
	for(i=0;i<ac.length;i++)
	{
		Event.observe(ac[i],'focus',onf)
		Event.observe(ac[i],'blur',onb)
	}
	if($('newsMore27Short')) $('newsMore27Title').addClassName('pulsate');
	var pulsate = document.getElementsByClassName('pulsate');
	for(i=0;i<pulsate.length;i++)
	{
		new Effect.Pulsate(pulsate[i], { pulses: 120, duration: 60} );
	}
}

function postcardValidate()
{
	if(document.forms['postcard'].fromName.value == "")
	{
		alert("Fill in your name!\n\nPodaj swoje imię!");
		document.forms['postcard'].fromName.focus();
		return false;
	}

	if(document.forms['postcard'].toMail.value == "")
	{
		alert("Fill in e-mail of your friend!\n\nPodaj adres e-mail przyjaciela!");
		document.forms['postcard'].toMail.focus();
		return false;
	}

	return true;
}
function signSubs()
{
	$('cntSubscriptionResponse').update('proszę czekać...');
	new Ajax.Updater({success: 'cntSubscriptionResponse'},'/ajax/Subs_pl.php',{parameters: { email: $F('cntSubscriptionMail') } });
}

function scrollRef()
{
	if(document.URL.indexOf('#') == -1 && ((document.referrer.indexOf('zamek-lancut.pl/pl') >= 0) || (document.referrer.indexOf('zamek-lancut.pl/en') >= 0) || (document.referrer.indexOf('zamek-lancut.pl/fr') >= 0) || (document.referrer.indexOf('zamek-lancut.pl/de') >= 0)))
	{
		window.scrollTo(0,350);
	}
}
function setupGAnalytics()
{
	var GAID = 'UA-164245-4';
	var head = document.getElementsByTagName('head')[0];
	var scr = document.createElement('script');
	scr.type = 'text/javascript';
	scr.src = (location.protocol == 'http:' ? 'http://www.' : 'https://ssl.') + 'google-analytics.com/'+'urchin.js';
	var once = 0;
	function runMe() {
	if (scr.readyState == 'loading' || urchinTracker == undefined || once) { return; }
	clearInterval(timer);
	once++;
	_uacct = GAID;
	urchinTracker();
	}
	var timer = setInterval(runMe, 2000);
	scr['onload'] = runMe;
	scr['onreadystatechange'] = runMe;
	head.appendChild(scr); 
}
function LoadFlashData(){
	Try.these(
		function(){
			$('headerAnimSWF').SetVariable('docloaded','1');
		},
		function(){
			setTimeout('LoadFlashData()',1000);
		} 
	);
}

function Popup_Mapka() {
	window.open('/img/mapkaPark/zamekLancut_mapa.html','mapka','menubar=no,location=no,resizable=yes,scroolbars=no,status=no,width=1024,height=700');
	return false;
}
function Popup_10psk() {
	window.open('/img/10psk/10psk.html','10psk','width=1010,height=705,resizable=yes,scrollbars=yes');
	return false;
}

Event.observe(window,'load', LoadFlashData);
documentReady(init);
documentReady(setupGAnalytics);
documentReady(scrollRef);

