/* globální definice událostních ovladačů */
function start_load() {
	for (var i in this.tiskflashe) {
		/* {boid, fid, src, sx, sy, bp, co} id objektu ve stránce kam se mám vtisknout flash, idflashe, cesta k flashi, šířka, výška, barva pozadí, typ definice flashe (case xy) */
		document.getElementById(tiskflashe[i]["boid"]).innerHTML	=	flashflus(tiskflashe[i]["fid"], tiskflashe[i]["src"], tiskflashe[i]["sx"], tiskflashe[i]["sy"], tiskflashe[i]["bp"], tiskflashe[i]["co"]);
	}
}
function start_resize(co) {

}
function chyba() {
	//alert("Odlaďovací hlášení: chybička se vloudila :-(");
}
window.onload=start_load;
//window.onresize=start_resize;
window.onerror=chyba;


/* universální funkce */
function _info() {
	var tpr=window.navigator.userAgent.toLowerCase();
	if (tpr.indexOf("windows")!=-1) s="win";
	else if (tpr.indexOf("macintosh")!=-1 || tpr.indexOf("mac_powerpc")!=-1) s="mac";
	else if (tpr.indexOf("mac os x")!=-1) s="osx";
	else if (tpr.indexOf("linux")!=-1) s="linux";
	else if (tpr.indexOf("sunos")!=-1) s="sun";
	else if (tpr.indexOf("amigaos")!=-1) s="amiga";
	else if (tpr.indexOf("irix")!=-1) s="irix";
	else if (tpr.indexOf("hp-ux")!=-1) s="hpux";
	else if (tpr.indexOf("freebsd")!=-1) s="freebsd";
	else if (tpr.indexOf("osf1")!=-1) s="osf";
	else if (tpr.indexOf("os/2")!=-1) s="os/2";

	if (tpr.indexOf("opera 5")!=-1) p="opr5";
	else if (tpr.indexOf("opera 6")!=-1) p="opr6";
	else if (tpr.indexOf("opera 7")!=-1) p="opr7";
	else if (tpr.indexOf("opera")!=-1) p="opra";
	else if (tpr.indexOf("msie")!=-1) p="expl";
	else if (tpr.indexOf("gecko")!=-1 && tpr.indexOf("netscape")!=-1) p="nn6+";
	else if (tpr.indexOf("konqueror")!=-1) p="konqueror";
	else if (tpr.indexOf("safari")!=-1) p="safari";
	else if (tpr.indexOf("phoenix")!=-1) p="phoenix";
	else if (tpr.indexOf("firebird")!=-1) p="firebird";
	else if (tpr.indexOf("gecko")!=-1) p="mozilla";
	else if (tpr.indexOf("netscape")!=-1 || tpr.indexOf("mozilla")!=-1) p="nets";

	if (p.indexOf("opr")==-1) {
		obj=(typeof(document.createElement)!=undefined && typeof(document.getElementById)!=undefined && typeof(document.getElementsByTagName)!=undefined);
		if (obj) {
			e=document.createElement("e");
			obj=(typeof(e.style)=="object");
		}
		o=(obj) ? true : false;
	}
	else o=true;
	this.__tp=p; // typ prohlížeče;
	this.__os=s; // typ systému;
	this.__oo=o; // objektová podpora;
	//alert("Systém: "+s+" | Prohlížeč: "+p+" | Objektový: "+o+"\n"+window.navigator.userAgent.toLowerCase());
}
function rozmer(co, s) {
	var sx=sy=0;
	var v=new RegExp("[xX]");
	if (typeof(co)!="object") {
		co=document.getElementById(co);
	}
	if (!document.layers && co) {
		sx=co.offsetWidth;
		sy=co.offsetHeight;
	}
	return (v.test(s)) ? sx : sy;
}
function sken_styl(co, vlastnost, kde, tag, tag_index) {
	var r;
	if (kde==-1) {
		r=co.parentNode;
	}
	else if (kde==1 && !tag) {
		r=co.firstChild;
	}
	else if (tag) {
		r=(tag_index>=0) ? co.getElementsByTagName(tag)[tag_index] : co.getElementsByTagName(tag);
	}
	else if (kde==0) {
		r=co;
	}
	function objekt_ukaz(co) {
		for (var i in co) {
			alert(i+"\n"+co[i]);
		}
	}
	if (document.all) {
		//objekt_ukaz(r.currentStyle);
		if (r.currentStyle[vlastnost]!=undefined) {
			return r.currentStyle[vlastnost];
		}
	}
	else {
		//objekt_ukaz(document.defaultView.getComputedStyle(r, null));
		if (document.defaultView.getComputedStyle(r, null)[vlastnost]!=undefined) {
			return document.defaultView.getComputedStyle(r, null)[vlastnost];
		}
	}
}


