﻿/* ////////////////////////////////////////////////////////////////
                                Men?                               
                               By i4m                              
///////////////////////////////////////////////////////////////////

Struktur:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<ul id="//menuid//">
  <li><a>//Hauptmen?punkt//</a>
    <ul>
      <li><a>//Untermen?punkt//</a></li>
    </ul>
  </li>  //Der LI-Schluss-Tag muss nach der UL der Untermen?punkte stehen!
</ul>
<script language="javascript">newmenu('//menuid//');</script>

*/


menu_timeout = 300;  // Millisekunden bis das Men? wieder verschwindet. (sollte ?ber 100 sein)
activeitem = false;  // Wenn der Haupmen?punkt aktiv bleiben soll beim ?berfahren des Submen?s

function hasli(objekt, tag){  // gibt die Anzahl der Unterobjekte zur?ck
	if(tag=="a"){  // gibt die Anzahl der A-Unterobjekte zur?ck
		if(objekt.getElementsByTagName("div")[0].getElementsByTagName("a").length > 0){
			return objekt.getElementsByTagName("div")[0].getElementsByTagName("a").length;	
		}
		return false;
	}
	else{  // gibt die Anzahl der LI-Unterobjekte zur?ck
		if(objekt.getElementsByTagName("li").length > 0){
			return objekt.getElementsByTagName("li").length;	
		}
		return false;		
	}
}
function popup(obj,w,h) {
	if(obj.tagName){
		var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
	}
	else{
		var url = obj;
	}
	if (!url) return true;
	if(w && h){
		var args = 'width='+w+',height='+h+',resizable=yes';
	}
	else{
		var args = 'resizable=yes,hotkeys=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes';
	}
	pop = window.open(url,'',args);
	return (pop) ? false : true;
}
function newmenu(menuid){  // intialisiert das Men?
	isie = Boolean(document.body.currentStyle)  // ?berpr?ft ob es Sich um einen IE handelt
	isns = Boolean(window.navigator.userAgent.indexOf("Netscape") != -1);  // ?berpr?ft ob es Sich um einen NS handelt
	isnoff15 = Boolean(window.navigator.userAgent.indexOf("Firefox") != -1 && window.navigator.userAgent.indexOf("1.5") == -1 );  // FF nicht Versoin 1.5
	if(isnoff15){  // erstellt ein Element mit dem sp?ter die Textbreite festgestellt wird.
		document.write('<a href="#" id="textbreite"></a>');
	}
	menupunkte = new Array();  // Hauptmen?punkte
	submenupunkte = new Array();  // Sumben?punkte
	menuover = new Array();  // Hier wird gespeichert welches Men? gerade Aktiv ist
	liobjekte = document.getElementById(menuid).getElementsByTagName("li");  // Alle LI-Objekte im Men?
	for(i=0; i<liobjekte.length; i++){
		if(hasli(liobjekte[i], "li")){  // Wenn der Men?punkt Untermen?punkte hat
			submenupunkte[menupunkte.length] = new Array();  // neues Array f?r die Submen?punkte
			menupunkte[menupunkte.length] = liobjekte[i];  // Objekt in Array speichern
			menupunkte[menupunkte.length-1].innerHTML = menupunkte[menupunkte.length-1].innerHTML.split("<UL").join("<DIV").split("</UL>").join("</DIV>").split("<LI>").join("").split("</LI>").join("").split("<ul").join("<div").split("</ul>").join("</div>").split("<li>").join("").split("</li>").join("");  // alle UL durch DIV ersetzen und alle LI l?schen
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].style.visibility = "hidden";  // dieses Submen? ausblenden
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].mid = menupunkte.length-1;  // Eigenschaft mid dem Submen? hinzuf?gen
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].onmouseover = function(){  // Ereigniss wenn der Cursor ?ber das Submen? bewegt wird
				submenu_over(this.mid);
			}			
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].onmouseout = function(){  // Ereigniss wenn der Cursor das Submen? verl?sst
				submenu_out(this.mid);
			}
			menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].mid = menupunkte.length-1;  // Eigenschaft mid dem Hauptmen?punkt hinzuf?gen
			menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].onmouseover = function(){  // Ereigniss wenn der Cursor ?ber den Hauptmen?punkt bewegt wird
				menu_over(this.mid);
			}
			menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].onmouseout = function(){  // Ereigniss wenn der Cursor den Hauptmen?punkt verl?sst
				menu_out(this.mid);
			}
			var maxwidth = 0;  // Variable zur Feststellung des breitesten Elements des Submen?s wird auf 0 gesetzt
			if(isnoff15){  // Wenn es sich um einen FF nicht 1.5 handelt wird dem Element zur Feststellung der Breite der Style des ersten A ?bergeben
				document.getElementById("textbreite").style.fontSize = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").fontSize;
				document.getElementById("textbreite").style.fontFamily = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").fontFamily;
				document.getElementById("textbreite").style.fontWeight = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").fontWeight;
				document.getElementById("textbreite").style.paddingLeft = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").paddingLeft;
				document.getElementById("textbreite").style.paddingRight = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").paddingRight;
			}
			for(j = 0; j < hasli(menupunkte[menupunkte.length-1], "a"); j++){  // Alle Untermen?punkte werden durchgelaufen
				menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].getElementsByTagName("a")[j].id = "m"+i+"sm"+j;  // eindeutige ID wird gesetzt
				submenupunkte[menupunkte.length-1][j] = menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].getElementsByTagName("a")[j];  // Element wird dem Array f?r Submen?punkte zugeteilt
				if(isie | isns){  // Wennn es sich un einen IE oder NS handelt muss die Breite des Untermen?punkts festgestellt werden
					if(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].offsetWidth*1 > maxwidth){
						//alert(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].offsetWidth);
						maxwidth = liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].offsetWidth*1;
						//alert(maxwidth);
						maxwidth=maxwidth+1;
					}
				}
				else if(isnoff15 && textwidth(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].innerHTML) > maxwidth){  // Wennn es sich un einen FF nicht 1.5 handelt muss die Breite des Untermen?punkts festgestellt werden mit Hilfe der Funktion Textwidth
					maxwidth = textwidth(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].innerHTML);
				}
			}  
			if(isie | isns | isnoff15){ // Wenn die Breite festgestellt werden musste wird sie gesetzt
				liobjekte[i].getElementsByTagName("div")[0].style.width = maxwidth + "px";  // der DIV-Container des Submen?s wird auf die richtige Breite gesetzt
				if(isie){  // Wenn es sich um einen IE handelt kann der aktuelle Stye mit der Eigenschaft currentStyle festgestellt werden
					maxwidth = maxwidth - (parseInt(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0].currentStyle.paddingLeft) + parseInt(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0].currentStyle.paddingRight));
				}
				else{  // Ansonsten wird der Style mit getComputedStyle festgestellt
					maxwidth = maxwidth - (parseInt(window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").getPropertyValue("padding-left"))  +  parseInt(window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").getPropertyValue("padding-right")));
				}
				for(j = 0; j < hasli(liobjekte[i], "a"); j++){  // Alle Untermen?punkte werden durchgelaufen
					liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].style.width = maxwidth + "px";  // die Breite des Untermen?punkts wird gesetzt
				}
			}
		}
	}
	for(i=0; i<menupunkte.length; i++){
		menupunkte[i].getElementsByTagName("a")[0].urclass = menupunkte[i].getElementsByTagName("a")[0].className;
	}
	// CSS-Classen f?r erstes und letztes Element werden gesetzt
	menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].className += " last";
	menupunkte[0].getElementsByTagName("div")[0].className += " first";
	menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].className += " last"
	menupunkte[0].getElementsByTagName("a")[0].className += " first";
	for(i=0; i< menupunkte.length; i++){
		submenupunkte[i][0].className += " first";
		submenupunkte[i][submenupunkte[i].length-1].className += " last";
	}
	if(isie){  // Wenn es sich um einen IE handelt wird der Selectbox-Bug umgangen
		fixIeSelectBoxBug();
	}
	if(isnoff15){ // Wenn es sich um einen FF nicht 1.5 handelt wird das Element zur Feststellung der Breite entfernt
		document.getElementById("textbreite").innerHTML = "";
		document.body.innerHTML.split('<a href="#" id="textbreite"></a>').join("");
	}
}
function menu_over(mid){
	menueinbl(mid);  // Submen? wird eingeblendet und andere ausgeblendet
	menuover[mid] = true;  // Wenn diese eigenschaft true ist dann wird das Submen? bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gel?scht
}
function menu_out(mid){
	menuover[mid] = false;  // Wenn diese eigenschaft true ist dann wird das Submen? bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gel?scht
	interval = window.setInterval("menuout_time("+mid+")", menu_timeout);  // Intervall wird gesetzt
}
function submenu_over(mid){
	menuover[mid] = true;  // Wenn diese eigenschaft true ist dann wird das Submen? bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gel?scht
}
function submenu_out(mid){
	menuover[mid] = false;  // Wenn diese eigenschaft true ist dann wird das Submen? bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gel?scht
	interval = window.setInterval("menuout_time("+mid+")", menu_timeout);  // Intervall wird gesetzt
}
function menuout_time(mid){  // Wird durch einen Intervall aufgerufen
	if(menuover[mid] == false){  // Wenn diese eigenschaft true ist dann wird das Submen? bei einem Timeout nicht ausgeblendet
		menupunkte[mid].getElementsByTagName("div")[0].style.visibility = "hidden";
		///// AUSKOMMENTIERT DAMIT AKTIV_STATUS BEIM LI OBEN IM MENUE BLEIBT!
		//menupunkte[mid].getElementsByTagName("a")[0].className = menupunkte[mid].getElementsByTagName("a")[0].className.split("active").join("");
		
	}
	window.clearInterval(interval);  // Intervall wird gel?scht
}
function menueinbl(mid){
	// Alle Submen?s werden ausgeblendet
	menupunkte[aktivmenu].getElementsByTagName("div")[0].style.visibility = "hidden";
	///// AUSKOMMENTIERT DAMIT AKTIV_STATUS BEIM LI OBEN IM MENUE BLEIBT!
	//menupunkte[aktivmenu].getElementsByTagName("a")[0].className = menupunkte[aktivmenu].getElementsByTagName("a")[0].className.split("active").join("");
	menupunkte[aktivmenu].style.zIndex = 1;
	aktivmenu = mid;
	menupunkte[mid].style.zIndex = 200;
	menupunkte[mid].getElementsByTagName("div")[0].style.visibility = "visible";  // ?bergebenes Submen? wird eingeblendet
	if(activeitem){  // Wenn die Eigenschaft f?r ein aktiviertes Men?item true ist werden die AKTIV-Classen gesetzt
		if(mid==0){
			menupunkte[mid].getElementsByTagName("a")[0].className = menupunkte[mid].getElementsByTagName("a")[0].urclass + "active";
		}
		else if(mid == menupunkte.length-1){
			menupunkte[mid].getElementsByTagName("a")[0].className = menupunkte[mid].getElementsByTagName("a")[0].urclass + " active";
		}
		else{
			menupunkte[mid].getElementsByTagName("a")[0].className += " active";
		}
	}	
}
function fixIeSelectBoxBug(){  // IE Selectbox Bug wir durch eine Hinterlegung eines IFrames umgangen
	for(i=0; i<menupunkte.length; i++){
		menupunkte[i].getElementsByTagName("div")[0].innerHTML = menupunkte[i].getElementsByTagName("div")[0].innerHTML + ' </A>';
		zwsubmenupunkte = menupunkte[i].getElementsByTagName("div")[0].innerHTML.split("</A>")
		for(j=0; j<submenupunkte[i].length; j++){
			zwsubmenupunkte[j] = zwsubmenupunkte[j] + ' <span> </span> </A>';
		}
		menupunkte[i].getElementsByTagName("div")[0].innerHTML = zwsubmenupunkte.join("");
		
		subma = menupunkte[i].getElementsByTagName("div")[0];
		iframe = document.getElementById('m'+ i +'-iframe');
		iframe.style.width = subma.offsetWidth;
		iframe.style.height = subma.offsetHeight;
		if(subma.currentStyle.borderTopWidth>0){
			iframe.style.top = -parseInt(subma.currentStyle.borderTopWidth);
		}
		if(subma.currentStyle.borderLeftWidth>0){
			iframe.style.left = -parseInt(subma.currentStyle.borderLeftWidth);
		}
		iframe.style.zIndex = subma.style.zIndex - 1;
		iframe.style.display = "block";	
	}
}
function textwidth(text){  // Wenn es sich um einen FF nicht 1.5 handelt wird diese Funktion ben?tigt um die Breite der Links festzustellen
	document.getElementById("textbreite").innerHTML =  text;
	return document.getElementById("textbreite").offsetWidth;
}
var interval;  // die Intervall Variable f?r das Timeout wird erstellt
aktivmenu = 0;
//-->

