﻿/* Works with mootools-release-1.1 */

/*
 * 
 */

var refExtendedSearch;
var refMainCategorySelector=null;

var mouseX;
var mouseY;


// Test Fallback to hadcoded vars
if(szSearchGlobalDefaultSearchphrase==undefined)
{
	var szSearchGlobalDefaultSearchphrase="Veranstaltung, Künstler, Ort";
}

if(szSearchGlobalURLPrefix==undefined)
{
	var szSearchGlobalURLPrefix= "/tickets";
}
	
function in_array(item,arr) 
{
	for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
	return false;
}

function init_searchform(bAjaxCalled)
{	
	init_submitbuttons();
	init_extslide(bAjaxCalled);
	init_search_calendar_sheet();
	init_resetsearch();

	init_category_list();
	autocheckSearchCategories();
	
	
	init_searchtabs();
	init_autocompleter();
	init_search_postinit();
	
	$(document.body).addEvent('mousemove',function(event){
		mouseX = event.page.x;
		mouseY = event.page.y;
	});	
}


/*
 * StadtPlan Kopie
 */
var EventPlan = function(opt) {
	if (!opt)
		return;
	var _that = this;
	
	this.check = function(MainListElement, UL) {
		var activeLength = UL.getElements('li.active')[0].length, Length = UL.getElements('li')[0].length;
		if (activeLength != Length) 
		{
			this.disableHalf(MainListElement);
		} 
		else 
		{
			this.enableHalf(MainListElement);
		}
		if (activeLength > 0) {
			MainListElement.getElement('input').setProperty('checked', 1);
		} 
		else 
		{
			MainListElement.getElement('input').removeProperty('checked');
		}
		if (activeLength == 0) 
		{
			MainListElement.getElement('input').removeProperty('disabled');
		}
	};
	var ActiveCache = {};
	
	this.activate = function(id, AlreadyActive, MainListElement) {
		var UL = opt.flyout.getElements('ul.' + id),
				Ch = MainListElement.getElement('input'),
				canOverwrite = false,
				canOverwriteAll = false;
		
		if (!ActiveCache[id]) {
			ActiveCache[id] = true;
			canOverwriteAll = false;
		}
		
		if (!AlreadyActive) 
		{
			if (Ch.getProperty('checked'))
				canOverwrite = false;
			opt.container.getElements('.event_main_list li.active').each( function(el) {
				if (el) el.removeClass('active');
			});
			this.enable(MainListElement.addClass('active'));
			opt.flyout.getElements('ul').setStyle('display', 'none');
			opt.flyout.getElements('ul.' + id + " li").each(
					function(el) {
						if (canOverwrite)
							el.addClass('active');
						else if (canOverwriteAll)
							el.removeClass('active');
						el.removeEvents('click').addEvent(
								'click',
								function() {
									if (el.hasClass('active')) {
										el.removeClass('active');
										var img = el.getElement('img');
										if( img ) {
											img.setProperty('src', img.getProperty(
													'src').replace(/_aktiv/,
													'_inaktiv'));
										}
										el.getElement('input').removeProperty('checked');
									} 
									else 
									{
										el.addClass('active');
										var img = el.getElement('img');
										if( img ) {
											img.setProperty('src', img.getProperty(
													'src').replace(/_inaktiv/,
													'_aktiv'));
										}
										el.getElement('input').setProperty('checked', 1);
									}
									_that.check(MainListElement, UL);
								});
					});
			if (canOverwrite)
				opt.flyout.getElements('ul.' + id + " input").each(
						function(el) {
							el.setProperty('checked', 1);
						});
			else if (canOverwriteAll)
				opt.flyout.getElements('ul.' + id + " input").each(
						function(el) {
							el.removeProperty('checked');
						});
			UL.setStyle('display', 'block');
		}
		else 
		{
			if (Ch.getProperty('checked')) 
			{
				opt.flyout.getElements('ul.' + id + " li").each(
						function(el) {
							el.removeClass('active');
							var img = el.getElement('img');
							if( img ) {
								img.setProperty('src', img.getProperty('src').replace(/_aktiv/, '_inaktiv'));
							}
						});
				opt.flyout.getElements('ul.' + id + " input").each(
						function(el) {
							el.removeProperty('checked');
						});
			} 
			else 
			{
				opt.flyout.getElements('ul.' + id + " li").each(
						function(el) {
							el.addClass('active');
							var img = el.getElement('img');
							if( img ) {
								img.setProperty('src', img.getProperty('src').replace(/_inaktiv/, '_aktiv'));
							}
						});
				opt.flyout.getElements('ul.' + id + " input").each(
						function(el) {
							el.setProperty('checked', 1);
						});
			}
		}
		_that.check(MainListElement, UL);
	};
	this.enable = function(Element) {
		Element.getElement("input").setProperty('checked', 1).removeProperty('readonly');
	};
	this.disableHalf = function(Element) {
		Element.getElement("input").setProperty('disabled', 1);
	};
	this.enableHalf = function(Element) {
		Element.getElement("input").removeProperty('disabled');
	};
	
	
	var t = opt.container.getElements('.event_main_list li');
	
	t.each( function(EL) {
		//EL.getElement('input').setProperty('disabled',1);
		EL.getElement('input').removeProperty('checked');
		EL.getElement('input').removeProperty('disabled');
			function fn() {
				var Klass = EL.getProperty('class'), AlreadyActive = false;
				if (Klass.indexOf('active') !== -1) {
					Klass = Klass.replace('active', '').trim();
					AlreadyActive = true;
				}
				_that.activate(Klass, AlreadyActive, EL);
			}
			EL.getElement('input').addEvent('click', fn);
			EL.addEvent('click', fn);
	});
	t[0].fireEvent('click');
};

