/* POPUP 1.0 by WEB&DTP
 * autor: Jakub Hruby
 * release: 2010/5
 */

/* ----------------------- LAYOUT - MENIT HODNOTY DLE POTREBY -------------------------- */


//barva overlaye
	var POPBackground="#000000";

//pruhlendost overlaye v %
	var POPOpacity=70;

//vnitrni okraj boxu [px/em]
	var POPBoxPadding="0";

//barva pozadi boxu
	var POPBoxBackground="#ffffff url(images/bg_doporuc.jpg) no-repeat left top";

//velikost okraje boxu [px/em]
	var POPBoxBorder="4px";

//styl okraje boxu [solid/dotted/dashed/double/groove/ridge/inset/outset]
	var POPBoxBorderStyle="solid";

//barva okraje boxu
	var POPBoxBorderColor="#78da49";

//zarovnani textu boxu [left/justify/center/right]
	var POPBoxAlign="left";

//barva textu boxu
	var POPBoxColor="#336699";

//urcuje, zda je nebo neni zobrazeno zapati [true/false]
	var POPZapati=false;

//barva pozadi zapati
	var POPZapatiBackground="#ffffff";

//barva fontu titulku
	var POPTitulekColor="#000000";

//font titulku [font,alternativni font,dalsi alternativni font, …]
	var POPTitulekFont="trebuchet ms,arial,sans-serif";

//velikost fontu titulku [px/em];
	var POPTitulekSize="12px";

//urcuje, zda bude font titulku tucnym rezem [true/false]
	var POPTitulekBold=true;

//urcuje, zda bude font titulku kurzivou [true/false]
	var POPTitulekItalic=false;

//zarovnani textu titulku [left/justify/center/right]
	var POPTitulekAlign="left";

//animovany gif pro loading [implicitne umisteny v rootu webu]
	var POPLoadingGif="loadingGif.gif";

//rychlost fade in/out prechodu [0-100, 0 a 100 znamena vypnuto]
	var POPRychlostFade=4;


/* ---------------------------- VYKONNY KOD - NEMENIT ----------------------------- */
var popUpBox;

//otevre popUp
function initPopUp(id){
	popUpBox=new PopUp();
	popUpBox.id=id;
	popUpBox.publikuj();
	return false;
}

//konstruktor objektu PopUp
function PopUp(){
	this.id;
	this.titulek;
}

//metoda objektu PopUp - publikuje box(zobrazi box, obsah, titulek)
PopUp.prototype.publikuj=function(){
	if(!getPOPElement("POPOverlay")){
		//zobrazeni overlaye
		var overlay=document.createElement("div");
		overlay.style.position="absolute";
		overlay.style.zIndex=100;
		overlay.style.left="0px";
		overlay.style.top="0px";
		overlay.style.width=getPOPSirkaOkna()+"px";
		overlay.style.height=getPOPVyskaDokumentu()+"px";
		overlay.style.background=POPBackground;
		overlay.style.opacity=POPOpacity/100;
		overlay.style.filter="alpha(opacity="+POPOpacity+")";
		overlay.id="POPOverlay";
		overlay.onclick=zavriPOPBox;
		document.body.appendChild(overlay);

		//zobrazeni nacitaciho gifu
		var gif=document.createElement("img");
		gif.setAttribute("alt","načítám");
		gif.style.position="absolute";
		gif.style.zIndex=101;
		gif.style.width="16px";
		gif.style.height="16px";
		gif.style.left=(getPOPSirkaOkna()-16)/2+"px";
		gif.style.top=(getPOPVyskaOkna()-16)/2+getPOPYOffset()+"px";
		gif.src=POPLoadingGif;
		gif.id="POPLoadingGif";
		document.body.appendChild(gif);
	}

	//zobrazeni boxu
	var box=getPOPElement(this.id).cloneNode(true);
	getPOPElement(this.id).parentNode.removeChild(getPOPElement(this.id));
	box.style.position="absolute";
	box.style.zIndex=102;
	box.style.width="433px";
	box.style.height="270px";
	box.style.left=(getPOPSirkaOkna()-500)/2+"px";
	box.style.top=(getPOPVyskaOkna()-420)/2+getPOPYOffset()+"px";
	box.style.padding=POPBoxPadding;
	box.style.background=POPBoxBackground;
	box.style.borderWidth=POPBoxBorder;
	box.style.borderStyle=POPBoxBorderStyle;
	box.style.borderColor=POPBoxBorderColor;
	box.style.textAlign=POPBoxAlign;
	box.style.color=POPBoxColor;
	box.style.display="block";
	box.id="POPBox";
	document.body.appendChild(box);

	//zapati
	if(POPZapati){
		//zapati popUpu
		var zapati=document.createElement("div");
		zapati.style.position="absolute";
		zapati.style.left="0px";
		zapati.style.bottom="0px";
		zapati.style.margin="0px";
		zapati.style.background=POPZapatiBackground;
		zapati.style.width=this.width+10+"px";
		zapati.id="POPZapati";
		box.appendChild(zapati);

		//titulek
		var titulek=document.createElement("p");
		titulek.style.margin="0px";
		titulek.style.padding="5px";
		titulek.style.color=POPTitulekColor;
		titulek.style.fontFamily=POPTitulekFont;
		titulek.style.fontSize=POPTitulekSize;
		titulek.style.textAlign=POPTitulekAlign;
		if(POPTitulekBold){titulek.style.fontWeight="bold";}
			else{titulek.style.fontWeight="normal";}
		if(POPTitulekItalic){titulek.style.fontStyle="italic";}
			else{titulek.style.fontStyle="normal";}
		titulek.id="POPTitulek";
		titulek.innerHTML=this.titulek;
		zapati.appendChild(titulek);

		//zavirac
		var x=document.createElement("a");
		x.style.fontSize="20px";
		x.style.textDecoration="none";
		x.style.width="15px";
		x.style.height="20px";
		x.style.position="absolute";
		x.style.bottom="5px";
		x.style.right="5px";
		x.style.color=POPTitulekColor;
		x.style.background=POPZapatiBackground;
		x.href="javascript:";
		x.onclick=zavriPOPBox;
		x.innerHTML="×";
		box.appendChild(x);
	}
	else{
		//zavirac
		var x=document.createElement("a");
		x.style.display="block";
		x.style.fontSize="15px";
		x.style.fontWeight="bold";
		x.style.textDecoration="none";
		x.style.textAlign="center";
		x.style.width="20px";
		x.style.height="20px";
		x.style.position="absolute";
		x.style.bottom="0px";
		x.style.right="0px";
		x.style.color=POPTitulekColor;
		x.style.background=POPZapatiBackground;
		x.href="javascript:";
		x.onclick=zavriPOPBox;
		x.innerHTML="×";
		box.appendChild(x);
	}

	//animuje zobrazeni popUpu
	fadeIn(box.id);

}

