
			window.addEvent("domready", function(){
				
				var el = $("startsearchfield");
				if (el) {
					var form = el;
					for (var i=0;i< 20;i++) {
						form = form.getParent();
						if (form.nodeName=="FORM") break;
					}
					var ajaxurl = "index.php?eID=suggestions";
					var indicator = new Element("div", {"class": "autocompleter-loading", "styles": {"display": "none"}}).setHTML("").injectAfter(el);
					var completer = new Autocompleter.Ajax.Xhtml(el, ajaxurl , {
						"postData": {},
						"minLength": 3,
						"markQuery": 1,
						"dropDownWidth": 160,
						"delay": 200,
						"zIndex": 999999,
						"onRequest": function(el) {
							el.addClass("autocompleter-loading2");
						},
						"onComplete": function(el) {
							el.removeClass("autocompleter-loading2");
						},
						"parseChoices": function(el) {
							var value = el.getFirst().innerHTML;
							el.inputValue = value;
							this.addChoiceEvents(el).getFirst().setHTML(this.markQueryValue(value));
						}
					});

				}
			});/*
 * Returns the default calendar width.
 */
function getDefaultCalendarWidth() {
	return 550;
}

/*
 * Returns the default calendar height.
 */
function getDefaultCalendarHeight() {
	return 280;
}

/*
 * Spawns a calendar window that interacts with a single
 * input field containing a complete date.
 * myField: The input field
 * months: Number of months to display (starting with the current month)
 * pattern: The date pattern used in the input field. See parseDate for allowed patterns.
 * width: width of the popup window (optional; defaults to 310)
 * height: height of the popup window (optional; defaults to 400)
 * validateCalendar: (optional) Indicates whether to modify an additional
 *                   date field after changes in the calendar
 * otherField: (optional) only sensible when validateCalendar is true
 */
function spawnInputFieldCalendar(myField, months, pattern, width, height, validateCalendar, otherField) {	
	originalArgs = new Array();
	for(var i=0; i<arguments.length; i++){
		originalArgs[i] = arguments[i];
	}

	var fields = new Array();
	
	if (otherField != null) {
		fields = new Array(myField.name , otherField.name);
	} else {
		fields = new Array(myField.name);
	}
	
	var ds = myField.value;
	
	var start = parseDate(pattern, myField.value);
	if(otherField){
		var end = parseDate(pattern, otherField.value);
	}else{
		var end = parseDate(pattern, myField.value);
	}
	var w = width;
	var h = height;
	var numberOfMonths = 14;
	if (months == 12){months = 14}
	if (months != null) numberOfMonths = months;
	if (isNaN(w) || w == null) w = getDefaultCalendarWidth();
	if (isNaN(h) || h == null) h = getDefaultCalendarHeight();
	if (validateCalendar) {
		generateCal(self, 0, myField.form.name, fields, start, start, numberOfMonths, validateCalendar, -1, pattern, false, true, end, end);
	} else {
		generateCal(self, 0, myField.form.name, fields, start, start, numberOfMonths, validateCalendar, -1, pattern, false, true, end, end);
	}
}



/*
 * Change the selected month in the calendar window.
 * See generateCal for the params.
 */
function calendarChooseMonth(window, mode, formname, formelements, originalChosenTime, chosenTime, numberOfMonths, validateCalendar, selectedArea, pattern, submit, chosenTime2, originalChosenTime2) {
	parts = formelements.split(",");
	formelements = new Array();
	for(var i=0; i<parts.length; i++){
		formelements[i] = parts[i];
	}
	
	var chosen = new Date();
	var chosen2 = new Date();
	var originalChosen = new Date();
	var originalChosen2 = new Date();
	originalChosen.setTime(originalChosenTime);
	originalChosen2.setTime(originalChosenTime2);
	chosen.setTime(chosenTime);
	chosen2.setTime(chosenTime2);		
	
	// Gradebiegen des vor dem montaswechsel ausgesuchten Tages
	if(chosen2.getMonth() == myArrivalMonth){
		// kein neuer Monat
		originalChosen2 = new Date(myArrivalYear, myArrivalMonth, myArrivalDay);	
	}
	
	if(chosen.getMonth() == myDepartureMonth){
		// kein neuer Monat
		originalChosen = new Date(myDepartureYear, myDepartureMonth, myDepartureDay);	
	}

	generateCal(window, mode, formname, formelements, originalChosen, chosen, numberOfMonths, validateCalendar, selectedArea, pattern, submit, false, chosen2, originalChosen2);
}

/*
 * Returns a String representing the given date using the given pattern.
 * See source for allowed patterns.
 * day: Day
 * month: Month
 * year: Year
 * pattern: The date pattern, e.g. "dd.MM.yyyy"
 */
function formatDate(day, month, year, pattern) {
	var dayString = day < 10 ? '0' + day : day;
	var monthString = (month+1) < 10 ? '0' + (month+1) : (month+1);
	
	if (pattern == 'dd.MM.yyyy') {
	    return dayString + "." + monthString + "." + year;
   	} else if (pattern == 'dd/MM/yyyy') {
    	return dayString + "/" + monthString + "/" + year;
   	} else if (pattern == 'MM/dd/yyyy') {
    	return monthString + "/" + dayString + "/" + year;
   	}
   	return "";
}

/*
 * Sets the given date into the given input field after
 * formatting it using the given pattern.
 * See formatData for allowed patterns.
 */
function setDateToFreeTextField(formname, fieldName, day, month, year, pattern) {
	if(fieldName != "undefined"){
		var field = document.forms[formname].elements[fieldName];
		
		// Safari findet das Feld nicht
		if(typeof(field) == "undefined"){
			allFields = document.forms[formname].getElementsByTagName("input");			
			for(var i=0; i<allFields.length; i++){				
				if(allFields[i].name == fieldName){
					field = allFields[i];
					break;
				}
			}
		}						
		field.value = formatDate(day, month, year, pattern);
	}
}

/*
 * Checks whether a given combobox (containing complete dates) contains the month
 * of the given date. Returns false if not, true otherwise.
 * t: a Date
 * formname: name of a form
 * comboname: name of a combobox
 * date pattern
 */