function init_category_list()
{
	if($('event_main_list_container'))
	{
		new EventPlan( {
			container: $('event_main_list_container'),
			flyout: $('flyout')
		} );
	}
}

function query_checked_search_categories()
{
	var arrCheckedItems=new Array();
	var szReturn="";
	$$('.extsrchcatcbox').each(function(el)	{
		if(el.getProperty('checked')==1)
		{
			arrCheckedItems.push(el.getProperty('catid'));
		}
	});
	
	if(arrCheckedItems.length>0)
	{
		szReturn=arrCheckedItems.join(',');
	}
	return(szReturn);
}

function autocheckSearchCategories()
{
	var arrCheckedItems=new Array();
	
	if($('ticketSearchGenre'))
	{
		if($('ticketSearchGenre').value!=0)
		{
			arrCheckedItems=$('ticketSearchGenre').value.split(',');
			$$('.extsrchcatcbox').each(function(el)	{
				if(in_array(el.getProperty('catid'),arrCheckedItems)==true)
				{
					
					el.setProperty('checked',true);
					if(el.hasClass('isRootCat'))
					{
						el.setProperty('disabled', 1);
						//el.getParent('li').removeEvents('click');
					}
				}
			});			
		}
	}
}

function uncheckSearchCategories()
{
	$$('.extsrchcatcbox').each(function(el)	{
		el.setProperty('checked',false);
		if(el.hasClass('isRootCat'))
		{
			el.setProperty('disabled', false);
		}
	});			
}

window.addEvent('domready', function()
{
	init_searchform(false);
	ajxLoadAutoSearchforms();

});

function ajxLoadAutoSearchforms()
{
	if($('searchformcontainer'))
	{
		if($('searchformcontainer').hasClass('autoloadsearch'))
		{	
			var szAjaxURL="";
			if(szSearchGlobalURLPrefix!=undefined)
			{
				if(szSearchGlobalURLPrefix.length>0)
				{
					szAjaxURL+=szSearchGlobalURLPrefix;
				}
			}
			szAjaxURL+= '/ajax_request.php?action=render_searchform';
			var refTicketlayerRequest = new Ajax(szAjaxURL, {
				update: $('searchformcontainer'),
				method: 'get',
				onComplete: function()
				{
					ajxUnhideSearchform();
				},
				onCancel: function() {
				}
			}).request();
		}
	}
}