/* hover efekt na TR v tabulkách pro IE 4,5,6: */
function ie5aie6trhover() {
	var rv	=	new Array;
	rv["ienazev"]	=	/Microsoft Internet Explorer/i;
	rv["ieverze"]	=	/msie [456]+/i;
	rv["tabulka"]	=	/dbvypis/i;
	rv["trlichy"]	=	/trl/i;
	rv["trsudy"]	=	/trs/i;
    if (rv["ienazev"].test(navigator.appName) && rv["ieverze"].test(navigator.appVersion)) {
		var tabulky	=	document.getElementsByTagName("table");
		for (var i = 0; i < tabulky.length; i++) {
			if (rv["tabulka"].test(tabulky[i].className)) {
				var radky	=	document.getElementsByTagName("tr");
				for (var j = 0; j < radky.length; j++) {
					if (rv["trlichy"].test(radky[j].className) || rv["trsudy"].test(radky[j].className)) {
						radky[j].onmouseover = function() {
							this.className	+=	" ie";
						}
						radky[j].onmouseout = function() {
							this.className	=	this.className.replace(" ie", "");
						}
					}
				}
			}
		}
	}
}


function test_povinne_polozky(tpp_f) {
	function trim(co) { 
		return co.replace(/(^\s*)|(\s*$)/g,''); 
	}
	function test_email(co) {
		if (co.length>3) {
			var vyraz=new RegExp(/^[a-zA-Z0-9]+([_.-]?[a-zA-Z0-9])*@[a-zA-Z0-9]+([-.]?[a-zA-Z0-9])*\.[a-zA-Z]{2,4}$/i);
			return (vyraz.test(co)) ? true : false;
		}
		else {
			return (co.length==0) ? true : false; //u prázdné položky zatím nemá smysl dělat test
		}
	}
	function ocistka(co) {
		return co.replace(/\\n/g, "\n").replace(/\\t/g, "\t");
	}
	if (typeof(tpp_f)!="object") {
		tpp_f=document.forms[tpp_f];
	}
	var tpp_nazev=tpp_hlaseni=tpp_obsah=tpp_hlaseni_cisla="";
	var tpp_p, tpp_n, tpp_t, tpp_r, tpp_z, tpp_vyraz, tpp_pcc;
	var tpp_pc=tpp_f.elements.length;
	var tpp_pcm=0;
	for (var i=0; i<tpp_pc; i++) {
		tpp_p=tpp_f.elements[i];
		tpp_n=tpp_p.name;
		if (tpp_n) { /* ochrana proti non-form elementům, např. v režimu strict fieldset */
			if (!tpp_n.search(/povinne\[[^\]]*\]/) && tpp_p.value!="") {
				tpp_n=tpp_n.replace(/[^\[]*\[([^\]]*)\]/, "$1");
				tpp_ps=tpp_p.value.split(",");
				tpp_min=tpp_ps[0];
				tpp_cis=(tpp_ps.length>1) ? tpp_ps[1] : false;
				tpp_pn=tpp_f.elements[tpp_n];
				tpp_t=(tpp_pn.length>0) ? tpp_pn[0].type : tpp_pn.type;
				switch (tpp_t) {
					case "select-multiple" :
						tpp_obsah=(tpp_pn.options.selectedIndex!=-1) ? tpp_obsah=tpp_pn.options[tpp_pn.options.selectedIndex].value : "";
					break;
					case "select-one" :
						tpp_obsah=(tpp_pn.options.selectedIndex!=-1) ? tpp_obsah=tpp_pn.options[tpp_pn.options.selectedIndex].value : "";
					break;
					case "radio" :
						tpp_r=false;
						for (var j=0; j<tpp_pn.length; j++) {
							if (tpp_pn[j].checked==true) {
								tpp_r=true;
								break;
							}
						}
						tpp_obsah=(tpp_r) ? tpp_pn[j].value : "";
					break;
					default:
						tpp_obsah=tpp_pn.value;
				}
				if (tpp_obsah.length<tpp_min) {
					if (!tpp_z) {
						tpp_z=(tpp_pn.length>0) ? tpp_pn[0] : tpp_pn;
					}
					tpp_hlaseni+=((tpp_hlaseni.length>0) ? "\n" : "")+"položka: \""+tpp_f.elements["synonyma["+tpp_n+"]"].value+"\" je povinná (minimum znaků: "+tpp_min+")!";
				}
				if (tpp_cis!=false) {
					if (tpp_cis==1) { // 1 == integer, 2 == real
						tpp_vyraz=new RegExp("[^0-9]", "g");
						tpp_cis="celé";
					}
					else {
						tpp_vyraz=new RegExp("[^0-9.]", "g");
						tpp_pcc=tpp_pn.value.match(/,|\./gi);
						tpp_pcc=(tpp_pcc) ? tpp_pcc.length : 0;
						if (tpp_pcc==1) {
							tpp_pn.value=tpp_pn.value.replace(/,+/g, ".");
						}
						tpp_cis="desetinné";
					}
					if (tpp_vyraz.test(tpp_pn.value)) {
						if (!tpp_z) {
							tpp_z=(tpp_pn.length>0) ? tpp_pn[0] : tpp_pn;
						}
						tpp_hlaseni_cisla+=((tpp_hlaseni_cisla.length>0) ? "\n" : "")+"položka: \""+tpp_f.elements["synonyma["+tpp_n+"]"].value+"\" musí být "+tpp_cis+" číslo!";
					}
				}
			}
		}
	}
	if (tpp_hlaseni_cisla!="") {
		tpp_hlaseni+=((tpp_hlaseni.length>0) ? "\n\n" : "")+tpp_hlaseni_cisla;
	}
	if (tpp_f.elements["konstanty[email]"]!=undefined) {
		tpp_pom=tpp_f.elements["konstanty[email]"].value.split(",");
		for (var i=0; i<tpp_pom.length; i++) {
			tpp_pn=tpp_f.elements[trim(tpp_pom[i])];
			if (!test_email(tpp_pn.value)) {
				if (!tpp_z) {
					tpp_z=(tpp_pn.length>0) ? tpp_pn[0] : tpp_pn;
				}
				tpp_hlaseni+=(tpp_hlaseni.length>0 && ++tpp_pcm==1) ? "\n" : "";
				tpp_hlaseni+=((tpp_hlaseni.length>0) ? "\n" : "")+"položka: \""+tpp_f.elements["synonyma["+tpp_pn.name+"]"].value+"\" nemá platný formát emailu!";
			}
		}
	}
	if (tpp_hlaseni.length>0) {
		alert(tpp_hlaseni);
		if (tpp_f.elements["konstanty[zamerefekt]"]) {
			tpp_pom=tpp_f.elements["konstanty[zamerefekt]"].value.split(",");
			this.f_efekt=tpp_f.name;
			this.p_efekt=tpp_z.name;
			this.p_eon=trim(tpp_pom[0]);	/* class efektu ON */
			this.p_eoff=trim(tpp_pom[1]);	/* class efektu OFF */
			zamer_efekt(trim(tpp_pom[2]));	/* čas střídání efektu v milisekundách */
			tpp_z.onblur=zamer_efekt_off;
		}
		tpp_z.focus();
		return false;
	}
	else {
		if (tpp_f.elements["konstanty[potvrzeni]"]!=undefined) {
			return (confirm(ocistka(tpp_f.elements["konstanty[potvrzeni]"].value))) ? true : false;
		}
		else {
			return true;
		}
	}
}
/* funkce nutné pro testování formuláře !!! */
var f_efekt=null;
var p_efekt=null;
var p_eon=null;
var p_eoff=null;
function zamer_efekt(cas) {
	var p=document.forms[this.f_efekt].elements[this.p_efekt];
	if (p.className!=this.p_eoff) {
		p.className=this.p_eoff;
	}
	else {
		p.className=this.p_eon;
	}
	this.cas_ef=setTimeout("this.zamer_efekt("+cas+")", cas);
}
function zamer_efekt_off() {
	var ep=document.forms[window.top.f_efekt].elements[window.top.p_efekt];
	clearTimeout(window.top.cas_ef);
	window.top.cas_ef=null;
	ep.onblur=null;
	ep.className=window.top.p_eoff;
}
function fpvyber(f, p, i) {
	f=(typeof(f)!="object") ? document.forms[f] : f;
	p=(typeof(p)!="object") ? f.elements[p] : p;
	if (i!=undefined) {
		p[i].checked=(p[i].checked) ? false : true;
	}
	else {
		p.checked=(p.checked) ? false : true;
	}
}
function odesli_form(f, z) {
	f=(typeof(f)!="object") ? document.forms[f] : f;
	
	/* otestování napište nám na info text */
	if (this.zprava_info && z) {
		form_p_smaz_info(f.elements[z], 1)
	}
	/* / */

	if (f) {
		if (test_povinne_polozky(f)) {
			f.submit();
		}
		else {
			return false;
		}
	}
	else {
		alert("Nedefinovaný formulář!!!\nProgramátorská chyba!!!\nZřejmě zdvojené volání testu na obsah položek formuláře!!!");
		return false
	}
}