/******************* AJAX - FUCTIONS */
//object detection to return the correct object depending upon broswer type. Used by the getAXHA(); function.
function getNewHttpObject() {
    var objType = false;
    try {
        objType = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
        try {
            objType = new ActiveXObject('Microsoft.XMLHTTP');
        } catch(e) {
            objType = new XMLHttpRequest();
        }
    }
    return objType;
}

//Function used to update page content with new xhtml fragments by using a javascript object, the dom, and http.
function getsrc(url,elementContainer){
		document.getElementById(elementContainer).innerHTML = '<blink class="redtxt">Loading...<\/blink>';
		var theHttpRequest = getNewHttpObject();
		
		theHttpRequest.onreadystatechange = function() {processAXAH(elementContainer);};
		theHttpRequest.open("GET", url);
		theHttpRequest.send(false);
		//alert(url);
			function processAXAH(elementContainer){
			   if (theHttpRequest.readyState == 4) {
				   if (theHttpRequest.status == 200) {
					   document.getElementById(elementContainer).innerHTML = theHttpRequest.responseText;
				   } else {
					   document.getElementById(elementContainer).innerHTML="<p><span class='redtxt'>Error!<\/span> HTTP request return the following status message:&nbsp;" + theHttpRequest.statusText +"<\/p>";
				   }
			   }
			}	
}