function ajxUnhideSearchform()
{
	if($('searchformcontainer'))
	{
		if($('searchformcontainer').hasClass('autoloadsearch'))
		{	
			//$('searchformcontainer').show();
			init_searchform(true);
		}
	}
}

function init_searchtabs()
{
	// first find out which one to activate
	var dtNow=new Date();
	var dtToday=new Date(dtNow.getFullYear(),dtNow.getMonth(),dtNow.getDate());
	var dtNextSunday=getNextWeekday(7);
	var dtMonthEnd=getLastDayOfMonth();
	
	var szToday=getDateString(dtToday);
	var szNextSunday=getDateString(dtNextSunday);
	var szMonthEnd=getDateString(dtMonthEnd);
	
	// Activate Tab
	if(($('ticketSearchFrom')) && ($('ticketSearchTo')))
	{
		var arrSearchFrom=$('ticketSearchFrom').value.split('.');
		var arrSearchTo=$('ticketSearchTo').value.split('.');
		var dtSearchFrom=new Date(arrSearchFrom[2],arrSearchFrom[1]-1,arrSearchFrom[0]);
		var dtSearchTo=new Date(arrSearchTo[2],arrSearchTo[1]-1,arrSearchTo[0]);

				
		// Today Tab
		if((dtSearchFrom.toString()==dtToday.toString()) && (dtSearchTo.toString()==dtToday.toString()))
		{
			if($('tab_searchtab_search'))
			{
				$('tab_searchtab_search').removeClass('current');
			}
			if($('tab_searchtab_today'))
			{
				$('tab_searchtab_today').addClass('current');
			}			
		}
		
		// Week Tab
		if((dtSearchFrom.toString()==dtToday.toString()) && (dtSearchTo.toString()==dtNextSunday.toString()))
		{
			if($('tab_searchtab_search'))
			{
				$('tab_searchtab_search').removeClass('current');
			}
			if($('tab_searchtab_week'))
			{
				$('tab_searchtab_week').addClass('current');
			}
		}		
		
		// Month Tab
		if((dtSearchFrom.toString()==dtToday.toString()) && (dtSearchTo.toString()==dtMonthEnd.toString()))
		{
			if($('tab_searchtab_search'))
			{
				$('tab_searchtab_search').removeClass('current');
			}
			if($('tab_searchtab_month'))
			{
				$('tab_searchtab_month').addClass('current');
			}
		}				
	}
	
	if($('tab_searchtab_search'))
	{
		$('tab_searchtab_search').addEvent('click',function(){
			if(($('ticketSearchFrom')) && ($('ticketSearchTo')))
			{
				//$('ticketSearchFrom').value=szToday;
				//$('ticketSearchTo').value=szToday;
				
				setDatefieldValue('ticketSearchFrom',szToday);
				setDatefieldValue('ticketSearchTo',szToday);
				$('tab_searchtab_search').addClass('current');				
				$('tab_searchtab_today').removeClass('current');
				$('tab_searchtab_week').removeClass('current');
				$('tab_searchtab_month').removeClass('current');
				
				
				reset_extended_searchfields();
				if(refExtendedSearch.open==true)
				{
					refExtendedSearch.slideOut();
				}				
				//searchbutton_click();
			}
		});
	}	

	if($('searchtab_today'))
	{
		$('searchtab_today').addEvent('click',function(){
			if(($('ticketSearchFrom')) && ($('ticketSearchTo')))
			{
				//$('ticketSearchFrom').value=szToday;
				//$('ticketSearchTo').value=szToday;
				
				setDatefieldValue('ticketSearchFrom',szToday);
				setDatefieldValue('ticketSearchTo',szToday);
				$('tab_searchtab_today').addClass('current');				
				$('tab_searchtab_search').removeClass('current');
				$('tab_searchtab_week').removeClass('current');
				$('tab_searchtab_month').removeClass('current');
				
				if(refExtendedSearch.open==false)
				{
					refExtendedSearch.slideIn();
				}				
				
				
				//searchbutton_click();
			}
		});
	}
	
	if($('searchtab_week'))
	{
		$('searchtab_week').addEvent('click',function(){
			if(($('ticketSearchFrom')) && ($('ticketSearchTo')))
			{
				//$('ticketSearchFrom').value=szToday;
				//$('ticketSearchTo').value=szNextSunday;
				
				setDatefieldValue('ticketSearchFrom',szToday);
				setDatefieldValue('ticketSearchTo',szNextSunday);
				
				$('tab_searchtab_week').addClass('current');				
				$('tab_searchtab_search').removeClass('current');
				$('tab_searchtab_today').removeClass('current');
				$('tab_searchtab_month').removeClass('current');
				
				if(refExtendedSearch.open==false)
				{
					refExtendedSearch.slideIn();
				}				
				
				//searchbutton_click();
			}
		});
	}	
	
	if($('searchtab_month'))
	{
		$('searchtab_month').addEvent('click',function(){
			if(($('ticketSearchFrom')) && ($('ticketSearchTo')))
			{
				//$('ticketSearchFrom').value=szToday;
				//$('ticketSearchTo').value=szMonthEnd;

				setDatefieldValue('ticketSearchFrom',szToday);
				setDatefieldValue('ticketSearchTo',szMonthEnd);
				
				$('tab_searchtab_month').addClass('current');				
				$('tab_searchtab_search').removeClass('current');
				$('tab_searchtab_today').removeClass('current');
				$('tab_searchtab_week').removeClass('current');
				
				if(refExtendedSearch.open==false)
				{
					refExtendedSearch.slideIn();
				}				
				
				//searchbutton_click();
			}
		});
	}		
	
}