function flashflus(fid, src, sx, sy, bp, co) { /* idflashe, cesta k flashi, šířka, výška, barva pozadí, typ definice flashe (case xy) */
	switch (co) {
		case 1 :
			return "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width=\""+sx+"\" height=\""+sy+"\" id=\""+fid+"\" align=\"middle\"><param name=\"wmode\" value=\"transparent\" /><param name=\"allowScriptAccess\" value=\"sameDomain\" /> <param name=\"movie\" value=\""+src+"\" /><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\""+bp+"\" /><embed src=\""+src+"\" quality=\"high\" bgcolor=\""+bp+"\" width=\""+sx+"\" height=\""+sy+"\" name=\""+fid+"\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" wmode=\"transparent\" /></object>";
		break;
		case 2 :
			return "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\""+sx+"\" height=\""+sy+"\" id=\""+fid+"\" align=\"middle\"> <param name=\"wmode\" value=\"transparent\" /> <param name=\"allowScriptAccess\" value=\"sameDomain\" /> <param name=\"movie\" value=\""+src+"\" /><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\""+bp+"\" /><embed src=\""+src+"\" quality=\"high\" bgcolor=\""+bp+"\" width=\""+sx+"\" height=\""+sy+"\" name=\""+fid+"\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" wmode=\"transparent\" /> </object>";
		break;
	}
}


