/**
 * @author hieu
 * @modified 
 * 
 * + 31.03.2009
 * 		added:		
 * 
 * + 08.03.2010 js added:
 * Hier bei Schwarzkopf muss, wenn in Step 2 Ändern der Anmietdaten ausgewählt wird,
 * das Fenster angepasst werden
 */

	////////// Global Variable /////////
	var rentalData = new RentalData() ;
	var ss1 = new CStation() ;	
	var ss2 = new CStation() ;	
	var ss3 = new CStation() ;	
	var aStation = new Array() ;
	var selssindex  ;
	var selesindex  ;
	
	var isRequestCustomerSpecial = false ;
	var tagCheckStartStation = "" ;
	var isCheckLogin = false ; 
	
	var iKarenz = 0 ;	// Karenzszeit 
	
	function Schedule() {
		this.jstag  = 0 ; 
		this.bthour = 0 ; 
		this.btmin  = 0 ; 
		this.ethour = 0 ; 
		this.etmin  = 0 ;
		this.mbhour = 0 ;
		this.mbmin  = 0 ;
		this.mehour = 0 ;
		this.memin  = 0 ;
	}

	var aSchedule = new Array();
	var eSchedule = new Array();

	/* Added von Jan am 24.02.10
	 * Params kann 4 Elemente haben
	 * sstat = startstation
	 * grp = Gruppe | CONFIG_STEP1_CARGROUP
	 * aZeit = dd.mm.yyyy_hhmm
	 * eZeit = dd.mm.yyyy_hhmm  
	 * force = true/false
	 * wenn force = true, dann müssen aZeit und eZeit gefüllt sein

	 */
	var UrlParams = new Array();

	/* Class CStation */
	function CStation() {
		this.station = "" ;
		this.name = "" ;
		this.strasse = "" ;
		this.plz = "" ;
		this.ort = "" ;	
		this.info = "" ;
		this.tresor = 0;
		this.forerun ;
		this.setData = Cx9_CStation_SetData ;
	}

	function Cx9_CStation_SetData( station , name, strasse, plz, ort,info )  {
		this.station = station;
		this.name = name;
		this.strasse= strasse;
		this.plz = plz;
		this.ort = ort;
		this.info = info;
	}


	/**
	 * 
	 */
	function getJsDateFromStartDate() {
		return getJsDateFromString($('#rental-startdate').attr("value")) ;
	}
	
	/**
	 * 
	 */
	function getJsDateFromEndDate() {
		return getJsDateFromString($('#rental-enddate').attr("value")) ;
	}
	
	/**
	 * 
	 * @param {Object} str
	 */
	function getJsDateFromString(str) {
		var dtDay   = parseInt(str.substring(0,2),10);
		var dtMonth = parseInt(str.substring(3,5),10);
		var dtYear  = parseInt(str.substring(6,10),10);
		var cdate = new Date(dtYear,dtMonth-1, dtDay, 0, 0)  ;			
		return cdate ;
	}
		
	function fillZeroDate(d) {
		if ( d < 10 ) return "0"+d ;
		else return d ;
	}
	
	function setaZeit () {
		var cdate   = UrlParams['aZeit'].split("_");
		var dtDay   = parseInt(cdate[0].substring(0,2),10);
		var dtMonth = parseInt(cdate[0].substring(3,5),10);
		var dtYear  = parseInt(cdate[0].substring(6,10),10);
		var dtHour  = parseInt(cdate[1].substring(0,2),10);
		var dtMin   = parseInt(cdate[1].substring(2,4), 10);
		
		
		var aZeit = new Date(dtYear,dtMonth-1, dtDay, dtHour, dtMin);
		rentalData.mietbeginn= fillZeroDate(aZeit.getDate())+"."+fillZeroDate(aZeit.getMonth()+1)+"."+aZeit.getFullYear();
		rentalData.startstunde = aZeit.getHours();
		rentalData.startminute = aZeit.getMinutes();
	}
	
	function seteZeit() {
		var cdate   = UrlParams['eZeit'].split("_");
		var dtDay   = parseInt(cdate[0].substring(0,2),10);
		var dtMonth = parseInt(cdate[0].substring(3,5),10);
		var dtYear  = parseInt(cdate[0].substring(6,10),10);
		var dtHour  = parseInt(cdate[1].substring(0,2),10);
		var dtMin   = parseInt(cdate[1].substring(2,4), 10);
		
		var eZeit = new Date(dtYear,dtMonth-1, dtDay, dtHour, dtMin);
		rentalData.mietende  = fillZeroDate(eZeit.getDate())+"."+fillZeroDate(eZeit.getMonth()+1)+"."+eZeit.getFullYear();
		rentalData.endstunde = eZeit.getHours();
		rentalData.endminute = eZeit.getMinutes();
	}
	
	function cx9_refreshFormData() {
		var d = new Date() ;
		var minstartdate = 0 ;
		
		if ( isVariable('CONFIG_MIN_STARTDATE') ) {
			if ( CONFIG_MIN_STARTDATE > 0 ) {
				minstartdate = CONFIG_MIN_STARTDATE ;
			}
			else { 
				minstartdate = 0 ;
			}
		}
		else {
			minstartdate = 1 ;
		}

		//haben wir eine Vorlaufzeit? dann das Datum da drauf setzten -> Soll Standard sein
		Cx9_SetForerunTime();

		//bei erhaltenem aZeit param -> setzen
		var aZeit;
		var eZeit;

		if (UrlParams['aZeit'].length > 0) {
			if ( rentalData.mietbeginn == "" ) {
				setaZeit();
			}  
		}
		
		if (UrlParams['eZeit'].length > 0) {
			if ( rentalData.mietende == "" ) {
				seteZeit();			
			}  
		}
		
		if (UrlParams['force'].length > 0) {
			if (UrlParams['force'] == 'true') {
				if ((UrlParams['aZeit'].length > 0) && (UrlParams['eZeit'].length > 0)) {
					setaZeit();
					seteZeit();
				}
			}
		}
		
		if ( rentalData.mietbeginn == "" ) {	
			var nd = new Date(d.getFullYear(),d.getMonth(), d.getDate()+minstartdate,d.getHours()+2,d.getMinutes(),0) ;	
			rentalData.mietbeginn= fillZeroDate(nd.getDate())+"."+fillZeroDate(nd.getMonth()+1)+"."+nd.getFullYear();
			if (rentalData.startstunde == "") {
				rentalData.startstunde = nd.getHours() ;
			}
			if ( rentalData.startminute == "" ) {
				rentalData.startminute = nd.getMinutes() ; 	
			}
		}
			
		if ( rentalData.mietende == "" ) {
			var ond = new Date(d.getFullYear(),d.getMonth(),d.getDate()+(minstartdate+1),d.getHours(),d.getMinutes(),0) ;
			rentalData.mietende= fillZeroDate(ond.getDate())+"."+fillZeroDate(ond.getMonth()+1)+"."+ond.getFullYear() ;
			if ( rentalData.endstunde == "" ) {
				rentalData.endstunde = companyStartHour;
			}
			if ( rentalData.endminute == "" ) {
				rentalData.endminute = companyStartMinute;
			}
		}
			
		$('#rental-startdate').attr("value" , rentalData.mietbeginn);
		$('#rental-enddate').attr("value" , rentalData.mietende);
		$('#field-startstation').attr("value", rentalData.sstationname);
		$('#field-endstation').attr("value", rentalData.estationname);
		if( (aSchedule.length == 0) || (aSchedule == ',,,,,,') ) {
			$('#h-startdate').html( cx9_listOptionHour(rentalData.startstunde) );
		} else {
			refreshBeginScheduleTime();
		}
		$('#m-startdate').html( cx9_listOptionMinute( rentalData.startminute ) );
		if( (CONFIG_ENDSTATION_SET_OPENING == false) || (eSchedule.length == 0) || (eSchedule == ',,,,,,' ) ) {
			$('#h-enddate').html( cx9_listOptionHour( rentalData.endstunde ) );
			$('#m-enddate').html( cx9_listOptionMinute( rentalData.endminute ) );
		} else {
			refreshEndScheduleTime();
			$('#m-enddate').html( cx9_listOptionMinute( 0 ) );
		}
	}

	function Cx9_SetForerunTime() {

		var frtime = 0;

		if ( rentalData.inetmv.length > 0 && parseInt(rentalData.inetmv, 10) > 0 ) {
			frtime = parseInt(rentalData.inetmv, 10);	// kunden vorlaufszeit 
		} else {
			if (!isNaN(selssindex)) {
				frtime = parseInt(aStation[selssindex].forerun,10);	// station vorlaufszeit
			}
		}

		// PRIVATE=true und LOGIN=true
		if ( rentalData.inet_private_using=="1" && rentalData.login_checked==1 ) {
			
			frtime = parseInt(aStation[selssindex].forerun,10); 
			if (frtime == 0) {
				if (isVariable('CONFIG_MIN_VORLAUF')) 
					frtime = CONFIG_MIN_VORLAUF;
				else 
					frtime = 1440;
			}
		}
		
		// debugMsg(frtime) ;
		if ( isNaN(frtime) || frtime == null || frtime == "undefined" || frtime == 0) {	
			if (isVariable('CONFIG_MIN_VORLAUF') ) 
				frtime = CONFIG_MIN_VORLAUF; 
			else frtime = 1440;
		}
		
		frtime += 60;
		//frtime = 60;
		
		var now = new Date() ;
//		var forerundate = new Date(now.getFullYear(), now.getMonth()+1, now.getDate(), now.getHours() , now.getMinutes()+frtime) ;
		var forerundate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours() , now.getMinutes()+frtime) ;
		
		// debugMsg(frtime + "|"+forerundate.toLocaleString()+"|#|"+cdate.toLocaleString()+"|") ;
		var totalhour = frtime/60; 
		
		if ( forerundate.getTime() < now.getTime() ) {
			//setzen der zeiten
			rentalData.mietbeginn = "";
			rentalData.startstunde = "";
			rentalData.startminute = "";
			rentalData.mietende  = "";
			rentalData.endstunde = "";
			rentalData.endminute = "";
		} else {
			rentalData.mietbeginn  = fillZeroDate(forerundate.getDate())+"."+fillZeroDate(forerundate.getMonth()+1)+"."+forerundate.getFullYear();
			rentalData.startstunde = fillZeroDate(forerundate.getHours());
			rentalData.startminute = fillZeroDate(forerundate.getMinutes());
			//JFS 03.09.2010
			tmp = new Date(forerundate.getFullYear(), forerundate.getMonth(), forerundate.getDate(), forerundate.getHours() , forerundate.getMinutes()+CONFIG_TIME_BETWEEN_AN_AB);
			rentalData.mietende    = fillZeroDate(tmp.getDate())+"."+fillZeroDate(tmp.getMonth()+1)+"."+tmp.getFullYear();
			rentalData.endstunde   = fillZeroDate(tmp.getHours());
			rentalData.endminute   = fillZeroDate(tmp.getMinutes());
		}
	}
	
	/**
	 * 
	 * @param {Object} email
	 */
	function cx9_requestPasswortPerEmail(email) {
			
			$.ajax({
				type: "GET",
				url: "./index.php",
				data: "mod=901&reqemail="+escape(email),
				dataType: "xml",
				global: 'false',
				error: function (XMLHttpRequest, textStatus, errorThrown) {
					debugMsg("JS::cx9_requestPasswort()  Ajax Request Problem ! ");
				},
				beforeSend: function(xhr){
					xhr.setRequestHeader("Pragma", "no-cache");
      				xhr.setRequestHeader("Cache-Control", "must-revalidate");
					xhr.setRequestHeader("If-Modified-Since", document.lastModified);
				} ,
				success:  function(data) {	
					
					 if ( $("messages>message", data).length > 0  ) {
						msg = $("messages>message", data).get(0) ;
						switch ($("status" , msg).text() ) {
							case "success" : {
								alert(Cx9_Get("WEB_STEP1",$("content", msg).text())) ;
								break;	
							}
							case "error" : { 
								alert(Cx9_Get("WEB_STEP1",$("content", msg).text())) ;
								break; 
							}
							default : {}
						}
					 }	
					 else {}					
				} 
			});
			
		}
	
	function UpdateRegCustomerData(_email, _password) {
				$.ajax({
				type: "GET",
				url: "./index.php",
				data: "mod=902&email="+ Base64.encode(_email)+"&passwort="+Base64.encode(_password),
				dataType: "xml",
				global: 'false',
				error: function (XMLHttpRequest, textStatus, errorThrown) {
					debugMsg("JS::cx9_requestPasswort()  Ajax Request Problem ! ")
				},
				beforeSend: function(xhr){
					xhr.setRequestHeader("Pragma", "no-cache");
      				xhr.setRequestHeader("Cache-Control", "must-revalidate");
					xhr.setRequestHeader("If-Modified-Since", document.lastModified);
				} ,
				success:  function(data) {	
					
					 if ( $("messages>message", data).length > 0  ) {
						msg = $("messages>message", data).get(0) ;
						switch ($("status" , msg).text() ) {
							case "success" : {
								// alert($("content", msg).text()) ;
								rentalData.inetmv = $("content>inetmv",msg).text() ;
								rentalData.dutysta = $("content>dutysta",msg).text() ;
								// alert($("content>inetmv",msg).text()) ;
								break;	
							}
							case "error" : { 
								break; 
							}
							default : {}
						}
					 }	
					 else {}					
				} 
			});
				
	}
	/**
	 * 
	 * @param {Object} hour
	 */
	function cx9_listOptionHour(hour) {
		strOption = "" ;
		sel = "";

		for (i = 0; i < aSelHour.length; i++) {
			if (parseInt(aSelHour[i], 10) == parseInt(hour, 10)) 
				sel = "selected";
			else 
				sel = "";
			strOption += "<option value='" + aSelHour[i] + "' " + sel + ">" + aSelHour[i] + "</option>";
		}
		/*
		var jsstartdate = getJsDateFromStartDate();
		var jsenddate = getJsDateFromEndDate();
		
		var openstart = OpenSchedule.getByDay(jsstartdate.getDay()) ;
		var openend = OpenSchedule.getByDay(jsenddate.getDay()) ;
		// alert(openstart.starthour + " " + openstart.endhour) ;
		for ( i= 0 ; i < aSelHour.length ; i++ ) {
			
			if ( parseInt(aSelHour[i],10) == parseInt(hour,10) ) sel="selected" ;
			else sel ="" ;
			
			if ( parseInt(aSelHour[i], 10) >= openstart.starthour  && parseInt(aSelHour[i], 10) <= openstart.endhour ) {
				strOption += "<option value='" + aSelHour[i] + "' " + sel + ">" + aSelHour[i] + "</option>";
			}
			else { }
		}
		*/
		return strOption;
	}
	
	/**
	 * se [ true=startdate, false=enddate ] 
	 * @param {Object} hour
	 * @param true/false se
	 */
	function cx9_listSEOptionHour(hour, se){
		strOption = "" ;
		sel = "";
		
		var jsstartdate = null ;
		var jsenddate = null;
		var openstart = null ;
		
		if (se) {
			jsstartdate = getJsDateFromStartDate();
			openstart = OpenSchedule.getByDay(jsstartdate.getDay());
		}
		else {
			jsenddate = getJsDateFromEndDate() ;
			openstart = OpenSchedule.getByDay(jsenddate.getDay());
		}
		
		// alert(openstart.starthour + " " + openstart.endhour) ;
		for ( i= 0 ; i < aSelHour.length ; i++ ) {
			
			if ( parseInt(aSelHour[i],10) == parseInt(hour,10) ) sel="selected" ;
			else sel ="" ;
			
			if ( parseInt(aSelHour[i], 10) >= openstart.starthour  && parseInt(aSelHour[i], 10) <= openstart.endhour ) {
				strOption += "<option value='" + aSelHour[i] + "' " + sel + ">" + aSelHour[i] + "</option>";
			}
			else { }
		}
		return strOption;
	}
	
	
	/**
	 * 
	 * @param {Object} min
	 */
	function cx9_listOptionMinute( min ) {
			strOption = "" ;
			sel = "";
			for ( i= 0 ; i < aSelMinute.length ; i++ ) {
				if ( parseInt( aSelMinute[i], 10 ) == parseInt( min, 10 ) )
					sel = "selected";
				else
					sel = "";
				strOption += "<option value='"+aSelMinute[i]+"' "+sel+">"+aSelMinute[i]+"</option>" ;
			}
			return strOption;
	}
	
	/**
	 * 
	 * @param {Object} id
	 */	
	function cx9_requestCheckStartStation(id) {
			
		$.ajax({
			type: "GET",
			url: "./index.php",
			data: "mod=1022&startstation="+id,
			dataType: "xml",
			global: 'false',
			error: function (XMLHttpRequest, textStatus, errorThrown) {
			},
			beforeSend: function(xhr){
				xhr.setRequestHeader("Pragma", "no-cache");
  				xhr.setRequestHeader("Cache-Control", "must-revalidate");
				xhr.setRequestHeader("If-Modified-Since", document.lastModified);
			} ,
			success:  function(data) {	
				 if ( $("messages>message", data).length > 0  ) {
					msg = $("messages>message", data).get(0) ;
					switch ($("status" , msg).text() ) {
						case "success" : {
							cx9_showAutoGroup($("content",msg).get(0)) ;
							break;	
						}
						case "error" : { 
							break 
						;}
						default : {}
					}
				 }	
				 else {}					
			} 
		});
		
	}
	
	
	// prÃ¼ft Station mit Tresor 
	function cx9_isTresorStation(station) {
		for ( countStation = 0 ; countStation < aStation.length ; countStation++) {
			// debugMsg( station +" ? "+aStation[countStation].station ) ;
			if (station == aStation[countStation].station && parseInt(aStation[countStation].tresor) == 1 ) {
				// debugMsg( station +" ? "+aStation[countStation].station ) ;
				return true;
			}
		}
		return false ;
	}

	// add 29/10/2009
	/**
	 * Funktion erstellt die Auswahlliste der Mietbeginnzeiten entsprechend der Öffnungszeiten der augewählten
	 * Startstation. Auswahl wird auf die aktuelle Stunde+1 gesetzt.
	 */
	function refreshBeginScheduleTime() {

		if ( aSchedule.length == 0 ) return false;
		if ( aSchedule == ',,,,,,' ) return false;

		var sd = $('#rental-startdate').attr("value") ;

		var dday = sd.substr(0,2) ;
		var dmon = sd.substr(3,2) ;
		var dyear = sd.substr(6,4) ;

		var dd = new Date(dyear, dmon-1, dday, 0, 0) ;
		var wd = dd.getDay() ;

		var ihour = 0;
		var ehour = 0;
		if( aSchedule[wd] !== undefined ) {
			ihour = aSchedule[wd].bthour;
			ehour = aSchedule[wd].ethour;
		}
		
		var strOptHour  = "" ;
		var rdStartHour = parseInt(rentalData.startstunde ,10) ;
		var sel = "" ;

		while( ihour < ehour+1 ) {
			// alert(rentalData.starthour) ;
			if ( ihour == rdStartHour ) sel="selected" ;
			else sel="" ;
			
			if ( ihour < 10 ) 
				strOptHour += "<option "+sel+" value='0"+ihour.toString()+"' >0"+ihour.toString()+"</option>" ; 
			else strOptHour += "<option "+sel+" value='"+ihour.toString()+"' >"+ihour.toString()+"</option>" ; 
			ihour++;  
		}
		$('#h-startdate').html( strOptHour );
	}

	/**
	 * Funktion erstellt die Auswahlliste der Mietendzeiten. Auswahl wird auf den Öffnungszeitpunkt der
	 * Abgabestation gesetzt.
	 */
	function refreshEndScheduleTime() {

		if ( eSchedule.length == 0 ) return false;
		if ( eSchedule == ',,,,,,' ) return false;

		var ed = $('#rental-enddate').attr( "value" );

		var dday = ed.substr( 0, 2 );
		var dmon = ed.substr( 3, 2 );
		var dyear = ed.substr( 6, 4 );

		var dd = new Date( dyear, dmon-1, dday, 0, 0 );
		var wd = dd.getDay();
		
		var ihour = 0;
		var ehour = 0;
		if( eSchedule[wd] !== undefined ) {
			ihour = eSchedule[wd].bthour;
			ehour = eSchedule[wd].ethour;
		}
		// Wenn in den Öffnungszeiten 0:00Uhr bis 00:00Uhr setze auf nächsten Tag 
		/*alte funktionalität von Christoph, rausgenommen von Jan, da auf die Programmierung wie Startzeiten
		 * if( (ihour == 0) && (ehour == 0) ) {
			
			dd = new Date( dd.getYear(), dd.getMonth(), dd.getDate()+1, 0, 0 );
			wd = dd.getDay();
			
			rentalData.mietende = fillZeroDate(dd.getDate())+"."+fillZeroDate(dd.getMonth()+1)+"."+dd.getFullYear();
			
			$('#rental-enddate').attr( "value" , rentalData.mietende );
		}
		$('#h-enddate').html( cx9_listOptionHour( eSchedule[wd].bthour ) );*/
		var strOptHour  = "" ;
		var rdEndHour = parseInt(rentalData.endstunde ,10) ;
		var sel = "" ;

		while( ihour < ehour+1 ) {
			// alert(rentalData.starthour) ;
			if ( ihour == rdEndHour ) sel="selected" ;
			else sel="" ;
			
			if ( ihour < 10 ) 
				strOptHour += "<option "+sel+" value='0"+ihour.toString()+"' >0"+ihour.toString()+"</option>" ; 
			else strOptHour += "<option "+sel+" value='"+ihour.toString()+"' >"+ihour.toString()+"</option>" ; 
			ihour++;  
		}
		$('#h-enddate').html( strOptHour );
	}

	// add 29/10/2009
	/**
	 * Funktion holt die Öffnugszeiten der angegebenen Station aus der Datenbank und leifert sie in einem Array
	 * zurück.
	 */
	function reqFilialeSchedule( station ) {

		var resSchedules = new Array(7);

		if ( station.length == 0 ) {
			resSchedules.length = 0;
			return resSchedules;
		}

		$.getJSON("index.php?mod=1024&filiale="+station,
        function(data, textStatus){
          if (textStatus == "success") {
		  	$.each(data, function(i, item){
				var dsched = new Schedule() ;
				dsched.bthour = parseInt(item.bt.substr(0,2),10) ;
			    dsched.btmin  = parseInt(item.bt.substr(2,2),10) ;
			    dsched.ethour = parseInt(item.et.substr(0,2),10) ;
			    dsched.etmin  = parseInt(item.et.substr(2,2),10) ;
			    dsched.mbhour = parseInt(item.mb.substr(0,2),10) ;
			    dsched.mbmin  = parseInt(item.mb.substr(2,2),10) ;
			    dsched.mehour = parseInt(item.me.substr(0,2),10) ;
			    dsched.memin  = parseInt(item.me.substr(2,2),10) ;
			    
				switch(item.wd) {
					case "Mo" : {   dsched.jstag = 1 ; 					
									break;
								}
					case "Di" : {   dsched.jstag = 2 ; 					
									break;
								}
					case "Mi" : {   dsched.jstag = 3 ; 					
									break;
								}
					case "Do" : {   dsched.jstag = 4 ; 					
									break;
								}
					case "Fr" : {   dsched.jstag = 5 ; 					
									break;
								}
					case "Sa" : {   dsched.jstag = 6 ; 					
									break;
								}
					case "So" : {   dsched.jstag = 0 ; 					
									break;
								}
				}
				resSchedules[dsched.jstag] = dsched;
		  	});
		  } else {
			  // request Error 
		  }
		});
		return resSchedules; 
	}
	
	function cx9_GetParams() {
		var url;
		var parameter = new Array();
		UrlParams['sstat'] = '';
		UrlParams['grp'] = '';
		UrlParams['aZeit'] = '';
		UrlParams['eZeit'] = '';
		UrlParams['force'] = false;
		
		url = document.URL.split("?")[1];
				
		//wenn wir parameter haben
		if (url) {
		    parameter = url.split("&");
		    for (var i=0; i<(parameter.length); i++) {
		    	UrlParams[parameter[i].split("=")[0]] = parameter[i].split("=")[1];
			}
		}
		
	}