/**
 * Date Functions
 */
function getNextWeekday(target_week_day)
{
	var date = new Date();
	var day = date.getDate();
	var month = date.getMonth();
	var year = date.getFullYear();
	var week_day = date.getDay();

	if(week_day < target_week_day)
	{
		days_left = target_week_day - week_day;
	}
	else
	{
		days_left = 7 - (week_day - target_week_day);
	}

	var next_week_day = new Date(year, month, day + days_left);
	
	return(next_week_day);
}

function getLastDayOfMonth()
{
	var date = new Date();
	var day = date.getDate();
	var month = date.getMonth();
	var year = date.getFullYear();
	var week_day = date.getDay();
	
	refReturnDate=new Date(year,month+1,1);
	refReturnDate=new Date(refReturnDate-1);
	refReturnDate=new Date(refReturnDate.getFullYear(),refReturnDate.getMonth(),refReturnDate.getDate());
	
	return(refReturnDate);
}

function getDateString(szIndate)
{
	var refDate= new Date(szIndate);
	var szReturn="";
	
	szReturn=refDate.getDate()+'.'+(refDate.getMonth()+1)+'.'+refDate.getFullYear();
	
	return(szReturn);
}

function init_autocompleter()
{
	if($E('#event_searchform #ticketsuche'))
	{
		var searchInput = $E('#event_searchform #ticketsuche');
	
		var szAjaxURL="";
		if(szSearchGlobalURLPrefix!=undefined)
		{
			if(szSearchGlobalURLPrefix.length>0)
			{
				szAjaxURL+=szSearchGlobalURLPrefix;
			}
		}
		szAjaxURL+= '/ajax_request.php?action=get_autocomplete_list';
	
		var completer = new Autocompleter.Ajax.Xhtml('ticketsuche', szAjaxURL, {
			'postVar': 'search',
			'autoSubmit': 'true',
			'minLength': 3,
			'useSelection': true,
			'markQuery': true,
			'className': 'ticketsuche autocompleter-choices'
			//'className': 'autocompleter-choices',
		});
	}
}

function init_resetsearch()
{
// Reset_search_form
	if($E('#event_searchform #reset_search'))
	{
	$E('#event_searchform #reset_search').addEvent('click', function(e){
			e = new Event(e);
			reset_searchfields();
			reset_extended_searchfields();
			uncheckSearchCategories();
			//refExtendedSearch.hide();
			e.stop();
		});
	}
}

