// IE - fix blikajicich backgroundu
eval("try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}");

function bindCalendarReload() {
	$('#calendar .paging A').bind('click', reload);
}

function reload() {
	var url = $(this).attr('href');
	$("#calendar").css({height: $("#calendar").get(0).offsetHeight});
	$("#calendar").fadeOut("normal", function() {
		$("#calendar").css({visibility: "hidden", display: "block"});
		$(this).load(url, null, function() {
			bindCalendarReload();	
			$("#calendar").css({height: "auto"});
			$("#calendar").css({visibility: "visible"});
			$("#calendar").fadeIn("normal");
		})
	});
	return false;
}

$(document).ready( function() {
	bindCalendarReload();
});

function defineCalendarEvent() {
	eCalendar = $("#p-tools #calendar");
	$(".paging A", eCalendar).click( function() {
		$(eCalendar).load(this.href, null, function() { defineCalendarEvent(); $(eCalendar).fadeIn("slow"); } );
		return false;
	});
}

// otevreni noveho okna
function newWin(src,winName,w,h,prop,xshift) {
	if (!xshift) { xshift = 0; }
	var winLeft = (screen.width - w) / 2;
	var winTop = (screen.height - h) / 2;
	if (prop == '') { var winProp = 'menubar=no,resizable=no,scrollbars=0,status=no,toolbar=no,locationbar=no,directories=no'; }
	else { var winProp = prop; }
	winProp += ',width='+w+',height='+h+',left='+eval(winLeft+xshift)+',top='+winTop;
	Win = window.open(src,winName,winProp);
	Win.focus();
}