//////////////////// calendar....

function cal_close(id){
	document.getElementById(id).innerHTML="";
	sh(id,'none');
}
function show_cal(id,url){
	getsrc(url,id);
	sh(id,'block');

}
function setDate(id, month, date, year)	{

	document.getElementById(id+"dd").options[date-1].selected=true;
	document.getElementById(id+"mm").options[month-1].selected=true;
	var z = document.getElementById(id+"yy").options[0].value;
	document.getElementById(id+"yy").options[year-z].selected=true;
	cal_close('calpopup');
}
//////////////////// GetElementByClassName

function getElementsByClassName(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}
function sh(id,a){
	if (document.getElementById(id)){
		document.getElementById(id).style.display=a;
	}
}
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

function searchinputbox(){
	if (document.getElementById("terms")){
		sb = document.getElementById("terms");
		rv = sb.value;	
		sb.onfocus=function(){
			if (sb.value==rv){
				sb.value="";
			}
		}
		sb.onblur=function(){
			if (sb.value==""){
				sb.value = rv;
			}
		}
	}
}
function setactivestatus() {
	if (typeof(activenav) != "undefined") { 
		if (document.getElementById(activenav)){
			document.getElementById(activenav).className="active";
		}
	}
	if (typeof(activesubnav) != "undefined") { 
		if (document.getElementById(activesubnav)){
			document.getElementById(activesubnav).className="active";
		}
	}
	if (typeof(activesubsubnav) != "undefined") { 
		if (document.getElementById(activesubsubnav)){
			document.getElementById(activesubsubnav).className="active";
		}
	}

}