function init_extslide(bAjaxCalled)
{
	if($E('#event_searchform #ticketsuche_expand'))
	{
		refExtendedSearch = new Fx.Slide($E('#event_searchform #ticketsuche_expand'));

		$E('#event_searchform #toggle_search').addEvent('click', function(e){
			e = new Event(e);

			refExtendedSearch.toggle();
			setExtslideStyles();
			e.stop();
		});

		if(($E('#event_searchform #ticketsuche_expand').getStyle('visibility')=='hidden') || ($E('#event_searchform #ticketsuche_expand').getStyle('visibility')=='collapse')|| ($E('#event_searchform #ticketsuche_expand').getStyle('display')=='none'))
		{
			refExtendedSearch.hide();
			$E('#event_searchform #ticketsuche_expand').setStyle('display','block');
		}
	
		// Now autoexpand if allowed
		if($E('#event_searchform #ticketsuche_expand').hasClass('autoexpand'))
		{
			if(bAjaxCalled!=true)
			{
				refExtendedSearch.toggle();
				setExtslideStyles();
			}
		}
	}
}

function setExtslideStyles()
{
	if(refExtendedSearch.open==true)
	{
		$E('#event_searchform #toggle_search').title="Die erweiterten Suchoptionen ausklappen";
		$E('#event_searchform #toggle_search').removeClass('collapse').addClass('expand');
	}
	else
	{
		$E('#event_searchform #toggle_search').title="Die erweiterten Suchoptionen einklappen";
		$E('#event_searchform #toggle_search').removeClass('expand').addClass('collapse');
	}	
}

function init_search_postinit()
{
	if($E('#event_searchform #ticketsuche'))
	{
		$E('#event_searchform #ticketsuche').addEvent('keypress', function(event){
			searchfield_event(event);
			//e.stop();
		});
		$E('#event_searchform #ticketsuche').addEvent('blur', function(event){
			searchfield_blur();
			event.stop();
		});
		$E('#event_searchform #ticketsuche').addEvent('focus', function(event){
			searchfield_focus(true);
			event.stop();
		});
		
		searchfield_focus(false);
	}
}

function init_submitbuttons()
{
	if($E('#event_searchform #ticketsuche'))
	{
		var btn_submit=$E('#event_searchform #btn_submit');
		if(!btn_submit)
		{
			btn_submit = new Element('input', {'class': 'btn red bg-yellow m_o02','name' : 'btn_submit','id' : 'btn_submit','type': 'button','value':'Suchen','events': {'click': function(){searchbutton_click();}}}).inject('ticketsuche','after');
		}	
	}
	if($E('#event_searchform #btn_submit_ext_fs'))
	{
		var btn_submit_ext=$E('#event_searchform #btn_submit_ext');
		if(!btn_submit_ext)
		{
			btn_submit_ext = new Element('input', {'class': 'btn red ','style': 'margin-left:275px;','name' : 'btn_submit_ext','id' : 'btn_submit_ext','type': 'button','value':'Suche starten','events': {'click': function(){searchbutton_click();}}}).inject('btn_submit_ext_fs');
		}
	}
}

function init_search_calendar_sheet()
{
	if(refExtendedSearch)
	{
		// erweiterte Suche bei Click auf Kalenderblatt ausklappen
		$E('#event_searchform #ticketsuche_calendar_sheet').setStyle('cursor','pointer');
		$E('#event_searchform #ticketsuche_calendar_sheet').addEvent('click', function(e){
			e = new Event(e);
 
			$E('#event_searchform #toggle_search').removeClass('expand').addClass('collapse');
			if(refExtendedSearch.open==false)
			{
				refExtendedSearch.slideIn();
			}
			var refDate=new Date();
			var szToday=((refDate.getDate().toString().length<2)?"0"+refDate.getDate().toString():refDate.getDate().toString())+'.'+(((refDate.getMonth()+1).toString().length<2)?"0"+(refDate.getMonth()+1).toString():(refDate.getMonth()+1).toString())+'.'+refDate.getFullYear();
			setDatefieldValue('ticketSearchFrom',szToday);
			setDatefieldValue('ticketSearchTo',szToday);
			e.stop();
		});
	}
}

/**
 * Returns the injected FieldofDatepicker for a Form field (quite weak)
 * @param szSourceFieldName
 * @returns
 */