/* doplňuje do form elementu infotext a před psaním ho maže */
function form_p_smaz_info(p, s) {
	if (p.value==this.zprava_info) {
		p.value="";
		return true;
	}
	if (p.value=="" && !s) {
		p.value=this.zprava_info;
		return true;
	}
}
function form_p_pc(f, p, n, z) {
	f=(typeof(f)!="object") ? document.forms[f] : f;
	p=(typeof(p)!="object") ? f.elements[p] : p;
	var pcz=p.value.length;
	f.elements[n].value=pcz;
	f.elements[z].value=this.napn_max_pczn-pcz;
	return true;
}

function ow(u, n, p) {
	window.top.open(u, n, p);
}

/* menu s horizontální orientací u druhé úrovně a průhledností */
function jspmenutop(m, c, j) {
	/* ovládání top menu */
	if (j == 0) {
		jspsm(0);
	}
	else if (j == 1) {
		jspsm(1);
		if (c) {
			c = document.getElementById(c);
			if (this.menuaktiv && (this.menuaktiv != c.id)) {
				document.getElementById(this.tmenuaktiv).style.color = "#2a4b63";
				document.getElementById(this.menuaktiv).style.display = "none";
				this.tmenuaktiv = null;
				this.menuaktiv = null;
			}
			m.style.color = "#dc0500";
			c.style.display = "block";
			this.tmenuaktiv = m.id;
			this.menuaktiv = c.id;
		}
		else {
			if (this.menuaktiv) {
				document.getElementById(this.tmenuaktiv).style.color = "#2a4b63";
				document.getElementById(this.menuaktiv).style.display = "none";
				this.tmenuaktiv = null;
				this.menuaktiv = null;
			}
		}
	}
}
function jspsm(s) {
	switch (s) {
		case 0:
			if (this.jspsmcd) {
				clearTimeout(this.jspsmcd);
				this.jspsmcd = null;
			}
			this.jspsmcd = setTimeout("jspmenutop(this, '', 1);", 500);
		break;
		case 1:
			if (this.jspsmcd) {
				clearTimeout(this.jspsmcd);
				this.jspsmcd = null;
			}
		break;
	}
}





