document.write("<style type='text/css'>.klapp_block *{display: none;}</style>")


if(window.onload) window.saveOnload=window.onload
window.onload=window_onload

	// liste der menu <li> elemente in level 2 die ein ausblenden des
	// Inhaltsbereichs verursachen.
var pn_popmenu_list=["pn_veransta", "pn_impress", "sn_unter", "sn_leistung", "sn_service"]
var endBlendOut=.05
var blendSpeed=20
var blendstep=.10

function window_onload(){
	var lis=document.getElementsByTagName("LI")
	for(var i=0; i< lis.length; i++){
		if(lis[i].className.match(/popmenu/)) {
			lis[i].onmouseover=pnMenuMouseOver
			lis[i].onmouseout=pnMenuMouseOut		
		}
	}
	/*for(var i=0; i < pn_popmenu_list.length; i++){
		var tM=document.getElementById(pn_popmenu_list[i])
		if(tM){
			tM.onmouseover=pnMenuMouseOver
			tM.onmouseout=pnMenuMouseOut
		}
	}*/
	contBloc=document.getElementById("content")
	if(contBloc){
		contBloc.blendout=blendout
		contBloc.blendin=blendin
		contBloc.setOpacity=setOpacity
	}
	if(location.hash && location.hash.match(/allgemein|menu|pakete|termine/)){
		var jump=location.hash.replace(/#/,"")
		var jLink=document.getElementById("click_" + jump)
		if(jLink && jLink.onclick)jLink.onclick()
	}
	var afElm=document.getElementById("autoFocus")
	if(afElm) afElm.focus()
	
	sum_order()
	set_allowed_tickets()
	if(window.saveOnload) saveOnload()
	document.onclick=doc_onclick
	
	
		// primnav rotate image
	var pnImg=document.getElementById("primnavImg")
	if(pnImg && pnImg.attributes["rel"]) {
		prefetch_images(pnImg)
		window.rotateImage=pnImg
		setTimeout("image_rotate(rotateImage)", 5000)
	}
		// standard bild rotate
	var stdImg=document.getElementById("stdRotateBild")
	if(stdImg && stdImg.attributes["rel"]) {
		prefetch_images(stdImg)
		window.rotateStdImage=stdImg
		setTimeout("image_rotate(rotateStdImage)", 4000)
	}

	var previmgs=get_rotator_images()
	if(previmgs.length){
		for(var i=0; i< previmgs.length; i++){
			var tpi=previmgs[i]
			tpi.id="previmg" + i
			if(prefetch_images(tpi)){
				window["hpprev" + i]=tpi
				setTimeout("image_rotate(hpprev" + i + ")" , 3000)
			}
		}
	}
	

		// any further rotator pics
	var etcRotate= document.getElementsByTagName("IMG")
	var etcCnt=0
	for(var i=0; i< etcRotate.length; i++){
		var tImg=etcRotate[i]
		if(tImg.fetched) continue;
		if(tImg.attributes["rel"] && prefetch_images(tImg)){
			window["rotateEtcImage" + etcCnt]=tImg
			setTimeout("image_rotate(rotateEtcImage" + etcCnt+ ")", 3000)
		} 
		etcCnt++
	}

}



/*------------------------------
MENU blendin blendout
------------------------------*/

function show_menu(elm){
	if(getWinHeight()<400) return false
	var m=elm.parentNode.getElementsByTagName("UL")[0]
	if(m){
		if(m.className=="l3"){
				// this is a fix for msie. msie uses the parent ul as offsetParent ???
			if(m.offsetParent.tagName=="UL"){
				m.style.top=elm.offsetTop + "px"
				if(getElmTop(m) + getElmHeight(m) > getWinHeight()){
					m.style.top=getWinHeight()-(getElmTop(m)+getElmHeight(m) + 20) + "px"
				}
			}
		}
	}
}

function hide_menu(elm){elm.parentNode.getElementsByTagName("UL")[0].style.display="none"}

function pnMenuMouseOver(){contBloc.blendout()}
function pnMenuMouseOut(){contBloc.blendin()}

function blendout(){
	if(window.blend_timer) clearTimeout(blend_timer)
	if(!this.blendLevel) {
		this.blendLevel=1
		this.setOpacity()
	}
	this.blendLevel-=blendstep
	if(this.blendLevel>endBlendOut)	blend_timer=setTimeout("contBloc.blendout()",blendSpeed)
	else {
		this.blendLevel=endBlendOut
		var flashDiv=document.getElementById("hideFlash")
		if(flashDiv)flashDiv.style.visibility="hidden"	
	}
	this.setOpacity()	
}

function blendin(){
	if(window.blend_timer) clearTimeout(blend_timer)
	this.blendLevel+=blendstep
	if(this.blendLevel<1)	blend_timer=setTimeout("contBloc.blendin()",blendSpeed)
	else {
		this.blendLevel=1
		var flashDiv=document.getElementById("hideFlash")
		if(flashDiv)flashDiv.style.visibility="visible"
	}
	this.setOpacity()
}

function setOpacity(){
	if(document.all && typeof(document.body.style.filter)!="undefined"){
		var op=this.blendLevel*100
		if(op==100) this.style.filter=""
		else this.style.filter = 'alpha(opacity='+op+')';
	}
	else this.style.opacity=this.blendLevel
}





/*--------------------------------
document onclick
--------------------------------------*/

function doc_onclick(e){
	e=e || window.event
	if(!e) return false
	if(e.button==2)return true
	var trgt=getEventTarget(e)
	var par=trgt.parentNode
	if(trgt.className=="klapp_header" || (trgt.tagName.match(/em|h(2|3|4|5)/i)) && par.className && par.className.match(/klapp_block/)){
		if(DOSLIDE)toggle2_klapp_block(par,trgt)
		else toggle_klapp_block(par)
	}
	
}






/*-------------------------------------
Klapp block 
-------------------------------------*/


function toggle_klapp_block(elm){
	if(elm.className.match(/klapp_block_open/)){
		elm.className=elm.className.replace(/klapp_block_open/, "klapp_block")
	}
	else elm.className=elm.className.replace(/klapp_block/, "klapp_block_open")
}





DOSLIDE=true
SLIDESTEPS=7
SLIDEDELAY=10
SLIDEOPEN=1
SLIDESHUT=2
function toggle2_klapp_block(elm,header){
	if(elm.className.match(/klapp_block_open/))start_slide(elm,header,SLIDESHUT)
	else start_slide(elm,header,SLIDEOPEN)
}

function start_slide(elm,header,d){
	if(!elm.className.match(/_open/))elm.className=elm.className.replace(/klapp_block/, "klapp_block_open")
	if(window.slide_timer)finish_slide()
	elm.direction=d
	elm.style.overflow="hidden"
	hh=getElmHeight(header)
	elm.headerHeight=hh
	var h=getElmHeight(elm)
	elm.bottom=(d==SLIDESHUT) ? h : hh
	elm.jump= Math.ceil((h-hh) / SLIDESTEPS)
	elm.loops=0
	current_slider=elm
	slide_elm()
}

function slide_elm(){
	var cs = current_slider
	cs.bottom = cs.direction==SLIDESHUT ? cs.bottom - cs.jump: cs.bottom + cs.jump
	cs.style.height=cs.bottom + "px"	
	if(++cs.loops>=SLIDESTEPS ) return finish_slide()
	slide_timer=setTimeout("slide_elm()", SLIDEDELAY)
}

function finish_slide(){
	window.slide_timer=null
	var cs=current_slider
	if(cs.direction==SLIDESHUT)	cs.className=cs.className.replace(/_open/, "")
	cs.style.height="auto"
}


/*--------------------------------
status pop
--------------------------------------*/

function status_pop(m,e,elm,stat){
	//if(e.ctrlKey) alert(getScrollY())
	if(!e) return false;
	killBubble(e)
	var spop=document.getElementById("statuspop" + stat)
	if(spop){
		spop.innerHTML=m
	}
	else {
		var d=document.body.appendChild(document.createElement("DIV"))
		d.id="statuspop" + stat
		d.className="statuspop"
		d.style.position="absolute"
		d.innerHTML=m
		spop=d
		spop.onclick=hideMe
	}
	spop.style.visibility="visible"
	document.body.onclick=hideStatPop
	spop.style.zIndex=1000
	spop.style.left=(e.clientX  +getScrollX() - parseInt(spop.offsetWidth/2) ) + "px"
	spop.style.top=(e.clientY + getScrollY() - spop.offsetHeight) + "px"
	return false
}
function hideStatPop(){
	for(var i=0; i<=3;i++){
		var spop=document.getElementById("statuspop" + i)
		if(spop)spop.onclick()
	}
}
function hideMe(){
	this.style.visibility="hidden"
}
function getScrollX() {
  return typeof( window.pageXOffset ) == 'number' ? window.pageXOffset
    	: document.body && document.body.scrollLeft ? document.body.scrollLeft
    	: document.documentElement.scrollLeft
}
function getScrollY() {
  return typeof( window.pageYOffset ) == 'number' ? window.pageYOffset
    	: document.body && document.body.scrollTop ? document.body.scrollTop
    	: document.documentElement.scrollTop
}


/*--------------------------------
tickets
--------------------------------------*/


function sum_order(){
	var ticketTable=document.getElementById("tickets_table")
	if(!ticketTable) return false
	var summField=document.getElementById("ticket_total")
	var versandField=document.getElementById("versand_total")
	var totField=document.getElementById("gesamt_total")
	haveErm=false
	var sels=ticketTable.getElementsByTagName("SELECT")
	var sum=totalAmt=0
	for(var i=0; i < sels.length; i++){
		if(!sels[i].name.match(/\d__/) ) continue;
		if(sels[i].selectedIndex > 0){
			if(sels[i].name.match(/e__/))haveErm=true
			tAmt=sels[i].options[sels[i].selectedIndex].value
			tPreis=sels[i].name.replace(/.__\d+__(\d+)_(\d+)/, "$1.$2")
			tSum=tPreis * tAmt
			sum+=tSum
			totalAmt+=parseInt(tAmt)
		}
	}
	toggleEnableVersand(haveErm)
	sum =Math.round(sum*100)
	strSum=sum.toString()
	strSum=strSum.replace(/(\d\d)$/, ",$1")
	summField.value=strSum

	var versand=get_radio_val("ticketForm", "versand")
	if(!versand) versand="0.00"

	versandField.value=versand.replace(".", ",")

	var versVal=versand * 100
	
	var tot=sum + versVal
	tot=Math.round(tot)
	strTot=tot.toString()	
	totField.value=strTot.replace(/(\d\d)$/, ",$1")
}

function set_allowed_tickets(){
	var ticketTable=document.getElementById("tickets_table")
	if(!ticketTable) return false
	var sels=ticketTable.getElementsByTagName("SELECT")
	totTickets=0
	for(var i=0; i < sels.length; i++){
		tSel=sels[i]
		if(tSel.name.match(/d__/)) continue;
		if(tSel.selectedIndex>0){
			var val= parseInt(tSel.options[tSel.selectedIndex].value)
			totTickets += val
		}
	}
	allowRemainder=10-totTickets
	makeSelOpts(allowRemainder,sels)
}

function toggleEnableVersand(turnOff){
	var rList=document.getElementById("versandTable").getElementsByTagName("INPUT")
	rList[1].disabled=turnOff
	rList[1].parentNode.parentNode.className=turnOff? "disabled" : ""
	rList[2].disabled=turnOff
	rList[2].parentNode.parentNode.className=turnOff? "disabled" : ""
	if(turnOff) rList[0].click()
}

function makeSelOpts(remainder,sels){
	for(var i=0; i < sels.length; i++){
		var tSel=sels[i]
		if(tSel.name.match(/d__/)) continue;
		currSel=tSel.selectedIndex>0 ? tSel.selectedIndex : false
		if(currSel) allowed=remainder + currSel
		else allowed=remainder
		for(var j=10; j >0 ; j--){
			tSel.remove(j)
		}
		//alert(tSel.name + allowed)
		for(var j=1; j < allowed+1; j++){
			var newOpt=document.createElement("OPTION") 
			newOpt.text=j
			newOpt.value=j
			try {
			  tSel.add(newOpt, null); // standards compliant; doesn't work in IE
			}
			catch(ex) {
			  tSel.add(newOpt); // IE only
			}
		}
		if(currSel < tSel.options.length) tSel.selectedIndex=currSel?currSel:-1
	}
}


function get_radio_val(f,r){
	var tForm=document.forms[f]
	var radios=tForm.elements[r]
	for (var i=0; i < radios.length; i++) {
	   if (radios[i].checked) return radios[i].value
	}
	return null
}





/*--------------------------------
Popup-Video
--------------------------------------*/
function popup_video(vid_src){
	if(!vid_src.match(/\.html?$/)) vid_src+=".html"
	var hlcont=document.getElementById("highlightCcontent")
	var popIframe=document.getElementById("video_iframe")
	if(!popIframe){
		popIframe=document.createElement("IFRAME")
		popIframe.id="video_iframe"
		popIframe.border=0
		popIframe.frameBorder=0
		popIframe.allowTransparency=true
		hlcont.appendChild(popIframe)
	}
	popIframe.src="/filme/" + vid_src
	hlcont.style.visibility="visible"
	document.body.className="greyOut"
}

function closeFilmPop(){
	var hlcont=document.getElementById("highlightCcontent")
	var popIframe=document.getElementById("video_iframe")
	if(popIframe) popIframe.src="about:blank"
	hlcont.style.visibility="hidden"
	document.body.className=""	
}




/*--------------------------------
Konzert-dinner-seiten nav
--------------------------------------*/

function kd_show_block(t_sect){
	var container=document.getElementById("kd_beschreibung_div")
	childs=container.childNodes
	for(var i=0; i < childs.length; i++){
		if(childs[i].tagName=="DIV") childs[i].style.display="none"
	}
	document.getElementById(t_sect).style.display="block"
}




/*--------------------------------
basic dom/event things
--------------------------------------*/
function getWinHeight(){return window.innerHeight || document.body.clientHeight}
function getElmTop(elm){return elm ? elm.offsetTop + getElmTop(elm.offsetParent) : 0}
function getElmLeft(elm){return elm ? elm.offsetLeft + getElmLeft(elm.offsetParent) : 0}

function getElmHeight(elm){return elm.offsetHeight }
function getElmWidth(elm){return elm.offsetWidth}

function getScrollY() {
  return typeof( window.pageYOffset ) == 'number' ? window.pageYOffset
    	: document.body && document.body.scrollTop ? document.body.scrollTop
    	: document.documentElement.scrollTop
}



function getEventTarget(e){window.defaultStatus=e.type;return e.srcElement ? e.srcElement : e.target}

function killBubble(e){
	if(!e)e=window.event
	if(!e)return false
	if(e.stopPropagation)e.stopPropagation()
	else e.cancelBubble=true
}

kgpopwin=null
function openpop(l, w, h){
	if(!w) w=680; if(!h)h=500;
	if(kgpopwin && !kgpopwin.closed)kgpopwin.close()
	var dims= "width=" + w + ",height=" + h + ",scrollbars=1"
	kgpopwin=window.open(l.href, "popup", dims)
	self.name="kg_main"
	return false
}



/*--------------------------------
Google maps Popup
--------------------------------------*/

function open_googel_map_win(elm){
	openpop(elm, 800,700)
	return false
}


function partner_popwin(l){
	if(l)window.open(l)
}




/*--------------------------------
orte karten
--------------------------------------*/
function isInArry(t){for(var i=0;i<this.length;i++){if(this[i]==t) return true;} return false}
Array.prototype.contains=isInArry

function highlight_map(n,elm){
	if(active_bundeslaender.contains(n)){
		document.getElementById("map_image").src="/bilder/karten/" + n + ".gif"
	}
	else {
		if(elm.removeAttribute)elm.removeAttribute("HREF")
		//elm.href="Javascript:void(0)"
	}
	elm.onmouseout=lolight_map
}
function lolight_map(){
	document.getElementById("map_image").src="/pics/blank.gif"
}

function filterOrte(elm){
	var re=new RegExp(elm.value, "i")
	rows=document.getElementById("orteListe").getElementsByTagName("TR")
	for(var i=0; i < rows.length; i++){
		var tRow=rows[i]    
		if(elm.value.length<3){
			tRow.style.display="table-row"
			continue
		}
		var ok=false
		var tds=tRow.getElementsByTagName("TD")
		if(tds[0] && tds[0].innerHTML.match(re))ok=true
		if(tds[1] && tds[1].firstChild && tds[1].firstChild.innerHTML.match(re))ok=true
		if(ok) tRow.style.display="table-row"
		else tRow.style.display="none"
	}
}



/*--------------------------------
rotate image
--------------------------------------*/

function get_rotator_images(){
	var imgs= document.getElementsByTagName("IMG")
	var lst=new Array()
	for(var i=0; i< imgs.length; i++){
		if(imgs[i].className=="hppreviewimg")lst.push(imgs[i])
	}
	return lst
}

function image_rotate(img){
	if(img.rotateTimer)clearTimeout(img.rotateTimer)
	if(!img.imageList)init_image_rotator(img)
	else img.currRotate=(img.currRotate+1)%img.imageList.length
	img.nextSrc=img.imagesDir + img.imageList[img.currRotate]
	//window.rotateImage=img
	var nImg=img.blendInImg
	nImg.src=img.nextSrc
	nImg.blendLevel=0
	nImg.setOpacity()
	nImg.fadeIn()
}

function fadeinImage(){
	if(this.rotateTimer)clearTimeout(this.rotateTimer)
	this.blendLevel=this.blendLevel + 0.02
	this.setOpacity()
	if(this.blendLevel < 1) this.rotateTimer=setTimeout("document.getElementById('" + this.id + "').fadeIn()", 30)
	else {
		var rotateImage=document.getElementById(this.id.replace(/_blin/,""))
		this.rotateTimer=setTimeout("image_rotate(document.getElementById('" + rotateImage.id + "'))", 4000)
		rotateImage.src=this.src
		this.blendLevel=0
		this.setOpacity()
	}
}

function prefetch_images(img){
	var imgList
	var r=img.attributes["rel"]
	if(!r) return false
	img.fetched=true
	var iStr=r.value
	if(iStr) imgList=iStr.split(/,\s*/)
	else return false
	img.imagesDir=img.src.replace(/(.*\/)[^\/]+$/,"$1")
	for(var i=0; i< imgList.length; i++){
		var fetch=new Image()
		fetch.src=img.imagesDir + imgList[i]
	}
	return true
}


function init_image_rotator(img){
	var r=img.attributes["rel"]
	if(!r) return false
	var iStr=img.attributes["rel"].value
	if(iStr) imgList=iStr.split(/,\s*/)
	img.imagesDir=img.src.replace(/(.*\/)[^\/]+$/,"$1")
	
	imgList.unshift(img.src.replace(/.*\/([^\/]+)$/,"$1"))

	img.imageList=imgList
	img.currRotate=0
	
	img.currRotate=(img.currRotate+1)%imgList.length
	img.nextSrc=img.imagesDir + img.imageList[img.currRotate]
	
	var par=img.parentNode
	nImg=par.appendChild(document.createElement("IMG"))

	nImg.zIndex=1000
	nImg.src=img.nextSrc
	nImg.id=img.id+"_blin"
	//nImg.style.width=getElmWidth(img)
	//nImg.style.height=getElmHeight(img)
	nImg.fadeIn=fadeinImage
	nImg.setOpacity=setOpacity
	img.blendInImg=nImg
	return true
}






function lightbox_gallery(elm){
	document.body.className+=" greyOut"
	var flPop=document.getElementById("slideshowpop")
	if(!flPop){
		var np=document.body.appendChild(document.createElement("IFRAME"))
		if(document.all){
			np.frameBorder=0
			np.allowTransparency = true
		}
		np.id="slideshowpop"
		flPop=np
	}
	flPop.style.visibility="visible"
	flPop.src=elm.href
	var flLay=document.getElementById("hideFlash")
	flLay.saveSrc=flLay.src
	flLay.src="about:blank";
	return false
}

function close_slideshow() {
	var flPop=document.getElementById("slideshowpop")
	flPop.src="about:blank"
	flPop.style.visibility="hidden"
	document.body.className=document.body.className.replace(/ ?greyOut/, "")
	var flLay=document.getElementById("hideFlash")
	if(!flLay || !flLay.saveSrc) window.location.reload()
	flLay.src=flLay.saveSrc
}


/*------------------------------------
font size
------------------------------------*/

fontsizefactor=["", "0.9em", "1.0em", "1.15em", "1.3em"]
function set_font_size(size){
	sFactor=fontsizefactor[size]	
	document.getElementById("content").style.fontSize=sFactor
	settings_cookiehash.font_size=size.toString()
	set_fontsize_img()
	setCookie("kg_settings",makeCookieString(settings_cookiehash), cookieExp)
	return false
}

settings_cookiehash=getCookieHash(getCookie("kg_settings"))
if(settings_cookiehash.font_size){
	document.write("<style type='text/css'>#content, #highlightCcontent {font-size:" + fontsizefactor[settings_cookiehash["font_size"]] + "}</style>")
}
function set_fontsize_img(){
	if(!settings_cookiehash.font_size) return false
	document.getElementById("resize_font_img").src="/pics/font_size_" + settings_cookiehash.font_size + ".gif"
}


/*------------------------------------
cookies
------------------------------------*/


cookieExp=new Date()
cookieExp.setFullYear(cookieExp.getFullYear() + 1)

function setCookie(name, value, expire, path){
	var str= name + "=" + escape(value)
	if(expire) str +="; EXPIRES=" + expire.toGMTString()
	var path=path?path:"/"
	str += "; PATH=" + path
	document.cookie = str
}

function getCookie(cname){
	var search = cname + "="
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search)
		if (offset != -1) {
			offset += search.length
			end = document.cookie.indexOf(";", offset)
			if (end == -1) end = document.cookie.length
			return unescape(document.cookie.substring(offset, end))
		}
	}
}

function getCookieHash(c){
	var h=new Array()
	if(c){
		var lst=c.split(";") // get setting types
		for(var i=0; i < lst.length; i++){
			var parts=lst[i].split("=")
			h[parts[0]]=parts[1]?parts[1].split(":"):new Array()
		}
	}
	return h
}
function makeCookieString(h){
	var ary=new Array
	for(prop in h){
		if(typeof h[prop]=="function") continue
		ary.push(prop + "=" + h[prop] )
	}
	return ary.join(";")
}