function getDatepickerField(szSourceFieldName)
{
	refReturnObj=null;
	refReturnCandidate=null;
	if($E('#event_searchform #'+szSourceFieldName))
	{
		refReturnCandidate=$E('#event_searchform #'+szSourceFieldName).getNext();
		if(refReturnCandidate!=null)
		{
			if($(refReturnCandidate).hasClass('date'))
			{
				//alert($(refReturnCandidate).get('name'));
				if($(refReturnCandidate).get('name')==null)
				{
					refReturnObj=refReturnCandidate;
				}
			}
		}
	}
	return(refReturnObj);
}

function setDatefieldValue(szSourceFieldName,szValue)
{	
	var refFormField=null;
	var refPickerField=null;
	
	if($E('#event_searchform #'+szSourceFieldName))
	{
		refFormField=$E('#event_searchform #'+szSourceFieldName);
		refPickerField=getDatepickerField(szSourceFieldName);
		
		if($(refFormField))
		{
			$(refFormField).value=szValue;
		}
		
		if($(refPickerField))
		{
			$(refPickerField).value=szValue;
		}		
	}
}

function reset_searchfields()
{
	$E('#event_searchform #ticketsuche').value='';
}

function reset_extended_searchfields()
{
	setDatefieldValue('ticketSearchFrom','');
	//$('ticketSearchFrom').value='';
	//var refNext=$('ticketSearchFrom').getNext();
	//var refSearchFrom=getDatepickerField('ticketSearchFrom');
	//$(refSearchFrom).value='';
	
	setDatefieldValue('ticketSearchTo','');
	//$('ticketSearchTo').value='';
	//var refSearchTo=getDatepickerField('ticketSearchTo');
	//$(refSearchTo).value='';
	
	$E('#event_searchform #ticketSearchGenre').value='0';
}

function searchfield_focus(bWipeOnMatch)
{
	if($E('#event_searchform #ticketsuche').value == szSearchGlobalDefaultSearchphrase)
	{
		if(bWipeOnMatch)
		{
			$E('#event_searchform #ticketsuche').setStyle('color','#000');
			$E('#event_searchform #ticketsuche').value ='';
		}
	}
	else
	{
		$E('#event_searchform #ticketsuche').setStyle('color','#000');
	}
}

function searchfield_blur()
{
	if($E('#event_searchform #ticketsuche').value.length==0)
	{
		$E('#event_searchform #ticketsuche').setStyle('color','#8B8B8B');
		$E('#event_searchform #ticketsuche').value=szSearchGlobalDefaultSearchphrase;
	}
}

function searchform_submit()
{
	if($E('#event_searchform #ticketsuche').value == szSearchGlobalDefaultSearchphrase)
	{
		$E('#event_searchform #ticketsuche').value ='';
	}
	return(true);
}