/** Prüft, ob das ausgewählte Datum ein Feiertag ist
 * 
 * @return boolean
 */
function DatumIsFeiertag(datum,station) {
	var result = false;
	
	$.ajax({
		type: "GET",
		url: "index.php",
		data: "mod=540&Datum="+datum+"&station="+station,
		dataType: "xml",
		global: 'false',
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			alert("DB-Error -> Mod540");
			result = true;
		},
		beforeSend: function(xhr){
			xhr.setRequestHeader("Pragma", "no-cache");
			xhr.setRequestHeader("Cache-Control", "must-revalidate");
			xhr.setRequestHeader("If-Modified-Since", document.lastModified);
		} ,
		success:  function(data) {	
			 if ( $("messages>message", data).length > 0  ) {
				msg = $("messages>message", data).get(0) ;
				switch ($("status" , msg).text() ) {
					case "success" : {
						if (isVariable('CONFIG_RESERV_ON_HOLIDAY_MESSAGE') && (CONFIG_RESERV_ON_HOLIDAY_MESSAGE != '')){
							alert(CONFIG_RESERV_ON_HOLIDAY_MESSAGE);
						}else {
							alert($("content", msg).text()+Cx9_Get("WEB_STEP1","STATION_CLOSED"));
						}
						result = true;
						break;	
					}
					case "error" : { 
						result = false;
						break; 
					;}
					default : {}
				}
			 }	
			 else {}					
		} 
	});
	
	return result;
}