function comboboxContainsMonth(t, formname, comboname) {
	var txm = "" + (t.getMonth() + 1);
	if (txm.length < 2) txm = "0" + txm;
	var txy = "" + t.getFullYear();
	
	var combo = document.forms[formname].elements[comboname];

	for (i = 0; i < combo.options.length; i++) {
		if ((txm + "." + txy) == combo.options[i].value.substring(3)) {
			return true;
		}
	}
	return false;
};

/*
 * Parses a date string given in the parameter value
 * according to the given pattern.
 * Allowed patterns (in java.text.SimpleDateFormat syntax)
 * are "dd.MM.yyyy", "dd/MM/yyyy" and "MM/dd/yyyy".
 * The optional parameter allowPast indicates whether dates
 * in the past are allowed.
 * Returns a Date object representing the given date
 * or today if an error occured.
 * If the pattern is unrecognized, an alert-box is displayed.
 */
function parseDate(pattern, value, allowPast) {
	var d = parseDateInsecure(pattern, value, allowPast);
	if (d == null) d = new Date();
	return d;
}

/*
 * Parses a date string given in the parameter value
 * according to the given pattern.
 * Allowed patterns (in java.text.SimpleDateFormat syntax)
 * are "dd.MM.yyyy", "dd/MM/yyyy" and "MM/dd/yyyy".
 * The optional parameter allowPast indicates whether dates
 * in the past are allowed.
 * Returns a Date object representing the given date
 * or null if an error occured.
 * If the pattern is unrecognized, an alert-box is displayed.
 */
function parseDateInsecure(pattern, value, allowPast) {
	var pattern;
	var day;
	var month;
	var year;

    if (pattern=='dd.MM.yyyy') {
		pattern = /^(([1-9]|[0-2]\d|[3][0-1])\.([1-9]|[0]\d|[1][0-2])\.[2][0]\d{2})$|^(([1-9]|[0-2]\d|[3][0-1])\.([1-9]|[0]\d|[1][0-2])\.[2][0]\d{2})$/;
		if (pattern.exec(value) != null) {
			var test = value.split(".");
			year = test[2];
			month = test[1] - 1;
			day = test[0];
		} else {
			return null;
		}
	} else if (pattern=='dd/MM/yyyy') {
		pattern = /^(\d\d)\/(\d\d)\/(\d\d\d\d)$/;
		if (pattern.exec(value) != null) {
			year = RegExp.$3;
			month = RegExp.$2-1;
			day = RegExp.$1;
		} else {
			return null;
		}
	} else if (pattern=='MM/dd/yyyy') {
		pattern = /^(\d\d)\.(\d\d)\.(\d\d\d\d)$/;
		if (pattern.exec(value) != null) {
			year = RegExp.$3;
			month = RegExp.$1-1;
			day = RegExp.$2;
		} else {
			return null;
		}
	} else {
		alert("Unsupported pattern " + pattern);
		return null;
	}

    if (!allowPast) {
        var today = new Date();
		if (year < today.getFullYear()) {
			return null;
		}
        
		if (year == today.getFullYear()) {
            if (month < today.getMonth()) {
				return null;
			}
			if (month == today.getMonth()) {
                if (day < today.getDate()) {
					return null;
				}
            }
        }
    }

    if ((month >= -1)
            && (month<=11)
            && (day >= 1)
            && (day <= 31)) {
        return new Date(year, month, day);
    }

    return null;
}

/*
 * Returns a date being toIncrease days later than the given date.
 * If toIncrease is not set, 7 is used.
 */
function increaseDay(templDate, toIncrease) {
	var retVal;	
	if (toIncrease == null ) {
		//toIncrease = 1;
		toIncrease = getDefaultToIncrease();
	}
	newTimestamp = templDate.getTime() + (1000 * 60 * 60 * 24 * toIncrease);	
	retVal = new Date(newTimestamp);	
	return retVal;
}

function getDefaultToIncrease() {
    return 7;
}

/*
 * Returns the number of days that should be added to a start date in order
 * to propose a return date.
 */
function getValidateVacationDateReturnOffset() {
    return 7;
}

/*
* Validates the given arrival and departure Date by the pattern
*/
/*function validateDate(pattern, arrivalDay, arrivalMonth, arrivalYear, 
							 departureDay, departureMonth, departureYear) {
	var newDate;

	var arrMonInt = parseInt(arrivalMonth) + 1;
	var depMonInt = parseInt(departureMonth) + 1;
	var departureDate = parseDate(pattern, departureDay + "." + depMonInt + "." + departureYear);
	var arrivalDate = parseDate(pattern, arrivalDay + "." + arrMonInt + "." + arrivalYear);
	
	if (arrivalDate.getTime() < departureDate.getTime()) {
		newDate = increaseDay(departureDate, getValidateVacationDateReturnOffset());
        return newDate;
	} else { 
		return null;
	}
}*/

/*
* Sets the selDiv Element as Selected
*/
function setSelection(popup, selDiv) {
	if (selDiv.parentNode.parentNode.parentNode.getAttribute("id") == "genCalPopupCalendar") { 
		if (popup.document.getElementById("genCalPopupDayChosen") && selDiv.getAttribute("id") != "genCalPopupDayToday") {
			popup.document.getElementById("genCalPopupDayChosen").setAttribute("id", "");
			selDiv.setAttribute("id", "genCalPopupDayChosen");
		} else if (selDiv.getAttribute("id") == "genCalPopupDayToday") {
			popup.document.getElementById("genCalPopupDayChosen").setAttribute("id", "");
			selDiv.setAttribute("id", "genCalPopupDayTodayChosen");
		} else if (popup.document.getElementById("genCalPopupDayTodayChosen")) {
			popup.document.getElementById("genCalPopupDayTodayChosen").setAttribute("id", "genCalPopupDayToday");
			selDiv.setAttribute("id", "genCalPopupDayChosen");
		} else {
			selDiv.setAttribute("id", "genCalPopupDayChosen");
		}
	} else {
		if (popup.document.getElementById("genCalPopupDayChosen2") && selDiv.getAttribute("id") != "genCalPopupDayToday") {
			popup.document.getElementById("genCalPopupDayChosen2").setAttribute("id", "");
			selDiv.setAttribute("id", "genCalPopupDayChosen2");
		} else if (selDiv.getAttribute("id") == "genCalPopupDayToday") {
			popup.document.getElementById("genCalPopupDayChosen2").setAttribute("id", "");
			selDiv.setAttribute("id", "genCalPopupDayTodayChosen2");
		} else if (popup.document.getElementById("genCalPopupDayTodayChosen2")) {
			popup.document.getElementById("genCalPopupDayTodayChosen2").setAttribute("id", "genCalPopupDayToday");
			selDiv.setAttribute("id", "genCalPopupDayChosen2");
		} else {
			selDiv.setAttribute("id", "genCalPopupDayChosen2");
		}
	}
}