function searchfield_event(e)
{
	var characterCode;
	//alert("here");

	if (!e) var e = window.event;
	if(e && e.which)
	{ //if which property of event object is supported (NN4)
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else
	{
		characterCode = e.code //character code is contained in IE's keyCode property
	}

	if(characterCode == 13)
	{ //if generated character code is equal to ascii 13 (if enter key)		
		e.cancelBubble = true;
		searchbutton_click();
		e.stop();

		return false;
	}
	else
	{
		return true;
	}
}

function searchbutton_click()
{
	var szParameterstring='';
	if(szSearchGlobalURLPrefix.length>0)
	{
		var szLocationString=szSearchGlobalURLPrefix+'/ticketsuche.html'; /* here we should use GLOBAL_URL_PREFIX here on a relative path*/
	}
	else
	{
		var szLocationString='/ticketsuche.html';
	}
	
	if($E('#event_searchform #ticketsuche').value.length >0)
	{
		if($E('#event_searchform #ticketsuche').value == szSearchGlobalDefaultSearchphrase)
		{
			$E('#event_searchform #ticketsuche').value ='';
		}
		else
		{
			// DEVNOTE 2010-01-08
			// escape removed
			//szParameterstring+='ticketsuche='+escape($('ticketsuche').value);
			szParameterstring+='ticketsuche='+$E('#event_searchform #ticketsuche').value;
		}
	}

	if($E('#event_searchform #ticketSearchFrom').value.length >0)
	{
		if(szParameterstring.length >0)
		{
			szParameterstring+='&';
		}
		szParameterstring+='ticketSearchFrom='+$E('#event_searchform #ticketSearchFrom').value;
	}

	if($E('#event_searchform #ticketSearchTo').value.length >0)
	{
		if(szParameterstring.length >0)
		{
			szParameterstring+='&';
		}
		szParameterstring+='ticketSearchTo='+$E('#event_searchform #ticketSearchTo').value;
	}
	
	$E('#event_searchform #ticketSearchGenre').value='';
	var szCheckedCategories=query_checked_search_categories();
	
	if(szCheckedCategories.length>0)
	{
		$E('#event_searchform #ticketSearchGenre').value=szCheckedCategories;
	}

	if($E('#event_searchform #ticketSearchGenre').value.length >0)
	{
		if($E('#event_searchform #ticketSearchGenre').value != "0")
		{
			
			if(szParameterstring.length >0)
			{
				szParameterstring+='&';
			}
			szParameterstring+='ticketSearchGenre='+$E('#event_searchform #ticketSearchGenre').value;
		}
	}

	if(szParameterstring.length!=0) // No parameters given until here -> we dont need a ordering
	{
		if($E('#event_searchform #orderby').value.length >0)
		{
			if($E('#event_searchform #orderby').value!='hit_relevance')
			{
				if(szParameterstring.length >0)
				{
					szParameterstring+='&';
				}
				szParameterstring+='orderby='+$E('#event_searchform #orderby').value;
			}
		}
	}

	if(szParameterstring.length!=0) // No parameters given until here -> we dotn need a resultlist
	{
		if($E('#event_searchform #resultlist').value.length >0)
		{
			if($E('#event_searchform #resultlist').value!='bookable')
			{
				if(szParameterstring.length >0)
				{
					szParameterstring+='&';
				}
				szParameterstring+='resultlist='+$E('#event_searchform #resultlist').value;
			}
		}
	}
	
	if(szParameterstring.length==0) // No parameters given
	{
		szParameterstring+='ticketSearchFrom='+'today';
		szParameterstring+='&orderby='+'event_startdate';
	}

	if(szParameterstring.length>0)
	{
		szLocationString+='?'+szParameterstring;
	}

	window.location = szLocationString;
}


function raiseMaintenanceBox()
{
	var refNewElement;
	var szInnerHtml="";
	
	
	destroyMaintenanceBox();
	refNewElement=new Element('div', {id: 'ticketMaintenancePopup'});
	
	if(refNewElement)
	{
		refNewElement.setStyle('display', 'block');
		refNewElement.setStyle('z-index', '10000');
		refNewElement.setStyle('position', 'absolute');
		refNewElement.setStyle('top', mouseY);
		refNewElement.setStyle('left', '75px');
		
		
		szInnerHtml+='<div class="subcolumns alertbox" style="font-size:120.01%">';
		szInnerHtml+='<h5 style="padding:5px;">Laufende Wartungsarbeiten</h5>';
		szInnerHtml+='<div class="c100">';
		szInnerHtml+='<div class="subc">';
		szInnerHtml+='<p class="" style="text-align:left">Derzeit sind aufgrund von Wartungsarbeiten keine Ticketbuchungen m&ouml;glich.</p>';
		szInnerHtml+='<p class="" style="text-align:left">Bitte besuchen Sie uns ab 08:00 wieder. Vielen Dank für Ihr Verst&auml;ndnis.</p>';
		szInnerHtml+='</div>';
		szInnerHtml+='</div>';
		szInnerHtml+='</div>';
		
		refNewElement.set('html',szInnerHtml);
		
		refNewElement.inject($('footer'), 'top');
		setTimeout('destroyMaintenanceBox()', 3000);

	}

}

function destroyMaintenanceBox()
{
	if($("ticketMaintenancePopup"))
	{
		$("ticketMaintenancePopup").destroy();
	}

}