//Setzt verschiedene Parameter standardmäßig
function init() {
	if (isVariable('CONFIG_TIME_BETWEEN_AN_AB')) {
	
		if (!(CONFIG_TIME_BETWEEN_AN_AB >= 1440)) {
			debugMsg('CONFIG_TIME_BETWEEN_AN_AB falsch konfiguriert, bitte pruefen!');
			return;
		}
	}	
}

function cx9_getCarGroups(station) {
	
	mod = "";
	
	if (station == "%") {
		//Paramter grp wurde übergeben und alle Gruppen werden geladen
		mod = "mod=1010";
	}else {
		//bestimmte Station wurde mit übergeben und es werden nur die Gruppen für die Station geladen
		mod = "mod=1011"+"&stat="+station;
	}
	
	$.ajax({
		type: "GET",
		// url: "./Cx9_Get_Basis_FahrzeugGruppe.php",
		url: "./index.php",
		data: mod,
		dataType: "xml",
		global: 'false',
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			debugMsg("JS::GetRentalData Datenbankproblem bei der Abfrage!") ;
		},
		beforeSend: function(xhr){
			xhr.setRequestHeader("Pragma", "no-cache");
			xhr.setRequestHeader("Cache-Control", "must-revalidate");
			xhr.setRequestHeader("If-Modified-Since", document.lastModified);
		} ,
		success:  function(data, textStatus) {
			arrFahrzeuggruppe = new Array();
			cx9_parserKfzGruppe(data, arrFahrzeuggruppe);
		}
	});	
}

function cx9_updateKfzGruppen(arrKG){
	var result = "" ;
	var beginnkg = 0;
	var sel = "" ;
	var isFirst = true ;
	// result += "<option value='-1' >--- Bitte auswÃ¤hlen---</option>";	
	for (ck= 0 ; ck < arrKG.length ; ck++) {
		
		if (UrlParams['grp'].length > 0 ) {
			
			if (arrKG[ck].gruppe == UrlParams['grp']) {
				sel = "selected";
				selectedGruppe = UrlParams['grp'];
				$("#spankfzgroup").text(arrKG[ck].beschreibung);
				rentalData.autogroupid = arrKG[ck].gruppe;
				isFirst = false;
			}
			else 
				sel = "";
			
		}else {
		
			if (arrKG[ck].gruppe == rentalData.autogroupid) {
				sel = "selected";
				selectedGruppe = rentalData.autogroupid ;
				isFirst = false ;
			}
			else { 
				sel = "";
			}
			$("#spankfzgroup").text(arrKG[0].beschreibung);
			rentalData.autogroupid = arrKG[0].gruppe;
			
		}
		result += "<option "+sel+" value='"+ck+"' >"+arrKG[ck].beschreibung+"</option>" ;	

	}
	$("#selKfzGruppen").html(result);
}

/**
 * 
 * @param String gruppe
 */
function cx9_changeAutoGroup(gruppe, voucher) {
	//+((voucher) ? voucher : '')
	/*arrPostRentalRate.length = 0 ;
	showPopupWait() ;
	$.ajax({
		type: "GET",
		url: "./index.php",
		data: "mod=300&s2_kfzgrp="+gruppe+((UrlParams['rate']) ? '&rate='+UrlParams['rate'] : '')+((voucher) ? voucher : ''),
		dataType: "xml",
		global: 'false',
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			debugMsg("JS::ChangeAutoGroup Datenbankproblem bei der Abfrage");
		},
		beforeSend: function(xhr){
			xhr.setRequestHeader("Pragma", "no-cache");
			xhr.setRequestHeader("Cache-Control", "must-revalidate");
			xhr.setRequestHeader("If-Modified-Since", document.lastModified);
		} ,
		success:  function(data) {		
			showPopupWait() ;
		} 
	});*/
	
}

function Cx9_search_plz() {
	var postcode = $('#inp-postcode').val();
	if (postcode.length >= 4 && postcode.length <= 5) {
		//hier die suche starten
		$.ajax({
			type: "GET",
			url: "./index.php",
			data: "mod=1021"+"&pc="+postcode,
			dataType: "xml",
			global: 'false',
			error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert(errorThrown);
			},
			beforeSend: function(xhr){
				xhr.setRequestHeader("Pragma", "no-cache");
  				xhr.setRequestHeader("Cache-Control", "must-revalidate");
				xhr.setRequestHeader("If-Modified-Since", document.lastModified);
			} ,
			success:  function(data) {
				if ( $("messages>message", data).length > 0  ) {
					msg = $("messages>message", data).get(0) ;
					switch ($("status" , msg).text() ) {
						case "success" : {
							// Station zuweisen bzw. Station auswählen
							isStartStation = true;							
							rentalData.startstation = $("content", msg).text(); 
							$('#blockSelStartStation div[stat="'+rentalData.startstation+'"]').trigger('click');
							isStartStation = false;
							
							break;				
						}
						case "error" : { 
							alert(Cx9_Get("WEB_STEP1", $("content", msg).text()));
							break ; 
						}
					}
				}				
			} 
		});
		
	}
	
	return false;
	
}