/* jednoúčelové funkce pro daný web */

/* overy rohů pro horní menu */
var pmpcesta="./img/portal/menu/";
var pmpol=new Image();
var pmpbl=new Image();
var pmpop=new Image();
var pmpbp=new Image();
var pmp1= new Image();
var pmp2= new Image();
pmp1.src=pmpcesta+"hmo_okraj_stin.gif";
pmp2.src=pmpcesta+"hmo_pozadi.gif";
pmpol.src=pmpcesta+"hmo_rohy_leve.gif";
pmpbl.src=pmpcesta+"hm_rohy_leve.gif";
pmpop.src=pmpcesta+"hmo_rohy_prave.gif";
pmpbp.src=pmpcesta+"hm_rohy_prave.gif";
function oma(co) {	
	var vyraz=new RegExp("hmo_rohy_prave\.gif", "i");
	var cl=null;
	var cp=null;
	if (!vyraz.test(document.getElementById("ptm"+co).src)) {
		cl=pmpol.src;
		cp=pmpop.src;
	}
	else {
		cl=pmpbl.src;
		cp=pmpbp.src;
	}
	if (co>1) {
		document.getElementById("ltm"+co).src=cl;
	}
	document.getElementById("ptm"+co).src=cp;
}
/* /overy rohů pro horní menu */

function owibc(j, h, n, p) {
	j		= (j == "en" || j == "cz") ? "gb" : j;
	var u	= "http://www.ibishotel.com/i18n/setLangue.jsp?langue="+j
	var w	= window.top.open(u, n, p);
	var i	= document.getElementById("ifribis");
	var ip	=	{
		1958:"./obsah/karlin/smerovac-rezervaci.php",
		5211:"./obsah/mala-strana/smerovac-rezervaci.php",
		5477:"./obsah/old-town/smerovac-rezervaci.php",
		3195:"./obsah/vaclavak/smerovac-rezervaci.php",
		6666:"./obsah/plzen/smerovac-rezervaci.php"
	};	
	i.src = ip[h];
	w.location = "http://www.ibishotel.com/selectPax.svlt?isCodeTars=1&hotel_ville="+h+"&marque=IBI&liste=1";
	w.focus();
}

function owibc_post(j, f) {
	j		= (j == "en" || j == "cz") ? "gb" : j;	
	var u	= "http://www.ibishotel.com/i18n/setLangue.jsp?langue="+j
	var w	= window.top.open(u, 'ibisfp', '');
	var f	= document.getElementById(f);
	f.target = "ibisfp";
	f.submit();
	w.focus();
}

function rbojstart(d, s, key) {
	key = key !== undefined ? key : 0;
	d	= document.getElementById(d);
	var rd	= d.getElementsByTagName("div");
	switch (s) {
		case 1:
			for (i=0; i<rd.length; i++) {
				rd[i].style.display = "none";
				//d.getElementsByTagName("a")[i].getElementsByTagName("span")[0].className = "rbodefault";
			}
		break;
		default :
			for (i=0; i<rd.length; i++) {
				rd[i].style.display = "none";
				//d.getElementsByTagName("a")[i].getElementsByTagName("span")[0].className = "rbodefault";
			}
			rd[key].style.display = "block";
			//d.getElementsByTagName("a")[0].getElementsByTagName("span")[0].className = "rbohover";
	}
}
function rbojs(d) {
	var c	= document.getElementById(d + "o");
	var r	= c.parentNode;
	rbojstart(r.id, 1);
	c.style.display = "block";
	//document.getElementById(d).getElementsByTagName("span")[0].className = "rbohover";
	return true;
}

function ibisotoflash() {
	owibc_post(this.fbanlsjazyk, this.fbanlsform);
}


/* konstanty a globální proměnné a pole: */
var tfpc		=	0;
var tiskflashe	=	new Array();

function _get() {
	hash = document.location.hash.replace(new RegExp('^(.*)#'), '');
	get = {}
	if (hash) {
		hash = hash.split('&');
		for (i = 0; i < hash.length; i++) {
			hash[i] = (hash[i]).split('=');
			get[hash[i][0]] = (hash[i][1] ? hash[i][1] : null);
		}
	}
	return get;
}

