/**
 *	Script zum Einbinden der Microsite für Travel24.de
 *	
 *	Falk Wodniok, Tommy Helm, Unister GmbH 2010
 *
 * eingesetzt in 111631 und 110839
 */

function replaceUmlauts(string, index)
{
	var anArray = new Array(2);
	anArray[0] = new Array("Ö", "ö", "Ä", "ä", "Ü", "ü", "ß");
	anArray[1] = new Array("Oe", "oe", "Ae", "ae", "Ue", "ue", "sz");
	
	for (var i=0; i<anArray[index].length; i++){
		myRegExp = new RegExp(anArray[index][i],"g");
		string = string.replace(myRegExp, anArray[(index==0?1:0)][i]);
	}
	return string;
}

//Baut eine URL netzwerkspezifisch um
function wm82010_link_handler(redirect_url)
{
	var target_url = '';
	
	if(tc_unister==5)
	{
		target_url 	= zanox_tracking_function+'?'+zanox_tracking_param+'='+escape(redirect_url);
	}
	else if(tc_unister==6)
	{
		target_url 	= tradedoubler_url + '?url=' + escape(redirect_url);
	}
	else if(tc_unister==8)
	{	
		var affilinet_params = new Array();
		var af_combined = new Array();
		
		affilinet_params['site'] 	= (typeof site 	!= 'undefined') ? site 	: '3462';
		affilinet_params['ref'] 	= (typeof ref	!= 'undefined') ? ref 	: '149691';
		affilinet_params['ent'] 	= (typeof ent 	!= 'undefined') ? ent 	: '';
		affilinet_params['hnb'] 	= (typeof hnb 	!= 'undefined') ? hnb 	: '';
		affilinet_params['type'] 	= (typeof type 	!= 'undefined') ? type 	: 'html';
		affilinet_params['subid'] 	= (typeof subid != 'undefined') ? subid : '';
		affilinet_params['diurl'] 	= (typeof diurl != 'undefined') ? escape(diurl + params_combined.join("&")) : escape(redirect_url);
		
		for(var af_param in affilinet_params) af_combined[af_combined.length] = af_param+'='+ affilinet_params[af_param];
		
		target_url = 'http://partners.webmasterplan.com/click.asp' + '?' + af_combined.join("&");
	}
	else if(tc_unister==11)
	{
		target_url 	= affiliwelt_klick_url + '&url=' + escape(redirect_url);
	}
	
	return target_url;
}

//Sammelt Formulardaten und schickt sie fort
function wm82010_submit(formid, url)
{
	var form_obj = document.getElementById(formid);
	var params 			= new Array();
	var params_combined = new Array();
	var target_url = "";
	var defaultUrl = false;
	
	var r = 0;
	if(MsTrOfferRoute == "flight") r = 0;
	if(MsTrOfferRoute == "cityhotel") r = 1;
	if(MsTrOfferRoute == "flattrip") r = 2;
	if(MsTrOfferRoute == "lastminute") r = 3;

	if(r==0)
	{
		url="http://www.flug24.de/flight/wait/?";
		params["sFlightInput[depCity]"] = replaceUmlauts(form_obj["depAirport"].value,0);
		params["sFlightInput[arrCity]"] = replaceUmlauts(form_obj["arrCity"].value,0);
		params["sFlightInput[departureDate]"] = form_obj["depDate"][r].value;
		params["sFlightInput[returnDate]"] = form_obj["retDate"][r].value;
		params["sFlightInput[paxAdt]"] = 2;
	}
	else
	{
		params["depAirport"] 			= replaceUmlauts(form_obj["depAirport2"].value,0);
		if(!form_obj["arrCity"].value)
		{
			params["dest"]  = form_obj["dest"][r-1].value;
		}else
		{
			params["arrCity"] 				= replaceUmlauts(form_obj["arrCity"].value,0);
		}
		params["depDate"] 				= form_obj["depDate"][r].value;
		params["retDate"] 				= form_obj["retDate"][r].value;
		
		//Eingabefelder leer??
		if((form_obj["arrCity"].value<=0) && (form_obj["dest"][r-1].value<=0) && r>0)
		{
			defaultUrl = true;
		}
	}
	
	params["tc_unister"] 			= tc_unister;
	params["adult"] 				= form_obj["adult"][r].value;
	params["departureTimeRange"] 	= form_obj["departureTimeRange"].value;
	params["returnTimeRange"] 		= form_obj["returnTimeRange"].value;
	
	
	if(r>0)
	{
		params["dest"] 					= replaceUmlauts(form_obj["dest"][r-1].value,0);
		if(form_obj["duration"][r-1].value!="")	params["duration"] 	= form_obj["duration"][r-1].value;
		if(form_obj["optHotel"][r-1].value!="") params["optHotel"] 	= form_obj["optHotel"][r-1].value;
	}
	
	//7params["port"]	 		= 654;
	//params["params"]	 	= 'tt';
	//params["formSelected"]	= MsTrOfferRoute;
	//params["agent"]			= 'travel24.com';
	//params["route"]			= MsTrOfferRoute;

	if(r!=0)
	{
		for(var param in params) params_combined[params_combined.length] = param+'/'+ params[param];
		
		var redirect_url = url + '' + params_combined.join("/");
	}else
	{
		for(var param in params) params_combined[params_combined.length] = param+'='+ params[param];
		
		var redirect_url = url + '' + params_combined.join("&");
	}
	
	if (defaultUrl==true)
	{
		if(r!=1)
		{
			redirect_url = url + '' + 'depAirport/' + params["depAirport"]+'/'+ 'depDate/' + params["depDate"]+'/'+ 'retDate/' + params["retDate"]+'/';
		}else
		{
			if(params["optHotel"])
			{
				redirect_url = url + '' + 'depAirport/' + params["depAirport"]+'/'+ 'depDate/' + params["depDate"]+'/'+ 'retDate/' + params["retDate"]+'/'+ 'optHotel/' + params["optHotel"]+'/';
			}else
			{
				redirect_url = url + '' + 'depAirport/' + params["depAirport"]+'/'+ 'depDate/' + params["depDate"]+'/'+ 'retDate/' + params["retDate"]+'/';
			}

		}
	}
	
	target_url = wm82010_link_handler(redirect_url);
	
	window.open(target_url);
}

var MsTrOfferRoute = "";