/* vytvoreni cookie */
function createCookie(name,value,days) {
	if (days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

/* precteni cookie */
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0;i < ca.length;i++){
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function obj(id) {
	return document.getElementById(id);
}

function execFunction(objName, fncName) {
	eval(objName+"."+fncName);
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for (var i=0; i<arrElements.length; i++) {
		oElement = arrElements[i];
		if (oRegExp.test(oElement.className)) {
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements);
}

/* HP - prepinani polozek Aktualne */
function blockSwitcher(objName, clName, tabName, timer) {
	this.clName = clName;
	this.blockCount = $(this.clName).length;
	this.blockActive = 1;
	this.timer = timer*1000;
	this.timeout = null;
	this.slideStopped = false;

	this.initSwitch = function() {
		$(tabName).bind("click", function() { return false; });
	
		if (this.blockCount <= 1) return;
		$(tabName).bind("click", function() { execFunction(objName, "manualSwitch(" + $(this).text() + ")");return false; });
		this.timeout = setInterval( function() { execFunction(objName, "nextBlock()"); } , this.timer);
		$(this.clName).bind("mouseover", function() { clearInterval(eval(objName+".timeout")); });
		$(this.clName).bind("mouseout", function() { eval(objName+".timeout = setInterval( function() { execFunction('"+objName+"', 'nextBlock()'); } , "+objName+".timer)");});
	}

	this.nextBlock = function() {
		var nextBlockId = this.blockActive + 1;
		if (nextBlockId > this.blockCount) {
			nextBlockId = 1;
		}
		var actualBlockId = this.blockActive;
		
		$("#item-"+actualBlockId+" img, #item-"+actualBlockId+" .perex").fadeOut(400, function() {
			$("#item-"+actualBlockId).removeClass("active");
			$("#item-"+nextBlockId).addClass("active");

			$("#item-"+actualBlockId+" span").addClass("dn");
			$("#item-"+nextBlockId+" span").removeClass("dn");
			$("#item-"+nextBlockId+" img, #item-"+nextBlockId+" .perex").fadeIn(800);
		});
		this.blockActive = nextBlockId;
	}
	
	this.manualSwitch = function(manualId) {
		var previousBlockId = this.blockActive;
		this.blockActive = manualId;
		var actualBlockId = this.blockActive;

		$("#item-"+previousBlockId+" img, #item-"+previousBlockId+" .perex").fadeOut(400, function() {
			$("#item-"+previousBlockId).removeClass("active");
			$("#item-"+actualBlockId).addClass("active");

			$("#item-"+previousBlockId+" span").addClass("dn");
			$("#item-"+actualBlockId+" span").removeClass("dn");
			$("#item-"+actualBlockId+" img, #item-"+actualBlockId+" .perex").fadeIn(800);
		});
		
	    return false;
	}
}

/* Prepinani fotogalerii v pravem sloupci */
function showNext(id) {
	var actualItem;
	var newActualItem;
	var aItems = getElementsByClassName(obj(id), "div", "*");
	if (aItems.length == 1) {
		aItems = getElementsByClassName(obj(id), "img", "*");
	}
	var iItemsCount = aItems.length;
	
	for(i=0; i<iItemsCount; i++) {
	    if (aItems[i].className == "") {
	        actualItem = i;
		}
	}
	
	if (actualItem == iItemsCount-1) {
	    newActualItem = 0;
	}
	else {
	    newActualItem = actualItem + 1;
	}
	
	aItems[actualItem].className = "hidden";
	aItems[newActualItem].className = "";
	return false;
}
function showPrev(id) {
	var actualItem;
	var newActualItem;
	var aItems = getElementsByClassName(obj(id), "div", "*");
	if (aItems.length == 1) {
		aItems = getElementsByClassName(obj(id), "img", "*");
	}
	var iItemsCount = aItems.length;

	for(i=0; i<iItemsCount; i++) {
	    if (aItems[i].className == "") {
	        actualItem = i;
		}
	}

	if (actualItem == 0) {
	    newActualItem = iItemsCount-1;
	}
	else {
	    newActualItem = actualItem - 1;
	}

	aItems[actualItem].className = "hidden";
	aItems[newActualItem].className = "";
	return false;
}

/* nastaveni hodnoty refereru */
function setReferrerUrl(idObject) {
	var url = new String;
	url = document.referrer;
	if (((url.indexOf("hrad.cz")) == -1) && ((url.indexOf('hrad.test.fg.cz')) == -1 )) {
		url = "http://www.hrad.cz";
	}
	obj(idObject).value = url;
}


/* prepinani 2 alternativnich stylu stranky */
function changeSkin(skin, lang){
  	$("#skin").attr("href", "/css/u/skin-"+skin+".css");
  	$("#language-skin").attr("href", "/css/"+lang+"/skin-"+skin+".css");
  	createCookie('skin', skin, 3600);
	if (skin == 2) {
		obj('toggle-style-1').style.display = 'none';
		obj('toggle-style-2').style.display = 'inline';
	}
	else {
		obj('toggle-style-1').style.display = 'inline';
		obj('toggle-style-2').style.display = 'none';
	}
}

function writeToggleStyleButton(lang) {
	if (lang == "cs") {
	buttonLabel1 = "Zvětšit stránky"
	buttonTitle1 = "Optimalizovat stránky pro rozlišení 1280x1024";
	buttonLabel2 = "Zmenšit stránky";
	buttonTitle2 = "Optimalizovat stránky pro rozlišení 1024x768";
	}
	else {
	buttonLabel1 = "Extend pages"
	buttonTitle1 = "Optimize web pages for screen resolution 1280x1024";
	buttonLabel2 = "Reduce pages";
	buttonTitle2 = "Optimize web pages for screen resolution 1024x768";
	}
	lang = "'" + lang + "'";

	var sirka = screen.width;

	if (sirka>=1280) {
		document.write('<span class="spacer"><a href="#" title="' +  buttonTitle1 + '" id="toggle-style-1" class="larger" onclick="changeSkin(2,'+ lang + '); return false;">' + buttonLabel1 + '</a><span class="hidden">/</span><a href="#" title="' +  buttonTitle2 + '" id="toggle-style-2" class="larger" onclick="changeSkin(1,' + lang + '); return false;" style="display: none">' + buttonLabel2 + '</a></span> <span class="hidden">|</span>');
	}
}

/* funkce pro vyhledavaci pole */
function clearInput(o,defaultValue) {
	if (o.value == defaultValue ) o.value = "";
	focusObj = o;
}
function defaultInput(o,defaultValue) {
	if (o.value == "" ) o.value = defaultValue;
}