function setDepartureDate(departureDay, departureMonth, departureYear, selDiv) {
	myDepartureDay = departureDay; 
	myDepartureMonth = departureMonth; 
	myDepartureYear = departureYear; 

	var arrivalDate = new Date(myArrivalYear, myArrivalMonth, myArrivalDay);
	var departureDate = new Date(myDepartureYear, myDepartureMonth, myDepartureDay);
	// Anfang nach Ende = Fehler...
	if(departureDate.getTime() > arrivalDate.getTime()){		
		newArrivalDate = increaseDay(departureDate, 7);		
		myArrivalDay = newArrivalDate.getDate();
		// Monat ändert sich rechts
		if(myArrivalMonth != newArrivalDate.getMonth()){	
			a4 = (originalArgs[6] != null) ? originalArgs[0].name +',' + originalArgs[6].name : originalArgs[0].name;
			equalTimestamp = document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value;
			equalDate = new Date(Number(equalTimestamp));
		
			if(newArrivalDate.getMonth() == equalDate.getMonth()){
				myNewMonth = document.calForm2.monthBox2.selectedIndex;
			}else{				
				for(var i=0; i<document.calForm2.monthBox2.length; i++){
					ed = new Date(Number(document.calForm2.monthBox2.options[i].value));
					if(ed.getMonth() == newArrivalDate.getMonth()){
						myNewMonth = i;
						break;
					}	
				}				
			}
			
			//myNewMonth = () ? document.calForm2.monthBox2.selectedIndex : document.calForm2.monthBox2.selectedIndex + 1;
			calendarChooseMonth(self, 0, originalArgs[0].form.name, a4 , new Date(myDepartureYear, myDepartureMonth, myDepartureDay,0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value, originalArgs[1], originalArgs[5], document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value, originalArgs[2], false, document.calForm2.monthBox2.options[myNewMonth].value, new Date(myArrivalYear, myArrivalMonth, myArrivalDay,0,0,0,0).getTime());
		}				
		myArrivalMonth = newArrivalDate.getMonth();
		myArrivalYear = newArrivalDate.getFullYear();	
	}

	foundedDiv = findDiv('left');
	setSelection(self, foundedDiv);
		
	foundedDiv = findDiv('right');	
	setSelection(self, foundedDiv);
}

function setArrivalDate(arrivalDay, arrivalMonth, arrivalYear, selDiv) {
	myArrivalDay = arrivalDay; 
	myArrivalMonth = arrivalMonth; 
	myArrivalYear = arrivalYear; 
	/*var newArrivalDate =  validateDate('dd.MM.yyyy', myArrivalDay, myArrivalMonth, myArrivalYear, myDepartureDay, myDepartureMonth, myDepartureYear); 
	if (newArrivalDate != null) { 
		myArrivalDay = newArrivalDate.getDate(); 
		myArrivalMonth = newArrivalDate.getMonth(); 
		myArrivalYear = newArrivalDate.getFullYear();
	}*/
	setSelection(self, selDiv);	
	
	foundedDiv = findDiv('left');
	setSelection(self, foundedDiv);	
}


function findDiv(cal){
	var myGlobalDiv = "";
	if(cal == "left"){
		myGlobalDiv = document.getElementById('genCalPopupCalendar');
		equalDay = myDepartureDay;
	}else if(cal == "right"){
		myGlobalDiv = document.getElementById('genCalPopupCalendar2');
		equalDay = myArrivalDay;		
	}		
	links = myGlobalDiv.getElementsByTagName("a");
	for(var i=0; i<links.length; i++){					
		if(links[i].innerHTML.toString() == equalDay.toString()){			
			return links[i].parentNode;
		}
	}	
}

function getX(elm){
   	var x = 0;
   	if (elm && typeof elm.offsetParent != "undefined") {
     		while (elm && typeof elm.offsetLeft == "number") {
      	 	x += elm.offsetLeft;
       		elm = elm.offsetParent;
     		}
   	}
   	return x;
}

function getY(elm){
   	var y = 0;
   	if (elm && typeof elm.offsetParent != "undefined") {
     		while (elm && typeof elm.offsetTop == "number") {
       		y += elm.offsetTop;
       		elm = elm.offsetParent;
     		}
   	}
   	return y;		
}

function hideCal(){
	var div = document.getElementById("calDocDiv");	
	document.getElementsByTagName("body")[0].removeChild(div);
	if(document.getElementById("calIframe")){
		var frame = document.getElementById("calIframe");	
		document.getElementsByTagName("body")[0].removeChild(frame);
	}
}/*
 * window: Window to use for displaying the calendar
 * mode: 0: Freetext complete date; 1: Combobox complete date; 2: Comboboxes Date, Month/Year (Departure Date)
 *       3: Comboboxes Date, Month/Year (Return Date)
 * formname: Name of form to reflect choices in the calendar
 * formelements: Array of names of form elements to reflect choices in the calendar
 *              if mode 0: one element (input field)
 *              if mode 1: one element (combobox)
 *              if mode 2 or 3: two elements (comboboxes in sequence date, month/year;
 *                           optional other comboboxes for calendar validation in sequence date, month, year)
 * originalChosen: date which was chosen on the original web page
 * chosen: date which defines the month to display
 * numberOfMonth: Number of months to display (starting with the current month)
 * validateCalendar: Indicates whether a service method is to include after a date was selected.
 *                   The service method can influence the contents of other form elements.
 * selectedArea: Index of the area currently selected
 * pattern: display pattern
 * submit: Indicates whether to submit the calendar launching form after a date was selected in the calendar.
 * alwaysOnTop (optional):  Indicates if the popup should alwyas be on top. If alwaysOnTop is true
 *							onblur="self.focus();opener.blur();" is added to the body tag
 * chosen2: return date which defines the month to display
 * originalChosen2: return date which was chosen on the original web page
 */
function generateCal(window, mode, formname, formelements, originalChosen, chosen, numberOfMonths, validateCalendar, 
					 selectedArea, pattern, submit, alwaysOnTop, chosen2, originalChosen2) {
					 
	if(!document.getElementById("calDocDiv")){				 				 	
		calDoc = document.createElement("div");			
	}else{
		calDoc = document.getElementById("calDocDiv");	
	}

	myX = getX(document.getElementsByName(formelements[0])[0]) - 20;
	myY = getY(document.getElementsByName(formelements[0])[0]) - 260;

	if ((myX < 0) || (myY < 0)) {
		var f = document.forms[formname];
		var fe = null;
		for (var i = 0;i < f.elements.length;i++) {
			if (f.elements[i].name == formelements[0]) {
				fe = f.elements[i];
				break;
			}
		}
		if (fe) {
			myX = getX(fe) - 20;
			myY = getY(fe) - 260;
		}
	}
	isMSIE6 = (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.indexOf('MSIE 6.0') != -1) ? true : false;
	
	if(isMSIE6){
		iframe = document.getElementById("calIframe");
		if(!iframe){
			iframe = document.createElement("iframe");
		}
		iframe.setAttribute("id", "calIframe");
		iframe.setAttribute("frameborder", "0");		
		iframe.style.visiblity = "hidden";
		iframe.style.zIndex = '4999';
		iframe.style.border = "0";
		iframe.style.position = 'absolute';
		iframe.style.top = myY + 'px';
		iframe.style.left = myX + 'px';		
		iframe.style.width = '500px'
		iframe.style.height = '335px';	
		calDoc.style.filter = "Shadow(color=#ff0000, direction=135)";	
		document.getElementsByTagName('body')[0].appendChild(iframe);					
		calDoc.style.background = "#fff";
		calDoc.style.padding = "0";		
		calDoc.style.border = "1px solid #c0c0c0";
	}		
	
	calDoc.setAttribute("id", "calDocDiv");	
	calDoc.style.position = 'absolute';
	calDoc.style.zIndex = '5000';
	calDoc.style.top = myY + 'px';
	calDoc.style.left = myX + 'px';
	calDoc.style.width = "500px";
	calDoc.style.height = "335px";
	calDoc.style.display = 'none';
	if(!isMSIE6){
		calDoc.style.padding = "8px 13px 17px 13px";	
	}
	
	calDoc.setAttribute("class", "calDocShadow");
	calDoc.setAttribute("className", "calDocShadow");	
	
	document.getElementsByTagName('body')[0].appendChild(calDoc);		
	
	var calContent = "";
	calDoc.writeln = function(code){
		calContent += code;
	}
	
	calDoc.write = function(code){
		calContent += code;
	}	
		
	// *********************************************************************************************************************
	// *********************************************************************************************************************
	// Calendar for the departure
	// *********************************************************************************************************************
	// *********************************************************************************************************************

	var selectedMonth;
	var selectedYear;

	var elements = formelements;
	
	// prepare holidays
	var vacationArray = new Array();
	if(document.cookie && selectedArea < 0){

		selectedArea = document.cookie;
		if(isNaN(selectedArea)){			
			parts = selectedArea.split(";");
			if(!isNaN(parts[0])){
				selectedArea = parts[0];
			}
		}
	}
	
	if (selectedArea > - 1) {
			
		if(navigator.cookieEnabled){
			document.cookie = selectedArea;
		}
				
		// Prepare holidays for the selected area
		for (var i = 1; i < vacations[selectedArea].length; i++) {
			var vacationDate = new String(vacations[selectedArea][i]);
			// Compute day
			var vacationDay = vacationDate.substring(0, vacationDate.indexOf('.'));
			// Compute month
			var vacationMonth = vacationDate.substring(vacationDate.indexOf('.') + 1, vacationDate.lastIndexOf('.'));
			// Compute year
			var vacationYear = vacationDate.substring(vacationDate.lastIndexOf('.') + 1);
			// if year has only 2 characters: prefix with "20"
			if (vacationYear < 100) {
	            vacationYear = "20" + vacationYear;
			}
			// Create date
			vacationArray[i - 1] = new Date(vacationYear, vacationMonth - 1, vacationDay);
		}
		
	}

	var today = new Date();
	
	myArrivalDay = originalChosen2.getDate();
	myArrivalMonth = originalChosen2.getMonth();
	myArrivalYear = originalChosen2.getFullYear();
	
	myDepartureDay = originalChosen.getDate();
	myDepartureMonth = originalChosen.getMonth();
	myDepartureYear = originalChosen.getFullYear();
	
	calDoc.writeln('<div id="genCalCloseCal" onclick="hideCal()"></div>');
	calDoc.writeln('</div>');
	calDoc.writeln('<form name="calForm" style="float: left; width: 250px;">');
	calDoc.writeln('<div id="genCalPopup" class="departure">');
	calDoc.writeln('<div id="genCalPopupHeadline">' + calendarTitle + '</div>');
	calDoc.writeln('<div id="genCalPopupMonthSelCellHeader">' + calendarDeparture + '</div>');
	// show selectbox with month and year
	calDoc.writeln('<div id="genCalPopupMonthSelCell"><div id="genCalPopupMonthPrev" title="' + calendarMonthPrevTitle + '" onclick="select = document.getElementById(\'genCalPopupMonthSel\'); if (select.selectedIndex > 0) { select.selectedIndex= select.selectedIndex-1;');
	calDoc.writeln('calendarChooseMonth(self,' + mode + ',\'' + formname  + '\', \'' + formelements + '\' , new Date(' + myDepartureYear + ',' + myDepartureMonth + ',' + myDepartureDay + ',0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value,' + numberOfMonths + ',' + validateCalendar + ',document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value,\'' + pattern + '\',' + submit + ', document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value, new Date(' + myArrivalYear + ',' + myArrivalMonth + ',' + myArrivalDay + ',0,0,0,0).getTime());};');
	calDoc.writeln('"></div>');
	calDoc.writeln('<select name="monthBox" onchange="');
	calDoc.writeln('calendarChooseMonth(self,' + mode + ',\'' + formname  + '\', \'' + formelements + '\' , new Date(' + myDepartureYear + ',' + myDepartureMonth + ',' + myDepartureDay + ',0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value,' + numberOfMonths + ',' + validateCalendar + ',document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value,\'' + pattern + '\',' + submit + ', document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value, new Date(' + myArrivalYear + ',' + myArrivalMonth + ',' + myArrivalDay + ',0,0,0,0).getTime());');	
	calDoc.writeln('" id="genCalPopupMonthSel" class="genCalPopupSel">');
	
	var optionDate = new Date();
	// preset day to first day because of overrun of last days on some months:
	// starting with (today) 31.10 and after adding 1 month we get 31.11 (non-existant date), therefore
	// we get not november as month but dezember (bugs 42339, 45402)!!!
	optionDate.setDate(1);
	for (i = 0; i < numberOfMonths; i++) {
		selectedMonth = (today.getMonth() + i) % 12;
		optionDate.setMonth(selectedMonth);
		selectedYear = today.getFullYear() + (today.getMonth() + i)/12;
		optionDate.setYear(selectedYear);
		var optionDateString = "" + calendarMonths[optionDate.getMonth()] + " " + optionDate.getFullYear();
		calDoc.write('<option value = "' + optionDate.getTime() + '"');
		if ((optionDate.getMonth() == chosen.getMonth()) && (optionDate.getFullYear() == chosen.getFullYear())) {
		calDoc.write(' selected');
		}
		calDoc.writeln('>' + optionDateString + '</option>');
	}

	calDoc.writeln('</select>');
	calDoc.writeln('<div id="genCalPopupMonthNext" title="' + calendarMonthNextTitle + '" onclick="select = document.getElementById(\'genCalPopupMonthSel\'); if (select.selectedIndex < select.length-1) { select.selectedIndex=select.selectedIndex+1; ');
	calDoc.writeln('calendarChooseMonth(self,' + mode + ',\'' + formname  + '\', \'' + formelements + '\' , new Date(' + myDepartureYear + ',' + myDepartureMonth + ',' + myDepartureDay + ',0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value,' + numberOfMonths + ',' + validateCalendar + ',document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value,\'' + pattern + '\',' + submit + ', document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value, new Date(' + myArrivalYear + ',' + myArrivalMonth + ',' + myArrivalDay + ',0,0,0,0).getTime());};');
	calDoc.writeln('"></div></div>');


	calDoc.writeln('<div id="genCalPopupCalendar">');
	
	calDoc.writeln('<div id="genCalPopupDayNames">');
	for (i = 0; i < calendarDays.length; i++) {
		calDoc.writeln('<div class="genCalPopupDayName">' + calendarDays[i] + '</div>');
	}
	calDoc.writeln('</div>');

	calDoc.writeln('<div id="genCalPopupDays"><div class="genCalPopupWeek">');

	var iter = new Date(chosen.getFullYear(), chosen.getMonth(), 1);
	
	var diff = iter.getDay();

	// Weeks start with monday
	if (diff > 0)
		iter = new Date(iter.getTime() - 86400000 * (diff - 1));
	else
		iter = new Date(iter.getTime() - 86400000 *(diff + 6));

	// create days
	for (i = 0; i < 42; i++) {
		var bgc = "genCalPopupDay";
		
		// check if special vacations are selected
		if (selectedArea > - 1) {
			// check all intervals
			for (var j = 0; j < vacationArray.length; j = j + 2) {
				if ((iter.getTime() >= vacationArray[j].getTime())
						&& (iter.getTime() < (vacationArray[j + 1].getTime() + 86400000))) {
				   bgc = "genCalPopupVacationDay";
				}
			}
		}

		var isChosen = false;
		
		if ((originalChosen != null)
			&& (iter.getFullYear() == originalChosen.getFullYear())
			&& (iter.getMonth() == originalChosen.getMonth())
			&& (iter.getDate() == originalChosen.getDate())) {
			isChosen = true;
		}
		
		var isToday = false;
		if ((iter.getFullYear() == today.getFullYear())
			&& (iter.getMonth() == today.getMonth())
			&& (iter.getDate() == today.getDate())) {
			isToday = true;
		}
		
		var id = '';
		if (isToday && isChosen) {
			id = ' id="genCalPopupDayTodayChosen"';
		} else if (isToday) {
			id = ' id="genCalPopupDayToday"';
		} else if (isChosen) {
			id = ' id="genCalPopupDayChosen"';
		}
		
		calDoc.writeln('<div class="' + bgc + '"' + id + '>');
		
		var call = null;
		var isInThePast = false;
		
		if ((iter.getFullYear() == today.getFullYear())
			&& (iter.getMonth() == today.getMonth())
			&& (iter.getDate() < today.getDate())) {
			isInThePast = true;
		}
		
		if (!isInThePast) {
			if (iter.getMonth() == chosen.getMonth()) {
				var element = formelements[0];
				call = 'setDepartureDate(' + iter.getDate() + ',' + iter.getMonth() + ',' + iter.getFullYear() + ', this.parentNode); return false;';
			}
		}
		
		if (call != null) {
			calDoc.write('<a class="genCalPopupDayLink" href="#" onClick="' + call);
			if (submit) {
				calDoc.write('document.forms[\'' + formname + '\'].submit();');
			}
			calDoc.write('">');
		}
		
		calDoc.write(iter.getDate());
		
		if (call != null) {
			calDoc.writeln('</a>');
		}
		
		calDoc.write('</div>');
		
		if (i % 7 == 6) {
			calDoc.writeln('</div><div class="genCalPopupWeek">');
		}
		iter.setDate(iter.getDate() + 1);
	}

	calDoc.writeln('</div></div></div>');
	calDoc.writeln('<div id="genCalPopupInstruction">' + calendarInstruction + '.</div>');
	calDoc.writeln('</div>');
	calDoc.writeln('</form>');


	// *********************************************************************************************************************
	// *********************************************************************************************************************
	// Calendar for the return
	// *********************************************************************************************************************
	// *********************************************************************************************************************
	var selectedMonth2;
	var selectedYear2;
	calDoc.writeln('<form name="calForm2" style="float: left; width: 250px;">');
	calDoc.writeln('<div id="genCalPopup">');
	calDoc.writeln('<div id="genCalPopupHeadline">' + calendarTitle + '</div>');
	calDoc.writeln('<div id="genCalPopupMonthSelCellHeader">' + calendarArrival + '</div>');
	// show selectbox with month and year
	calDoc.writeln('<div id="genCalPopupMonthSelCell"><div id="genCalPopupMonthPrev" title="' + calendarMonthPrevTitle + '" onclick="select = document.getElementById(\'genCalPopupMonthSel2\'); if (select.selectedIndex > 0){select.selectedIndex= select.selectedIndex-1;');
	calDoc.writeln('calendarChooseMonth(self,' + mode + ',\'' + formname  + '\', \'' + formelements + '\' , new Date(' + myDepartureYear + ',' + myDepartureMonth + ',' + myDepartureDay + ',0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value,' + numberOfMonths + ',' + validateCalendar + ',document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value,\'' + pattern + '\',' + submit + ', document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value, new Date(' + myArrivalYear + ',' + myArrivalMonth + ',' + myArrivalDay + ',0,0,0,0).getTime());};');	
	calDoc.writeln('"></div>');
	calDoc.writeln('<select name="monthBox2" onchange="');
	calDoc.writeln('calendarChooseMonth(self,' + mode + ',\'' + formname  + '\', \'' + formelements + '\' , new Date(' + myDepartureYear + ',' + myDepartureMonth + ',' + myDepartureDay + ',0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value,' + numberOfMonths + ',' + validateCalendar + ',document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value,\'' + pattern + '\',' + submit + ', document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value, new Date(' + myArrivalYear + ',' + myArrivalMonth + ',' + myArrivalDay + ',0,0,0,0).getTime());');	
	calDoc.writeln('" id="genCalPopupMonthSel2" class="genCalPopupSel">');
	
	var optionDate2 = new Date();
	// preset day to first day because of overrun of last days on some months:
	// starting with (today) 31.10 and after adding 1 month we get 31.11 (non-existant date), therefore
	// we get not november as month but dezember (bugs 42339, 45402)!!!
	optionDate2.setDate(1);
	for (i = 0; i < numberOfMonths; i++) {
		selectedMonth2 = (today.getMonth() + i) % 12;
		optionDate2.setMonth(selectedMonth2);
		selectedYear2 = today.getFullYear() + (today.getMonth() + i)/12;
		optionDate2.setYear(selectedYear2);
		var optionDateString = "" + calendarMonths[optionDate2.getMonth()] + " " + optionDate2.getFullYear();
		calDoc.write('<option value = "' + optionDate2.getTime() + '"');
		if ((optionDate2.getMonth() == chosen2.getMonth()) && (optionDate2.getFullYear() == chosen2.getFullYear())) {
			calDoc.write(' selected');
		}
		calDoc.writeln('>' + optionDateString + '</option>');
	}
	calDoc.writeln('</select>');
	
	calDoc.writeln('<div id="genCalPopupMonthNext" title="' + calendarMonthNextTitle + '" onclick="select = document.getElementById(\'genCalPopupMonthSel2\'); if (select.selectedIndex < select.length-1) { select.selectedIndex=select.selectedIndex+1; calendarChooseMonth(self,' + mode + ',\'' + formname  + '\', \'' + formelements + '\' , new Date(' + myDepartureYear + ',' + myDepartureMonth + ',' + myDepartureDay + ',0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value,' + numberOfMonths + ',' + validateCalendar + ',document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value,\'' + pattern + '\',' + submit + ', document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value, new Date(' + myArrivalYear + ',' + myArrivalMonth + ',' + myArrivalDay + ',0,0,0,0).getTime());}; ');	
	calDoc.writeln('"></div></div>');
	
	calDoc.writeln('<div id="genCalPopupCalendar2">');
	
	calDoc.writeln('<div id="genCalPopupDayNames">');
	for (i = 0; i < calendarDays.length; i++) {
		calDoc.writeln('<div class="genCalPopupDayName">' + calendarDays[i] + '</div>');
	}
	calDoc.writeln('</div>');

	calDoc.writeln('<div id="genCalPopupDays"><div class="genCalPopupWeek">');
	
	var iter = new Date(chosen2.getFullYear(), chosen2.getMonth(), 1);
	var diff = iter.getDay();
	
	// Weeks start with monday
	if (diff > 0)
		iter = new Date(iter.getTime() - 86400000 * (diff - 1));
	else
		iter = new Date(iter.getTime() - 86400000 *(diff + 6));

	// create days
	for (i = 0; i < 42; i++) {
		var bgc = "genCalPopupDay";
		
		// check if special vacations are selected
		if (selectedArea > - 1) {
			// check all intervals
			for (var j = 0; j < vacationArray.length; j = j + 2) {
				if ((iter.getTime() >= vacationArray[j].getTime())
						&& (iter.getTime() < (vacationArray[j + 1].getTime() + 86400000))) {
				   bgc = "genCalPopupVacationDay";
				}
			}
		}

		var isChosen = false;
		
		if ((originalChosen2 != null)
			&& (iter.getFullYear() == originalChosen2.getFullYear())
			&& (iter.getMonth() == originalChosen2.getMonth())
			&& (iter.getDate() == originalChosen2.getDate())) {
			isChosen = true;
		}
		
		var isToday = false;
		if ((iter.getFullYear() == today.getFullYear())
			&& (iter.getMonth() == today.getMonth())
			&& (iter.getDate() == today.getDate())) {
			isToday = true;
		}
		
		var id = '';
		if (isToday && isChosen) {
			id = ' id="genCalPopupDayTodayChosen2"';
		} else if (isToday) {
			id = ' id="genCalPopupDayToday"';
		} else if (isChosen) {
			id = ' id="genCalPopupDayChosen2"';
		}
		
		calDoc.writeln('<div class="' + bgc + '"' + id + '>');
		
		var call = null;
		var isInThePast = false;
		
		if ((iter.getFullYear() == today.getFullYear())
			&& (iter.getMonth() == today.getMonth())
			&& (iter.getDate() < today.getDate())) {
			isInThePast = true;
		}
		
		if (!isInThePast) {
			if (iter.getMonth() == chosen2.getMonth()) {
				var element = formelements[0];
				call = 'setArrivalDate(' + iter.getDate() + ',' + iter.getMonth() + ',' + iter.getFullYear() + ', this.parentNode); return false;';
			}
		}
		
		if (call != null) {
			calDoc.write('<a class="genCalPopupDayLink" href="#" onClick="' + call);
			if (submit) {
				calDoc.write('document.forms[\'' + formname + '\'].submit();');
			}
			calDoc.write('">');
		}
		
		calDoc.write(iter.getDate());
		
		if (call != null) {
			calDoc.writeln('</a>');
		}
		
		calDoc.write('</div>');
		
		if (i % 7 == 6) {
			calDoc.writeln('</div><div class="genCalPopupWeek">');
		}
		iter.setDate(iter.getDate() + 1);
	}

	calDoc.writeln('</div></div></div>');
	calDoc.writeln('<div id="genCalPopupInstruction">' + calendarInstruction + '.</div>');
	calDoc.writeln('</div>');
	
	
	calDoc.writeln('<input type="button" name="SelectValues" id="dateButton" value="' + calendarSelectValues + '" onClick="javascript:setDateToFreeTextField(\'' + formname + '\',\'' + formelements[1] + '\',myArrivalDay , myArrivalMonth, myArrivalYear,\'' + pattern + '\');setDateToFreeTextField(\'' + formname + '\',\'' + formelements[0] + '\',myDepartureDay , myDepartureMonth, myDepartureYear,\'' + pattern + '\'); hideCal()">');
	calDoc.writeln('<div id="genCalPopupVacationCell" style="position: absolute; margin-left: -250px;">');
	calDoc.writeln('<div id="genCalPopupVacationLabel">' + calendarHolidays + ':</div>');
	// special areas
	calDoc.writeln('<select name="areas" onChange="');
	calDoc.writeln('calendarChooseMonth(self,' + mode + ',\'' + formname  + '\', \'' + formelements + '\' , new Date(' + myDepartureYear + ',' + myDepartureMonth + ',' + myDepartureDay + ',0,0,0,0).getTime(),document.calForm.monthBox.options[document.calForm.monthBox.selectedIndex].value,' + numberOfMonths + ',' + validateCalendar + ',document.calForm2.areas.options[document.calForm2.areas.selectedIndex].value,\'' + pattern + '\',' + submit + ', document.calForm2.monthBox2.options[document.calForm2.monthBox2.selectedIndex].value, new Date(' + myArrivalYear + ',' + myArrivalMonth + ',' + myArrivalDay + ',0,0,0,0).getTime());');	
	calDoc.writeln('" id="genCalPopupStateSel" class="genCalPopupSel">');
	calDoc.writeln('<option value = "-1">' + calendarChooseArea);
	
	savedValue = "";
	if(navigator.cookieEnabled && document.cookie){
		parts = document.cookie.split(";");
		savedValue = parts[0];			
	}
	
	if(!savedValue){
		savedValue = selectedArea;
	}

	if(isNaN(savedValue)){
		parts = savedValue.split(";");
		savedValue = parts[0];
	}
	
	for (var i = 0; i < vacations.length; i++) {
		calDoc.write('<option ');
		// selected area must be reselected upon regeneration
		if (i == savedValue) {
			calDoc.write('selected ');
		}
		calDoc.writeln('value = "' + i + '"> ' + vacations[i][0]);
	}
	calDoc.writeln('</select>');
	calDoc.writeln('</form>');

	
	calDoc.innerHTML = calContent;
	calDoc.style.display = 'block';
};
calendarDays = new Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So");
calendarMonths = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
calendarMonthPrevTitle = "vorheriger Monat";
calendarMonthNextTitle = "n&auml;chster Monat"
calendarTitle = "Kalender";
calendarHolidays = "Schulferien anzeigen";
calendarChooseArea = "Bundesland w&auml;hlen";
calendarInstruction = "Bitte klicken Sie auf das gew&uuml;nschte Datum";
calendarClose = "Fenster schließen";
calendarCss = "calendar.css";
calendarDeparture = "Anreise:";
calendarArrival = "Abreise:";
calendarSelectValues = "Zeitraum &uuml;bernehmen";
vacations = new Array();
vacations[0] = new Array("Baden-W&uuml;rttemberg", 
"09.04.2009","09.04.2009","14.04.2009","17.04.2009","25.05.2009","06.06.2009","30.07.2009","12.09.2009","26.10.2009","31.10.2009","23.12.2009","09.01.2010","01.04.2010","10.04.2010","25.05.2010","05.06.2010","29.07.2010","10.9.2010","02.11.2010","06.11.2010","23.12.2010","08.01.2011"			 		 		
);
vacations[1] = new Array("Bayern",
"06.04.2009","18.04.2009","02.06.2009","13.06.2009","03.08.2009","14.09.2009","02.11.2009","07.11.2009","24.12.2009","05.01.2010","29.03.2010","10.04.2010","25.05.2010","05.06.2010","02.08.2010","13.09.2010","02.11.2010","05.11.2010","27.12.2010","07.01.2011"
);
vacations[2] = new Array("Berlin",
"06.04.2009","18.04.2009","22.05.2009","22.05.2009","15.07.2009","28.08.2009","19.10.2009","30.10.2009","21.12.2009","02.01.2010","31.03.2010","10.04.2010","14.05.2010","14.05.2010","25.05.2010","25.05.2010","08.07.2010","21.08.2010","11.10.2010","23.10.2010","23.12.2010","01.01.2011"
);
vacations[3] = new Array("Brandenburg",
"08.04.2009","17.04.2009","22.05.2009","22.05.2009","16.07.2009","29.08.2009","19.10.2009","30.10.2009","21.12.2009","02.01.2010","31.03.2010","10.04.2010","14.05.2010","14.05.2010","08.07.2010","21.08.2010","11.10.2010","23.10.2010","23.12.2010","01.01.2011"
);
vacations[4] = new Array("Bremen",
"30.03.2009","14.04.2009","20.05.2009","22.05.2009","02.06.2009","02.06.2009","25.06.2009","05.08.2009","05.10.2009","17.10.2009","23.12.2009","06.01.2010","19.03.2010","06.04.2010","25.05.2010","25.05.2010","24.06.2010","04.08.2010"
);
vacations[5] = new Array("Hamburg", 
"09.03.2009","21.03.2009","18.05.2009","23.05.2009","16.07.2009","26.08.2009","12.10.2009","24.10.2009","21.12.2009","31.12.2009","08.03.2010","20.03.2010","14.05.2010","22.05.2010","08.07.2010","18.08.2010","04.10.2010","15.10.2010","23.12.2010","03.01.2011"
);
vacations[6] = new Array("Hessen",
"06.04.2009","18.04.2009","13.07.2009","21.08.2009","12.10.2009","24.10.2009","21.12.2009","09.01.2010","29.03.2010","10.04.2010","05.07.2010","14.08.2010","11.10.2010","22.10.2010","20.12.2010","07.01.2011"
);
vacations[7] = new Array("Mecklenburg-Vorpommern",
"06.04.2009","14.04.2009","02.06.2009","06.06.2009","20.07.2009","29.08.2009","26.10.2009","30.10.2009","21.12.2009","02.01.2010","29.03.2010","07.04.2010","21.05.2010","22.05.2010","12.07.2010","21.08.2010","18.10.2010","23.10.2010","23.12.2010","31.12.2010"
);
vacations[8] = new Array("Niedersachsen", 
"30.03.2009","15.04.2009","22.05.2009","02.06.2009","25.06.2009","05.08.2009","05.10.2009","17.10.2009","23.12.2009","06.01.2010","19.03.2010","06.04.2010","14.05.2010","14.05.2010","25.05.2010","25.05.2010","24.06.2010","04.08.2010"
);
vacations[9] = new Array("Nordrhein-Westfalen",
"06.04.2009","18.04.2009","02.06.2009","02.06.2009","02.07.2009","14.08.2009","12.10.2009","24.10.2009","24.12.2009","06.01.2010","27.03.2010","10.04.2010","25.05.2010","25.05.2010","15.07.2010","27.08.2010","11.10.2010","23.10.2010","24.12.2010","08.01.2011"
);
vacations[10] = new Array("Rheinland-Pfalz", 
"01.04.2009","17.04.2009","13.07.2009","21.08.2009","12.10.2009","23.10.2009","21.12.2009","05.01.2010","26.03.2010","09.04.2010","05.07.2010","13.08.2010","11.10.2010","22.10.2010","23.12.2010","07.01.2011"
);
vacations[11] = new Array("Saarland", 
"06.04.2009","18.04.2009","13.07.2009","22.08.2009","19.10.2009","31.10.2009","18.12.2009","02.01.2010","29.03.2010","10.04.2010","05.07.2010","14.08.2010","11.10.2010","23.10.2010","20.12.2010","31.12.2010"
);
vacations[12] = new Array("Sachsen", 
"09.04.2009 - 18.04.2009","","22.05.2009","22.05.2009","","29.06.2009","07.08.2009","12.10.2009","24.10.2009","23.12.2009","02.01.2010","01.04.2010","10.04.2010","14.05.2010","14.05.2010","28.06.2010","06.08.2010","04.10.2010","16.10.2010","23.12.2010","01.01.2011"
);
vacations[13] = new Array("Sachsen-Anhalt",
"06.04.2009","18.04.2009","22.05.2009","29.05.2009","25.06.2009","05.08.2009","12.10.2009","17.10.2009","21.12.2009","05.01.2010","29.03.2010","09.04.2010","14.05.2010","22.05.2010","24.06.2010","04.08.2010","18.10.2010","23.10.2010","22.12.2010","05.01.2011"
);
vacations[14] = new Array("Schleswig-Holstein", 
"06.04.2009","18.04.2009","22.05.2009","29.05.2009","25.06.2009","05.08.2009","12.10.2009","17.10.2009","21.12.2009","05.01.2010","03.04.2010","17.04.2010","12.07.2010","21.08.2010","11.10.2010","23.10.2010","23.12.2010","07.01.2011"
);
vacations[15] = new Array("Th&uuml;ringen", 
"06.04.2009","17.04.2009","25.06.2009","05.08.2009","12.10.2009","24.10.2009","19.12.2009","02.01.2010","29.03.2010","09.04.2010","24.06.2010","04.08.2010","09.10.2010","23.10.2010","23.12.2010","31.12.2010"
);	var test = 0;
							function showCalendar(){
								var f = document.getElementById("dateform");
								var target = "anreise";
								var sync= "abreise";
								var f1 = f.elements[target];
								var f2 = f.elements[sync];
								if (!f1) {
									f1 = document.getElementById(target);
								}
								if (!f2) {
									f2 = document.getElementById(sync);
								}
								spawnInputFieldCalendar(f1, 22, 'dd.MM.yyyy', null, null, f2 != null, f2);
							}	function formcheck(value){
								var ajaxurl = "index.php?eID=corrections&value="+encodeURIComponent(value);
								new Ajax (	ajaxurl,{
												method: 'post',
												encoding: 'utf-8',
												onComplete: function showResponse(response, responseXML){
													if (response.length > 1) {
														if (!$('noresult')) new Element("div", {id:"noresult"}).inject($('dateform') ,'after');
														$('noresult').innerHTML = response;
													} else {
														document.getElementById('dateform').submit();
													}
												}
											}
										).request();
								return false;
							}
							
							function updateOnebox(title){
								document.getElementById('startsearchfield').value = title;
								document.getElementById('dateform').submit();
								$('noresult').remove();
							}
						