/*** javascript customfuncs for rmn** @author		Frank Schnappenberger, Elmar Obermeier* @copyright	triple-i new media system design gmbh 2003*/var px_add				= ''var nav					= new Array()var subnav				= new Array()var button_height		= 25var nav_top				= 120var nav_img				= new Array()var hide_nav			= falsevar hide_timer			= 500var server				= 'http://www.rhein-main.net'var web_path			= '/rheinmainnet_v2/'var inner_height		= 0var home_top			= 0;	//preload images for nav highlighting	nav_img[0]	= server+web_path+'pics/rmn/navbar/personal_cold.gif'	nav_img[1]	= server+web_path+'pics/rmn/navbar/personal_hot.gif'	nav_img[2]	= server+web_path+'pics/rmn/navbar/news_cold.gif'	nav_img[3]	= server+web_path+'pics/rmn/navbar/news_hot.gif'	nav_img[4]	= server+web_path+'pics/rmn/navbar/events_cold.gif'	nav_img[5]	= server+web_path+'pics/rmn/navbar/events_hot.gif'	nav_img[6]	= server+web_path+'pics/rmn/navbar/eatdrink_cold.gif'	nav_img[7]	= server+web_path+'pics/rmn/navbar/eatdrink_hot.gif'	nav_img[8]	= server+web_path+'pics/rmn/navbar/sport_cold.gif'	nav_img[9]	= server+web_path+'pics/rmn/navbar/sport_hot.gif'	nav_img[10]	= server+web_path+'pics/rmn/navbar/shopping_cold.gif'	nav_img[11]	= server+web_path+'pics/rmn/navbar/shopping_hot.gif'	nav_img[12]	= server+web_path+'pics/rmn/navbar/advertisement_cold.gif'	nav_img[13]	= server+web_path+'pics/rmn/navbar/advertisement_hot.gif'	nav_img[14]	= server+web_path+'pics/rmn/navbar/lifestyle_cold.gif'	nav_img[15]	= server+web_path+'pics/rmn/navbar/lifestyle_hot.gif'	nav_img[16]	= server+web_path+'pics/rmn/navbar/cityinfo_cold.gif'	nav_img[17]	= server+web_path+'pics/rmn/navbar/cityinfo_hot.gif'	nav_img[18]	= server+web_path+'pics/rmn/navbar/ratgeber_cold.gif'	nav_img[19]	= server+web_path+'pics/rmn/navbar/ratgeber_hot.gif'	nav_img[20]	= server+web_path+'pics/rmn/navbar/service_cold.gif'	nav_img[21]	= server+web_path+'pics/rmn/navbar/service_hot.gif'	_preloadImages(nav_img)/*** called on each onLoad*/function Init(){	//window.name = 'rmn'	tmp = _determineWindowSize(window)	inner_height = tmp[3]	if(document.getElementById && home_top==0){		home_top = _getLayerAbsY('home');		nav_top = home_top+16;	}	/*	// init navigation	if(document.all){		nav[0]	= document.all.personal.style		nav[1]	= document.all.news.style		nav[2]	= document.all.events.style		nav[3]	= document.all.eatdrink.style		nav[4]	= document.all.sport.style		nav[5]	= document.all.shopping.style		nav[6]	= document.all.advertisement.style		nav[7]	= document.all.lifestyle.style		nav[8]	= document.all.cityinfo.style		nav[9]	= document.all.ratgeber.style		nav[10]	= document.all.service.style		subnav[0]	= document.all.preferences.style		px_add	= 'px'	}else if(document.layers){		nav[0]	= document.personal		nav[1]	= document.news		nav[2]	= document.events		nav[3]	= document.eatdrink		nav[4]	= document.sport		nav[5]	= document.shopping		nav[6]	= document.advertisement		nav[7]	= document.lifestyle		nav[8]	= document.cityinfo		nav[9]	= document.ratgeber		nav[10]	= document.service		//subnav[0]	= document.preferences	}else if(document.getElementById){		nav[0]	= document.getElementById("personal").style		nav[1]	= document.getElementById("news").style		nav[2]	= document.getElementById("events").style		nav[3]	= document.getElementById("eatdrink").style		nav[4]	= document.getElementById("sport").style		nav[5]	= document.getElementById("shopping").style		nav[6]	= document.getElementById("advertisement").style		nav[7]	= document.getElementById("lifestyle").style		nav[8]	= document.getElementById("cityinfo").style		nav[9]	= document.getElementById("ratgeber").style		nav[10]	= document.getElementById("service").style		//subnav[0]	= document.getElementById("preferences").style		if(String(nav[0].top).indexOf('px')==-1){			px_add = ''		}else{			px_add  = 'px'		}	}	*/	//alert(AjaxInclude);}function ShiftUp(){	if(document.getElementById){		home_top = _getLayerAbsY('home')+16;	}else{		home_top = nav_top	}	nav_top	= home_top - button_height;}/*** shows the navigation*/function ShowNav(navbar,topic,numItems){	return; // deaktiviert	if(nav[navbar]){		if(nav_img[navbar*2+1] != 'undefined') _exchangeImage(topic+'img',nav_img[navbar*2+1])		if(document.getElementById && home_top==0){			home_top = _getLayerAbsY('home');			nav_top = home_top+16;		}		HideNav(true)		mytop = (navbar*button_height+nav_top)		// shift nav		if((mytop+numItems*button_height)>inner_height){			diff 				= (mytop+(numItems+1)*button_height)-inner_height			nav[navbar].top 	= mytop-(Math.ceil(diff/button_height)*button_height)+px_add		}else{			nav[navbar].top 	= mytop+px_add		}		nav[navbar].visibility 		= 'visible'		ToggleFormElements(true)		hide_nav = false	}}/*** shows the subnavigation*/function ShowSubNav(navbar,parent){	return; // deaktiviert	if(subnav[navbar]){		subnav[navbar].top 			= (parent*button_height+nav_top)+px_add		subnav[navbar].visibility 	= 'visible'		hide_nav = false	}}/*** hide navigation*/function HideNav(hideNow){	return; // deaktiviert	if((hide_nav)||(hideNow)){		ToggleFormElements(false)		for(i=0;i<nav.length;i++){			nav[i].visibility = 'hidden'		}		for(i=0;i<subnav.length;i++){			subnav[i].visibility = 'hidden'		}	}}/*** hide subnavigation*/function HideSubNav(){	return; // deaktiviert	for(i=0;i<subnav.length;i++){		subnav[i].visibility = 'hidden'	}}/*** toggles all dangerous form elements** @param	boolean		true=make invisible*/function ToggleFormElements(hideme){	if(hideme){		if(document.all){			cnt = 1			while (document.all['fadeout'+cnt]){				document.all['fadeout'+cnt].style.visibility = 'hidden'				cnt++			}			cnt = 1			while (document.all['fadeout_ad'+cnt]){				document.all['fadeout_ad'+cnt].style.visibility = 'hidden'				cnt++			}		}else if(document.getElementById){			cnt = 1			while (document.getElementById('fadeout'+cnt)){				document.getElementById('fadeout'+cnt).style.visibility = 'hidden'				cnt++			}			cnt = 1			while (document.getElementById('fadeout_ad'+cnt)){				document.getElementById('fadeout_ad'+cnt).style.visibility = 'hidden'				cnt++			}		}	}else{		if(document.all){			cnt = 1			while (document.all['fadeout'+cnt]){				document.all['fadeout'+cnt].style.visibility = 'visible'				cnt++			}			cnt = 1			while (document.all['fadeout_ad'+cnt]){				document.all['fadeout_ad'+cnt].style.visibility = 'visible'				cnt++			}		}else if(document.getElementById){			cnt = 1			while (document.getElementById('fadeout'+cnt)){				document.getElementById('fadeout'+cnt).style.visibility = 'visible'				cnt++			}			cnt = 1			while (document.getElementById('fadeout_ad'+cnt)){				document.getElementById('fadeout_ad'+cnt).style.visibility = 'visible'				cnt++			}		}	}}/*** show hidden ad elements** @param	boolean		true=make visible*/function ShowAdElements(showme){	if(showme){		if(document.all){			document.all['fadein_ad'].style.visibility = 'visible';			document.all['fadein_ad'].style.height = 'auto';			document.all['fadein_ad'].style.display = 'block';		}else if(document.getElementById){			document.getElementById('fadein_ad').style.visibility = 'visible';			document.getElementById('fadein_ad').style.height = 'auto';			document.getElementById('fadein_ad').style.display = 'block';		}	}else{		if(document.all){			document.all['fadein_ad'].style.visibility = 'hidden';			document.all['fadein_ad'].style.height = '5px';			document.all['fadein_ad'].style.display = 'none';		}else if(document.getElementById){			document.getElementById('fadein_ad').style.visibility = 'hidden';			document.getElementById('fadein_ad').style.height = '5px';			document.getElementById('fadein_ad').style.display = 'none';		}	}}/*** starts the hide timer*/function StartHideNav(){	hide_nav = true	window.setTimeout("HideNav(false)",hide_timer)}/*** opens a popup window without any bars** @param	string		url to load* @param	string		a defined window type* @param	integer		width in px* @param	integer		height in px*/function OpenPopup(url,winType,width,height){	switch(winType){		case 'help':			help_win = _createWindow(url,winType,350,450)			break		case 'ticker':			ticker_win = _createWindow(url,winType,350,450)			break		case 'sendcomment':			comment_win = _createWindow(url,winType,350,450)			break		case 'sendarticle':			article_win = _createWindow(url,winType,390,450)			break		case 'password':			pw_win = _createWindow(url,winType,390,450)			break		case 'printview':			print_win = _createWindow(url,winType,450,500,'toolbar,scrollbar')			break		case 'image':			img_win = _createWindow(url,winType,400,550)			break		case 'finance':			biallo_win = _createWindow(url,winType,600,550,'scrollbar')			break		case 'trailer':			video_win = _createWindow(url,winType,400,400)			break		case '2for1':			card_win = _createWindow(url,winType,490,500,'scroll')			break		default:			new_win = _createWindow(url,'std',width,height)			break	}}/*** sets a bookmark to this page if possible** @param	string		title for favorite*/function BookmarkPage(title){	if(window.external){		window.external.AddFavorite(document.URL,title)	}else{		alert("Diese Funktion wird von Ihrem Browser nicht unterstuetzt.\nBitte druecken Sie STRG+D, um die Seite zu Ihren Lesezeichen hinzuzufuegen.")	}}function ToggleEngine(engine,id){	var form = null;	if(typeof(id)=="undefined") {		form = document.extendedsearch;	} else {		form = document.getElementById(id);	}	switch(engine){		case 'altavista':			form.target 				= '_blank'			form.action 				= 'http://de.altavista.com/web/results'			form.elements[1].name 	= 'q'			break		case 'google_org':			form.target 				= '_blank'			form.action 				= 'http://www.google.de/search'			form.elements[1].name 	= 'q'			break		case 'google':			form.target 				= '_self'			form.action 				= '/google/search_fwd.php'			form.elements[1].name 	= 'q'			break		case 'yahoo':			form.target 				= '_blank'			form.action 				= 'http://de.search.yahoo.com/search/de'			form.elements[1].name 	= 'p'			break		case 'fnp':			form.target 				= '_blank'			form.action 				= '/fnp/leserservice/archiv/archiv.php'			form.elements[0].name 	= '_template';			form.elements[1].name 	= 'fvt';			break		case 'lexikon':			form.target 				= '_self'			form.action 				= '/rheinmainnet_v2/lexi_suche.php'			form.elements[1].name 	= '_suche'			break		default:			form.target 				= '_self'			form.action 				= '/sixcms/detail.php'			form.elements[1].name 	= '_vt'			break	}}/** * Popup Extended Search */var SearchFocusElements = new Array();function SearchGotFocus(Name) {	document.getElementById('ExtSearch').style.display='block';	SearchFocusElements.push(Element.name);}function SearchLostFocus(Name) {	for(var index=0; index < SearchFocusElements.length; index++) {		if(SearchFocusElements[index] == Element.name) {			SearchFocusElements.splice(index,1);		}	}	if(SearchFocusElements.length == 0) {		document.getElementById('ExtSearch').style.display='none';	}}//--------------------------popcalendar_funcs--------------------------------------------------/*** @author	Elmar Obermeier** needs two popcalendar (id=popcalfrom/id=popcaltill)* to set date on two textfields (name=from/name=till)* use style of (rmn/css/)calendar.css*//*** set popclaendar visible/hidden on absolute coordinates** @param	string	name of layer* @param	string	top position relativ* @param	string	left postion relativ*/function ShowCal(name,pos_x,pos_y){	//get position of layer element	if(pos_x == undefined) pos_x = _getLayerX(name)	if(pos_y == undefined) pos_y = _getLayerY(name)	if(pos_x == 'auto') pos_x = Element.cumulativeOffset($(name.substr(6))).left // strip popcal	if(pos_y == 'auto') pos_y = Element.cumulativeOffset($(name.substr(6))).top+25 // strip popcal	//set position of layer element	_setLayerX(name,pos_x)	_setLayerY(name,pos_y)		//close other calendar if open	if(name == 'popcalfrom'){		if(_isLayerVisible('popcaltill')) _hideLayer('popcaltill')	}else if(name == 'popcaltill'){		if(_isLayerVisible('popcalfrom')) _hideLayer('popcalfrom')	}	//toggle layer	if(!_isLayerVisible(name)){		ToggleFormElements(true)		_showLayer(name)	}else if(_isLayerVisible(name)){		ToggleFormElements(false)		_hideLayer(name)	}}/*** set value to formfields from/till** @param	string	startdate* @param	string	from or till field*/function CalcDate(_field,_date){	var now = new Date();	var tomorrow = new Date(now.getTime()+1000*60*60*24);	if(_date == 'today'){		var val = _SetTwoDigit(now);	}else if(_date == 'tomorrow'){		var val = _SetTwoDigit(tomorrow);	}else{		var val = _date;	}	if(_field=='from'){		document.navigator.from.value = val;	}else if(_field=='till'){		document.navigator.till.value = val;	}else{		$(_field).value = val;	}}/*** calculates next weekend (fr2so) on base of lokal timestamp*/function CalcWeekend(){	var now				= new Date();	var stamp 			= now.getTime();	var day_no			= now.getDay();	var offset			= 5-day_no;	var days			= 1000*60*60*24;	var weekend_start	= new Date(stamp+(offset*days));	var weekend_end		= new Date(stamp+((offset+2)*days));	document.navigator.from.value = _SetTwoDigit(weekend_start);	document.navigator.till.value = _SetTwoDigit(weekend_end);}/***	puts timestamp in correct form** @param	object	date object* @return	string	converted datestring*/function _SetTwoDigit(_Date){	var day				= _Date.getDate();	var month			= _Date.getMonth() + 1;	var year			= _Date.getFullYear();	if(day < 10) day = '0' + day;	if(month < 10) month = '0' + month;	return day + '.' + month + '.' + year;}/*** toggle date layer*/function ToggleDateExtend(){	if(document.getElementById){		var toggle_div = document.getElementById('dateextend');		var toggle_button = document.getElementById('dateextend-button');		if(toggle_div.className=='closed'){			toggle_div.className = 'opened';			toggle_button.innerHTML = '&raquo; Weniger Termine anzeigen';		}else{			toggle_div.className = 'closed';			toggle_button.innerHTML = '&raquo; Weitere Termine anzeigen';		}	}	return false;}/** * Die funktion laedt ein Template, und schreibt den Inhalt in den * DIV-Layer, dessen ID im dritten Parameter uebergeben wird. * beispiel: * AjaxInclude('http://www.rhein-main.net/sixcms/detail.php','template=v2_rmn_nav_ajax','leftbox_nav'); */function AjaxInclude(url,par,div) {	var myAjax = new Ajax.Updater(		{success: div},		url,		{			method: 'get',			parameters: par		});}/** * switch display property of weather box */function switcher () {	var toggle_div = document.getElementById('weather');	if (toggle_div.className == "listbox hide") {		toggle_div.className = "listbox show";	}	else {		toggle_div.className = "listbox hide";	}}