var selectedGruppe = "" ; 
var arrFahrzeuggruppe = new Array();
var arrPostRentalRate = new Array();
var isStartStation = false;
var isEndStation = false;

/* ////////// MAIN PROGRAMM ////////// */
$(document).ready(function() {
	//alert("Hier ist der Start &uuml;");
	
	// SETUP 
	$.ajaxSetup({async: false});
	
	init();	
	
	Cx9_Translate("WEB_STEP1");
	
	if (isVariable(CONFIG_CHECK_COOKIE) && (CONFIG_CHECK_COOKIE = true)) {
		if (!Cx9_Cookie_checkCookie()) {
			//Das Webmodul darf hier nicht mehr angezeigt werden	
			//Um diese Seite anzeigen zu k%F6nnen, m%FCssen Cookies erlaubt sein!!
			alert(unescape(Cx9_Get("WEB_STEP1", "ERROR_COOKIES")));
			return;		
		}
	}
	//Version checken, wenn != C-Rent Version, dann nicht starten sondern meldung ausgeben!
	if (!Cx9_CheckVersion()) {
	    //Das Webmodul darf hier nicht mehr angezeigt werden
		//Webmodul Version ungleich der Version im C-Rent
		alert(Cx9_Get("WEB_STEP1", "ERROR_VERSION"));
		return;
	}
	
	/* holt Rental von session */		
	
	$("#blockS1Warning").hide();

	if (!(CONFIG_STEP1_LOGIN)) {
		$('#cPaneMRight').hide();		
	}
	
	//Evtl. übergebene Parameter auslesen
	cx9_GetParams();
	
	cx9_GetRentalData(rentalData);
	if (CONFIG_STEP1_CARGROUP) {
		cx9_getCarGroups('%');
	}
	//////////{{COOKIE //////////
	if (Cx9_Cookie_getCookie("loginpermanent") == "1") {
		$("#chkbox_login_permanent").attr("checked", "true");
	}
	 
	$("#fld_login_email").attr("value", Cx9_Cookie_getCookie("loginemail")) ;
	
	if ( isVariable('CONFIG_CHECK_SC') && CONFIG_CHECK_SC ) {
		var _lp = Cx9_Cookie_getCookie("_lp") ;
		if ( _lp.length > 0  ) $("#fld_login_password").attr("value", Base64.decode(_lp) ) ;

	} 
	//////////}}COOKIE //////////		
	
	function cx9_updateStationByXML(xml) {
		var max_station = $("stations>station", xml).length ;
		var dStation ;
		
		for (cs = 0 ; cs < max_station ; cs++) {
			dStation = $("stations>station",xml).get(cs) ;	
			var stTemp = new CStation();
			stTemp.station = $(dStation).attr("id") ;
			stTemp.name= $("name", dStation).text();
			stTemp.strasse = $("street", dStation).text();
			stTemp.plz = $("zipcode", dStation).text() ;
			stTemp.ort = $("city", dStation).text() ;
			stTemp.tresor = $("tresor", dStation).text();
			stTemp.info = "<b >"+stTemp.ort+"</b><br><br>"+stTemp.strasse+"<br>"+stTemp.plz+" - "+stTemp.ort+" <br/><br />"+$("inet_info_station", dStation).text();
			stTemp.forerun = $("forerun", dStation).text();
			aStation.push(stTemp);
		} 
		
		cx9_initStationList();
	}
	
	$.ajax({			
		type: "GET",
		url: "./index.php",
		data: "mod=1020",
		dataType: "xml",
		global: 'false',
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			debugMsg("Request[1020] Fehler - Bitte prÃ¼fen Sie die Stationdaten!")	
		},
		beforeSend: function(xhr){
			xhr.setRequestHeader("Pragma", "no-cache");
			xhr.setRequestHeader("Cache-Control", "must-revalidate");
			xhr.setRequestHeader("If-Modified-Since", document.lastModified);
		} ,
		success:  function(data) {		
			cx9_updateStationByXML(data);
			cx9_refreshFormData();
		} 
	});
	
	/* Initialisierung */
	 $('#blockSelStartStation').hide();
	 $('#pnlStartStationInfo').hide(); 
		
	// cx9_initStationList() ;
	
	var fld_startstation     = $('input#field-startstation') ;
	var fld_endstation       = $('input#field-endstation') ;
	var btndown_endstation   = $("div#btndown-endstation") ;
	var btndown_startstation = $("div#btndown-startstation") ;
	
	if (isVariable('CONFIG_ENDSTATION_SELECTABLE') &&  CONFIG_ENDSTATION_SELECTABLE == false) {
		$(fld_endstation).attr("disabled",true) ;
		if (isVariable('CONFIG_ENDSTATION_VISIBLE') &&  CONFIG_ENDSTATION_VISIBLE == false) {
			// ganze Zeile unsichtbar machen
			$('input#field-endstation').parent().hide();
			//div höhe geringer machen
			$('div#pnlRentalStation').css('height','48px');
			$('div#cPaneMLeft').css('height', '113px');			
		}
	}
	
	addBtnDownStartStation() ;
	addBtnDownEndStation() ;	
	
	/* drÃ¼ckt irgendwo um Startstation Wahlliste zu schliessen */
	$(document.body).mousedown( function(event) {
		var $target = $(event.target) ;
		
		// $('#bPanel').html(event.target.id) ;
		if ( event.target.tagName == "BODY" || event.target.tagName=="IFRAME" ) {
			if ( isStartStation || isEndStation ) cx9_hideSelStartStation() ;
		} {
			if (isStartStation)  {
				var strTarg = new String(event.target.id) ;
				var selItem = false ;
				if ( strTarg.substring(0,4) == "ssID" ) selItem = true ;
				if (   !( /* ( $("#"+event.target.id).parent().get(0).id == "blockSelStartStation" ) ||*/ 
					   (event.target.id == "blockSelStartStation")  || 
					   (event.target.id == "field-startstation") || 
					   (event.target.id == "btndown-startstation" )|| (selItem == true ) ) ) {
						cx9_hideSelStartStation() ;
				}
			}
		}
	});
	
	/**
	 * StationList darstellen.
	 */
	function cx9_initStationList() {
		
		if ( aStation.length < 2 && aStation.length > 0  ) {
			
			if ( rentalData.sstationname.length == 0 || rentalData.sstationname == "" ){
				selssindex = 0 ;
				rentalData.startstation =  aStation[0].station;
				rentalData.sstationname =  aStation[0].ort+", "+aStation[0].strasse;			
			} 
			if ( rentalData.estationname.length == 0 || rentalData.estationname == "" ) 
			{
				selesindex = 0 ;
				rentalData.endstation 	=  aStation[0].station;
				rentalData.estationname =  aStation[0].ort+", "+aStation[0].strasse;			
			} 				
		}
		
		/* Hol Starttion */
		for (cs = 0 ; cs < aStation.length ; cs++ ) {
			// check if Startstation or Abgabstation not empty, then set default value;
			if ( isNaN(selssindex)  ) {
				if (rentalData.startstation == aStation[cs].station) {
					selssindex = cs;
				} else if (rentalData.endstation == aStation[cs].station) {
					selesindex = cs ;
				}
			}
			
			//bei manueller startstation(?sstat=station) -> station setzen					
			if (UrlParams['sstat'].length>0) {
			    if (UrlParams['sstat'] == aStation[cs].station) {
			    	
			    	rentalData.startstation =  aStation[cs].station;
					rentalData.sstationname =  aStation[cs].name;
					$("#field-startstation").attr("value", aStation[cs].name);
					
					rentalData.endstation =  aStation[cs].station;
					rentalData.estationname =  aStation[cs].ort+", "+aStation[cs].strasse;
					$("#field-endstation").attr("value", aStation[cs].ort+", "+aStation[cs].strasse);		
					Cx9_Cookie_setCookie("startstation" , rentalData.startstation ,365 ) ;
					Cx9_Cookie_setCookie("endstation" , rentalData.startstation ,365 ) ;
					Cx9_Cookie_setCookie("sstationname" , rentalData.sstationname ,365 ) ;
					Cx9_Cookie_setCookie("estationname" , rentalData.estationname  ,365 ) ;
					
					if (CONFIG_STEP1_CARGROUP == true) {
						if (UrlParams['grp'].length == 0) {
							cx9_getCarGroups(aStation[cs].station);
						}
						$("#spanstation").text(aStation[cs].ort+ ", "+aStation[cs].strasse);
					}
			    }
		    }							
			if (cs%2 == 1) 
				$('#blockSelStartStation').append("<div id='ssID_"+cs+"' ssid='"+cs+"' class='zeileBoxItemOdd' stat='"+aStation[cs].station+"'>"+aStation[cs].ort+", "+aStation[cs].strasse+" </div>") ;
			else
				$('#blockSelStartStation').append("<div id='ssID_"+cs+"' ssid='"+cs+"' class='zeileBoxItem' stat='"+aStation[cs].station+"'>"+aStation[cs].ort+", "+aStation[cs].strasse+" </div>") ;
			//Immer die Zeiten holen
			if (rentalData.startstation == aStation[cs].station) {
				aSchedule = reqFilialeSchedule(rentalData.startstation);
			}
			if (rentalData.endstation == aStation[cs].station) {
				if( CONFIG_ENDSTATION_SET_OPENING == true ) {
					eSchedule = reqFilialeSchedule(rentalData.endstation);
				}
			}
			
			//Events, die in der Stationsliste ausgelöst werden können
			$("div#ssID_"+cs).mouseover( function() {
				$(this).attr("class" , "zeileBoxItemSelect") ;
				$("#pnlStartStationInfo").html(aStation[$(this).attr("ssid")].info) ;				
				
			}).mouseout( function() {
				if (parseInt($(this).attr("ssid"))%2 == 1) 
				$(this).attr("class" , "zeileBoxItemOdd") ;		
				else 
				$(this).attr("class" , "zeileBoxItem") ;		
									   
			}).click(function() {
				if (isStartStation) {
					//prÃ¼ft Station mit Reservierung !!!
					selssindex = parseInt($(this).attr("ssid"),10) ;
					if( rentalData.startstation != aStation[$(this).attr("ssid")].station ) {
						rentalData.startstation =  aStation[$(this).attr("ssid")].station;
						rentalData.sstationname =  aStation[$(this).attr("ssid")].name;
						$("#field-startstation").attr("value", aStation[$(this).attr("ssid")].name);
						Cx9_Cookie_setCookie("startstation" , rentalData.startstation ,365 ) ;
						Cx9_Cookie_setCookie("sstationname" , rentalData.sstationname ,365 ) ;

						aSchedule = reqFilialeSchedule(aStation[$(this).attr("ssid")].station) ;
						refreshBeginScheduleTime();
					}
					if( rentalData.endstation != aStation[$(this).attr("ssid")].station ) {
						rentalData.endstation   =  aStation[$(this).attr("ssid")].station;
						rentalData.estationname =  aStation[$(this).attr("ssid")].ort+", "+aStation[$(this).attr("ssid")].strasse;
						$("#field-endstation").attr("value", aStation[$(this).attr("ssid")].ort+", "+aStation[$(this).attr("ssid")].strasse);		
						Cx9_Cookie_setCookie("endstation" , rentalData.startstation ,365 ) ;
						Cx9_Cookie_setCookie("estationname" , rentalData.estationname  ,365 ) ;

						if( CONFIG_ENDSTATION_SET_OPENING == true ) {
							eSchedule = reqFilialeSchedule( aStation[$(this).attr("ssid")].station );
							refreshEndScheduleTime();
						}
					}
					if (CONFIG_STEP1_CARGROUP == true) {
						if (UrlParams['grp'].length == 0) {
							cx9_getCarGroups(aStation[$(this).attr("ssid")].station);
						}
						$("#spanstation").text(aStation[$(this).attr("ssid")].ort+ ", "+aStation[$(this).attr("ssid")].strasse);
					}
				}
				if (isEndStation) {
					selesindex = parseInt($(this).attr("ssid"),10) ;
					if( rentalData.endstation != aStation[$(this).attr("ssid")].station ) {
						rentalData.endstation = aStation[$(this).attr("ssid")].station ;
						rentalData.estationname = aStation[$(this).attr("ssid")].ort+", "+aStation[$(this).attr("ssid")].strasse;
						Cx9_Cookie_setCookie("endstation" , rentalData.endstation ,365 ) ;
						Cx9_Cookie_setCookie("estationname" , rentalData.estationname  ,365 ) ;
						$("#field-endstation").attr("value", aStation[$(this).attr("ssid")].ort+", "+aStation[$(this).attr("ssid")].strasse);

						if( CONFIG_ENDSTATION_SET_OPENING == true ) {
							eSchedule = reqFilialeSchedule( aStation[$(this).attr("ssid")].station );
							refreshEndScheduleTime();
						}
					}
				}
				cx9_hideSelStartStation();
				cx9_refreshFormData();
			});
			
		}
		
	}//cx9_initStationList() end
	
	function cx9_hideSelStartStation() {
		$('#blockSelStartStation').hide("fast");
		$('#pnlStartStationInfo').hide("fast");
		isStartStation = false ;
		isEndStation = false ;
	}
	
	
	
	/* Datum aus Kalendar holen */ 
	$('#rental-startdate').datepicker( datepickeroptions );
	$('#rental-enddate').datepicker( datepickeroptions );
	
		
	/* End: Kalendar */


	/* ////////// Startdatum change ////////// */
	$('#rental-startdate').change(function() {

		var strStartDate = $(this).attr( "value" );

		if ( checkDataBeforeSubmit( "", "" ) == false ) {

			var dtStartDay   = parseInt(strStartDate.substring(0,2),10);
			var dtStartMonth = parseInt(strStartDate.substring(3,5),10);
			var dtStartYear  = parseInt(strStartDate.substring(6,10),10);
			var iHourEndDate = parseInt($('#h-enddate').attr("value"),10 );
			var iMinEndDate  = parseInt($('#m-enddate').attr("value"),10 ) ;
			
			var dtEndDate = new Date( dtStartYear, dtStartMonth-1, dtStartDay+1, iHourEndDate, iMinEndDate );
			
			rentalData.mietende = fillZeroDate(dtEndDate.getDate())+"."+fillZeroDate(dtEndDate.getMonth()+1)+"."+dtEndDate.getFullYear();
			
			$('#rental-enddate').attr( "value" , rentalData.mietende );
			
			if( CONFIG_ENDSTATION_SET_OPENING == true ) { 
				refreshEndScheduleTime();
			}
		}
		refreshBeginScheduleTime();
	}) ;

	/* ////////// Endtdatum change ////////// */
	$('#rental-enddate').change( function() {
		if( CONFIG_ENDSTATION_SET_OPENING == true ) {
			refreshEndScheduleTime();
		}
	} );

	/* ////////// Passwort vergessen ////////// */
	$("#btnForgotPassword").click(function(){
		
		var strEmail = $("#fld_login_email").attr("value") ;
		
		if ( strEmail.length == 0 ) {
			alert(Cx9_Get("WEB_STEP1", "ERROR_EMAIL_FILL"));
			$("#fld_login_email").focus() ;
			return;
		}
		
		if ( isValidEmail(strEmail)) {
			cx9_requestPasswortPerEmail(strEmail) ;
		}
		else {
			alert(Cx9_Get("WEB_STEP1", "ERROR_FORGET_PW")) ;
			return;
		}
	});

	/* /////////// Login speichern ////////// */
	 $("#closeSaveLoginInfo").click( function(){
	 		if ( isVariable('CONFIG_CHECK_SC') && CONFIG_CHECK_SC ) {
				$("#popupSaveLogin").hide() ;
				$("#backgroundFilter").hide();
			} 
	 }) ;
	
	/* /////////// Passwort merken ////////// */
	$("#chkbox_login_permanent").click( function(){
		
		if ( $(this).attr("checked")== true ) {
			nd = new Date() ;
			Cx9_Cookie_setCookie("loginemail", $("#fld_login_email").attr("value"),365) ;
			
			if ( isVariable('CONFIG_CHECK_SC') && CONFIG_CHECK_SC ) {
				var password = $("#fld_login_password").attr("value") ;
				if ( password.length > 0  )
					Cx9_Cookie_setCookie("_lp", Base64.encode(password),365 ) ;
				else  Cx9_Cookie_setCookie("_lp", "" ,365 ) ;
				$("#popupSaveLogin").show() ;
				$("#backgroundFilter").show();
			} 

		} else {
			Cx9_Cookie_setCookie("loginemail", "",365) ;
			if ( isVariable('CONFIG_CHECK_SC') && CONFIG_CHECK_SC ) {
				Cx9_Cookie_setCookie("_lp", "",365) ;
			} 
			// deletecookies
		}
	
	});
	
	/* ////////// Startstation Input Click ////////// */
	fld_startstation.click(function(e) {
		if (aStation.length > 0) {
			var position = $(this).offset();
			Cx9_Show_StationList(position);
			isStartStation = true;
		}
		if ( selssindex  < aStation.length ) {
			$("#pnlStartStationInfo").html(aStation[selssindex].info) ;	
		}
	}) ;
		
	/* ////////// Endstation Input Click ////////// */
	fld_endstation.click(function(e) {
		
			if (isVariable('CONFIG_ENDSTATION_SELECTABLE') &&  CONFIG_ENDSTATION_SELECTABLE == false) {
	
			return ;
		}
		
		if (aStation.length > 0) {
			var position = $(this).offset();
			Cx9_Show_StationList(position);
			isEndStation = true;
		}
		if ( selesindex  < aStation.length ) {
			$("#pnlStartStationInfo").html(aStation[selesindex].info) ;	
		}
	}) ;
	
	/* ////////// Endstation Button "Down" Click ////////// */
	btndown_endstation.click(function(e) {
		
		if (isVariable('CONFIG_ENDSTATION_SELECTABLE') &&  CONFIG_ENDSTATION_SELECTABLE == false) {
			return ;
		}
		
			if (aStation.length > 0) {
				if (isEndStation) {
					cx9_hideSelStartStation();
				}
				else {
				
					Cx9_Show_StationList($(fld_endstation).offset());
					isEndStation = true;
				}
			}
			
			if (selesindex < aStation.length) {
				$("#pnlStartStationInfo").html(aStation[selesindex].info);
			}
		
	});
	
	/* ////////// Startstation Button "Down" Click ////////// */
	btndown_startstation.click(function(e) {
		if (aStation.length >0 ) {
			if (isStartStation) {
				cx9_hideSelStartStation();
			}
			else {
				Cx9_Show_StationList($(fld_startstation).offset());
				isStartStation = true;
			}
		}
		if ( selssindex  < aStation.length ) {
			$("#pnlStartStationInfo").html(aStation[selssindex].info) ;	
		}
	});
	
	
	
	/* ////////// Weiter ////////// */
	$("form#frmSubmitS1").submit(function(){

		var strStartDate  = $('#rental-startdate').attr("value") ;
		var strEndDate    = $('#rental-enddate').attr("value");
		
		var iHourStartDate = parseInt($('#h-startdate').attr("value"),10) ;
		var iMinStartDate  = parseInt($('#m-startdate').attr("value"),10) ;
		var iHourEndDate   = parseInt($('#h-enddate').attr("value"),10 );
		var iMinEndDate    = parseInt($('#m-enddate').attr("value"),10 ) ;
		
		
		var isError = checkDataBeforeSubmit(); 
		if (!(isError)) {
			// $("#blockS1Warning").html("Bitte &uuml;pr&uuml;fen Sie Ihr Mietdatum !")	
			alert(Cx9_Get("WEB_STEP1","CHECK_RESERVATION_DATE"));
			return false;
		}
		else {			
			
			/* holt alle Daten um zu senden */ 
			$("#frmSubmitS1>#s1_mietbeginn").attr("value", $('#rental-startdate').attr("value")) ;
			$("#frmSubmitS1>#s1_mietende").attr("value", $('#rental-enddate').attr("value")) ;
			
			$("#frmSubmitS1>#s1_startstunde").attr("value", $('#h-startdate').attr("value")) ;
			$("#frmSubmitS1>#s1_startminute").attr("value", $('#m-startdate').attr("value")) ;
			$("#frmSubmitS1>#s1_endstunde").attr("value", $('#h-enddate').attr("value")) ;
			$("#frmSubmitS1>#s1_endminute").attr("value", $('#m-enddate').attr("value")) ;
			
			$("#frmSubmitS1>#s1_login_email").attr("value", $('#fld_login_email').attr("value")) ;
			$("#frmSubmitS1>#s1_login_passwort").attr("value", $('#fld_login_password').attr("value")) ;
			$("#frmSubmitS1>#s1_login_permanent").attr("value", $('#chkbox_login_permanent').attr("checked")) ;
			// alert($('#chkbox_login_permanent').attr("checked")) ;
			// alert($("#frmSubmitS1>#s1_mietbeginn").attr("value"));
			
			if ($("fld_login_email").attr("value").length > 0 || $("fld_login_passwort").length > 0 ) {
				checkCustomerLogin($("fld_login_email").attr("value"),$("fld_login_password").attr("value") );
			}
			else {
				return true;
			}
			
		}
	});
	
	/**
	 * Submit Events
	 */
	$("#submitDataS1").click(function(){
		
		if ( rentalData.startstation.length == 0 || rentalData.endstation.length == 0 ){
			
			alert(Cx9_Get("WEB_STEP1","CHECK_STARTSTATION")) ;
			return false ;
		} 
		
		if (CONFIG_STEP1_CARGROUP == true) {
			//Gruppe ausgewählt?
			if (rentalData.autogroupid.length == 0) {
				alert(Cx9_Get("WEB_STEP1","CHECK_GROUP")) ;
				return false ;				
			}
		}
		
		/** ////////// COOKIE ////////// **/
		if ( isValidEmail($("#fld_login_email").attr("value")) && $("#chkbox_login_permanent").attr("checked")== true ) {
			// Cx9_Cookie_setCookie("loginpermanent",1,365) ;
			Cx9_Cookie_setCookie("loginemail", $("#fld_login_email").attr("value"),365) ;
			
			if ( isVariable('CONFIG_CHECK_SC') && CONFIG_CHECK_SC ) {
					var password = $("#fld_login_password").attr("value") ;
					if ( password.length > 0  )
						Cx9_Cookie_setCookie("_lp", Base64.encode(password),365 );
					else  Cx9_Cookie_setCookie("_lp", "" ,365 ) ;
			}
			
			if ( $("#chkbox_login_permanent").attr("checked")== true ) {
				Cx9_Cookie_setCookie("loginpermanent",1,365) ;
			} else {
				Cx9_Cookie_setCookie("loginpermanent",0,365) ;
				// deletecookies
			}
		
		} else {
			Cx9_Cookie_setCookie("loginemail", "",365) ;
			Cx9_Cookie_setCookie("loginpermanent",0,365) ;
			Cx9_Cookie_setCookie("_lp","",365) ;
			// deletecookies
		}
			
		showPopupWait();
		
		if ($("#fld_login_email").attr("value").length > 0 || $("#fld_login_passwort").length > 0 ) {
	
			checkCustomerLogin($("#fld_login_email").attr("value"),$("#fld_login_password").attr("value") );
		}
		else {
			param = "" ;
			tag = validateData(param) ;
	
			// prÃ¼ft Filiale mit Tresor  
			if (rentalData.login_checked == 0 || isNaN(rentalData.login_checked ) ) {
				if (cx9_isTresorStation(rentalData.startstation) || cx9_isTresorStation(rentalData.endstation)) {
					
					PopupVisible(false) ;
					alert(Cx9_Get("WEB_STEP1","STATION_REG_USER")) ;
					return;
				}
			}
			
			if ( tag.length > 0  ) {
				// PrÃ¼ft Startstation 
				$.ajax({
					type: "GET",
					url: "./index.php",
					data: "mod=1022&startstation="+rentalData.startstation,
					dataType: "xml",
					global: 'false',
					error: function (XMLHttpRequest, textStatus, errorThrown) {
						debugMsg("submitDataS1::click -> Ajax Fehler, Startstation prÃ¼fen ") ;
					},
					beforeSend: function(xhr){
						xhr.setRequestHeader("Pragma", "no-cache");
	      				xhr.setRequestHeader("Cache-Control", "must-revalidate");
						xhr.setRequestHeader("If-Modified-Since", document.lastModified);
					} ,
					success:  function(data) {	
						
						 if ( $("messages>message", data).length > 0  ) {
							msg = $("messages>message", data).get(0) ;
							switch ($("status" , msg).text() ) {
								case "success" : {
									// submit Data 
									submitDataS1(tag) ;
									break;	
								}
								case "error" : {
									// showPopupWait()  ;
									PopupVisible(false) ;
									break;
								}
							}
						 }					
					} 
				});

			}
			else {
				PopupVisible(false) ;
				//...Fehler meldung ! 
				// alert(tag) ;
			}
		}
	}) ;
	
	$("div#btnReservCompany").click(function(){
		checkStartStation(tag+"&respriv=0") ;
	});
	
	$("div#btnReservPrivate").click(function(){
		
		// check MinVorlauf
		rentalData.inet_private_using = '1' ; 
		cx9_checkInetMinVorlauf(true) ;
		// rentalData.inet_private_using = '1' ; 
		
	});
	
	function validateData($param) {
		
		var tag = "" ;
		var strStartDate  = $('#rental-startdate').attr("value") ;
		var strEndDate    = $('#rental-enddate').attr("value");
		var frtime = 0 ; 
		var totalHour = 0 ; 
		
		// added 29/10/2009 
		var stDay = strStartDate.substr(0,2) ;
		var stMon = strStartDate.substr(3,2) ;
		var stYear = strStartDate.substr(6,4) ;
		var edDay = strEndDate.substr(0,2) ;
		var edMon = strEndDate.substr(3,2) ;
		var edYear = strEndDate.substr(6,4) ;
		
		var stDate = new Date(stYear, stMon-1, stDay, 0, 0)  ;
		var edDate = new Date(edYear, edMon-1, edDay, 0, 0)  ;	
		
		tag = setStartOrEndDate(stDate, true);
		if (tag == "") {
			return tag;
		}
		
		if (CONFIG_ENDSTATION_SET_OPENING == true) {
			tag = setStartOrEndDate(edDate, false);
			if (tag == "") {
				return tag;
			}
		}
		
		// Prüfung, ob Reservierung auch an einem Feiertag gesetzt werden darf
		if (isVariable('CONFIG_RESERV_ON_HOLIDAY') && (!CONFIG_RESERV_ON_HOLIDAY)) {
			if (rentalData.startstation != '1EG') {
				if ((DatumIsFeiertag(strStartDate, rentalData.startstation)) || ((!CONFIG_RETURN_ON_HOLIDAY) && (DatumIsFeiertag(strEndDate, rentalData.endstation)))) {
					return tag;
				}
			}
		}
		
		var isError = checkDataBeforeSubmit();
		
		if (!(isError)) {
			showPopupWait();
			alert(Cx9_Get("WEB_STEP1", "ERROR_CHECK_START_LESS_END"));
			return tag;
		} else {
			if( Cx9_CheckForerunTime() ) {
				
				tag = "s1_mietbeginn="+escape($('#rental-startdate').attr("value")) ;
				tag += "&s1_mietende="+escape($('#rental-enddate').attr("value")) ;
				tag += "&s1_startstunde="+escape($('#h-startdate').attr("value")) ;
				tag += "&s1_endstunde="+escape($('#h-enddate').attr("value")) ;
	  		    tag += "&s1_startminute="+escape($('#m-startdate').attr("value")) ;
				tag += "&s1_endminute="+escape($('#m-enddate').attr("value")) ;
				tag += "&s1_startstation="+escape(rentalData.startstation);
				tag += "&s1_sstationname="+escape(rentalData.sstationname);
				tag += "&s1_abgabestation="+escape(rentalData.endstation) ;
				tag += "&s1_estationname="+escape(rentalData.estationname);
				// Hier noch die Gruppe mit übergeben, wenn als Parameter gesetzt
				if (UrlParams['grp'].length > 0) {
					tag += "&s1_grp="+escape(UrlParams['grp'].split("=")[0]);	
				}
				if (CONFIG_STEP1_CARGROUP == true) {
					tag += "&s1_grp="+rentalData.autogroupid;
				}
				return tag;	
			} else {
				// showPopupWait()  ;
				PopupVisible(false) ;
				return tag;
			}
			
		}
	}
	
	function setStartOrEndDate(aDate, start) {
		
		var tag = "" ;
		
		var iHourStartDate = parseInt($('#h-startdate').attr("value"),10) ;
		var iMinStartDate  = parseInt($('#m-startdate').attr("value"),10) ;
		var iHourEndDate   = parseInt($('#h-enddate').attr("value"),10 );
		var iMinEndDate    = parseInt($('#m-enddate').attr("value"),10 ) ;
		
		// check if schedule is set for the given day
		if( aSchedule[aDate.getDay()] === undefined ) {
			showPopupWait();
			alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
			return tag;
		// check if schedule is not from 0:00 to 0:00 
		} else if( (aSchedule[aDate.getDay()].bthour === 0) && (aSchedule[aDate.getDay()].ethour === 0) ) {
			showPopupWait();
			alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
			return tag;
		}
		var sched = aSchedule[aDate.getDay()];
		// create formated string of the opening hours (adding leading zeros)
		/*var openingStr = "";
		if( sched.bthour < 10 )
			openingStr = "0"+sched.bthour+":";
		else
			openingStr = sched.bthour+":";
		if( sched.btmin < 10 )
			openingStr += "0"+sched.btmin+"Uhr bis ";
		else
			openingStr += sched.btmin+"Uhr bis ";
		if( sched.ethour < 10 )
			openingStr += "0"+sched.ethour+":";
		else
			openingStr += sched.ethour+":";
		if( sched.etmin < 10 )
			openingStr += "0"+sched.etmin+"Uhr";
		else
			openingStr += sched.etmin+"Uhr";*/
		// check if reservation time is in between the opening hours
		if (start===true) {
			if( ((iHourStartDate < sched.bthour) || (iHourStartDate > sched.ethour)) || 
				(((iHourStartDate >= sched.mbhour) && (sched.mbmin === 0)) && ((iHourStartDate <= sched.mehour) && (sched.mbmin)) )) {
				showPopupWait();
				//alert( unescape( "Der Mietbeginn liegt au%DFerhalb der %D6ffnungszeiten von "+openingStr+"!" ) );
				alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
				return tag;
			} else {
				if( (iHourStartDate == sched.bthour) && (iMinStartDate < sched.btmin) ) {
					showPopupWait();
					alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
					return tag;
				}
				if( (iHourStartDate == sched.ethour) && (iMinStartDate > sched.etmin) ) {
					showPopupWait();
					alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
					return tag;
				}				
				if ((iHourStartDate == sched.mbhour) && ((iMinStartDate >= sched.mbmin) && (iMinStartDate <= sched.memin))) {
					showPopupWait();
					alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
					return tag;
				}				
			}
		}else {
			if( ((iHourEndDate < sched.bthour) || (iHourEndDate > sched.ethour) ) || 
				(((iHourEndDate >= sched.mbhour) && (sched.memin === 0)) && ((iHourEndDate <= sched.mehour) && (sched.memin === 0)))) {
				showPopupWait();
				alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
				return tag;
			} else {
				if( (iHourEndDate == sched.bthour) && (iMinEndDate < sched.btmin) ) {
					showPopupWait();
					alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
					return tag;
				}
				if( (iHourEndDate == sched.ethour) && (iMinEndDate > sched.etmin) ) {
					showPopupWait();
					alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
					return tag;
				}
				if ((iHourEndDate == sched.mehour) && ((iMinEndDate >= sched.mbmin) && (iMinEndDate <= sched.memin))) {
					showPopupWait();
					alert(Cx9_Get("WEB_STEP1", "ERROR_START_END_OPENTIME"));
					return tag;
				}
			}
		}
		return 1;
	}
	
	/* /////////// FUNCTION ////////// */
	function checkDataBeforeSubmit( $startdate, $enddate ) {
		
		var strStartDate = $('#rental-startdate').attr("value") ;
		var strEndDate   = $('#rental-enddate').attr("value");
		var iHourStartDate = parseInt($('#h-startdate').attr("value"),10) ;
		var iMinStartDate  = parseInt($('#m-startdate').attr("value"),10) ;
		var iHourEndDate   = parseInt($('#h-enddate').attr("value"),10 );
		var iMinEndDate    = parseInt($('#m-enddate').attr("value"),10 ) ;
		var dtStartDay   = parseInt(strStartDate.substring(0,2),10);
		var dtStartMonth = parseInt(strStartDate.substring(3,5),10);
		var dtStartYear  = parseInt(strStartDate.substring(6,10),10);
		var dtEndDay     = parseInt(strEndDate.substring(0,2),10);
		var dtEndMonth   = parseInt(strEndDate.substring(3,5),10);
		var dtEndYear    = parseInt(strEndDate.substring(6,10),10);
		
		var dtstart = new Date(dtStartYear,dtStartMonth-1, dtStartDay, iHourStartDate, iMinStartDate) ;
		var dtend   = new Date(dtEndYear,dtEndMonth-1, dtEndDay, iHourEndDate, iMinEndDate) ;
		// alert(dtStartDay + " "+dtStartMonth+" "+dtstart.toUTCString());
		if (dtstart.getTime() < dtend.getTime())	
			return true;
		else
			return false;
	}
	
	function submitDataS1(param) {
		// debugMsg("parameter "+param);
		
		$.ajax({
			type: "POST",
			url: "./index.php",
			data: "mod=100&"+param ,
			dataType: "xml",
			global: 'false',
			error: function (XMLHttpRequest, textStatus, errorThrown) {
				debugMsg("submitDataS1() -> Ajax Request Error ! "+textStatus) ;	
				// showPopupWait();	
				PopupVisible(false) ;
			},
			beforeSend: function(xhr){
				xhr.setRequestHeader("Pragma", "no-cache");
  				xhr.setRequestHeader("Cache-Control", "must-revalidate");
				xhr.setRequestHeader("If-Modified-Since", document.lastModified);
			} ,
			success:  function(data) {	
				 if ( $("messages>message", data).length > 0  ) {
					msg = $("messages>message", data).get(0);
					switch ($("status" , msg).text() ) {
						case "success" : {
							
							if ($("#pnlWrapper").attr("state") == "extern" || $("#pnlRentalStation").attr("state")=="extern" || $("#configStep1").attr("state")=="extern" ) {
								PopupVisible(false) ;
								/*
								// window.open($("content" , msg).text(), 'PopupWindow' ,'channelmode=no , dependent=no,location=no ,status=no ,menubar=no ,directories=no , resizable=no ,toolbar=no ,scrollbars=no ,width=685,height=555');
								if (isVariable('CONFIG_URL_EXTERN_STEP2') && CONFIG_URL_EXTERN_STEP2.length > 0) {
									window.parent.location.replace(CONFIG_URL_EXTERN_STEP2);
								}
								else {
									if ( isVariable('CONFIG_EXTERN_STEP2_PARENT') && CONFIG_EXTERN_STEP2_PARENT )
										window.parent.location.replace($("content" , msg).text(), 'PopupWindow' ,'channelmode=no , dependent=no,location=no ,status=no ,menubar=no ,directories=no , resizable=no ,toolbar=no ,scrollbars=no ,width=685,height=555');
									else 
										window.open($("content", msg).text(), 'PopupWindow', 'channelmode=no , dependent=no,location=no ,status=no ,menubar=no ,directories=no , resizable=no ,toolbar=no ,scrollbars=no ,width=685,height=555');
									
								}
								*/
								
								replaceKdLocation($("content", msg).text()) ;
							}
							else { 
								// window.location.replace($("content", msg).text());
								
								replaceKdSingleLocation($("content", msg).text()) ;
								if (!CONFIG_EXTERN_STEP2_PARENT) {
									PopupVisible(false);									
								}
								
							}
								
							break;	
						}
						case "error" : { 
							PopupVisible(false) ;
							debugMsg($("content" , msg).text() );
							
							break;
						}
					}
				 } 			
			} 
		});

		
	}
	
	/**
	 * prÃ¼ft Kunden Login Daten 
	 * @param {Object} email
	 * @param {Object} password
	 */
	function checkCustomerLogin(_email,_password) {
		
		param = "email="+_email+"&passwort="+_password ;
		// debugMsg(param) ;
		var reempf  = "" ;
		var inetprivateusing = "" ;
		
		// resultReqCusSpe = reqCustomerSpecial(_email, _password  ); 	
				
		$.ajax({
			type: "POST",
			url: "./index.php",
			data:"mod=500&"+param,
			dataType: "xml",
			global: 'false',
			error: function (XMLHttpRequest, textStatus, errorThrown) {
				debugMsg("checkCustomerLogin() -> Ajax Request Error ! "+textStatus) ;	
				// showPopupWait();
				PopupVisible(false) ;
			},
			beforeSend: function(xhr){
				xhr.setRequestHeader("Pragma", "no-cache");
  				xhr.setRequestHeader("Cache-Control", "must-revalidate");
				xhr.setRequestHeader("If-Modified-Since", document.lastModified);
			} ,
			success:  function(data) {	
				 if ( $("messages>message", data).length > 0  ) {
					msg = $("messages>message", data).get(0);
					switch ($("status" , msg).text() ) {
						case "success" : {
							// debugMsg($("content" , msg).text() ) ;

							// Update Inet_min_Vorlauf 
							UpdateRegCustomerData(_email, _password)  ;
							// rentalData.login_checked = 1 ; 
							
							param = "" ;
							tag = validateData(param) ;
							tagCheckStartStation = tag ;
							
							if ( tag.length > 0 ) {
								
								if ( isVariable('CONFIG_CHECK_REEMPF') && CONFIG_CHECK_REEMPF ) {
									reqCustomerSpecial(_email, _password);
								} 
								else {
									checkStartStation(tag);
								}
							}
							else {
								// data fehler 
								PopupVisible(false) ;
							}
							
							break;	
						}
						case "error" : {
							// Email & Password existiert nicht 
							PopupVisible(false) ;
							alert(Cx9_Get("WEB_STEP1", $("content" , msg).text())) ;
							// check Tresor 
							if (cx9_isTresorStation(rentalData.startstation) ) {
								alert(Cx9_Get("WEB_STEP1", "STATION_REG_USER")) ;
								return;
							}
							if (cx9_isTresorStation(rentalData.endstation)) {
								alert(Cx9_Get("WEB_STEP1", "STATION_REG_USER")) ;
								return;
							}			
							break;
						}
						
					}
				 } else { 
				 	PopupVisible(false) ;
				 }					
			} 
		});
	}

	
	
	function checkStartStation(param) {
		
		// PrÃ¼ft Startstation 
		$.ajax({
			type: "GET",
			url: "./index.php",
			data: "mod=1022&startstation=" + rentalData.startstation,
			dataType: "xml",
			global: 'false',
			error: function(XMLHttpRequest, textStatus, errorThrown){
				// debugMsg("submitDataS1::click -> Ajax Fehler, Startstation prÃ¼fen ");
				// showPopupWait();
				PopupVisible(false) ;
			},
			beforeSend: function(xhr){
				xhr.setRequestHeader("Pragma", "no-cache");
				xhr.setRequestHeader("Cache-Control", "must-revalidate");
				xhr.setRequestHeader("If-Modified-Since", document.lastModified);
			},
			success: function(data){											
				if ($("messages>message", data).length > 0) {
					msg = $("messages>message", data).get(0);
					switch ($("status", msg).text()) {
						case "success":{
							// submit Data 
							submitDataS1(param);
							break;
						}
						case "error":{
							// showPopupWait();
							PopupVisible(false);
							alert(Cx9_Get("WEB_STEP1", $("content", msg).text()));
							break;
						}
					}
				}
				else {
					PopupVisible(false);
				}
			}
		});
		
	}
	
	
	function reqCustomerSpecial(_email, _password ) {
	
		var isCheckCustomerSpecial = false ;
					
		param2 = "em="+Base64.encode(_email)+"&mm="+Base64.encode(_password) ;

		$.ajax({
			type: "GET",
			url: "./index.php",
			data: "mod=1500&"+param2,
			dataType: "xml",
			global: 'false',
			error: function(XMLHttpRequest, textStatus, errorThrown){
				waitProcessAjax = false ;
				debugMsg("submitDataS1::click -> Ajax Fehler, Startstation prÃ¼fen ");
				isRequestCustomerSpecial = false;
				PopupVisible(false) ;
			},
			beforeSend: function(xhr){
				xhr.setRequestHeader("Pragma", "no-cache");
				xhr.setRequestHeader("Cache-Control", "must-revalidate");
				xhr.setRequestHeader("If-Modified-Since", document.lastModified);
			},
			success: function(data){
				if ($("messages>message", data).length > 0) {
					msg = $("messages>message", data).get(0);
					switch ($("status", msg).text()) {
						case "success":{
							PopupVisible(false) ;
							isCheckCustomerSpecial = true ;
							
							var content = $("content", msg).get(0) ;
							
							rentalData.reempf = Base64.decode($("reempf", content).text());
							rentalData.inet_private_using = Base64.decode($("inet_private_using", content).text());		
							
							if ( rentalData.reempf.length > 0 ) {	
								if ( rentalData.inet_private_using == "1") {
									$("div#popupReservationOwner").show() ;
									$("div#backgroundFilter").show() ;
									// Fragen: private ? firma
								} else {
									checkStartStation(tagCheckStartStation+"&respriv=0");
								}
							} else {
								// Wenn REEMpf leer ist, ist immer fÃ¼r privat 
		
								checkStartStation(tagCheckStartStation+"&respriv=1");
								
							}
							
							break;
						}
						case "error":{
							// showPopupWait();
							PopupVisible(false) ;
							alert(Cx9_Get("WEB_STEP1", $("content", msg).text()));							
							break;
						}
					}
				}
				else {
					isRequestCustomerSpecial = false;
				}
			}
		});			
		
		return isRequestCustomerSpecial ;
	}
	
	// Button DropDown Ã¼ber EndStation Input 
	function addBtnDownStartStation() {
		var position = $(fld_startstation).offset();
		$(btndown_startstation).css("top", position.top) ;
		$(btndown_startstation).css("left", position.left+CONFIG_FLD_STATION_SIZE-16) ;
	}
	
	// Button DropDown Ã¼ber EndStation Input
	function addBtnDownEndStation() {
		var position = $(fld_endstation).offset();
		$(btndown_endstation).css("top", position.top) ;
		$(btndown_endstation).css("left", position.left+CONFIG_FLD_STATION_SIZE-16) ;
		
	}
	
	function Cx9_Show_StationList(pos) {
		$('#blockSelStartStation').css("top", pos.top+20) ;
		$('#blockSelStartStation').css("left", pos.left) ;
		$('#blockSelStartStation').show(200);
		$('#pnlStartStationInfo').css("top", pos.top+20) ;
		$('#pnlStartStationInfo').css("left", pos.left+280) ;
		if (isVariable('CONFIG_SHOW_STATION_INFO' )) {
			if (CONFIG_SHOW_STATION_INFO )
			$('#pnlStartStationInfo').show(200);
			else $('#pnlStartStationInfo').hide();
		}
		else 
			$('#pnlStartStationInfo').hide();
	}
	
	function Cx9_Compare_Date(startdate, enddate ) {
		if ( iStartDate < iEndDate ) return -1;
		else {
			if ( iEndDate == iStartDate )
			return 0;
			else return 1;
		}
	}

	function Cx9_CheckForerunTime() {
		var strStartDate = $('#rental-startdate').attr("value") ;
		var iHourStartDate = parseInt($('#h-startdate').attr("value"),10) ;
		var iMinStartDate  = parseInt($('#m-startdate').attr("value"),10) ;
		var dtStartDay   = parseInt(strStartDate.substring(0,2),10);
		var dtStartMonth = parseInt(strStartDate.substring(3,5),10);
		var dtStartYear  = parseInt(strStartDate.substring(6,10),10);
		var frtime = 0 ; 
			
		if ( rentalData.inetmv.length > 0 && parseInt(rentalData.inetmv, 10) > 0 ) { 
			frtime = parseInt(rentalData.inetmv, 10);	// kunden vorlaufszeit
		}
		else {
			
			if (!isNaN(selssindex)) {
			
				frtime = parseInt(aStation[selssindex].forerun,10);	// station vorlaufszeit
			}
		}
		
		// PRIVATE=true und LOGIN=true
		if ( rentalData.inet_private_using=="1" && rentalData.login_checked==1 ) {
			
			frtime = parseInt(aStation[selssindex].forerun,10); 
			if (frtime == 0) {
				if (isVariable('CONFIG_MIN_VORLAUF')) 
					frtime = CONFIG_MIN_VORLAUF;
				else 
					frtime = 1440;
			}
		}

		// debugMsg(frtime) ;
		if ( isNaN(frtime) || frtime == null || frtime == "undefined") {	
			if (isVariable('CONFIG_MIN_VORLAUF') ) 
				frtime = CONFIG_MIN_VORLAUF; 
			else frtime = 1440;
		}
		
		var now = new Date() ;
		var forerundate = new Date(now.getFullYear(), now.getMonth() , now.getDate() , now.getHours() , now.getMinutes()+frtime ) ;
		var cdate = new Date(dtStartYear,dtStartMonth-1, dtStartDay, iHourStartDate, iMinStartDate)	 ;			
		// debugMsg(frtime + "|"+forerundate.toLocaleString()+"|#|"+cdate.toLocaleString()+"|") ;
		var totalhour = frtime/60 ; 
		
		if ( forerundate.getTime() < cdate.getTime() ) {
			// debugMsg("CheckForerunTime():true") ;
			return true ;
		} else {
			// debugMsg("CheckForerunTime():false") ;
			showMVConflict(frtime, totalhour) ;
			return false ;
		}
	}
	
	
	function cx9_checkInetMinVorlauf(isPrivat) {
		PopupVisible(false) ;
		
		var addtime = 0 ;
		 
		if ( isPrivat ){
			
			rentalData.inet_private_using = '1' ;
			rentalData.login_checked = true ; 
			
			if (Cx9_CheckForerunTime()) {
				checkStartStation(tag + "&respriv=1");
			} else {
				// showMVConflict(addTime, totalHour) ;
				return; 
			}
		}
	}

	function showMVConflict(mintime, totalHour ) {
		var now = new Date() ;
		var forerundate = new Date(now.getFullYear(), now.getMonth() , now.getDate() , now.getHours() , now.getMinutes()+(mintime) ) ;
		if (isVariable('USER_TEXT_FORERUN') && USER_TEXT_FORERUN.length > 0) {
			
			var strVorlauf = new String(USER_TEXT_FORERUN);
			var dtMin = fillZeroDate(forerundate.getDate()) + "." + fillZeroDate((forerundate.getMonth() + 1)) + "." + forerundate.getFullYear() + " um " + fillZeroDate(forerundate.getHours()) + ":" + fillZeroDate(forerundate.getMinutes());
			
			strVorlauf = strVorlauf.replace(/DATETIME/gi, dtMin);
			strVorlauf = strVorlauf.replace(/FORERUN_HOUR/gi, totalHour);
			// alert(dtMin);
			
			$("div#popupReservationOwner").hide();
		}
		else {
			$("div#popupReservationOwner").hide();
			alert(Cx9_Get("WEB_STEP1", "ERROR_MV_CONFLICT")+" "+ fillZeroDate(forerundate.getDate()) + "." + fillZeroDate((forerundate.getMonth() + 1)) + "." + forerundate.getFullYear() + " um " + fillZeroDate(forerundate.getHours()) + ":" + fillZeroDate(forerundate.getMinutes()));
			//alert("Der frÃ¼heste Abfahrtstermin ist " + fillZeroDate(forerundate.getDate()) + "." + fillZeroDate((forerundate.getMonth() + 1)) + "." + forerundate.getFullYear() + " um " + fillZeroDate(forerundate.getHours()) + ":" + fillZeroDate(forerundate.getMinutes()) + "\r\n Bitte wÃ¤hlen Sie eine spÃ¤tere Abfahrtszeit aus. ");
		}
	}
	
	
	/* Wird in Step 2 "Ändern" der abfahrt oder ankunft aufgerufen && hat das ganze nen 
	 * zusätzlichen Header und bilder drum herum, dann diese ausblenden und positionen anpassen
	 * kommt auch drauf an welches Design man hat ... */
	if ($("div#pnlWrapper").attr("state") == "extern") {
    	$("div#tPanel").hide();
    	$("div#cPanelR").hide();
    	$("div#btndown-startstation").attr("style", "top:16px; left:334px");
    	$("div#btndown-endstation").attr("style", "top:43px; left:334px");
    }
			
	////////// WAIT //////////
	$("#popupWindowWait").hide() ;
	$("#backgroundFilter").hide() ;
	
	$("#spanhstartdate").text($('#h-startdate').val());
	
	hstartdate_onchange = function() {
		$("#spanhstartdate").text($('#h-startdate').val());
	};
	$("#spanhenddate").text($('#h-enddate').val());
	henddate_onchange = function() {
		$("#spanhenddate").text($('#h-enddate').val());
	};
	
	$("#spanmstartdate").text($('#m-startdate').val());
	
	mstartdate_onchange = function() {
		$("#spanmstartdate").text($('#m-startdate').val());
	};
	$("#spanmenddate").text($('#m-enddate').val());
	menddate_onchange = function() {
		$("#spanmenddate").text($('#m-enddate').val());
	};
	
	kfzgroup_onchange = function() {
		$("#spankfzgroup").text(arrFahrzeuggruppe[$('#selKfzGruppen').val()].beschreibung);
		rentalData.autogroupid = arrFahrzeuggruppe[$('#selKfzGruppen').val()].gruppe;
	};
});	