//zavre popUp
function zavriPOPBox(){
	document.body.removeChild(getPOPElement("POPOverlay"));
	document.body.removeChild(getPOPElement("POPLoadingGif"));
	var element=getPOPElement("POPBox").cloneNode(true);
	element.style.display="none";
	element.id=popUpBox.id;
	document.body.appendChild(element);
	document.body.removeChild(getPOPElement("POPBox"));
}


/*ANIMACNI FUNKCE*/

//fade in
var fadeInTimer;
var fadeInOpacity=0;
function fadeIn(id){
	if(POPRychlostFade>0 && POPRychlostFade<100){
		clearTimeout(fadeInTimer);
		fadeInOpacity=fadeInOpacity+POPRychlostFade;
		if(fadeInOpacity>=100){fadeInOpacity=100;}

		getPOPElement(id).style.opacity=fadeInOpacity/100;
		getPOPElement(id).style.filter="alpha(opacity="+fadeInOpacity+")";

		if(fadeInOpacity<100){
			var prikaz=function(){fadeIn(id);}
			fadeInTimer=setTimeout(prikaz,"10");
		}
		else{fadeInOpacity=0;}
	}
}

//fade out
var fadeOutTimer;
var fadeOutOpacity=100;
function fadeOut(id){
	if(POPRychlostFade>0 && POPRychlostFade<100){
		clearTimeout(fadeOutTimer);
		fadeOutOpacity=fadeOutOpacity-POPRychlostFade;
		if(fadeOutOpacity<=0){fadeOutOpacity=0;}

		getPOPElement(id).style.opacity=fadeOutOpacity/100;
		getPOPElement(id).style.filter="alpha(opacity="+fadeOutOpacity+")";

		if(fadeOutOpacity>0){
			var prikaz=function(){fadeOut(id);}
			fadeOutTimer=setTimeout(prikaz,"10");
		}
		else{
			fadeOutOpacity=100;
			document.body.removeChild(getPOPElement(id));
		}
	}
}


/*GETTERY*/

function getPOPElement(id){return document.getElementById(id);}

function getPOPSirkaOkna(){
	return (document.documentElement.clientWidth)?document.documentElement.clientWidth:document.body.clientWidth;
}

function getPOPVyskaOkna(){
	return (document.documentElement.clientHeight)?document.documentElement.clientHeight:document.body.clientHeight;
}

function getPOPSirkaElementu(el){
	return el.style.width;
	//return (window.getComputedStyle)?parseInt(window.getComputedStyle(el,null).getPropertyValue("width")):parseInt(el.offsetWidth);
}

function getPOPVyskaElementu(el){
	return (window.getComputedStyle)?parseInt(window.getComputedStyle(el,null).getPropertyValue("height")):parseInt(el.offsetHeight);
}

function getPOPYOffset(){
	if(document.documentElement.scrollTop!="undefined"){return document.documentElement.scrollTop;}
	else if(document.body.scrollTop!="undefined"){return document.body.scrollTop;}
	else{return window.pageYOffset;}
}

function getPOPVyskaDokumentu(){
	var vyska=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
	vyska+=document.body.scrollTop;
	if(vyska>getPOPVyskaOkna()){return vyska;}
	else{return getPOPVyskaOkna();}
}