window.onload = function(){
	searchinputbox();
	externalLinks();
	setactivestatus();
}




function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function gallery(id,cat,imgs,lang){
	url = "/gallery.php?id="+id+"&cat="+cat+"&imgs="+imgs+"&lang="+lang;
	width = "600";
	height = "450";
	name = "";
	window.open(url,name,'height='+height+',width='+width);
}




function startSlideShow(object, path, size, sid){
	object.picsize = size;
	object.aktpic = 1;
	object.path = path;
	object.width=750;
	object.height=250;	
        object.sid=sid;
	setTimeout('runSlideShow("' + object.id + '")', 4000);
}
function runSlideShow(objectid){
	object = document.getElementById(objectid);
	object2 = document.getElementById('headerImageTitle');

	if (document.all){
		object.style.filter='blendTrans(duration='+'2'+')';
		object.filters.blendTrans.Apply();   
	}
	object.aktpic++;
	if(object.aktpic>object.picsize){
		object.aktpic=1;
	}			  
	object.width=750;
	object.height=250;
	object.src = object.path + object.sid+'/'+object.aktpic + ".jpg";

t = new Array(4);
t [0] = new Array(5);
t[0][0] = "Krapinske Toplice";
t[0][2] = "Hotel Villa Magdalena";
t[0][1] = "Krapinske Toplice";
t[0][3] = "Krapinske Toplice";
t[0][4] = "Hotel Villa Magdalena";
t [1] = new Array(3);
t[1][0] = "Terme Tuhelj";
t[1][2] = "Dvorac Mihanović";
t[1][1] = "Terme Tuhelj";
t [2] = new Array(4);
t[2][0] = "Stubičke Toplice";
t[2][1] = "Stubičke Toplice";
t[2][2] = "Stubičke Toplice";
t[2][3] = "Terme Jezerčica";
t [3] = new Array(5);
t[3][0] = "Krapinske Toplice";
t[3][1] = "Tuheljske Toplice";
t[3][2] = "Stubičke Toplice";
t[3][3] = "Hotel Villa Magdalena, Krapinske Toplice";
t[3][4] = "Hotel Villa Magdalena, Krapinske Toplice";
        object2.innerHTML = t[object.sid][object.aktpic-1]+" ";

	if (document.all){
		object.filters.blendTrans.Play();
	}
	setTimeout('runSlideShow("' + objectid + '")', 4000);
} 

function bookmarksite(title,url){
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}