(function () {

	//Objekt zum Kapseln von Variablen und Funktionen
	var MsTrOfferObj = 
	{
		id: "wm111631",
		//Ordner für Bilder(Layout) kann hier geändert werden
		img: "http://ads.unister-gmbh.de/affiliate/chroot/home/affiliate/ab-in-den-urlaub.de/Suchboxen/wm_aidu_111631_i/",
		css: "http://ads.unister-gmbh.de/affiliate/chroot/home/affiliate/ab-in-den-urlaub.de/Suchboxen/wm_aidu_111631_i/",
		
		// die gerade selektierte "Route", eins von: flight, cityhotel, flattrip. lastminute
		// wird durch die Radio-Buttons dargestellt und ist darüber änderbar
		route: "", 	// MsTrOfferObj.switchRadio muss nachdem das DOM fertig ist mit 'flight' aufgerufen werden
					// TODO testen ob der Zustand dieser Variable immer mit GUI übereinstimmt
					// moeglicherweise die Initialisierung in MsTrOfferObj.switchRadio überdenken
		
		// Hilfsfunktion Bekannt aus PHP
		lcfirst: function(str)
		{
			return str.charAt(0).toLowerCase() + str.substring(1);
		},
		
		// Hilfsfunktion Bekannt aus PHP
		ucfirst: function(str) 
		{
			return str.charAt(0).toUpperCase() + str.substring(1);
		},
		
		// Hilfsfunktion aus Prototpye kopiert und leicht angepasst
		hasClassName: function(element, className) {
			if (!element) return;
			var elementClassName = element.className;
			if (!elementClassName || elementClassName.length == 0) return false;
			if (elementClassName == className || elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) {
				return true;
			}
			return false;
		}, 
	
		// alle imgs mit passenden Input-Feld als Kalender initialisieren
		// (dazugehoerige Input-Felder haben als id: Img-Id + 'Input')
		initCalendars: function() {
			// alle img-Tags
			var imgs = document.getElementById(MsTrOfferObj.id).getElementsByTagName('img');
			
			for(var i=0; i<imgs.length; ++i) {
				var img = imgs[i];
				if(MsTrOfferObj.hasClassName(img, 'calendarButton')) {
					
					// Das war der Datepicker-Test
					// datePickerController.createDatePicker({id:img.id });
					
					Calendar.setup({inputField : img.id + 'Input', ifFormat : "%d.%m.%Y", button : img.id, align : "Bl", singleClick : true, cssClass: this.id + "Calendar"});
				}
			}
		}
		
	};
	
	// Bei Klick auf die Radio-Buttons das Fieldset wechseln
	MsTrOfferObj.switchRadio = function(newRoute)
	{	    
		var route = MsTrOfferRoute;
		// evtl. nichts machen, (TODO: vielleicht wieder entfernen)
		if(newRoute===MsTrOfferRoute) {
			return;
		}
		
		// Helper-Closure
		var $ = function(id) 
		{ 	
			// console.log('$:' + id);
			return document.getElementById(id); 
		}
		
		// gibt es schon einen selektierten "route" ?
		if(route=="" || !route) {
			// 1. Initialisiere...
			// am Anfang lieber auf Nummer sicher gehen und alle Route-Radios deaktivieren
			// Ausserdem werden hier die radio-event-Listener hinzugefügt
			
			var radiosFieldSet = $(MsTrOfferObj.id+'FieldsetChoosePackage');
			var radios = radiosFieldSet.getElementsByTagName('input');
			for(var i=0; i<radios.length; ++i) {
				// uncheck
				radios[i].checked = '';
			}
			
			// Event-Listener für Klicks auf die Radios wieder via Event-Delegation
			MsTrOfferObj.observe(radiosFieldSet, 'click', function(event) 
			{
				// window.event für IE
				var event = event || window.event;
				var element = event.target || event.srcElement;
				var tagName = element.tagName.toLowerCase();
				var route;
				
				if(tagName=="input") {
					// passenden route parameter aus id des Radio extrahieren
					route = element.id.split("-"); // getrennt nach '-'
					
				} else if(tagName=="label") {
					// extrahiere route aus dem "for"-Attribute vom Label-Element
					// falls dieses Attribute im Browser nicht verfügbar sein sollte, wird diese Funktion nicht unterstuetzt
					// (nur zur Sicherheit)
					if(element.htmlFor) {
						route = element.htmlFor.split("-"); // getrennt nach '-'
					}
				}
				
				// route ist gesetzt, wenn jemand auf ein Label oder ein Input geklickt hat
				if(route) {
					route = route[route.length - 1]; // das letzte "Wort"
					MsTrOfferObj.switchRadio(route);
				}
			});
			
			// Event-Listener für Submit-Button-Klicks
			//MsTrOfferObj.observe( $(MsTrOfferObj.id+'SubmitButton'), 'click', MsTrOfferObj.submit);
			
		} else {
			// Deselektieren der aktuellen route
			// console.log(MsTrOfferObj.id+'fieldset'+MsTrOfferObj.ucfirst(route));
			$(MsTrOfferObj.id+'fieldset'+MsTrOfferObj.ucfirst(route)).style.display='none';
			$(MsTrOfferObj.id+'label-route-'+route).getAttributeNode("class").value='';
			$(MsTrOfferObj.id+'route-'+route).checked='';
		}
		
		// Selektieren der Neuen
		// console.log('newRoute:' + newRoute);
		$(MsTrOfferObj.id+'fieldset'+MsTrOfferObj.ucfirst(newRoute)).style.display='block';
		$(MsTrOfferObj.id+'label-route-'+newRoute).getAttributeNode("class").value='selected';
		$(MsTrOfferObj.id+'route-'+newRoute).checked='checked';
	
		// 3. merken der aktuellen Route für das nächste Mal
		MsTrOfferRoute = newRoute;
	};
	
	//css oder js Dateien in den <head> der Seite einhängen
	MsTrOfferObj.include_file = function(file,type)
	{
		var node = document.createElement(type);
		if(type=="script")
		{
			node.type='text/javascript';
			node.src=file;
		}
		else if(type=="link")
		{
			node.type='text/css';
			node.rel='stylesheet';
			node.href=file;
		}	
		node = document.getElementsByTagName("head")[0].appendChild(node);
	};
	
	// Zum Hinzufügen von Event-Listeners
	MsTrOfferObj.observe = function(element, event, callback)
	{
		if (element.addEventListener) {
			element.addEventListener(event, callback, false);
		} 
		else {
			element.attachEvent("on" + event, callback);
		}
	};
	
	// Generiert einen Get-Request
	/*MsTrOfferObj.submit = function() 
	{
		// Hilfs-Closure
		var append = function(field) 
		{
			var name = '';
			var href = '';
			
			// extrahiere den Namen des Feldes aus den Klassen des elements
			// Format der Klasse: name-<formFieldName>
			var classNames = field.className.split(" ");
			for(var i=0; i<classNames.length; ++i) {
				var index = classNames[i].indexOf("name-");
				if(index==0) {
					name = classNames[i].substring(5);
					//console.log("name", name);
				}
			}
			
			
			// dieser Test schliesst den simulierten Submit-Button aus
			if(name.length>0) {
				// Sonderbehanldung für Radio-Inputs: ignorieren, 
				// sollte nie auftreten
				if(field.type.toLowerCase()=='radio') {
					return href;
				}
				
				name = MsTrOfferObj.lcfirst(name);
				href += (name +  '=' + encodeURI(field.value) + '&');
	
			}
			return href;
		}
		
		var idCurrentFieldSet = MsTrOfferObj.id+'fieldset'+MsTrOfferObj.ucfirst(MsTrOfferObj.route);
		
		var fieldSet = document.getElementById(idCurrentFieldSet);
		var fields = fieldSet.getElementsByTagName('input');
		var fields2 = fieldSet.getElementsByTagName('select');
		
		var href = 'http://www.travel24.com/search/start?';
		
		// Serialisieren der Input-Felder
		for(var i=0; i<fields.length; ++i) {
			href += append(fields[i]);
		}
		
		// Serialisieren der "Selects"
		for(var i=0; i<fields2.length; ++i) {
			href += append(fields2[i]);
		}
		
		// route anhaengen, (letztes Zeichen von href muss '&' sein)
		href += 'route=' + MsTrOfferObj.route;
		
		//console.log(href);
		window.location.href = href;
	};*/
	
	//Ein Datum aus der Zukunft holen
	MsTrOfferObj.getDatum = function(add)
	{
		var jetzt = new Date();
	  
		var lngNewTS = jetzt.getTime() + add*24*3600*1000;
			
		datum = new Date(lngNewTS);
		
		var tag=datum.getDate();
		var monat=datum.getMonth()+1;
		var jahr=datum.getFullYear();
		
		if(tag<10) tag="0"+tag;
		if(monat<10) monat="0"+monat;
		
		return tag+"."+monat+"."+jahr;
	}
	
	//css laden
	MsTrOfferObj.include_file(MsTrOfferObj.css+'ms-travel-screen.css',"link");
	MsTrOfferObj.include_file(MsTrOfferObj.css+'ms-travel-calendar.css',"link");
	
	// war ein Test, Dieser datepicker hat noch nicht funktioniert
	// MsTrOfferObj.include_file('datepicker.js',"script");
	
	//var url = 'http://www.travel24.com/search/start';
	var url = 'http://www.ab-in-den-urlaub.de/ibe/regions/route/flattrip/formSelected/flattrip/params/tt/port/654/';
	var formid = MsTrOfferObj.id+'Formular';
	var form = '<form class="'+formid+'" target="_blank" method="get" action="'+url+'">';
	var sub = '';
	var td = '';
    
    
    if (typeof(window.whitelabel) == 'undefined')
      whitelabel = false;
    if (whitelabel != true) 
      whitelabel = false;

      
	if(tc_unister==5)
	{
		form = '<form id="'+formid+'" class="clearfix" onSubmit="wm82010_submit(\''+formid+'\', \''+url+'\')">';
		sub = '<input type="hidden" name="' + zanox_tracking_param + '" value="'+url+'?">';
	}
	if(tc_unister==6)
	{
		form = '<form id="'+formid+'" class="clearfix" onSubmit="wm82010_submit(\''+formid+'\', \''+url+'\')">';
	}	
	if(tc_unister==8)
	{		
		form = '<form id="'+formid+'" class="clearfix" onSubmit="wm82010_submit(\''+formid+'\', \''+url+'\')">';
	}
	if(tc_unister==11)
	{
		form = '<form id="'+formid+'" class="clearfix" onSubmit="wm82010_submit(\''+formid+'\', \''+url+'\')">';
	}
	
	//Die HTML-Seite in den Browser legen
	MsTrOfferObj.createStructure = function()
	{
        if (whitelabel)
            var microsite='<div id="'+MsTrOfferObj.id+'" class="floatfix whitelabel">';
        else
            var microsite='<div id="'+MsTrOfferObj.id+'" class="floatfix">\ ';
        microsite += '<div id="'+MsTrOfferObj.id+'Wrapper">\
				<h2 class="quickSearch" style="background:transparent url('+MsTrOfferObj.img+'headline.png) repeat-x scroll -5px -8px; "><span style="position:absolute; left:30px;top:8px; color: #FFffff;">Schnellsuche</span> <span class="h2Claim">Alle Angebote mit Tiefpreisgarantie!</span></h2>\
                <span class="cl" style="background:transparent url('+MsTrOfferObj.img+'sprite_layout.png) repeat-x scroll -20px -463px; "><span>&nbsp;</span></span>\
                <span class="cr" style="background:transparent url('+MsTrOfferObj.img+'sprite_layout.png) repeat-x scroll -25px -463px; "><span>&nbsp;</span></span>\
				'+form+'\
				'+sub+'\
				<fieldset id="'+MsTrOfferObj.id+'FieldsetChoosePackage" class="fieldsetChoosePackage">\
					<div class="clearfix">\
							<label for="route-flight" class="" id="'+MsTrOfferObj.id+'label-route-flight"><input type="radio" value="flight" id="'+MsTrOfferObj.id+'route-flight"> Flug</label>\
							<label for="route-cityhotel" class="" id="'+MsTrOfferObj.id+'label-route-cityhotel"><input type="radio" value="cityhotel" id="'+MsTrOfferObj.id+'route-cityhotel"> Hotel</label>\
							<label for="route-flattrip" class="selected" id="'+MsTrOfferObj.id+'label-route-flattrip"><input type="radio" value="flattrip" id="'+MsTrOfferObj.id+'route-flattrip" checked="checked"> Pauschalreise</label>\
					</div>\
				</fieldset>\
				<fieldset id="'+MsTrOfferObj.id+'fieldsetFlight" class="fieldsetFlight" style="display:none">\
					<legend>Flug</legend>\
					<ul class="clearfix">\
						<li class="liFlight1_2">\
							<input type="hidden" value="1" name="adult">\
							<label for="'+MsTrOfferObj.id+'DepAirport">Abflughafen</label>\
							<input type="text" id="'+MsTrOfferObj.id+'DepAirport" name="depAirport">\
						</li>\
						<li class="liFlight1_3">\
							<label for="'+MsTrOfferObj.id+'ArrCity">Reiseziel</label>\
							<input type="text" id="'+MsTrOfferObj.id+'ArrCity" name="arrCity">\
						</li>\
						<li class="liFlight2">\
							<label for="'+MsTrOfferObj.id+'DepDateInput">Hinflug</label>\
							<input id="'+MsTrOfferObj.id+'DepDateInput" name="depDate" type="text" value="" mindate="1277882821"><img class="calendarButton" id="'+MsTrOfferObj.id+'DepDate" alt="Kalender aufrufen" src="'+MsTrOfferObj.img+'calendar.gif">\
						</li>\
						<li class="liFlight3">\
							<label for="'+MsTrOfferObj.id+'DepartureTimeRange">Flexibilit&auml;t</label>\
							<select id="'+MsTrOfferObj.id+'DepartureTimeRange" class="liFlight3" name="departureTimeRange">\
								<option value="2" label="+2 Tage">+2 Tage</option>\
								<option value="1" label="+1 Tag">+1 Tag</option>\
								<option value="0" label="+-0 Tage" selected="selected">+-0 Tage</option>\
								<option value="-1" label="-1 Tag">-1 Tag</option>\
								<option value="-2" label="-2 Tage">-2 Tage</option>\
							</select>\
						</li>\
						<li class="liFlight2_2">\
							<label for="'+MsTrOfferObj.id+'RetDateInput">R&uuml;ckflug</label>\
							<input type="text" value="" id="'+MsTrOfferObj.id+'RetDateInput" name="retDate"><img class="calendarButton" id="'+MsTrOfferObj.id+'RetDate" alt="Kalender aufrufen" src="'+MsTrOfferObj.img+'calendar.gif">\
						</li>\
						<li class="liFlight3_3">\
							<label for="'+MsTrOfferObj.id+'ReturnTimeRange">Flexibilit&auml;t</label>\
							<select id="'+MsTrOfferObj.id+'ReturnTimeRange" class="liFlight3" name="returnTimeRange">\
								<option value="2" label="+2 Tage">+2 Tage</option>\
								<option value="1" label="+1 Tag">+1 Tag</option>\
								<option value="0" label="+-0 Tage" selected="selected">+-0 Tage</option>\
								<option value="-1" label="-1 Tag">-1 Tag</option>\
								<option value="-2" label="-2 Tage">-2 Tage</option>\
							</select>\
						</li>\
					</ul>\
				</fieldset>\
				<fieldset class="fieldsetCityhotel" id="'+MsTrOfferObj.id+'fieldsetCityhotel" style="display:none">\
					<legend>Hotel</legend>\
					<ul class="clearfix">\
						<li class="liHotel1">\
							<input type="hidden" value="2" name="adult">\
							<label for="'+MsTrOfferObj.id+'Dest">Reiseziel</label>\
							<select id="'+MsTrOfferObj.id+'Dest" name="dest" style="color:#000; border:1px solid #7f9db9;background-color: #FAFAFA;">\
								<optgroup label="Alle Reiseziele">\
								<option value="" label="-- beliebig --" selected="selected">-- beliebig --</option>\
								</optgroup>\
								<option value="30035" label="Afrika">Afrika</option>\
								<option value="30029" label="&Auml;gypten">&Auml;gypten</option>\
								<option value="30020" label="Arabische Halbinsel">Arabische Halbinsel</option>\
								<option value="30037" label="Asien">Asien</option>\
								<option value="30018" label="Australien">Australien</option>\
								<option value="30006" label="Benelux">Benelux</option>\
								<option value="30000" label="Deutschland Nord">Deutschland Nord</option>\
								<option value="30001" label="Deutschland Ost">Deutschland Ost</option>\
								<option value="30040" label="Deutschland Specials">Deutschland Specials</option>\
								<option value="30002" label="Deutschland S&uuml;d">Deutschland S&uuml;d</option>\
								<option value="30003" label="Deutschland West">Deutschland West</option>\
								<option value="30042" label="Europa">Europa</option>\
								<option value="30009" label="Frankreich">Frankreich</option>\
								<option value="30043" label="Gl&uuml;ckshotels">Gl&uuml;ckshotels</option>\
								<option value="30038" label="Griechenland">Griechenland</option>\
								<option value="30023" label="Großbritannien / Irland">Großbritannien / Irland</option>\
								<option value="30033" label="Indischer Ozean">Indischer Ozean</option>\
								<option value="30031" label="Island">Island</option>\
								<option value="30008" label="Italien">Italien</option>\
								<option value="30027" label="Karibik">Karibik</option>\
								<option value="30034" label="Kreuzfahrten">Kreuzfahrten</option>\
								<option value="30014" label="Kroatien">Kroatien</option>\
								<option value="30019" label="Liechtenstein">Liechtenstein</option>\
								<option value="30024" label="Malta">Malta</option>\
								<option value="30039" label="Mittelamerika">Mittelamerika</option>\
								<option value="30041" label="Mitteleuropa">Mitteleuropa</option>\
								<option value="30028" label="Neuseeland">Neuseeland</option>\
								<option value="30004" label="&Ouml;sterreich">&Ouml;sterreich</option>\
								<option value="30025" label="Osteuropa">Osteuropa</option>\
								<option value="30012" label="Polen">Polen</option>\
								<option value="30022" label="Portugal">Portugal</option>\
								<option value="30044" label="Rundreisen">Rundreisen</option>\
								<option value="30005" label="Schweiz">Schweiz</option>\
								<option value="30007" label="Skandinavien">Skandinavien</option>\
								<option value="30011" label="Slowakei / Tschechien">Slowakei / Tschechien</option>\
								<option value="30015" label="Slowenien">Slowenien</option>\
								<option value="30017" label="Sonstige">Sonstige</option>\
								<option value="30010" label="Spanien">Spanien</option>\
								<option value="30032" label="S&uuml;dafrika">S&uuml;dafrika</option>\
								<option value="30036" label="S&uuml;damerika">S&uuml;damerika</option>\
								<option value="30030" label="S&uuml;dsee">S&uuml;dsee</option>\
								<option value="30021" label="T&uuml;rkei">T&uuml;rkei</option>\
								<option value="30013" label="Ungarn">Ungarn</option>\
								<option value="30016" label="USA / Kanada">USA / Kanada</option>\
								<option value="30026" label="Zypern">Zypern</option>\
							</select>\
						</li>\
						<li class="liHotel1_2">\
							<label for="'+MsTrOfferObj.id+'Duration">Reisedauer</label>\
							<select id="'+MsTrOfferObj.id+'Duration" name="duration" style="color:#000; border:1px solid #7f9db9;background-color: #FAFAFA;">\
								<option value="" label="-- beliebig --" selected="selected">-- beliebig --</option>\
								<option value="6_1" label="1 Tag">1 Tag</option>\
								<option value="6_2" label="2 Tage">2 Tage</option>\
								<option value="6_3" label="3 Tage">3 Tage</option>\
								<option value="6_4" label="4 Tage">4 Tage</option>\
								<option value="6_5" label="5 Tage">5 Tage</option>\
								<option value="6_6" label="6 Tage">6 Tage</option>\
								<option value="6_7" label="7 Tage">7 Tage</option>\
								<option value="6_8" label="8 Tage">8 Tage</option>\
								<option value="6_9" label="9 Tage">9 Tage</option>\
								<option value="6_10" label="10 Tage">10 Tage</option>\
								<option value="6_11" label="11 Tage">11 Tage</option>\
								<option value="6_12" label="12 Tage">12 Tage</option>\
								<option value="6_13" label="13 Tage">13 Tage</option>\
								<option value="6_14" label="14 Tage">14 Tage</option>\
								<option value="6_15" label="15 Tage">15 Tage</option>\
								<option value="6_16" label="16 Tage">16 Tage</option>\
								<option value="6_17" label="17 Tage">17 Tage</option>\
								<option value="6_18" label="18 Tage">18 Tage</option>\
								<option value="6_19" label="19 Tage">19 Tage</option>\
								<option value="6_20" label="20 Tage">20 Tage</option>\
								<option value="6_21" label="21 Tage">21 Tage</option>\
								<option value="13" label="&gt; 22 Tage">&gt; 22 Tage</option>\
							</select>\
						</li>\
						<li class="liHotel2">\
							<label for="'+MsTrOfferObj.id+'hotel-fromInput">von</label>\
							<input id="'+MsTrOfferObj.id+'hotel-fromInput" name="depDate" type="text" minDate="1277882821" value="" /><img id="'+MsTrOfferObj.id+'hotel-from" class="calendarButton" src="'+MsTrOfferObj.img+'calendar.gif" alt="Kalender aufrufen" />\
						</li>\
						<li class="liHotel2_2">\
							<label for="'+MsTrOfferObj.id+'hotel-tillInput">bis</label>\
							<input id="'+MsTrOfferObj.id+'hotel-tillInput" name="retDate" type="text" minDate="1277882821" value="" /><img id="'+MsTrOfferObj.id+'hotel-till" class="calendarButton" src="'+MsTrOfferObj.img+'calendar.gif" alt="Kalender aufrufen" />\
						</li>\
						<li class="liHotel3">\
							<label for="'+MsTrOfferObj.id+'OptHotel">Hotelname</label>\
							<input type="hidden" name="formSelected" value="ownarrival" id="'+MsTrOfferObj.id+'formSelected" />\
							<input id="'+MsTrOfferObj.id+'OptHotel" type="text" name="optHotel" /><br>\
							<span style="font-size: 0.8em;">(falls Sie ein bestimmtes Hotel suchen)</span>\
						</li>\
					</ul>\
				</fieldset>\
				<fieldset id="'+MsTrOfferObj.id+'fieldsetFlattrip" style="">\
					<legend>Pauschalreise</legend>\
					<ul class="clearfix">\
						<li class="liFlight1_1">\
							<input type="hidden" value="1" name="adult">\
							<label for="'+MsTrOfferObj.id+'DepAirport">Abflughafen</label>\
							<select id="'+MsTrOfferObj.id+'DepAirport" name="depAirport2" class="dd_over" style="width: 201px; border:1px solid #7f9db9; background-color: #FAFAFA;">\
								<option class="city" selected="selected" label="-- beliebig --" value="-1">-- beliebig --</option>\
								<option class="country" label="Deutschland" value="60000">Deutschland</option>\
								<option class="city" label="Nord" value="5000">Nord</option>\
								<option class="city" label="Ost" value="5003">Ost</option>\
								<option class="city" label="S&uuml;d" value="5001">S&uuml;d</option>\
								<option class="city" label="West" value="5002">West</option>\
								<option class="city" label="-- Berlin-Sch&ouml;nefeld" value="4">-- Berlin-Sch&ouml;nefeld</option>\
								<option class="city" label="-- Berlin-Tegel" value="5">-- Berlin-Tegel</option>\
								<option class="city" label="-- Bremen" value="8">-- Bremen</option>\
								<option class="city" label="-- Dortmund" value="10">-- Dortmund</option>\
								<option class="city" label="-- Dresden" value="11">-- Dresden</option>\
								<option class="city" label="-- D&uuml;sseldorf" value="12">-- D&uuml;sseldorf</option>\
								<option class="city" label="-- Erfurt" value="14">-- Erfurt</option>\
								<option class="city" label="-- Frankfurt am Main" value="15">-- Frankfurt am Main</option>\
								<option class="city" label="-- Frankfurt-Hahn" value="16">-- Frankfurt-Hahn</option>\
								<option class="city" label="-- Friedrichshafen" value="17">-- Friedrichshafen</option>\
								<option class="city" label="-- Hamburg" value="20">-- Hamburg</option>\
								<option class="city" label="-- Hannover" value="21">-- Hannover</option>\
								<option class="city" label="-- Karlsruhe/Baden-Baden" value="24">-- Karlsruhe/Baden-Baden</option>\
								<option class="city" label="-- K&ouml;ln/Bonn" value="28">-- K&ouml;ln/Bonn</option>\
								<option class="city" label="-- Leipzig/Halle" value="29">-- Leipzig/Halle</option>\
								<option class="city" label="-- L&uuml;beck" value="31">-- L&uuml;beck</option>\
								<option class="city" label="-- Magdeburg-Cochstedt" value="1159">-- Magdeburg-Cochstedt</option>\
								<option class="city" label="-- Memmingen" value="90">-- Memmingen</option>\
								<option class="city" label="-- M&uuml;nchen" value="36">-- M&uuml;nchen</option>\
								<option class="city" label="-- M&uuml;nster/Osnabr&uuml;ck" value="37">-- M&uuml;nster/Osnabr&uuml;ck</option>\
								<option class="city" label="-- Niederrhein (Weeze)" value="49">-- Niederrhein (Weeze)</option>\
								<option class="city" label="-- N&uuml;rnberg" value="38">-- N&uuml;rnberg</option>\
								<option class="city" label="-- Paderborn/Lippstadt" value="39">-- Paderborn/Lippstadt</option>\
								<option class="city" label="-- Rostock-Laage" value="40">-- Rostock-Laage</option>\
								<option class="city" label="-- Saarbr&uuml;cken" value="41">-- Saarbr&uuml;cken</option>\
								<option class="city" label="-- Schwerin-Parchim" value="43">-- Schwerin-Parchim</option>\
								<option class="city" label="-- Stuttgart" value="45">-- Stuttgart</option>\
								<option class="city" label="-- Zweibr&uuml;cken" value="48">-- Zweibr&uuml;cken</option>\
								<option class="country" label="Luxemburg" value="60001">Luxemburg</option>\
								<option class="city" label="-- Luxemburg" value="33">-- Luxemburg</option>\
								<option class="country" label="Belgien" value="60002">Belgien</option>\
								<option class="city" label="-- Br&uuml;ssel" value="9">-- Br&uuml;ssel</option>\
								<option class="city" label="-- Br&uuml;ssel-Charleroi" value="949">-- Br&uuml;ssel-Charleroi</option>\
								<option class="city" label="-- L&uuml;ttich (Liege)" value="32">-- L&uuml;ttich (Liege)</option>\
								<option class="country" label="Frankreich" value="60003">Frankreich</option>\
								<option class="city" label="-- Strasbourg" value="44">-- Strasbourg</option>\
								<option class="country" label="Niederlande" value="60004">Niederlande</option>\
								<option class="city" label="-- Amsterdam-Schiphol" value="1">-- Amsterdam-Schiphol</option>\
								<option class="city" label="-- Eindhoven" value="73">-- Eindhoven</option>\
								<option class="city" label="-- Enschede" value="13">-- Enschede</option>\
								<option class="city" label="-- Groningen" value="81">-- Groningen</option>\
								<option class="city" label="-- Maastricht-Aachen" value="34">-- Maastricht-Aachen</option>\
								<option class="country" label="&Ouml;sterreich" value="60005">&Ouml;sterreich</option>\
								<option class="city" label="-- Graz" value="19">-- Graz</option>\
								<option class="city" label="-- Innsbruck" value="23">-- Innsbruck</option>\
								<option class="city" label="-- Klagenfurt" value="27">-- Klagenfurt</option>\
								<option class="city" label="-- Linz" value="30">-- Linz</option>\
								<option class="city" label="-- Salzburg" value="42">-- Salzburg</option>\
								<option class="city" label="-- Wien" value="46">-- Wien</option>\
								<option class="country" label="Schweiz" value="60006">Schweiz</option>\
								<option class="city" label="-- Basel-Mulhouse-Freiburg" value="3">-- Basel-Mulhouse-Freiburg</option>\
								<option class="city" label="-- Bern-Belp" value="1158">-- Bern-Belp</option>\
								<option class="city" label="-- Genf" value="18">-- Genf</option>\
								<option class="city" label="-- Z&uuml;rich" value="47">-- Z&uuml;rich</option>\
								<option class="country" label="Polen" value="60007">Polen</option>\
								<option class="city" label="-- Krakau-Balice" value="939">-- Krakau-Balice</option>\
								<option class="city" label="-- Warschau" value="77">-- Warschau</option>\
								<option class="country" label="D&auml;nemark" value="60008">D&auml;nemark</option>\
								<option class="city" label="-- Billund" value="94">-- Billund</option>\
							</select>\
						</li>\
						<li class="liHotel1_2">\
							<input type="hidden" value="2" name="adult">\
							<label for="'+MsTrOfferObj.id+'Dest">Reiseziel</label>\
							<select id="'+MsTrOfferObj.id+'Dest" style="color:#000; border:1px solid #7f9db9;background-color: #FAFAFA;" name="dest">\
								<optgroup label="Alle Reiseziele">\
									<option value="" label="-- beliebig --" selected="selected">-- beliebig --</option>\
								</optgroup>\
								<optgroup label="alle">\
									<option label="Afrika" value="10011">Afrika</option>\
									<option label="Asien" value="10017">Asien</option>\
									<option label="Balearen, Mallorca, Ibiza, Menorca" value="10000">Balearen, Mallorca, Ibiza, Menorca</option>\
									<option label="Deutschland" value="10029">Deutschland</option>\
									<option label="Dom. Republik" value="10013">Dom. Republik</option>\
									<option label="Dubai, Arabische Halbinsel" value="10020">Dubai, Arabische Halbinsel</option>\
									<option label="Fly &amp; Drive" value="10035">Fly &amp; Drive</option>\
									<option label="Fly &amp; Stay" value="10038">Fly &amp; Stay</option>\
									<option label="Frankreich" value="10021">Frankreich</option>\
									<option label="Gl&uuml;ckshotels" value="10032">Gl&uuml;ckshotels</option>\
									<option label="Griechenland Festland" value="10006">Griechenland Festland</option>\
									<option label="Griechische Inseln" value="10005">Griechische Inseln</option>\
									<option label="Indischer Ozean" value="10036">Indischer Ozean</option>\
									<option label="Italien, Malta" value="10007">Italien, Malta</option>\
									<option label="Kanada" value="10024">Kanada</option>\
									<option label="Kanaren" value="10001">Kanaren</option>\
									<option label="Karibik" value="10014">Karibik</option>\
									<option label="Kreuzfahrten" value="10034">Kreuzfahrten</option>\
									<option label="Kroatien, Bulgarien, Osteuropa" value="10030">Kroatien, Bulgarien, Osteuropa</option>\
									<option label="Kuba" value="10012">Kuba</option>\
									<option label="Mexiko" value="10016">Mexiko</option>\
									<option label="Mittelamerika" value="10037">Mittelamerika</option>\
									<option label="Mitteleuropa" value="10028">Mitteleuropa</option>\
									<option label="Naher Osten" value="10026">Naher Osten</option>\
									<option label="Nordeuropa" value="10022">Nordeuropa</option>\
									<option label="Portugal" value="10002">Portugal</option>\
									<option label="Rundreisen" value="10033">Rundreisen</option>\
									<option label="Spanisches Festland" value="10003">Spanisches Festland</option>\
									<option label="S&uuml;damerika" value="10023">S&uuml;damerika</option>\
									<option label="Thailand" value="10027">Thailand</option>\
									<option label="Tunesien, Marokko" value="10008">Tunesien, Marokko</option>\
									<option label="T&uuml;rkei" value="10004">T&uuml;rkei</option>\
									<option label="USA" value="10015">USA</option>\
									<option label="Zypern" value="10019">Zypern</option>\
									<option label="&Auml;gypten" value="10010">&Auml;gypten</option>\
								</optgroup>\
								<optgroup label="nach Entfernung">\
									<option label="Nahstrecke (ca 2.5h Flug)" value="12">Nahstrecke (ca 2.5h Flug)</option>\
									<option label="Mittelstrecke (ca 4h Flug)" value="13">Mittelstrecke (ca 4h Flug)</option>\
									<option label="Fernstrecke (ab 6h Flug)" value="14">Fernstrecke (ab 6h Flug)</option>\
								   </optgroup>\
								<optgroup label="sonstige">\
									<option label="Mittelmeer" value="0">Mittelmeer</option>\
									<option label="Spanien-Portugal" value="1">Spanien-Portugal</option>\
									<option label="Griechenland-T&uuml;rkei-Zypern" value="2">Griechenland-T&uuml;rkei-Zypern</option>\
									<option label="Kanarische Inseln" value="3">Kanarische Inseln</option>\
									<option label="Mallorca-Menorca-Ibiza" value="4">Mallorca-Menorca-Ibiza</option>\
									<option label="Karibik-Mexiko-Dom.Rep" value="5">Karibik-Mexiko-Dom.Rep</option>\
									<option label="&Auml;gypten-Israel-VAE" value="6">&Auml;gypten-Israel-VAE</option>\
									<option label="Asien-Thailand-Malediven" value="7">Asien-Thailand-Malediven</option>\
									<option label="Afrika-Mauritius-Seychellen" value="8">Afrika-Mauritius-Seychellen</option>\
									<option label="Tunesien-Marokko" value="9">Tunesien-Marokko</option>\
									<option label="Kroatien-Bulgarien" value="10">Kroatien-Bulgarien</option>\
									<option label="Besondere-Tauchregionen" value="11">Besondere-Tauchregionen</option>\
								   </optgroup>\
							</select>\
						</li>\
						<li class="liHotel1_1">\
							<label for="'+MsTrOfferObj.id+'Duration">Reisedauer</label>\
							<select id="'+MsTrOfferObj.id+'Duration" style="color:#000; border:1px solid #7f9db9;background-color: #FAFAFA;" name="duration">\
								<option value="" label="-- beliebig --" selected="selected">-- beliebig --</option>\
								<option label="1-4 Tage" value="9">1-4 Tage</option>\
								<option label="5-8 Tage" value="10">5-8 Tage</option>\
								<option label="1 Woche" value="6_7">1 Woche</option>\
								<option label="9-12 Tage" value="7">9-12 Tage</option>\
								<option label="13-15 Tage" value="3">13-15 Tage</option>\
								<option label="2 Wochen" value="6_14">2 Wochen</option>\
								<option label="16-22 Tage" value="12">16-22 Tage</option>\
								<option label="3 Wochen" value="6_21">3 Wochen</option>\
								<option label="&gt; 22 Tage" value="13">&gt; 22 Tage</option>\
							</select>\
						</li>\
						<li class="liHotel2">\
							<label for="'+MsTrOfferObj.id+'flattrip-fromInput">von</label>\
							<input id="'+MsTrOfferObj.id+'flattrip-fromInput" name="depDate" type="text" minDate="1277882821" value=""><img id="'+MsTrOfferObj.id+'flattrip-from" class="calendarButton" src="'+MsTrOfferObj.img+'calendar.gif" alt="Kalender aufrufen" />\
						</li>\
						<li class="liHotel2_2">\
							<label for="'+MsTrOfferObj.id+'flattrip-tillInput">bis</label>\
							<input id="'+MsTrOfferObj.id+'flattrip-tillInput" name="retDate" type="text" minDate="1277882821" value=""><img id="'+MsTrOfferObj.id+'flattrip-till" class="calendarButton" src="'+MsTrOfferObj.img+'calendar.gif" alt="Kalender aufrufen" />\
						</li>\
					</ul>\
				</fieldset>\
				<fieldset id="'+MsTrOfferObj.id+'fieldsetLastminute" style="display:none">\
					<legend>Last Minute</legend>\
					<ul class="clearfix">\
						<li class="liHotel1">\
							<input type="hidden" value="2" name="adult">\
							<label for="'+MsTrOfferObj.id+'Dest">Reiseziel</label>\
							<select id="'+MsTrOfferObj.id+'Dest" name="dest">\
								<optgroup label="Alle Reiseziele">\
									<option value="" label="-- beliebig --" selected="selected">-- beliebig --</option>\
								</optgroup>\
								<optgroup label="alle">\
									<option label="Afrika" value="10011">Afrika</option>\
									<option label="Asien" value="10017">Asien</option>\
									<option label="Balearen, Mallorca, Ibiza, Menorca" value="10000">Balearen, Mallorca, Ibiza, Menorca</option>\
									<option label="Deutschland" value="10029">Deutschland</option>\
									<option label="Dom. Republik" value="10013">Dom. Republik</option>\
									<option label="Dubai, Arabische Halbinsel" value="10020">Dubai, Arabische Halbinsel</option>\
									<option label="Fly &amp; Drive" value="10035">Fly &amp; Drive</option>\
									<option label="Fly &amp; Stay" value="10038">Fly &amp; Stay</option>\
									<option label="Frankreich" value="10021">Frankreich</option>\
									<option label="Gl&uuml;ckshotels" value="10032">Gl&uuml;ckshotels</option>\
									<option label="Griechenland Festland" value="10006">Griechenland Festland</option>\
									<option label="Griechische Inseln" value="10005">Griechische Inseln</option>\
									<option label="Indischer Ozean" value="10036">Indischer Ozean</option>\
									<option label="Italien, Malta" value="10007">Italien, Malta</option>\
									<option label="Kanada" value="10024">Kanada</option>\
									<option label="Kanaren" value="10001">Kanaren</option>\
									<option label="Karibik" value="10014">Karibik</option>\
									<option label="Kreuzfahrten" value="10034">Kreuzfahrten</option>\
									<option label="Kroatien, Bulgarien, Osteuropa" value="10030">Kroatien, Bulgarien, Osteuropa</option>\
									<option label="Kuba" value="10012">Kuba</option>\
									<option label="Mexiko" value="10016">Mexiko</option>\
									<option label="Mittelamerika" value="10037">Mittelamerika</option>\
									<option label="Mitteleuropa" value="10028">Mitteleuropa</option>\
									<option label="Naher Osten" value="10026">Naher Osten</option>\
									<option label="Nordeuropa" value="10022">Nordeuropa</option>\
									<option label="Portugal" value="10002">Portugal</option>\
									<option label="Rundreisen" value="10033">Rundreisen</option>\
									<option label="Spanisches Festland" value="10003">Spanisches Festland</option>\
									<option label="S&uuml;damerika" value="10023">S&uuml;damerika</option>\
									<option label="Thailand" value="10027">Thailand</option>\
									<option label="Tunesien, Marokko" value="10008">Tunesien, Marokko</option>\
									<option label="T&uuml;rkei" value="10004">T&uuml;rkei</option>\
									<option label="USA" value="10015">USA</option>\
									<option label="Zypern" value="10019">Zypern</option>\
									<option label="&Auml;gypten" value="10010">&Auml;gypten</option>\
								</optgroup>\
								<optgroup label="nach Entfernung">\
									<option label="Nahstrecke (ca 2.5h Flug)" value="12">Nahstrecke (ca 2.5h Flug)</option>\
									<option label="Mittelstrecke (ca 4h Flug)" value="13">Mittelstrecke (ca 4h Flug)</option>\
									<option label="Fernstrecke (ab 6h Flug)" value="14">Fernstrecke (ab 6h Flug)</option>\
								   </optgroup>\
								<optgroup label="sonstige">\
									<option label="Mittelmeer" value="0">Mittelmeer</option>\
									<option label="Spanien-Portugal" value="1">Spanien-Portugal</option>\
									<option label="Griechenland-T&uuml;rkei-Zypern" value="2">Griechenland-T&uuml;rkei-Zypern</option>\
									<option label="Kanarische Inseln" value="3">Kanarische Inseln</option>\
									<option label="Mallorca-Menorca-Ibiza" value="4">Mallorca-Menorca-Ibiza</option>\
									<option label="Karibik-Mexiko-Dom.Rep" value="5">Karibik-Mexiko-Dom.Rep</option>\
									<option label="&Auml;gypten-Israel-VAE" value="6">&Auml;gypten-Israel-VAE</option>\
									<option label="Asien-Thailand-Malediven" value="7">Asien-Thailand-Malediven</option>\
									<option label="Afrika-Mauritius-Seychellen" value="8">Afrika-Mauritius-Seychellen</option>\
									<option label="Tunesien-Marokko" value="9">Tunesien-Marokko</option>\
									<option label="Kroatien-Bulgarien" value="10">Kroatien-Bulgarien</option>\
									<option label="Besondere-Tauchregionen" value="11">Besondere-Tauchregionen</option>\
								   </optgroup>\
							</select>\
						</li>\
						<li class="liHotel1">\
							<label for="'+MsTrOfferObj.id+'Duration">Reisedauer</label>\
							<select id="'+MsTrOfferObj.id+'Duration" name="duration">\
								<option value="" label="-- beliebig --" selected="selected">-- beliebig --</option>\
								<option label="1-4 Tage" value="9">1-4 Tage</option>\
								<option label="5-8 Tage" value="10">5-8 Tage</option>\
								<option label="1 Woche" value="6_7">1 Woche</option>\
								<option label="9-12 Tage" value="7">9-12 Tage</option>\
								<option label="13-15 Tage" value="3">13-15 Tage</option>\
								<option label="2 Wochen" value="6_14">2 Wochen</option>\
								<option label="16-22 Tage" value="12">16-22 Tage</option>\
								<option label="3 Wochen" value="6_21">3 Wochen</option>\
								<option label="&gt; 22 Tage" value="13">&gt; 22 Tage</option>\
							</select>\
						</li>\
						<li class="liHotel2">\
							<label for="'+MsTrOfferObj.id+'lastminute-fromInput">von</label>\
							<input id="'+MsTrOfferObj.id+'lastminute-fromInput" name="depDate" type="text" minDate="1277882821" value=""><img id="'+MsTrOfferObj.id+'lastminute-from" class="calendarButton" src="'+MsTrOfferObj.img+'calendar.gif" alt="Kalender aufrufen" />\
						</li>\
						<li class="liHotel2_2">\
							<label for="'+MsTrOfferObj.id+'lastminute-tillInput">bis</label>\
							<input id="'+MsTrOfferObj.id+'lastminute-tillInput" name="retDate" type="text" minDate="1277882821" value=""><img id="'+MsTrOfferObj.id+'lastminute-till" class="calendarButton" src="'+MsTrOfferObj.img+'calendar.gif" alt="Kalender aufrufen" />\
						</li>\
						<li class="liHotel3">\
							<label for="'+MsTrOfferObj.id+'OptHotel">Hotelname</label>\
							<input type="hidden" name="formSelected" value="ownarrival" id="'+MsTrOfferObj.id+'formSelected" />\
							<input id="'+MsTrOfferObj.id+'OptHotel" type="text" name="optHotel" /><br>\
							<span style="font-size: 0.8em;">(falls Sie ein bestimmtes Hotel suchen)</span>\
						</li>\
					</ul>\
				</fieldset>\
				<fieldset class="fieldsetSearch">\
					<div class="unister_coupon">\
						<img src="'+MsTrOfferObj.img+'unister_coupon.png" alt="50 &#128" />\
						<p>+50,-&#128 Zuschuss zu jeder Buchung gratis dazu! </p>\
					</div>\
					<input id="'+MsTrOfferObj.id+'SubmitButton" type="submit" class="button_search" value=" " style="background:transparent url('+MsTrOfferObj.img+'form_button.png) no-repeat scroll 0 0;"/>\
				</fieldset>\
			</form>\
			</div>\
			<div class="unister_box">\
			</div>\
		</div>';
		
		document.writeln(microsite);
	};
	
	//Die Grundstruktur der Microsite bauen
	MsTrOfferObj.createStructure();
	
	//F&uuml;hrt Dinge aus, die erst nach dem Laden der Seite passieren sollen
	MsTrOfferObj.createData = function()
	{		
		//Datumsfelder aktuell setzen
		document.getElementById(MsTrOfferObj.id+'DepDateInput').value=MsTrOfferObj.getDatum(7);
		document.getElementById(MsTrOfferObj.id+'RetDateInput').value=MsTrOfferObj.getDatum(14);
		
		document.getElementById(MsTrOfferObj.id+'hotel-fromInput').value=MsTrOfferObj.getDatum(7);
		document.getElementById(MsTrOfferObj.id+'hotel-tillInput').value=MsTrOfferObj.getDatum(37);		
		
		document.getElementById(MsTrOfferObj.id+'flattrip-fromInput').value=MsTrOfferObj.getDatum(7);
		document.getElementById(MsTrOfferObj.id+'flattrip-tillInput').value=MsTrOfferObj.getDatum(37);
		
		document.getElementById(MsTrOfferObj.id+'lastminute-fromInput').value=MsTrOfferObj.getDatum(7);
		document.getElementById(MsTrOfferObj.id+'lastminute-tillInput').value=MsTrOfferObj.getDatum(37);
		
		// Initialisierung der Radios, MsTrOfferObj.route ist initial ""
		// Nachteil: wenn man nach der ausgelösten Suche zurück geht (Browser-Back-Button), ist immer "Flug" ausgewählt
		// die Input-Felder behalten ihren Wert
		MsTrOfferObj.switchRadio('flattrip');
		
		MsTrOfferObj.initCalendars();
	};
	
	// Füge einen Event-Listener hinzu, der die Microsite bei Druck auf Enter innerhalb eines Microsite-Elementes "abschickt"
	// nutzt Event-Delegation, d.h. jedes keyup-Event wird erstmal gefangen und dann ueberprueft ob es relevant ist
	MsTrOfferObj.observe(document.getElementById(MsTrOfferObj.id), 'keyup', function(event) 
	{
		// window.event für IE
		var event = event || window.event;
		
		// nur bei Druck auf Enter
		/*if(event.keyCode==13) {
			var element = event.target || event.srcElement;
			// nur wenn innerhalb eines input feldes oder einer select box
			var tagName = element.tagName.toLowerCase();
			if(tagName=='input' || tagName=='select') {
				MsTrOfferObj.submit();
			}
		}*/
	});
	
	//Beim Laden der Seite die CreateData-Funktion aufrufen, ein dom:loaded-Event (Prototype) waere hier sicherer, gibt es aber nicht nativ
	MsTrOfferObj.observe(window, 'load', MsTrOfferObj.createData);
	
	
	
	
	
	
	
	
	
	
	
	
	////// Der Calendar //////
	
	
	
	
	
	Calendar = function (a, b, c, d) {
	    this.activeDiv = null;
	    this.currentDateEl = null;
	    this.getDateStatus = null;
	    this.getDateToolTip = null;
	    this.getDateText = null;
	    this.timeout = null;
	    this.onSelected = c || null;
	    this.onClose = d || null;
	    this.dragging = false;
	    this.hidden = false;
	    this.minYear = 1970;
	    this.maxYear = 2050;
	    this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];
	    this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
	    this.isPopup = true;
	    this.weekNumbers = true;
	    this.firstDayOfWeek = typeof a == "number" ? a : Calendar._FD;this.showsOtherMonths = false;this.dateStr = b;this.ar_days = null;this.showsTime = false;this.time24 = true;this.yearStep = 2;this.hiliteToday = true;this.multiple = null;this.table = null;this.element = null;this.tbody = null;this.firstdayname = null;this.monthsCombo = null;this.yearsCombo = null;this.hilitedMonth = null;this.activeMonth = null;this.hilitedYear = null;this.activeYear = null;this.dateClicked = false;
	    if (typeof Calendar._SDN == "undefined") {
	        if (typeof Calendar._SDN_len == "undefined") Calendar._SDN_len = 3;
	        var e = new Array();
	        for (var i = 8; i > 0;) {
	            e[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len)
	        }
	        Calendar._SDN = e;
	        if (typeof Calendar._SMN_len == "undefined") Calendar._SMN_len = 3;
	        e = new Array();
	        for (var i = 12; i > 0;) {
	            e[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len)
	        }
	        Calendar._SMN = e
	    }
	};
	Calendar._C = null;
	Calendar.is_ie = (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent));
	Calendar.is_ie5 = (Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent));
	Calendar.is_opera = /opera/i.test(navigator.userAgent);
	Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);
	Calendar.getAbsolutePos = function (a) {
	    var b = 0,
	        ST = 0;
	    var c = /^div$/i.test(a.tagName);
	    if (c && a.scrollLeft) b = a.scrollLeft;
	    if (c && a.scrollTop) ST = a.scrollTop;
	    var r = {
	        x: a.offsetLeft - b,
	        y: a.offsetTop - ST
	    };
	    if (a.offsetParent) {
	        var d = this.getAbsolutePos(a.offsetParent);
	        r.x += d.x;
	        r.y += d.y
	    }
	    return r
	};
	Calendar.isRelated = function (a, b) {
	    var c = b.relatedTarget;
	    if (!c) {
	        var d = b.type;
	        if (d == "mouseover") {
	            c = b.fromElement
	        } else if (d == "mouseout") {
	            c = b.toElement
	        }
	    }
	    while (c) {
	        if (c == a) {
	            return true
	        }
	        c = c.parentNode
	    }
	    return false
	};
	Calendar.removeClass = function (a, b) {
	    if (!(a && a.className)) {
	        return
	    }
	    var c = a.className.split(" ");
	    var d = new Array();
	    for (var i = c.length; i > 0;) {
	        if (c[--i] != b) {
	            d[d.length] = c[i]
	        }
	    }
	    a.className = d.join(" ")
	};
	Calendar.addClass = function (a, b) {
	    Calendar.removeClass(a, b);
	    a.className += " " + b
	};
	Calendar.getElement = function (a) {
	    var f = Calendar.is_ie ? window.event.srcElement : a.currentTarget;
	    while (f.nodeType != 1 || /^div$/i.test(f.tagName)) f = f.parentNode;
	    return f
	};
	Calendar.getTargetElement = function (a) {
	    var f = Calendar.is_ie ? window.event.srcElement : a.target;
	    while (f.nodeType != 1) f = f.parentNode;
	    return f
	};
	Calendar.stopEvent = function (a) {
	    a || (a = window.event);
	    if (Calendar.is_ie) {
	        a.cancelBubble = true;
	        a.returnValue = false
	    } else {
	        a.preventDefault();
	        a.stopPropagation()
	    }
	    return false
	};
	Calendar.addEvent = function (a, b, c) {
	    if (a.attachEvent) {
	        a.attachEvent("on" + b, c)
	    } else if (a.addEventListener) {
	        a.addEventListener(b, c, true)
	    } else {
	        a["on" + b] = c
	    }
	};
	Calendar.removeEvent = function (a, b, c) {
	    if (a.detachEvent) {
	        a.detachEvent("on" + b, c)
	    } else if (a.removeEventListener) {
	        a.removeEventListener(b, c, true)
	    } else {
	        a["on" + b] = null
	    }
	};
	Calendar.createElement = function (a, b) {
	    var c = null;
	    if (document.createElementNS) {
	        c = document.createElementNS("http://www.w3.org/1999/xhtml", a)
	    } else {
	        c = document.createElement(a)
	    }
	    if (typeof b != "undefined") {
	        b.appendChild(c)
	    }
	    return c
	};
	Calendar._add_evs = function (a) {
	    with(Calendar) {
	        addEvent(a, "mouseover", dayMouseOver);
	        addEvent(a, "mousedown", dayMouseDown);
	        addEvent(a, "mouseout", dayMouseOut);
	        if (is_ie) {
	            addEvent(a, "dblclick", dayMouseDblClick);
	            a.setAttribute("unselectable", true)
	        }
	    }
	};
	Calendar.findMonth = function (a) {
	    if (typeof a.month != "undefined") {
	        return a
	    } else if (typeof a.parentNode.month != "undefined") {
	        return a.parentNode
	    }
	    return null
	};
	Calendar.findYear = function (a) {
	    if (typeof a.year != "undefined") {
	        return a
	    } else if (typeof a.parentNode.year != "undefined") {
	        return a.parentNode
	    }
	    return null
	};
	Calendar.showMonthsCombo = function () {
	    var a = Calendar._C;
	    if (!a) {
	        return false
	    }
	    var a = a;
	    var b = a.activeDiv;
	    var c = a.monthsCombo;
	    if (a.hilitedMonth) {
	        Calendar.removeClass(a.hilitedMonth, "hilite")
	    }
	    if (a.activeMonth) {
	        Calendar.removeClass(a.activeMonth, "active")
	    }
	    var d = a.monthsCombo.getElementsByTagName("div")[a.date.getMonth()];
	    Calendar.addClass(d, "active");
	    a.activeMonth = d;
	    var s = c.style;
	    s.display = "block";
	    if (b.navtype < 0) s.left = b.offsetLeft + "px";
	    else {
	        var e = c.offsetWidth;
	        if (typeof e == "undefined") e = 50;
	        s.left = (b.offsetLeft + b.offsetWidth - e) + "px"
	    }
	    s.top = (b.offsetTop + b.offsetHeight) + "px"
	};
	Calendar.showYearsCombo = function (a) {
	    var b = Calendar._C;
	    if (!b) {
	        return false
	    }
	    var b = b;
	    var c = b.activeDiv;
	    var d = b.yearsCombo;
	    if (b.hilitedYear) {
	        Calendar.removeClass(b.hilitedYear, "hilite")
	    }
	    if (b.activeYear) {
	        Calendar.removeClass(b.activeYear, "active")
	    }
	    b.activeYear = null;
	    var Y = b.date.getFullYear() + (a ? 1 : -1);
	    var e = d.firstChild;
	    var f = false;
	    for (var i = 12; i > 0; --i) {
	        if (Y >= b.minYear && Y <= b.maxYear) {
	            e.innerHTML = Y;
	            e.year = Y;
	            e.style.display = "block";
	            f = true
	        } else {
	            e.style.display = "none"
	        }
	        e = e.nextSibling;
	        Y += a ? b.yearStep : -b.yearStep
	    }
	    if (f) {
	        var s = d.style;
	        s.display = "block";
	        if (c.navtype < 0) s.left = c.offsetLeft + "px";
	        else {
	            var g = d.offsetWidth;
	            if (typeof g == "undefined") g = 50;
	            s.left = (c.offsetLeft + c.offsetWidth - g) + "px"
	        }
	        s.top = (c.offsetTop + c.offsetHeight) + "px"
	    }
	};
	Calendar.tableMouseUp = function (a) {
	    var b = Calendar._C;
	    if (!b) {
	        return false
	    }
	    if (b.timeout) {
	        clearTimeout(b.timeout)
	    }
	    var c = b.activeDiv;
	    if (!c) {
	        return false
	    }
	    var d = Calendar.getTargetElement(a);
	    a || (a = window.event);
	    Calendar.removeClass(c, "active");
	    if (d == c || d.parentNode == c) {
	        Calendar.cellClick(c, a)
	    }
	    var e = Calendar.findMonth(d);
	    var f = null;
	    if (e) {
	        f = new Date(b.date);
	        if (e.month != f.getMonth()) {
	            f.setMonth(e.month);
	            b.setDate(f);
	            b.dateClicked = false;
	            b.callHandler()
	        }
	    } else {
	        var g = Calendar.findYear(d);
	        if (g) {
	            f = new Date(b.date);
	            if (g.year != f.getFullYear()) {
	                f.setFullYear(g.year);
	                b.setDate(f);
	                b.dateClicked = false;
	                b.callHandler()
	            }
	        }
	    }
	    with(Calendar) {
	        removeEvent(document, "mouseup", tableMouseUp);
	        removeEvent(document, "mouseover", tableMouseOver);
	        removeEvent(document, "mousemove", tableMouseOver);
	        b._hideCombos();
	        _C = null;
	        return stopEvent(a)
	    }
	};
	Calendar.tableMouseOver = function (a) {
	    var b = Calendar._C;
	    if (!b) {
	        return
	    }
	    var c = b.activeDiv;
	    var d = Calendar.getTargetElement(a);
	    if (d == c || d.parentNode == c) {
	        Calendar.addClass(c, "hilite active");
	        Calendar.addClass(c.parentNode, "rowhilite")
	    } else {
	        if (typeof c.navtype == "undefined" || (c.navtype != 50 && (c.navtype == 0 || Math.abs(c.navtype) > 2))) Calendar.removeClass(c, "active");
	        Calendar.removeClass(c, "hilite");
	        Calendar.removeClass(c.parentNode, "rowhilite")
	    }
	    a || (a = window.event);
	    if (c.navtype == 50 && d != c) {
	        var e = Calendar.getAbsolutePos(c);
	        var w = c.offsetWidth;
	        var x = a.clientX;
	        var f;
	        var g = true;
	        if (x > e.x + w) {
	            f = x - e.x - w;
	            g = false
	        } else f = e.x - x;
	        if (f < 0) f = 0;
	        var h = c._range;
	        var j = c._current;
	        var k = Math.floor(f / 10) % h.length;
	        for (var i = h.length; --i >= 0;) if (h[i] == j) break;
	        while (k-- > 0) if (g) {
	            if (--i < 0) i = h.length - 1
	        } else if (++i >= h.length) i = 0;
	        var l = h[i];
	        c.innerHTML = l;
	        b.onUpdateTime()
	    }
	    var m = Calendar.findMonth(d);
	    if (m) {
	        if (m.month != b.date.getMonth()) {
	            if (b.hilitedMonth) {
	                Calendar.removeClass(b.hilitedMonth, "hilite")
	            }
	            Calendar.addClass(m, "hilite");
	            b.hilitedMonth = m
	        } else if (b.hilitedMonth) {
	            Calendar.removeClass(b.hilitedMonth, "hilite")
	        }
	    } else {
	        if (b.hilitedMonth) {
	            Calendar.removeClass(b.hilitedMonth, "hilite")
	        }
	        var n = Calendar.findYear(d);
	        if (n) {
	            if (n.year != b.date.getFullYear()) {
	                if (b.hilitedYear) {
	                    Calendar.removeClass(b.hilitedYear, "hilite")
	                }
	                Calendar.addClass(n, "hilite");
	                b.hilitedYear = n
	            } else if (b.hilitedYear) {
	                Calendar.removeClass(b.hilitedYear, "hilite")
	            }
	        } else if (b.hilitedYear) {
	            Calendar.removeClass(b.hilitedYear, "hilite")
	        }
	    }
	    return Calendar.stopEvent(a)
	};
	Calendar.tableMouseDown = function (a) {
	    if (Calendar.getTargetElement(a) == Calendar.getElement(a)) {
	        return Calendar.stopEvent(a)
	    }
	};
	Calendar.calDragIt = function (a) {
	    var b = Calendar._C;
	    if (!(b && b.dragging)) {
	        return false
	    }
	    var c;
	    var d;
	    if (Calendar.is_ie) {
	        d = window.event.clientY + document.body.scrollTop;
	        c = window.event.clientX + document.body.scrollLeft
	    } else {
	        c = a.pageX;
	        d = a.pageY
	    }
	    b.hideShowCovered();
	    var e = b.element.style;
	    e.left = (c - b.xOffs) + "px";
	    e.top = (d - b.yOffs) + "px";
	    return Calendar.stopEvent(a)
	};
	Calendar.calDragEnd = function (a) {
	    var b = Calendar._C;
	    if (!b) {
	        return false
	    }
	    b.dragging = false;
	    with(Calendar) {
	        removeEvent(document, "mousemove", calDragIt);
	        removeEvent(document, "mouseup", calDragEnd);
	        tableMouseUp(a)
	    }
	    b.hideShowCovered()
	};
	Calendar.dayMouseDown = function (a) {
	    var b = Calendar.getElement(a);
	    if (b.disabled) {
	        return false
	    }
	    var c = b.calendar;
	    c.activeDiv = b;
	    Calendar._C = c;
	    if (b.navtype != 300) with(Calendar) {
	        if (b.navtype == 50) {
	            b._current = b.innerHTML;
	            addEvent(document, "mousemove", tableMouseOver)
	        } else addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover",
	        tableMouseOver);
	        addClass(b, "hilite active");
	        addEvent(document, "mouseup", tableMouseUp)
	    } else if (c.isPopup) {
	        c._dragStart(a)
	    }
	    if (b.navtype == -1 || b.navtype == 1) {
	        if (c.timeout) clearTimeout(c.timeout);
	        c.timeout = setTimeout("Calendar.showMonthsCombo()", 250)
	    } else if (b.navtype == -2 || b.navtype == 2) {
	        if (c.timeout) clearTimeout(c.timeout);
	        c.timeout = setTimeout((b.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)",
	        250)
	    } else {
	        c.timeout = null
	    }
	    return Calendar.stopEvent(a)
	};
	Calendar.dayMouseDblClick = function (a) {
	    Calendar.cellClick(Calendar.getElement(a), a || window.event);
	    if (Calendar.is_ie) {
	        document.selection.empty()
	    }
	};
	Calendar.dayMouseOver = function (a) {
	    var b = Calendar.getElement(a);
	    if (Calendar.isRelated(b, a) || Calendar._C || b.disabled) {
	        return false
	    }
	    if (b.ttip) {
	        if (b.ttip.substr(0, 1) == "_") {
	            b.ttip = b.caldate.print(b.calendar.ttDateFormat) + b.ttip.substr(1)
	        }
	        b.calendar.tooltips.innerHTML = b.ttip
	    }
	    if (b.navtype != 300) {
	        Calendar.addClass(b, "hilite");
	        if (b.caldate) {
	            Calendar.addClass(b.parentNode, "rowhilite")
	        }
	    }
	    return Calendar.stopEvent(a)
	};
	Calendar.dayMouseOut = function (a) {
	    with(Calendar) {
	        var b = getElement(a);
	        if (isRelated(b, a) || _C || b.disabled) return false;
	        removeClass(b, "hilite");
	        if (b.caldate) removeClass(b.parentNode, "rowhilite");
	        if (b.calendar) b.calendar.tooltips.innerHTML = _TT["SEL_DATE"];
	        return stopEvent(a)
	    }
	};
	Calendar.cellClick = function (c, d) {
	    var e = c.calendar;
	    var f = false;
	    var g = false;
	    var h = null;
	    if (typeof c.navtype == "undefined") {
	        if (e.currentDateEl) {
	            Calendar.removeClass(e.currentDateEl, "selected");
	            Calendar.addClass(c, "selected");
	            f = (e.currentDateEl == c);
	            if (!f) {
	                e.currentDateEl = c
	            }
	        }
	        e.date.setDateOnly(c.caldate);
	        h = e.date;
	        var j = !(e.dateClicked = !c.otherMonth);
	        if (!j && !e.currentDateEl) e._toggleMultipleDate(new Date(h));
	        else g = !c.disabled;
	        if (j) e._init(e.firstDayOfWeek, h)
	    } else {
	        if (c.navtype == 200) {
	            Calendar.removeClass(c, "hilite");
	            e.callCloseHandler();
	            return
	        }
	        h = new Date(e.date);
	        if (c.navtype == 0) h.setDateOnly(new Date());
	        e.dateClicked = false;
	        var k = h.getFullYear();
	        var l = h.getMonth();
	
	        function setMonth(m) {
	            var a = h.getDate();
	            var b = h.getMonthDays(m);
	            if (a > b) {
	                h.setDate(b)
	            }
	            h.setMonth(m)
	        };
	        switch (c.navtype) {
	        case 400:
	            Calendar.removeClass(c, "hilite");
	            var n = Calendar._TT["ABOUT"];
	            if (typeof n != "undefined") {
	                n += e.showsTime ? Calendar._TT["ABOUT_TIME"] : ""
	            } else {
	                n = "Help and about box text is not translated into this language.\n" + "If you know this language and you feel generous please update\n" + "the corresponding file in \"lang\" subdir to match calendar-en.js\n" + "and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n" + "Thank you!\n" + "http://dynarch.com/mishoo/calendar.epl\n"
	            }
	            alert(n);
	            return;
	        case -2:
	            if (k > e.minYear) {
	                h.setFullYear(k - 1)
	            }
	            break;
	        case -1:
	            if (l > 0) {
	                setMonth(l - 1)
	            } else if (k-- > e.minYear) {
	                h.setFullYear(k);
	                setMonth(11)
	            }
	            break;
	        case 1:
	            if (l < 11) {
	                setMonth(l + 1)
	            } else if (k < e.maxYear) {
	                h.setFullYear(k + 1);
	                setMonth(0)
	            }
	            break;
	        case 2:
	            if (k < e.maxYear) {
	                h.setFullYear(k + 1)
	            }
	            break;
	        case 100:
	            e.setFirstDayOfWeek(c.fdow);
	            return;
	        case 50:
	            var o = c._range;
	            var p = c.innerHTML;
	            for (var i = o.length; --i >= 0;) if (o[i] == p) break;
	            if (d && d.shiftKey) {
	                if (--i < 0) i = o.length - 1
	            } else if (++i >= o.length) i = 0;
	            var q = o[i];
	            c.innerHTML = q;
	            e.onUpdateTime();
	            return;
	        case 0:
	            if ((typeof e.getDateStatus == "function") && e.getDateStatus(h, h.getFullYear(), h.getMonth(), h.getDate())) {
	                return false
	            }
	            break
	        }
	        if (!h.equalsTo(e.date)) {
	            e.setDate(h);
	            g = true
	        } else if (c.navtype == 0) g = f = true
	    }
	    if (g) {
	        d && e.callHandler()
	    }
	    if (f) {
	        Calendar.removeClass(c, "hilite");
	        d && e.callCloseHandler()
	    }
	};
	Calendar.prototype.create = function (p) {
	    var q = null;
	    if (!p) {
	        q = document.getElementsByTagName("body")[0];
	        this.isPopup = true
	    } else {
	        q = p;
	        this.isPopup = false
	    }
	    this.date = this.dateStr ? new Date(this.dateStr) : new Date();
	    var r = Calendar.createElement("table");this.table = r;r.cellSpacing = 0;r.cellPadding = 0;r.calendar = this;Calendar.addEvent(r, "mousedown", Calendar.tableMouseDown);
	    var s = Calendar.createElement("div");this.element = s;s.className = this.params.cssClass;
	    if (this.isPopup) {
	        s.style.position = "absolute";
	        s.style.display = "none"
	    }
	    s.appendChild(r);
	    var t = Calendar.createElement("thead", r);
	    var u = null;
	    var v = null;
	    var w = this;
	    var x = function (a, b, c) {
	        u = Calendar.createElement("td", v);
	        u.colSpan = b;
	        u.className = "button";
	        if (c != 0 && Math.abs(c) <= 2) u.className += " nav";
	        Calendar._add_evs(u);
	        u.calendar = w;
	        u.navtype = c;
	        u.innerHTML = "<div unselectable='on'>" + a + "</div>";
	        return u
	    };v = Calendar.createElement("tr", t);
	    var z = 6;
	    (this.isPopup) && --z;
	    (this.weekNumbers) && ++z;x("?", 1, 400).ttip = Calendar._TT["INFO"];this.title = x("", z, 300);this.title.className = "title";
	    if (this.isPopup) {
	        this.title.ttip = Calendar._TT["DRAG_TO_MOVE"];
	        this.title.style.cursor = "move";
	        x("&#x00d7;", 1, 200).ttip = Calendar._TT["CLOSE"]
	    }
	    v = Calendar.createElement("tr", t);v.className = "headrow";this._nav_py = x("&#x00ab;", 1, -2);this._nav_py.ttip = Calendar._TT["PREV_YEAR"];this._nav_pm = x("&#x2039;", 1, -1);this._nav_pm.ttip = Calendar._TT["PREV_MONTH"];this._nav_now = x(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3,
	    0);this._nav_now.ttip = Calendar._TT["GO_TODAY"];this._nav_nm = x("&#x203a;", 1, 1);this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];this._nav_ny = x("&#x00bb;", 1, 2);this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"];v = Calendar.createElement("tr", t);v.className = "daynames";
	    if (this.weekNumbers) {
	        u = Calendar.createElement("td", v);
	        u.className = "name wn";
	        u.innerHTML = Calendar._TT["WK"]
	    }
	    for (var i = 7; i > 0; --i) {
	        u = Calendar.createElement("td", v);
	        if (!i) {
	            u.navtype = 100;
	            u.calendar = this;
	            Calendar._add_evs(u)
	        }
	    }
	    this.firstdayname = (this.weekNumbers) ? v.firstChild.nextSibling : v.firstChild;this._displayWeekdays();
	    var A = Calendar.createElement("tbody", r);this.tbody = A;
	    for (i = 6; i > 0; --i) {
	        v = Calendar.createElement("tr", A);
	        if (this.weekNumbers) {
	            u = Calendar.createElement("td", v)
	        }
	        for (var j = 7; j > 0; --j) {
	            u = Calendar.createElement("td", v);
	            u.calendar = this;
	            Calendar._add_evs(u)
	        }
	    }
	    if (this.showsTime) {
	        v = Calendar.createElement("tr", A);
	        v.className = "time";
	        u = Calendar.createElement("td", v);
	        u.className = "time";
	        u.colSpan = 2;
	        u.innerHTML = Calendar._TT["TIME"] || "&nbsp;";
	        u = Calendar.createElement("td", v);
	        u.className = "time";
	        u.colSpan = this.weekNumbers ? 4 : 3;
	        (function () {
	            function makeTimePart(a, b, c, d) {
	                var e = Calendar.createElement("span", u);
	                e.className = a;
	                e.innerHTML = b;
	                e.calendar = w;
	                e.ttip = Calendar._TT["TIME_PART"];
	                e.navtype = 50;
	                e._range = [];
	                if (typeof c != "number") e._range = c;
	                else {
	                    for (var i = c; i <= d; ++i) {
	                        var f;
	                        if (i < 10 && d >= 10) f = '0' + i;
	                        else f = '' + i;
	                        e._range[e._range.length] = f
	                    }
	                }
	                Calendar._add_evs(e);
	                return e
	            };
	            var g = w.date.getHours();
	            var j = w.date.getMinutes();
	            var k = !w.time24;
	            var l = (g > 12);
	            if (k && l) g -= 12;
	            var H = makeTimePart("hour", g, k ? 1 : 0,
	            k ? 12 : 23);
	            var n = Calendar.createElement("span", u);
	            n.innerHTML = ":";
	            n.className = "colon";
	            var M = makeTimePart("minute", j, 0, 59);
	            var o = null;
	            u = Calendar.createElement("td", v);
	            u.className = "time";
	            u.colSpan = 2;
	            if (k) o = makeTimePart("ampm", l ? "pm" : "am",
	            ["am", "pm"]);
	            else u.innerHTML = "&nbsp;";
	            w.onSetTime = function () {
	                var a, g = this.date.getHours(),
	                    j = this.date.getMinutes();
	                if (k) {
	                    a = (g >= 12);
	                    if (a) g -= 12;
	                    if (g == 0) g = 12;
	                    o.innerHTML = a ? "pm" : "am"
	                }
	                H.innerHTML = (g < 10) ? ("0" + g) : g;M.innerHTML = (j < 10) ? ("0" + j) : j
	            };
	            w.onUpdateTime = function () {
	                var a = this.date;
	                var h = parseInt(H.innerHTML, 10);
	                if (k) {
	                    if (/pm/i.test(o.innerHTML) && h < 12) h += 12;
	                    else if (/am/i.test(o.innerHTML) && h == 12) h = 0
	                }
	                var d = a.getDate();
	                var m = a.getMonth();
	                var y = a.getFullYear();
	                a.setHours(h);
	                a.setMinutes(parseInt(M.innerHTML, 10));
	                a.setFullYear(y);
	                a.setMonth(m);
	                a.setDate(d);
	                this.dateClicked = false;
	                this.callHandler()
	            }
	        })()
	    } else {
	        this.onSetTime = this.onUpdateTime = function () {}
	    }
	    var B = Calendar.createElement("tfoot", r);v = Calendar.createElement("tr", B);v.className = "footrow";u = x(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7,
	    300);u.className = "ttip";
	    if (this.isPopup) {
	        u.ttip = Calendar._TT["DRAG_TO_MOVE"];
	        u.style.cursor = "move"
	    }
	    this.tooltips = u;s = Calendar.createElement("div", this.element);this.monthsCombo = s;s.className = "combo";
	    for (i = 0; i < Calendar._MN.length; ++i) {
	        var C = Calendar.createElement("div");
	        C.className = Calendar.is_ie ? "label-IEfix" : "label";C.month = i;C.innerHTML = Calendar._SMN[i];s.appendChild(C)
	    }
	    s = Calendar.createElement("div", this.element);this.yearsCombo = s;s.className = "combo";
	    for (i = 12; i > 0; --i) {
	        var D = Calendar.createElement("div");
	        D.className = Calendar.is_ie ? "label-IEfix" : "label";s.appendChild(D)
	    }
	    this._init(this.firstDayOfWeek, this.date);q.appendChild(this.element)
	};
	Calendar._keyEvent = function (b) {
	    var c = window._dynarch_popupCalendar;
	    if (!c || c.multiple) return false;
	    (Calendar.is_ie) && (b = window.event);
	    var d = (Calendar.is_ie || b.type == "keypress"),
	        K = b.keyCode;
	    if (b.ctrlKey) {
	        switch (K) {
	        case 37:
	            d && Calendar.cellClick(c._nav_pm);
	            break;
	        case 38:
	            d && Calendar.cellClick(c._nav_py);
	            break;
	        case 39:
	            d && Calendar.cellClick(c._nav_nm);
	            break;
	        case 40:
	            d && Calendar.cellClick(c._nav_ny);
	            break;
	        default:
	            return false
	        }
	    } else switch (K) {
	    case 32:
	        Calendar.cellClick(c._nav_now);
	        break;
	    case 27:
	        d && c.callCloseHandler();
	        break;
	    case 37:
	    case 38:
	    case 39:
	    case 40:
	        if (d) {
	            var e, x, y, ne, el, step;
	            e = K == 37 || K == 38;
	            step = (K == 37 || K == 39) ? 1 : 7;
	
	            function setVars() {
	                el = c.currentDateEl;
	                var p = el.pos;
	                x = p & 15;
	                y = p >> 4;
	                ne = c.ar_days[y][x]
	            };setVars();
	
	            function prevMonth() {
	                var a = new Date(c.date);
	                a.setDate(a.getDate() - step);
	                c.setDate(a)
	            };
	
	            function nextMonth() {
	                var a = new Date(c.date);
	                a.setDate(a.getDate() + step);
	                c.setDate(a)
	            };
	            while (1) {
	                switch (K) {
	                case 37:
	                    if (--x >= 0) ne = c.ar_days[y][x];
	                    else {
	                        x = 6;
	                        K = 38;
	                        continue
	                    }
	                    break;
	                case 38:
	                    if (--y >= 0) ne = c.ar_days[y][x];
	                    else {
	                        prevMonth();
	                        setVars()
	                    }
	                    break;
	                case 39:
	                    if (++x < 7) ne = c.ar_days[y][x];
	                    else {
	                        x = 0;
	                        K = 40;
	                        continue
	                    }
	                    break;
	                case 40:
	                    if (++y < c.ar_days.length) ne = c.ar_days[y][x];
	                    else {
	                        nextMonth();
	                        setVars()
	                    }
	                    break
	                }
	                break
	            }
	            if (ne) {
	                if (!ne.disabled) Calendar.cellClick(ne);
	                else if (e) prevMonth();
	                else nextMonth()
	            }
	        }
	        break;
	    case 13:
	        if (d) Calendar.cellClick(c.currentDateEl, b);
	        break;
	    default:
	        return false
	    }
	    return Calendar.stopEvent(b)
	};
	Calendar.prototype._init = function (a, b) {
	    var c = new Date(),
	        TY = c.getFullYear(),
	        TM = c.getMonth(),
	        TD = c.getDate();
	    this.table.style.visibility = "hidden";
	    var d = b.getFullYear();
	    if (d < this.minYear) {
	        d = this.minYear;
	        b.setFullYear(d)
	    } else if (d > this.maxYear) {
	        d = this.maxYear;
	        b.setFullYear(d)
	    }
	    this.firstDayOfWeek = a;
	    this.date = new Date(b);
	    var e = b.getMonth();
	    var f = b.getDate();
	    var g = b.getMonthDays();
	    b.setDate(1);
	    var h = (b.getDay() - this.firstDayOfWeek) % 7;
	    if (h < 0) h += 7;
	    b.setDate(-h);
	    b.setDate(b.getDate() + 1);
	    var k = this.tbody.firstChild;
	    var l = Calendar._SMN[e];
	    var m = this.ar_days = new Array();
	    var n = Calendar._TT["WEEKEND"];
	    var o = this.multiple ? (this.datesCells = {}) : null;
	    for (var i = 0; i < 6; ++i, k = k.nextSibling) {
	        var p = k.firstChild;
	        if (this.weekNumbers) {
	            p.className = "day wn";
	            p.innerHTML = b.getWeekNumber();
	            p = p.nextSibling
	        }
	        k.className = "daysrow";
	        var q = false,
	            iday, dpos = m[i] = [];
	        for (var j = 0; j < 7; ++j, p = p.nextSibling, b.setDate(iday + 1)) {
	            iday = b.getDate();
	            var r = b.getDay();
	            p.className = "day";
	            p.pos = i << 4 | j;
	            dpos[j] = p;
	            var s = (b.getMonth() == e);
	            if (!s) {
	                if (this.showsOtherMonths) {
	                    p.className += " othermonth";
	                    p.otherMonth = true
	                } else {
	                    p.className = "emptycell";
	                    p.innerHTML = "&nbsp;";
	                    p.disabled = true;
	                    continue
	                }
	            } else {
	                p.otherMonth = false;
	                q = true
	            }
	            p.disabled = false;
	            p.innerHTML = this.getDateText ? this.getDateText(b, iday) : iday;
	            if (o) o[b.print("%Y%m%d")] = p;
	            if (this.getDateStatus) {
	                var t = this.getDateStatus(b, d, e, iday);
	                if (this.getDateToolTip) {
	                    var u = this.getDateToolTip(b, d, e, iday);
	                    if (u) p.title = u
	                }
	                if (t === true) {
	                    p.className += " disabled";
	                    p.disabled = true
	                } else {
	                    if (/disabled/i.test(t)) p.disabled = true;
	                    p.className += " " + t
	                }
	            }
	            if (!p.disabled) {
	                p.caldate = new Date(b);
	                p.ttip = "_";
	                if (!this.multiple && s && iday == f && this.hiliteToday) {
	                    p.className += " selected";
	                    this.currentDateEl = p
	                }
	                if (b.getFullYear() == TY && b.getMonth() == TM && iday == TD) {
	                    p.className += " today";
	                    p.ttip += Calendar._TT["PART_TODAY"]
	                }
	                if (n.indexOf(r.toString()) != -1) p.className += p.otherMonth ? " oweekend" : " weekend"
	            }
	        }
	        if (!(q || this.showsOtherMonths)) k.className = "emptyrow"
	    }
	    this.title.innerHTML = Calendar._MN[e] + ", " + d;this.onSetTime();this.table.style.visibility = "visible";this._initMultipleDates()
	};
	Calendar.prototype._initMultipleDates = function () {
	    if (this.multiple) {
	        for (var i in this.multiple) {
	            var a = this.datesCells[i];
	            var d = this.multiple[i];
	            if (!d) continue;
	            if (a) a.className += " selected"
	        }
	    }
	};
	Calendar.prototype._toggleMultipleDate = function (a) {
	    if (this.multiple) {
	        var b = a.print("%Y%m%d");
	        var c = this.datesCells[b];
	        if (c) {
	            var d = this.multiple[b];
	            if (!d) {
	                Calendar.addClass(c, "selected");
	                this.multiple[b] = a
	            } else {
	                Calendar.removeClass(c, "selected");
	                delete this.multiple[b]
	            }
	        }
	    }
	};
	Calendar.prototype.setDateToolTipHandler = function (a) {
	    this.getDateToolTip = a
	};
	Calendar.prototype.setDate = function (a) {
	    if (!a.equalsTo(this.date)) {
	        this._init(this.firstDayOfWeek, a)
	    }
	};
	Calendar.prototype.refresh = function () {
	    this._init(this.firstDayOfWeek, this.date)
	};
	Calendar.prototype.setFirstDayOfWeek = function (a) {
	    this._init(a, this.date);
	    this._displayWeekdays()
	};
	Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (a) {
	    this.getDateStatus = a
	};
	Calendar.prototype.setRange = function (a, z) {
	    this.minYear = a;
	    this.maxYear = z
	};
	Calendar.prototype.callHandler = function () {
	    if (this.onSelected) {
	        this.onSelected(this, this.date.print(this.dateFormat))
	    }
	};
	Calendar.prototype.callCloseHandler = function () {
	    if (this.onClose) {
	        this.onClose(this)
	    }
	    this.hideShowCovered()
	};
	Calendar.prototype.destroy = function () {
	    var a = this.element.parentNode;
	    a.removeChild(this.element);
	    Calendar._C = null;
	    window._dynarch_popupCalendar = null
	};
	Calendar.prototype.reparent = function (a) {
	    var b = this.element;
	    b.parentNode.removeChild(b);
	    a.appendChild(b)
	};
	Calendar._checkCalendar = function (a) {
	    var b = window._dynarch_popupCalendar;
	    if (!b) {
	        return false
	    }
	    var c = Calendar.is_ie ? Calendar.getElement(a) : Calendar.getTargetElement(a);
	    for (; c != null && c != b.element; c = c.parentNode);
	    if (c == null) {
	        window._dynarch_popupCalendar.callCloseHandler();
	        return Calendar.stopEvent(a)
	    }
	};
	Calendar.prototype.show = function () {
	    var a = this.table.getElementsByTagName("tr");
	    for (var i = a.length; i > 0;) {
	        var b = a[--i];
	        Calendar.removeClass(b, "rowhilite");
	        var c = b.getElementsByTagName("td");
	        for (var j = c.length; j > 0;) {
	            var d = c[--j];
	            Calendar.removeClass(d, "hilite");
	            Calendar.removeClass(d, "active")
	        }
	    }
	    this.element.style.display = "block";
	    this.hidden = false;
	    if (this.isPopup) {
	        window._dynarch_popupCalendar = this;
	        Calendar.addEvent(document, "keydown", Calendar._keyEvent);
	        Calendar.addEvent(document, "keypress", Calendar._keyEvent);
	        Calendar.addEvent(document, "mousedown", Calendar._checkCalendar)
	    }
	    this.hideShowCovered()
	};
	Calendar.prototype.hide = function () {
	    if (this.isPopup) {
	        Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
	        Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
	        Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar)
	    }
	    this.element.style.display = "none";
	    this.hidden = true;
	    this.hideShowCovered()
	};
	Calendar.prototype.showAt = function (x, y) {
	    var s = this.element.style;
	    s.left = x + "px";
	    s.top = y + "px";
	    this.show()
	};
	Calendar.prototype.showAtElement = function (e, f) {
	    var g = this;
	    var p = Calendar.getAbsolutePos(e);
	    if (!f || typeof f != "string") {
	        this.showAt(p.x, p.y + e.offsetHeight);
	        return true
	    }
	    function fixPosition(a) {
	        if (a.x < 0) a.x = 0;
	        if (a.y < 0) a.y = 0;
	        var b = document.createElement("div");
	        var s = b.style;
	        s.position = "absolute";
	        s.right = s.bottom = s.width = s.height = "0px";
	        document.body.appendChild(b);
	        var c = Calendar.getAbsolutePos(b);
	        document.body.removeChild(b);
	        if (Calendar.is_ie) {
	            c.y += document.body.scrollTop;
	            c.x += document.body.scrollLeft
	        } else {
	            c.y += window.scrollY;
	            c.x += window.scrollX
	        }
	        var d = a.x + a.width - c.x;
	        if (d > 0) a.x -= d;
	        d = a.y + a.height - c.y;
	        if (d > 0) a.y -= d
	    };
	    this.element.style.display = "block";
	    Calendar.continuation_for_the_fucking_khtml_browser = function () {
	        var w = g.element.offsetWidth;
	        var h = g.element.offsetHeight;
	        g.element.style.display = "none";
	        var a = f.substr(0, 1);
	        var b = "l";
	        if (f.length > 1) {
	            b = f.substr(1, 1)
	        }
	        switch (a) {
	        case "T":
	            p.y -= h;
	            break;
	        case "B":
	            p.y += e.offsetHeight;
	            break;
	        case "C":
	            p.y += (e.offsetHeight - h) / 2;
	            break;
	        case "t":
	            p.y += e.offsetHeight - h;
	            break;
	        case "b":
	            break
	        }
	        switch (b) {
	        case "L":
	            p.x -= w;
	            break;
	        case "R":
	            p.x += e.offsetWidth;
	            break;
	        case "C":
	            p.x += (e.offsetWidth - w) / 2;
	            break;
	        case "l":
	            p.x += e.offsetWidth - w;
	            break;
	        case "r":
	            break
	        }
	        p.width = w;
	        p.height = h + 40;
	        g.monthsCombo.style.display = "none";
	        fixPosition(p);
	        g.showAt(p.x, p.y)
	    };
	    if (Calendar.is_khtml) setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10);
	    else Calendar.continuation_for_the_fucking_khtml_browser()
	};
	Calendar.prototype.setDateFormat = function (a) {
	    this.dateFormat = a
	};
	Calendar.prototype.setTtDateFormat = function (a) {
	    this.ttDateFormat = a
	};
	Calendar.prototype.parseDate = function (a, b) {
	    if (!b) b = this.dateFormat;
	    this.setDate(Date.parseDate(a, b))
	};
	Calendar.prototype.hideShowCovered = function () {
	    if (!Calendar.is_ie && !Calendar.is_opera) return;
	
	    function getVisib(a) {
	        var b = a.style.visibility;
	        if (!b) {
	            if (document.defaultView && typeof(document.defaultView.getComputedStyle) == "function") {
	                if (!Calendar.is_khtml) b = document.defaultView.getComputedStyle(a, "").getPropertyValue("visibility");
	                else b = ''
	            } else if (a.currentStyle) {
	                b = a.currentStyle.visibility
	            } else b = ''
	        }
	        return b
	    };
	    var c = new Array("applet", "iframe", "select");
	    var d = this.element;
	    var p = Calendar.getAbsolutePos(d);
	    var e = p.x;
	    var f = d.offsetWidth + e;
	    var g = p.y;
	    var h = d.offsetHeight + g;
	    for (var k = c.length; k > 0;) {
	        var j = document.getElementsByTagName(c[--k]);
	        var l = null;
	        for (var i = j.length; i > 0;) {
	            l = j[--i];
	            p = Calendar.getAbsolutePos(l);
	            var m = p.x;
	            var n = l.offsetWidth + m;
	            var o = p.y;
	            var q = l.offsetHeight + o;
	            if (this.hidden || (m > f) || (n < e) || (o > h) || (q < g)) {
	                if (!l.__msh_save_visibility) {
	                    l.__msh_save_visibility = getVisib(l)
	                }
	                l.style.visibility = l.__msh_save_visibility
	            } else {
	                if (!l.__msh_save_visibility) {
	                    l.__msh_save_visibility = getVisib(l)
	                }
	                l.style.visibility = "hidden"
	            }
	        }
	    }
	};
	Calendar.prototype._displayWeekdays = function () {
	    var a = this.firstDayOfWeek;
	    var b = this.firstdayname;
	    var c = Calendar._TT["WEEKEND"];
	    for (var i = 0; i < 7; ++i) {
	        b.className = "day name";
	        var d = (i + a) % 7;
	        if (i) {
	            b.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[d]);
	            b.navtype = 100;
	            b.calendar = this;
	            b.fdow = d;
	            Calendar._add_evs(b)
	        }
	        if (c.indexOf(d.toString()) != -1) {
	            Calendar.addClass(b, "weekend")
	        }
	        b.innerHTML = Calendar._SDN[(i + a) % 7];
	        b = b.nextSibling
	    }
	};
	Calendar.prototype._hideCombos = function () {
	    this.monthsCombo.style.display = "none";
	    this.yearsCombo.style.display = "none"
	};
	Calendar.prototype._dragStart = function (a) {
	    if (this.dragging) {
	        return
	    }
	    this.dragging = true;
	    var b;
	    var c;
	    if (Calendar.is_ie) {
	        c = window.event.clientY + document.body.scrollTop;
	        b = window.event.clientX + document.body.scrollLeft
	    } else {
	        c = a.clientY + window.scrollY;
	        b = a.clientX + window.scrollX
	    }
	    var d = this.element.style;
	    this.xOffs = b - parseInt(d.left);
	    this.yOffs = c - parseInt(d.top);
	    with(Calendar) {
	        addEvent(document, "mousemove", calDragIt);
	        addEvent(document, "mouseup", calDragEnd)
	    }
	};
	Date._MD = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	Date.SECOND = 1000;
	Date.MINUTE = 60 * Date.SECOND;
	Date.HOUR = 60 * Date.MINUTE;
	Date.DAY = 24 * Date.HOUR;
	Date.WEEK = 7 * Date.DAY;
	Date.parseDate = function (c, e) {
	    var f = new Date();
	    var y = 0;
	    var m = -1;
	    var d = 0;
	    var a = c.split(/\W+/);
	    var b = e.match(/%./g);
	    var i = 0,
	        j = 0;
	    var g = 0;
	    var h = 0;
	    for (i = 0; i < a.length; ++i) {
	        if (!a[i]) continue;
	        switch (b[i]) {
	        case "%d":
	        case "%e":
	            d = parseInt(a[i], 10);
	            break;
	        case "%m":
	            m = parseInt(a[i], 10) - 1;
	            break;
	        case "%Y":
	        case "%y":
	            y = parseInt(a[i], 10);
	            (y < 100) && (y += (y > 29) ? 1900 : 2000);
	            break;
	        case "%b":
	        case "%B":
	            for (j = 0; j < 12; ++j) {
	                if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) {
	                    m = j;
	                    break
	                }
	            }
	            break;
	        case "%H":
	        case "%I":
	        case "%k":
	        case "%l":
	            g = parseInt(a[i], 10);
	            break;
	        case "%P":
	        case "%p":
	            if (/pm/i.test(a[i]) && g < 12) g += 12;
	            else if (/am/i.test(a[i]) && g >= 12) g -= 12;
	            break;
	        case "%M":
	            h = parseInt(a[i], 10);
	            break
	        }
	    }
	    if (isNaN(y)) y = f.getFullYear();
	    if (isNaN(m)) m = f.getMonth();
	    if (isNaN(d)) d = f.getDate();
	    if (isNaN(g)) g = f.getHours();
	    if (isNaN(h)) h = f.getMinutes();
	    if (y != 0 && m != -1 && d != 0) return new Date(y, m, d, g, h, 0);
	    y = 0;
	    m = -1;
	    d = 0;
	    for (i = 0; i < a.length; ++i) {
	        if (a[i].search(/[a-zA-Z]+/) != -1) {
	            var t = -1;
	            for (j = 0; j < 12; ++j) {
	                if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) {
	                    t = j;
	                    break
	                }
	            }
	            if (t != -1) {
	                if (m != -1) {
	                    d = m + 1
	                }
	                m = t
	            }
	        } else if (parseInt(a[i], 10) <= 12 && m == -1) {
	            m = a[i] - 1
	        } else if (parseInt(a[i], 10) > 31 && y == 0) {
	            y = parseInt(a[i], 10);
	            (y < 100) && (y += (y > 29) ? 1900 : 2000)
	        } else if (d == 0) {
	            d = a[i]
	        }
	    }
	    if (y == 0) y = f.getFullYear();
	    if (m != -1 && d != 0) return new Date(y, m, d, g, h, 0);
	    return f
	};
	Date.prototype.getMonthDays = function (a) {
	    var b = this.getFullYear();
	    if (typeof a == "undefined") {
	        a = this.getMonth()
	    }
	    if (((0 == (b % 4)) && ((0 != (b % 100)) || (0 == (b % 400)))) && a == 1) {
	        return 29
	    } else {
	        return Date._MD[a]
	    }
	};
	Date.prototype.getDayOfYear = function () {
	    var a = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
	    var b = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
	    var c = a - b;
	    return Math.floor(c / Date.DAY)
	};
	Date.prototype.getWeekNumber = function () {
	    var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
	    var a = d.getDay();
	    d.setDate(d.getDate() - (a + 6) % 7 + 3);
	    var b = d.valueOf();
	    d.setMonth(0);
	    d.setDate(4);
	    return Math.round((b - d.valueOf()) / (7 * 864e5)) + 1
	};
	Date.prototype.equalsTo = function (a) {
	    return ((this.getFullYear() == a.getFullYear()) && (this.getMonth() == a.getMonth()) && (this.getDate() == a.getDate()) && (this.getHours() == a.getHours()) && (this.getMinutes() == a.getMinutes()))
	};
	Date.prototype.setDateOnly = function (a) {
	    var b = new Date(a);
	    this.setDate(1);
	    this.setFullYear(b.getFullYear());
	    this.setMonth(b.getMonth());
	    this.setDate(b.getDate())
	};
	Date.prototype.print = function (b) {
	    var m = this.getMonth();
	    var d = this.getDate();
	    var y = this.getFullYear();
	    var c = this.getWeekNumber();
	    var w = this.getDay();
	    var s = {};
	    var e = this.getHours();
	    var f = (e >= 12);
	    var g = (f) ? (e - 12) : e;
	    var h = this.getDayOfYear();
	    if (g == 0) g = 12;
	    var j = this.getMinutes();
	    var k = this.getSeconds();s["%a"] = Calendar._SDN[w];s["%A"] = Calendar._DN[w];s["%b"] = Calendar._SMN[m];s["%B"] = Calendar._MN[m];s["%C"] = 1 + Math.floor(y / 100);s["%d"] = (d < 10) ? ("0" + d) : d;s["%e"] = d;s["%H"] = (e < 10) ? ("0" + e) : e;s["%I"] = (g < 10) ? ("0" + g) : g;s["%j"] = (h < 100) ? ((h < 10) ? ("00" + h) : ("0" + h)) : h;s["%k"] = e;s["%l"] = g;s["%m"] = (m < 9) ? ("0" + (1 + m)) : (1 + m);s["%M"] = (j < 10) ? ("0" + j) : j;s["%n"] = "\n";s["%p"] = f ? "PM" : "AM";s["%P"] = f ? "pm" : "am";s["%s"] = Math.floor(this.getTime() / 1000);s["%S"] = (k < 10) ? ("0" + k) : k;s["%t"] = "\t";s["%U"] = s["%W"] = s["%V"] = (c < 10) ? ("0" + c) : c;s["%u"] = w + 1;s["%w"] = w;s["%y"] = ('' + y).substr(2, 2);s["%Y"] = y;s["%%"] = "%";
	    var l = /%./g;
	    if (!Calendar.is_ie5 && !Calendar.is_khtml) return b.replace(l, function (a) {
	        return s[a] || a
	    });
	    var a = b.match(l);
	    for (var i = 0; i < a.length; i++) {
	        var n = s[a[i]];
	        if (n) {
	            l = new RegExp(a[i], 'g');
	            b = b.replace(l, n)
	        }
	    }
	    return b
	};
	if (!Date.prototype.__msh_oldSetFullYear) {
	    Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
	    Date.prototype.setFullYear = function (y) {
	        var d = new Date(this);
	        d.__msh_oldSetFullYear(y);
	        if (d.getMonth() != this.getMonth()) this.setDate(28);
	        this.__msh_oldSetFullYear(y)
	    }
	}
	window._dynarch_popupCalendar = null;
	
	Calendar._DN = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag");
	Calendar._SDN = new Array("So", "Mo", "Die", "Mi", "Do", "Fr", "Sa", "So");
	Calendar._FD = 1;
	Calendar._MN = new Array("Januar", "Februar", "Maerz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
	Calendar._SMN = new Array("Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
	Calendar._TT = {};
	Calendar._TT["INFO"] = "\u00DCber dieses Kalendarmodul";
	Calendar._TT["ABOUT"] = "Datum ausw\u00e4hlen:\n" + "- Benutzen Sie die \xab, \xbb Buttons um das Jahr zu w\u00e4hlen\n" + "- Benutzen Sie die " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " Buttons um den Monat zu w\u00e4hlen\n" + "- F\u00fcr eine Schnellauswahl halten Sie die Maustaste \u00fcber diesen Buttons fest.";
	Calendar._TT["ABOUT_TIME"] = "\n\n" + "Zeit ausw\u00e4hlen:\n" + "- Klicken Sie auf die Teile der Uhrzeit, um diese zu erh\u00F6hen\n" + "- oder klicken Sie mit festgehaltener Shift-Taste um diese zu verringern\n" + "- oder klicken und festhalten f\u00fcr Schnellauswahl.";
	Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen";
	Calendar._TT["PREV_YEAR"] = "Voriges Jahr (Festhalten f\u00fcr Schnellauswahl)";
	Calendar._TT["PREV_MONTH"] = "Voriger Monat (Festhalten f\u00fcr Schnellauswahl)";
	Calendar._TT["GO_TODAY"] = "Heute ausw\u00e4hlen";
	Calendar._TT["NEXT_MONTH"] = "N\u00e4chst. Monat (Festhalten f\u00fcr Schnellauswahl)";
	Calendar._TT["NEXT_YEAR"] = "N\u00e4chst. Jahr (Festhalten f\u00fcr Schnellauswahl)";
	Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen";
	Calendar._TT["DRAG_TO_MOVE"] = "Zum Bewegen festhalten";
	Calendar._TT["PART_TODAY"] = " (Heute)";
	Calendar._TT["DAY_FIRST"] = "Woche beginnt mit %s ";
	Calendar._TT["WEEKEND"] = "0,6";
	Calendar._TT["CLOSE"] = "Schlie\u00dfen";
	Calendar._TT["TODAY"] = "Heute";
	Calendar._TT["TIME_PART"] = "(Shift-)Klick oder Festhalten und Ziehen um den Wert zu \u00e4ndern";
	Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
	Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
	Calendar._TT["WK"] = "wk";
	Calendar._TT["TIME"] = "Zeit:";
	
	Calendar.setup = function (params) {
	    function param_default(pname, def) {
	        if (typeof params[pname] == "undefined") {
	            params[pname] = def;
	        }
	    };
	    param_default("inputField", null);
	    param_default("displayArea", null);
	    param_default("button", null);
	    param_default("eventName", "click");
	    param_default("ifFormat", "%Y/%m/%d");
	    param_default("daFormat", "%Y/%m/%d");
	    param_default("singleClick", true);
	    param_default("disableFunc", null);
	    param_default("dateStatusFunc", params["disableFunc"]);
	    param_default("dateText", null);
	    param_default("firstDay", null);
	    param_default("align", "Br");
	    param_default("range", [1900, 2999]);
	    param_default("weekNumbers", true);
	    param_default("flat", null);
	    param_default("flatCallback", null);
	    param_default("onSelect", null);
	    param_default("onClose", null);
	    param_default("onUpdate", null);
	    param_default("date", null);
	    param_default("showsTime", false);
	    param_default("timeFormat", "24");
	    param_default("electric", true);
	    param_default("step", 2);
	    param_default("position", null);
	    param_default("cache", false);
	    param_default("showOthers", false);
	    param_default("multiple", null);
	    param_default("cssClass", "calendar");
	    var tmp = ["inputField", "displayArea", "button"];
	    for (var i in tmp) {
	        if (typeof params[tmp[i]] == "string") {
	            params[tmp[i]] = document.getElementById(params[tmp[i]]);
	        }
	    }
	    if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) {
	        alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
	        return false;
	    }
	    function onSelect(cal) {
	        var p = cal.params;
	        var update = (cal.dateClicked || p.electric);
	        if (update && p.inputField) {
	            p.inputField.value = cal.date.print(p.ifFormat);
	            if (typeof p.inputField.onchange == "function") p.inputField.onchange();
	        }
	        if (update && p.displayArea) p.displayArea.innerHTML = cal.date.print(p.daFormat);
	        if (update && typeof p.onUpdate == "function") p.onUpdate(cal);
	        if (update && p.flat) {
	            if (typeof p.flatCallback == "function") p.flatCallback(cal);
	        }
	        if (update && p.singleClick && cal.dateClicked) cal.callCloseHandler();
	    };
	    if (params.flat != null) {
	        if (typeof params.flat == "string") params.flat = document.getElementById(params.flat);
	        if (!params.flat) {
	            alert("Calendar.setup:\n  Flat specified but can't find parent.");
	            return false;
	        }
	        var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);
	        cal.showsOtherMonths = params.showOthers;
	        cal.showsTime = params.showsTime;
	        cal.time24 = (params.timeFormat == "24");
	        cal.params = params;
	        cal.weekNumbers = params.weekNumbers;
	        cal.setRange(params.range[0], params.range[1]);
	        cal.setDateStatusHandler(params.dateStatusFunc);
	        cal.getDateText = params.dateText;
	        if (params.ifFormat) {
	            cal.setDateFormat(params.ifFormat);
	        }
	        if (params.inputField && typeof params.inputField.value == "string") {
	            cal.parseDate(params.inputField.value);
	        }
	        cal.create(params.flat);
	        cal.show();
	        return false;
	    }
	    var triggerEl = params.button || params.displayArea || params.inputField;
	    triggerEl["on" + params.eventName] = function () {
	        var dateEl = params.inputField || params.displayArea;
	        var dateFmt = params.inputField ? params.ifFormat : params.daFormat;
	        var mustCreate = false;
	        var cal = window.calendar;
	        if (dateEl) params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt);
	        if (!(cal && params.cache)) {
	            window.calendar = cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect, params.onClose ||
	            function (cal) {
	                cal.hide();
	            });
	            cal.showsTime = params.showsTime;
	            cal.time24 = (params.timeFormat == "24");
	            cal.weekNumbers = params.weekNumbers;
	            mustCreate = true;
	        } else {
	            if (params.date) cal.setDate(params.date);
	            cal.hide();
	        }
	        if (params.multiple) {
	            cal.multiple = {};
	            for (var i = params.multiple.length; --i >= 0;) {
	                var d = params.multiple[i];
	                var ds = d.print("%Y%m%d");
	                cal.multiple[ds] = d;
	            }
	        }
	        cal.showsOtherMonths = params.showOthers;cal.yearStep = params.step;cal.setRange(params.range[0], params.range[1]);cal.params = params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText = params.dateText;cal.setDateFormat(dateFmt);
	        if (mustCreate);cal.create();cal.refresh();
	        if (!params.position) cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
	        else cal.showAt(params.position[0], params.position[1]);
	        return false;
	    };
	    return cal;
	};
})();

var wm82010_func018 = function(){
  var button = document.getElementById('button_wm_798236434'),
    text = document.getElementById('info_wm_798236434');   
  text.style.display = 'none';     
  var clicked = false;
  button.onclick = function(){
    if(text.style.display === 'none') {
      text.style.display = 'block';
    } else {
      text.style.display = 'none';
    }
    if(clicked == false){
      hres_iframe018.location.href = "zanox_tracking_param";
      clicked = true;
    }
  }
}
