imageListAction = false;window.addEvent('domready', function(){	var Tips1 = new Tips($$('.tips'), {		showDelay: 400,		hideDelay: 0,		maxTitleChars: 1000	});	//TAGS MOUSEOVER FADE BILDER	$$('.tag').each(function(tag) {		tag.addEvent('mouseenter', function(){fadeOutAllImagesForTag(tag,true)});		tag.addEvent('mouseleave', function(){fadeOutAllImagesForTag(tag,false)});	});	if (imageListAction) {  	//BILDER MAUSOVER SWITCH MARKERBILD, HIGHLIGHT TAGS		$$('.box_image_list').each(function(box_image_list){			box_image_list.addEvent('mouseenter', function(){				if (showGmaps) 					switchIcon(box_image_list, true);				hightlightAllTagsForImage(box_image_list, true)			});			box_image_list.addEvent('mouseleave', function(){				if (showGmaps) 					switchIcon(box_image_list, false);				hightlightAllTagsForImage(box_image_list, false)			});		});	}		//Dropdown	$$('.dropbutton').each(function(dropbutton) {		var droplink = dropbutton.getParent();		var parentLi = dropbutton.getParent().getParent();  	var droppane = $$('#' + parentLi.id + ' ul');		droppane = droppane[0];		dropbutton.addEvent('click', function(){			droppane.setProperty('enter','1');			if (droppane.hasClass('hidden')){				droppane.setProperty('over','1');				showDropPane(droppane);			}			else {				droppane.removeProperty('over');				hideDropPane(droppane);			}		});				droplink.addEvent('mouseenter', function(){			droppane.setProperty('over','1');			(function(){				showDropPane(droppane);			}).delay(500);		});		droplink.addEvent('mouseleave', function(){			droppane.removeProperty('over');			(function(){				hideDropPane(droppane);			}).delay(500);		});		droppane.addEvent('mouseenter', function(){			droppane.setProperty('over','1');		});		droppane.addEvent('mouseleave', function(){			droppane.removeProperty('over');			(function(){				hideDropPane(droppane);			}).delay(500);		});	});		adaptContainerHeights();});//GMAPS WIRD DYNAMISCH GELADEN VIA AJAX, WENN LADEN FERTIG:function initGmapFuncs(){	//MARKER MAUSOVER FADE BILDER	$$('.labeledMarker').each(function(labeledMarker) {		labeledMarker.addEvent('mouseenter', function(){fadeOutAllImagesForMapPoint(labeledMarker,true)});		labeledMarker.addEvent('mouseleave', function(){fadeOutAllImagesForMapPoint(labeledMarker,false)});	});	var Tips2 = new Tips($$('.labeledMarker'), {		showDelay: 0,		hideDelay: 0	});}function submitSearchInput(event){	if (event != null)		event = new Event(event);	if (event == null || event.key == 'enter') {		window.location.href= searchLink.replace(':searchtext', $('searchinput').getProperty('value')); 	}}function resizemap(){	var mapdiv = $('gmapdiv');	var gmap_expander = $('gmap_expander');	var gmapwrapper = $('gmapwrapper');	if (gmap_expander.hasClass('expanded')){		mapdiv.removeClass('expanded');		gmap_expander.setProperty('class','collapsed');		gmapwrapper.removeClass('expanded');	}	else {		mapdiv.addClass('expanded');		gmap_expander.setProperty('class','expanded');		gmapwrapper.addClass('expanded');	}	map.checkResize();		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); }function adaptContainerHeights(){	var mainLeftSize = $('main_left').getSize()['size']['y'];	var mainRightSize = $('main_right').getSize()['size']['y'];	var contentSize = $('content').getSize()['size']['y'];	$('content').setStyle('min-height', Math.max(mainLeftSize,mainRightSize,contentSize));}function toggleInputText(obj,initialText, passwordfield){	obj.addEvent('focus', function(){		if (obj.getProperty('value') == initialText) {//@since 16.06.2010 remove console.log('asd')		//			console.log('asd');			obj.setProperty('value', '');			obj.removeClass('feather');			if (passwordfield) 				obj.setProperty('type', 'password');		}	});	obj.addEvent('blur', function(){		if (obj.getProperty('value') == '') {			obj.setProperty('value', initialText);			obj.addClass('feather');			if (passwordfield) 				obj.setProperty('type', 'text');		}	});}function showDropPane(droppane){	var parentLi = droppane.getParent();	if (droppane.hasClass('hidden') && droppane.getProperty('over')=='1') {		droppane.setOpacity(0);  	droppane.removeClass('hidden');		/*Breiten anspassen*/		var  parent_size = parentLi.getSize()['size']['x'];		var maxElementWidth = 0;		$$('#' + droppane.id + ' li').each(function(menuElement){			var width = menuElement.getSize()['size']['x'];			if (maxElementWidth < width)				maxElementWidth = width;		});		if (maxElementWidth<parent_size)			maxElementWidth = parent_size;		$$('#' + droppane.id + ' li').each(function(menuElement){			menuElement.setStyle('width', maxElementWidth);		});		/*ENDE BREITEN ANPASSEN*/  	var fx = new Fx.Styles(droppane, {  		duration: 250,  		wait: false  	});  	fx.start({  		'opacity': 1.0  	});	}}function hideDropPane(droppane){	var parentLi = droppane.getParent();	if (!droppane.getProperty('over') == '1') {  	var fx = new Fx.Styles(droppane, {  		duration: 250,  		wait: false  	});  	fx.start({  		'opacity': 0  	}).chain(function(){  		droppane.className = 'droppane hidden';  	});	}}//BASIERT AUF MARKERMANAGER -->Aufrufen in setUpMarkerManager in gmapper aufrufenfunction switchIcon(trigger, over){	var actMarker = trigger.id.charAt(trigger.id.length-1);	if (markerManager[actMarker]){		var marker = markerManager[actMarker];		var overImage = baseURL + '/img/gmaps/marker_red.png';		var normalImage = baseURL + '/img/gmaps/marker.png';		if (over)		 	marker.setImage(overImage);		else 			marker.setImage(normalImage);	}}function hoverSwitchIcon(actMarker, normalImage, overImage, over){	if (markerManager[actMarker]){		var marker = markerManager[actMarker];		if (over)		 	marker.setImage(overImage);		else 			marker.setImage(normalImage);	}}function fadeOutAllImagesForMapPoint(trigger, fadeOut) {	var actMarker = trigger.id.charAt(trigger.id.length-1);	$$('.box_image_list').each(function(imageBox) {  		if (fadeOut){			var boxID = imageBox.id;			if (boxID.charAt(boxID.length-1) != actMarker){				imageBox.className = "box_image_list fadeout";			}			else {				imageBox.className = "box_image_list active";			}		}		else			imageBox.className = "box_image_list";	});  }function hightlightAllTagsForImage(trigger, highlight) {	var tagIDs = trigger.getProperty('rel').split(',');		tagIDs.each(function(tag, index){		var actTag = $('tag_'+tag);		if (highlight) {			actTag.addClass('highlight');			actTag.setProperty('rel', actTag.getStyle('color'));			actTag.setStyle('color','#FFF');		}		else {			actTag.removeClass('highlight');			actTag.setStyle('color', actTag.getProperty('rel'));			actTag.setProperty('rel','');		}	});  }function fadeOutAllImagesForTag(trigger, fadeOut) {	var actTagID = trigger.id.split('_')[1];	$$('.box_image_list').each(function(imageBox) {  		if (fadeOut){			var tagIDs = imageBox.getProperty('rel').split(',');			if (!tagIDs.contains(actTagID)){				imageBox.className = "box_image_list fadeout";			}			else {				imageBox.className = "box_image_list active";			}		}		else			imageBox.className = "box_image_list";	});  }function addSuggestBox(input, requestURL, requestVar, cssClass){		var inputtext = input.value;	$(input).onkeyup = function(event){		event = new Event(event);		if (event.key == 'enter' ) {			setCaretToEnd(event.target);			hideSuggest();		}		if ((event.key == 'down' || event.key != 'up' && event.key) && !$('tag_suggest')) {			suggestKeys		}		if ((event.key != 'down' && event.key != 'up' && event.key != 'enter') ||		 		(event.key == 'down' || event.key != 'up') && !$('tag_suggest')				) 		{			var actVal = document.getElementById(input).value;			inputtext = actVal;			if (actVal == '') 				hideSuggest();			else {				var data = Object();				data[requestVar] = actVal;								new Ajax(requestURL, {					method: 'post',					data: data,					onComplete: function(response){						showSuggest(response, input, cssClass)					}				}).request();			}		}		suggestKeys(event,inputtext);	};	$(input).addEvent('blur', function(e) {		hideSuggest();	});}function hideSuggest(){	if ($('tag_suggest')) {  	var fx = new Fx.Styles($('tag_suggest'), {duration:200, wait:false});		fx.start({			'opacity': 0.0		}).chain(function(){			if ($('tag_suggest')) {	  		$('tag_suggest').remove();			}  	});  }}function showSuggest(response,input,cssClass){	var res = Json.evaluate(response);	if (res.length == 0) {  	hideSuggest();  }  else {  	var actInput = $(input);    	if ($('tag_suggest')) {  		var tag_suggest = $('tag_suggest');  	}  	else {  		var tag_suggest = new Element('div');  		tag_suggest.id = 'tag_suggest';			tag_suggest.addClass(cssClass);  		tag_suggest.injectInside($E('body'));  	}  			//POSITION FESTLEGEN		var position = actInput.getPosition();  	var fieldsize = actInput.getSize().size;  	tag_suggest.style.left = position['x'] + 4 + 'px';  	tag_suggest.style.top = (position['y'] + fieldsize['y']) + 'px';		  	tag_suggest.style.display = 'block';  	tag_suggest.innerHTML = '';  	for (var i = 0; i < res.length; i++) {			var actValue = document.getElementById(input).value;  		var actResult = res[i]['name'];			var actResult_rest = actResult.substring(actValue.length); 			var anchor = new Element('a');			//Gesuchten Text highlighten			var actSearched = new Element('b');			actSearched.setHTML(actValue);			actSearched.injectInside(anchor);			anchor.appendText(actResult_rest);			  		anchor.id = 'suggest_' + i;  		if (i == res.length - 1)   			anchor.addClass('last');  		tag_suggest.appendChild(anchor);  		$('suggest_' + i).addEvent('mouseenter', function(e){				var e = new Event(e);				e.target.addClass('active');  		});  		$('suggest_' + i).addEvent('mouseleave', function(e){  			var e = new Event(e);				e.target.removeClass('active');  		});  		$('suggest_' + i).addEvent('click', function(e){				var e = new Event(e);  			actInput.value = e.target.getText();  		});  	}		//Key-Up / Key Down Events:  	var fx = new Fx.Styles(tag_suggest, {  		duration: 200,  		wait: false  	});  	fx.start({  		'opacity': 1.0  	});  }}function suggestKeys(event, inputtext){	if ($('tag_suggest')) {  	var tag_suggest = $('tag_suggest');		var activeElement = getActiveElement();		if (activeElement == undefined) {			if (event.key == 'down' || event.key == 'up') {		  	var activeElement = tag_suggest.getFirst();		  	activeElement.addClass('active'); 				event.target.value = activeElement.getText();				setSelectionRange(event.target,inputtext.length,event.target.value.length);	  	}		}		else {			if (activeElement.getParent())				var siblings = activeElement.getParent().getChildren();			if (event.key =='down'){				if (activeElement.getNext()){					activeElement.removeClass('active');					activeElement.getNext().addClass('active');					activeElement = activeElement.getNext();				}				else {					if (siblings != undefined && siblings[0]){						activeElement.removeClass('active');						siblings[0].addClass('active');						activeElement = siblings[0];					}				}			}			if (event.key =='up'){				if (activeElement.getPrevious()){					activeElement.removeClass('active');					activeElement.getPrevious().addClass('active');					activeElement = activeElement.getPrevious();				}				else {					if (siblings != undefined && siblings[siblings.length-1]){						activeElement.removeClass('active');						siblings[siblings.length-1].addClass('active');						activeElement = siblings[siblings.length-1];					}				}			}			if (event.key == 'up' || event.key == 'down') {				event.target.value = activeElement.getText();				setSelectionRange(event.target,inputtext.length,event.target.value.length);	  	}		}  }}function getActiveElement(){	var elements = $$('#tag_suggest a');	for (var i=0;i<elements.length;i++){		if (elements[i].hasClass('active'))			return elements[i];	} }function setSelectionRange(input, selectionStart, selectionEnd) {  if (input.setSelectionRange) {    input.focus();    input.setSelectionRange(selectionStart, selectionEnd);  }  else if (input.createTextRange) {    var range = input.createTextRange();    range.collapse(true);    range.moveEnd('character', selectionEnd);    range.moveStart('character', selectionStart);    range.select();  }}function setCaretToEnd (input) {  setSelectionRange(input, input.value.length, input.value.length);}function setCaretToBegin (input) {  setSelectionRange(input, 0, 0);}function setCaretToPos (input, pos) {  setSelectionRange(input, pos, pos);}function selectString (input, string) {  var match = new RegExp(string, "i").exec(input.value);  if (match) {    setSelectionRange (input, match.index, match.index + match[0].length);  }}function getSelectionRange(input){	if (input.setSelectionRange) {  	var selectionStart = input.selectionStart;		var selectionEnd = input.selectionEnd;  }	else {		//var selectionStart = 		var range = document.selection.createRange();		var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;		if (!isCollapsed)			range.collapse(true);		var b = range.getBookmark();		var selectionStart = b.charCodeAt(2) - 2;		range = document.selection.createRange();		var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;		if (!isCollapsed)			range.collapse(false);		var b = range.getBookmark();		var selectionEnd = b.charCodeAt(2) - 2;	}	var res = new Object();	res['start'] = input.selectionStart;	res['end'] = selectionEnd;	return res;}function replaceSelection (input, replaceString) {  if (input.setSelectionRange) {    var selectionStart = input.selectionStart;    var selectionEnd = input.selectionEnd;    input.value = input.value.substring(0, selectionStart)                  + replaceString                  + input.value.substring(selectionEnd);    if (selectionStart != selectionEnd) // has there been a selection      setSelectionRange(input, selectionStart, selectionStart + replaceString.length);    else // set caret      setCaretToPos(input, selectionStart + replaceString.length);  }  else if (document.selection) {    var range = document.selection.createRange();    if (range.parentElement() == input) {      var isCollapsed = range.text == '';      range.text = replaceString;      if (!isCollapsed)  { // there has been a selection        //it appears range.select() should select the newly         //inserted text but that fails with IE        range.moveStart('character', -replaceString.length);        range.select();      }    }  }}function rateImageMove(event){	var event = new Event(event);	try {  	var position = event.client.x - event.target.getPosition()['x'];  	position = Math.round((143 / 5) * Math.round(position / 143 * 5));		if (position==0) 			position = 1*Math.round((143 / 5));   	$('rate_fg').setStyle('width', position);  }   catch (e) {  }}function rateImageClick(event,requestURL,imageAlias){	var event = new Event(event);	var position = event.client.x- event.target.getPosition()['x'];	var rating = Math.round(position/143 *5)	if (rating >5)		rating = 5;	if (rating <1)		rating = 1;			var data = Object();	data['rating'] = rating;	data['image'] = imageAlias;					new Ajax(requestURL, {		method: 'post',		data: data,		onComplete: function(response){			initRateFuncs();		},		update: $('rate_container')	}).request();	}function addComment(imageAlias, text,images_commentsID){	if (images_commentsID)		actImages_commentsID = images_commentsID;	else		actImages_commentsID = '';	var addBtn = $('addcomment');	addBtn.setStyle('display','none');	$('comment_text').setStyle('display','block');	$('savecomment').setStyle('display','block');	$('cancelcomment').setStyle('display','block');	document.getElementById('comment_text').value = text;	setCaretToBegin($('comment_text'));}function saveComment(imageAlias){		var data = Object();		data['comment'] = document.getElementById('comment_text').value;	data['image'] = imageAlias;	if (actImages_commentsID != '')		data['images_commentsID'] = actImages_commentsID;					new Ajax(ajaxCommentURL, {		method: 'post',		data: data,		onComplete: function(response){			cancelComment();		},		update: $('commentlist')	}).request();}function deleteComment(images_commentID){		var data = Object();	data['images_commentsID'] = images_commentID;	data['delete'] = 1;					new Ajax(ajaxCommentURL, {		method: 'post',		data: data,		update: $('commentlist')	}).request();	}function changeComment(imageAlias,images_commentsID){	addComment(imageAlias,$('commentbody_'+images_commentsID).getText(),images_commentsID);	window.location.href="#comment_text";}function cancelComment(){	document.getElementById('comment_text').value = '';	$('addcomment').setStyle('display','block');	$('comment_text').setStyle('display','none');	$('savecomment').setStyle('display','none');	$('cancelcomment').setStyle('display','none');	actImages_commentsID = '';}function addTag(){	var addBtn = $('addtag');	addBtn.setStyle('display','none');	$('tag_text').setStyle('display','block');	$('savetag').setStyle('display','block');	$('canceltag').setStyle('display','block');	setCaretToBegin($('tag_text'));}function saveTag(imageAlias){	var data = Object();	data['tag'] = document.getElementById('tag_text').value;	data['image'] = imageAlias;	if (document.getElementById('tag_text').value != '') {		new Ajax(ajaxTagURL, {			method: 'post',			data: data,			onComplete: function(response){				cancelTag();			},			update: $('taglist')		}).request();	}}function cancelTag(){	document.getElementById('tag_text').value = '';	$('addtag').setStyle('display','block');	$('tag_text').setStyle('display','none');	$('savetag').setStyle('display','none');	$('canceltag').setStyle('display','none');}function deleteTag(imageAlias, images_tag_id){		var data = Object();		data['image'] = imageAlias;	data['tagID'] = images_tag_id;	data['delete'] = 1;	var fx = new Fx.Styles($('dtag_'+images_tag_id), {duration: 300,wait: false});	fx.options.transition = Fx.Transitions.Quad.easeOut;  fx.start({  	'opacity': 0  }).chain(function(){  	new Ajax(ajaxTagURL, {			method: 'post',			data: data,			update: $('taglist')		}).request();	  });}function isEmail(field) {	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");	return (!r1.test(field) && r2.test(field));}