	/*
	 * Scripts for Yachting24 Website	 
	 * ITW
	 * 
	 */
	DWREngine.setErrorHandler(errh);
	function errh(msg) {
		//do nothing!;
	}
	
	function popup()
	{ 
		NF=window.open("/yachting/__version.php","ChangeLog","width=800,height=600,scrollbars=yes");
	}

	// chaangeMarkt: Vorgeschaltete Funktion ermöglicht Tomcat/Java, den markt im Request umzusetzen
	function cm(target){

		//console.debug('cm',target);
		dwrMarktDao.initChangemarkt(target, 
			{callback: function(rs){
				document.location.href = target;
			}
		});
	}

	/* Infozeile, ob und auf welcher Umgebung man als User eingeloggt ist */
	function getUserStatusCallback(statusText)
	{
	    $('status').update(statusText);
	}
	function getUserStatus()
	{	
        setLoginStatusGif();
		loginUser.getLoginUser( {callback:function(statusText) {getUserStatusCallback(statusText)}});
	} 
	Event.observe(window, 'load', getUserStatus); 
	
	
	
	/* SESSION KEEP ALIVE ALLE 1 MINUTEN*/
	new PeriodicalExecuter(
		function(pe) {
			setLoginStatusGif();
		}, 60);
		
	/* Wird auch benutzt, um Parameter in die Javawelt zu reichen */ 
	function setLoginStatusGif(){
		random = Math.round(Math.random()*10000000);
                var params = parseParameters();
		var url = "/yachting24/loginStatus.gif" 
		+ "?r=" + random 
		+ ((params['adid'])     ? "&adid="     + params['adid'] : "")
		+ ((params['reqmarkt']) ? "&reqmarkt=" + params['reqmarkt'] : "")
		+ ((params['lang'])     ? "&lang="     + params['lang'] : "&lang=de");
		$("loginstatus").src = url;
	}
	Event.observe(window, 'load', setLoginStatusGif); 

	/* Links dynamisch aufrufen um Parameter korrekt in die HTTPS-Session zu uebergeben */
	var reqmarkt = "";//gefüllt durch Java bei Aufruf des Flaggen-Html
	function openUrl(url, markt, environment) {
		var full_url = '';
		var random = Math.round(Math.random()*10000000);
		var protocol = 'https://';
		var base_url = 'www.yachting24.com';
		var target = parseUrlForContext(url);
		var dynamic_parameters = parseUrlForParameters(location.href);
		var static_parameters = parseUrlForParameters(url);
		
		// Diese Parameter koennen um fehlende Parameter erweitert werden.	
				
		var output_params = "?r=" + random 
		+ ((dynamic_parameters['adid'])     	? "&adid="     		+ dynamic_parameters['adid'] 			: "")
		+ (reqmarkt						 		? "&reqmarkt=" 		+ reqmarkt 								: "&reqmarkt=" + markt)
		+ ((dynamic_parameters['lang'])     	? "&lang="     		+ dynamic_parameters['lang'] 			: "&lang=de")
		+ ((static_parameters['schiffstyp_nr']) ? "&schiffstyp_nr="	+ static_parameters['schiffstyp_nr'] 	: "");
		
		if (environment=='0'){
			full_url = target + output_params;
		} else {
			full_url = protocol + base_url + target + output_params;
		}
		location.href = full_url;
		
	}

	function parseUrlForParameters(url) {
		// Neuere Funktion um URL als Parameter zu verarbeiten.
		var parameters = {};
		var pos_fragezeichen = url.indexOf('?');
		var param_string = url.substring(pos_fragezeichen+1).split('&');

		for (var i = 0; i < param_string.length; i++) {
			var temp = param_string[i].split("=");
			parameters[temp[0]] = unescape(temp[1])
		}
		return parameters;
	}
	
	function parseUrlForContext(url){
		var pos_fragezeichen = url.indexOf('?');
		if (pos_fragezeichen < 0){
			return url;
		} else {
			return url.substring(0, pos_fragezeichen);
		}
	}
	
	/* Flaggensymbole zur Marktwahl */
	function getMarktwahlFlaggenCallback(statusText)
	{
	    $('sprache').update(statusText);
		
		
		//Variable reqmarkt wird aus Java per injiziertem Script gesetzt. 
	}
	function getMarktwahlFlaggen()
	{
		dwrMarktDao.getFlaggenHtml( {callback:function(statusText) {getMarktwahlFlaggenCallback(statusText)}});
	} 
	Event.observe(window, 'load', getMarktwahlFlaggen); 
	
	
	function parseParameters()
	{
	    // Parameter analyieren - nur fuer Abwaertskompatibilitaet.
            var url = location.href;
            var p0 = url.indexOf('?');
            var params = url.substring(p0+1).split('&');

            var data = {};
            for (var i=0; i < params.length; i++) {
 	        var tmp = params[i].split("=");
 	        data[tmp[0]] = unescape(tmp[1]);
 	    }	
	    return data;
    }   
	
	function gup( name ){  
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
		var regexS = "[\\?&]"+name+"=([^&#]*)";  
		var regex = new RegExp( regexS );  
		var results = regex.exec( window.location.href );  
		if( results == null )    
			return "";  
		else   
			return results[1];
	}
	
	/*Tooltips*/
	var finish = true;
	
	function tooltipTxt(label){
		if (finish){
			var dbug = false;
			if (gup( 'debug' ) == 'true') {
				dbug = true;
			}
			$('tooltipspan').innerHTML = "";
			finish = false;
			labelDao.getLabelDwrReq(label,dbug, {callback:function(data) {setTooltipLabel(data)}});
		}
	}
	
	function setTooltipLabel(label){
		finish = true;
    	$('tooltipspan').innerHTML = label;
    	TagToTip('tooltipspan');
	}
	

	/*
	*	Hilfsfunktion, um in statischen Seiten dynamische Textabschnitte zu beziehen
	*/
	function getLabelForDivCallback(divid,text)
	{
	    $(divid).update(text);
	}
	function getLabelForDiv(divid, keylabel)
	{
		var dbug = false;
		if (gup( 'debug' ) == 'true') {
			dbug = true;
		}
		labelDao.getLabelDwrReq(keylabel, dbug, {callback:function(data) {getLabelForDivCallback(divid,data)}});
	} 
