// Funktion ist ein Alias fÃ¼r document.getElementById()
function $ (elementID) {
	return document.getElementById(elementID);
}
// Funktion ist ein Alias fÃ¼r document.getElementsByTagName()
function $T (tagname, element) {
	element = element||document;
	return element.getElementsByTagName(tagname);
}

function $N (name) {
	return document.getElementsByName(name);
}

function isset(variabel) {
	return (variabel != undefined);
}

function empty(variabel) {
	return (variabel == undefined || variabel == false || variabel == 0 || variabel == '');
}

// Objektsammlung
var hc = {
	loadJS: function (pfad, id) {
		if (id && $(id)) return;
		var script = document.createElement('script');
		script.type = 'text/javascript';
		if (id)
			script.id = id;
		script.src = pfad;
		if (!id || !$(id))
			document.getElementsByTagName('head')[0].appendChild(script);
	},
	loadCSS: function (pfad, id) {
		if (id && $(id)) return;
		var style = document.createElement('link');
		style.type = 'text/css';
		style.href = pfad;
		style.rel = 'stylesheet';
		if (id)
			style.id = id;
		if (!id || !$(id))
			document.getElementsByTagName('head')[0].appendChild(style);
	}
}
hc.loadJS('env/common/hctools/tools.js?1.2');

var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}

Object.extend = function(destination, source) {
	for (property in source) destination[property] = source[property];
	return destination;
}

Function.prototype.bind = function(object) {
	var __method = this;
	return function() {
		return __method.apply(object, arguments);
	}
}

Function.prototype.bindAsEventListener = function(object) {
var __method = this;
	return function(event) {
		__method.call(object, event || window.event);
	}
}
// Holt Javascript fuer den Merkzettel
function getMerkzettelJS () {
	hc.loadJS('env/common/hctools/drag.js', 'dragJS');
	hc.loadCSS('env/reiseangebote/merkzettel.css', 'mzCSS');
	hc.loadJS('env/reiseangebote/merkzettel.js', 'mzJS');
}

// CallbackFunktion, um den merkzettel zu Ã¶ffnen
function openMerkzettel (AjaxResponse, params) {
	if (!$('mzAngebote') || empty($('merkzettel').innerHTML)) {
		$('merkzettel').innerHTML = AjaxResponse.content;
	}
	// Ansonsten nur angebotsBoxen erneuern
	else 
		$('mzAngebote').innerHTML = AjaxResponse.content;
	
	if (isset(AjaxResponse.meldung) && typeof(AjaxResponse.meldung) == 'object') {
		if (AjaxResponse.meldung.type == -1) $('mzMeldung').style.color = '#FF0000';
		else $('mzMeldung').style.color = '#5285BE';
		$('mzMeldung').innerHTML = AjaxResponse.meldung.meldung;
	}
	else if ($('mzMeldung')) $('mzMeldung').innerHTML = '';
	if (params && isset(params.position) && params.position == true) {
		if (document.all) 
			$('merkzettel').style.top = (document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop) + 20 + 'px';
		else 
			$('merkzettel').style.top = '20px';
		$('merkzettel').style.left = '350px';
	}
	else {
		if (document.all) 
			$('merkzettel').style.top = (document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop) + 20 + 'px';
		else if (empty($('merkzettel').style.top)) 
			$('merkzettel').style.top = '20px';
		if (empty($('merkzettel').style.left)) $('merkzettel').style.left = '350px';
		
	}
	if ($('merkzettelAnzahlItems') && AjaxResponse.anzItems) {
		if (AjaxResponse.anzItems == 0)
			$('merkzettelAnzahlItems').innerHTML = 'Noch keine Angebote gemerkt.';
		else
			$('merkzettelAnzahlItems').innerHTML = 'Reiseangebote ('+AjaxResponse.anzItems+')';
	}
}



/**
* nochmal für Popups, wird eigentlich alles schon ausserhalb zusammengebaut (function PopupLink)
*/
function popUpLink(popUpURL, popUpName, popUpParamString) {
  window.open( popUpURL, popUpName, popUpParamString );
}


/**
* Funktion fÃ¼r PopUp-Fenster
* Bearbeitet 30.10.2006
* 
* Nur noch Content Ã¼bergabe
* und grÃ¶sse wird anhand von den
* 3 mÃ¶glichen grÃ¶ssen eingestellt
* klein:  350_300
* mittel: 550_500
* gross:  750_600
*
*/

function popUp(popUpURL, popUpName, popUpWidth, popUpHeight) {
	var popUpParamString;
	switch(popUpName) {
		case 'flex':
			popUpParamString = "menubar=1,location=0,toolbar=0,status=1,resizable=1,dependent=1,scrollbars=yes,height=" + (!empty(popUpHeight) ? popUpHeight : 600) +",width=" + (!empty(popUpWidth) ? popUpWidth : 400);
		break;
		case 'flux':
			popUpParamString = "menubar=0,location=0,toolbar=0,status=0,resizable=0,dependent=1,scrollbars=yes,height=" + (!empty(popUpHeight) ? popUpHeight : 600) +",width=" + (!empty(popUpWidth) ? popUpWidth : 400);
		break;
		case 'media':
			popUpParamString = "menubar=1,location=0,toolbar=1,status=1,resizable=1,dependent=1,scrollbars=yes,height=" + (!empty(popUpHeight) ? popUpHeight : 600) +",width=" + (!empty(popUpWidth) ? popUpWidth : 400);
		break;
		case 'agb':
			popUpParamString = "menubar=0,location=0,toolbar=1,status=0,resizable=1,dependent=1,scrollbars=yes,height=" + (!empty(popUpHeight) ? popUpHeight : 600) +",width=" + (!empty(popUpWidth) ? popUpWidth : 700);
		break;
		case 'fix':
		case 'fix2':
		default:
			popUpParamString = "menubar=0,location=0,toolbar=0,status=0,resizable=0,scrollbars=yes,dependent=1,height=" + (!empty(popUpHeight) ? popUpHeight : 180) +",width=" + (!empty(popUpWidth) ? popUpWidth : 180);
		break;
	}
	window.open( popUpURL, popUpName, popUpParamString );
}

function bauePopup(popUpURL, popUpName, popupGroesse, mediatyp) {
	var popUpHeight = 0;
	var popUpWidth  = 0;
	var popUpParamString;
	var popUpURL = 'popup.php?section=' + popUpURL;
	
	switch(popupGroesse) {
		case 'klein':
			popUpHeight = 300;
			popUpWidth = 350;
		break;
		case 'mittel':
			popUpHeight = 500;
			popUpWidth = 550;
		break;
		case 'gross':
			popUpHeight = 600;
			popUpWidth = 750;
		break;
		default:
			popUpHeight = 500;
			popUpWidth = 550;
		break;
	}
	
	switch(mediatyp) {
		case 'fix':
			popUpParamString = "menubar=0,location=0,toolbar=0,status=1,resizable=0,dependent=1,scrollbars=yes,height=" +  popUpHeight +",width=" + popUpWidth;
		break;
		case 'media':
			popUpParamString = "menubar=1,location=1,toolbar=1,status=0,resizable=1,dependent=1,scrollbars=yes,height=" + popUpHeight +",width=" + popUpWidth;
		break;
		default:
			popUpParamString = "menubar=0,location=0,toolbar=0,status=0,resizable=0,scrollbars=yes,dependent=1,height=" + popUpHeight +",width=" + popUpWidth;
		break;
	}
	window.open( popUpURL, popUpName, popUpParamString );
}

DatArray = new Array("So","Mo","Di","Mi","Do","Fr","Sa","??" );

/*
* Funktion zur Erzeugung von Dropdowns mit Datum
* f?r das Hinreisedatum
* ausgabe. Wird in Preisvergleich-Suchmasken
* verwendet
*/function select_vnd(z, width){
	document.write("<select name='vnd' size=1 style='border: 1px solid; font-size: 10px; width: " + width + "px'>");
	for (var i=1; i<=360;i++){
		if (i==z) {
			document.write('<option value='+i+' selected>'+GetDatum(i)+'');
		} else {
			document.write('<option value='+i+'>'+GetDatum(i)+'');
		}
	}
	document.write("</select>")
}

/*
* Funktion zur Erzeugung von Dropdowns mit Datum
* f?r das R?ckreisedatum
* ausgabe. Wird in Preisvergleich-Suchmasken
* verwendet
*/
function select_bsd(t, width){
	document.write("<select name='bsd' size=1 style='border: 1px solid; font-size: 10px; width: " + width + "px'>");
	for (var i=1; i<=360;i++){
		if (i==t) {
			document.write('<option value='+i+' selected>'+GetDatum(i)+'');
		} else {
			document.write('<option value='+i+'>'+GetDatum(i)+'');
		}
	}
	document.write("</select>")
}

/*
* Funktion zur Ausgabe des aktuellen Datums (formatier)
*/
function GetDatum(offset){
	var time = new Date()
	time.setTime( time.getTime()+offset*86400000);
	tag     = time.getDate();
	monat   = time.getMonth()+1;
	jahr    = time.getYear() % 100;
	if (tag   < 10)   tag   = "0"+tag;
	if (monat < 10)   monat = "0"+monat;
	if (jahr  < 10)   jahr  = "0"+jahr;
	return tag+'.'+monat+'.'+jahr+' '+DatArray[time.getDay()];
}

/*
* Funktion zum Vorladen von Grafiken
* Wird "onLoad" im Body aufgerufen, alle vorzuladenden Bilder werden kommaseperiert
*	?bergeben
*/
function preloadImage() {
  var args = preloadImage.arguments;
  document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++){
    document.imageArray[i] = new Image;
    document.imageArray[i].src = args[i];
  }
}


/*
* Funktion zum Ansprechen von HTML-Elementen
* ?ber die jeweilige ID
*/
function getElement(n,d) {
  var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

/*
* Funktion zum Einblenden der Subnavigation
*/
function switchActive() {
	var i,p,v,obj,args=switchActive.arguments;
	for (i=0; i<(args.length-2); i+=3) if ((obj=getElement(args[i]))!=null) { v=args[i+2];
		if (obj.style) {
			obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v;
		}
    obj.visibility=v;
	}
}
/*
* This script automatically jumps to the next input field when the current field's maxlength has been reached.
*/

function autotab(original,destination){
	if (original.getAttribute&&original.value.length==original.getAttribute("maxlength")) {
		if (destination != "") {
			destination.select();
		}
		else {
			original.select();
		}
	}
}

function toggle(type,element,toggleID) {
 // Lokale Variable definieren
 var i, j, t, type0, start=0, result=0;
 var obj, objName, objFirst=-1, objLast=-1, objCount, exceptions, lastArgument, xSwitch;
 var toggleDisplay, displayType, displayStyle, displayXStyle;
 var toggleVisibility, visibilityStyle, visibilityXStyle;
 var toggleAttribute="id"; // hier ggf. gewuenschten Standard-Attribut-Namen eintragen (z.B. "id")
 var toggleBack, backType, backXType, backStyle, backXStyle;
 var showStatus=200; // hier eintragen, ab wieviel Elementen ein Bearbeitungshinweis erfolgen soll

 // Aktionstyp vereinheitlichen/definieren (Standard: "Falten")
 type=(type)?type.toLowerCase():"fold";

 // Wurde Elemente-Begrenzung uebergeben?
 if(element) {
  i=element.indexOf("{"); j=element.indexOf("}",i);
  if(i>=0 && j>=0) {
  objFirst=parseInt(element.substring(i+1,element.indexOf("-",i)));
  objLast=parseInt(element.substring(element.indexOf("-",i)+1,j));
  element=element.substring(0,i);
  }
 }

 // Nur Abfrage, ob toggle technisch moeglich ist?
 if(!element || type=="test") {
  result=(document.getElementsByTagName)?true:false;
 } else {

  // Aktionsflags definieren
  toggleDisplay=(type.indexOf("fold")+1);    // Style display verwenden
  toggleVisibility=(type.indexOf("hide")+1); // Style visibility verwenden
  toggleBack=(type.indexOf("back")+1);       // Style background-color verwenden

  // "Ent-/Falten" (Darstellung ohne Platzhalter: display)?
  // ------------------------------------------------------
  if(toggleDisplay) {
   // Standard-Darstellungsart
   displayType="";
   // Spezielle Darstellungsart uebergeben?
   i=type.indexOf("fold:");
   if(i>=0) {
    // Ja, also Trenn-Positionen der Art festlegen, ...
    i+=4; j=type.indexOf(" ",i)
    // ... und Aktion von Darstellungsart trennen
    displayType=type.substring(i+1,(j<0)?type.length:j);
    // Darstellungsart "none" aus logischen Gruenden nicht zulassen
    displayType=(displayType=="none")?"":displayType;
   }
   // Aktionsstyle und Ausnahmestyle festlegen
   if(type.indexOf("unfold")>=0) {
    displayStyle=displayType; displayXStyle="none";
   } else {
    displayStyle="none"; displayXStyle=displayType;
   }
  }

  // "Anzeigen/Verstecken" (Darstellung mit Platzhalter: visibility)?
  // ----------------------------------------------------------------
  if(toggleVisibility) {
   // Aktionsstyle und Ausnahmestyle festlegen
   if(type.indexOf("unhide")>=0) {
    visibilityStyle="visible"; visibilityXStyle="hidden";
   } else {
    visibilityStyle="hidden"; visibilityXStyle="visible";
   }
  }

  // "Farbwahl (Hintergrund)" (Darstellung auf Farbe: background-color)?
  // -------------------------------------------------------------------
  if(toggleBack) {
   // Standard-Darstellungsart
   backType="#FFFFFF";
   // Komplementaere Standard-Darstellungsart
   backXType="#000000";
   // Spezielle Darstellungsart uebergeben?
   i=type.indexOf("back:");
   if(i>=0) {
    // Ja, also Trenn-Positionen der Art festlegen, ...
    i+=4; j=type.indexOf(" ",i)
    // ... und Aktion von Darstellungsart trennen
    backType=type.substring(i+1,(j<0)?type.length:j);
    // Spezielle komplementaere Darstellungsart uebergeben?
    i=backType.indexOf("/");
    if(i>=0) {
     // Ja, also Trenn-Positionen der Art festlegen, ...
     j=backType.indexOf(" ",i)
     // ... und Darstellungsarten trennen
     backXType=backType.substring(i+1,(j<0)?backType.length:j);
     backType=backType.substring(0,i)+((j<0)?"":backType.substring(j,backType.length));
    }
   }
   // Aktionsstyle und Ausnahmestyle festlegen
   backStyle=backType;
   backXStyle=backXType;
  }

  /* ----------------------- */
  /* Beginn der Hauptroutine */
  /* ----------------------- */

  // Toggling per ID?
  if(document.getElementById && document.getElementById(element)) {
   // ID gefunden: Kurzform fuer Element-Objekt definieren
   obj=document.getElementById(element);
   // Ein Element behandelt
   result=1;

   // Darstellung ohne Platzhalter
   // ----------------------------
   if(toggleDisplay) {
    // Display-Style setzen
    obj.style.display=displayStyle;
   }

   // Darstellung mit Platzhalter
   // ---------------------------
   if(toggleVisibility) {
    // Visibility-Style setzen
    obj.style.visibility=visibilityStyle;
   }

   // Darstellung auf Farbe
   // ---------------------
   if(toggleBack) {
    // Background-Color-Style setzen
    obj.style.backgroundColor=backStyle;
   }

  // ID nicht gefunden!
  } else if(document.getElementsByTagName) {
   // Enthaelt element nicht nur Tag-, sondern auch Attributnamen?
   i=element.indexOf(":");
   if(i>=0) {
    // Ja, also toggleAttribut neu definieren und element anpassen
    toggleAttribute=element.substring(i+1,element.length);
    element=element.substring(0,i);
   }

   // Sind gesuchtes Element vorhanden und eine Basiskennung definiert?
   if(document.getElementsByTagName(element).length && toggleID) {

    // Letzter Parameter ist true/false?
    lastArgument=(typeof(toggle.arguments[toggle.arguments.length-1])=="boolean")?-1:0;
    // "Switch"-Effekt?
    xSwitch=(lastArgument)?toggle.arguments[toggle.arguments.length-1]:false;
    // Ausnahme-Kennungen in einem String zusammenfassen (Basiskennung+Restkennung+Pipe-Symbol als Trenner)
    exceptions=toggleID; for(i=3;i<(toggle.arguments.length+lastArgument);i++) { exceptions+=toggle.arguments[i]+"|"; }
    i=exceptions.indexOf("|"); t=""; while(i>=0) { t+=exceptions.substring(start,i+1)+toggleID; start=i+1; i=exceptions.indexOf("|",start); if(!i) { break; } }
    exceptions=t.substring(0,t.length-toggleID.length);

    // Kurzform fuer Element-Objekt definieren
    obj=document.getElementsByTagName(element);
    // Start- und Endelement sowie zu bearbeitende Anzahl festlegen
    objFirst=(objFirst<0)?0:Math.max(0,objFirst);
    objLast=(objLast<0)?obj.length:Math.min(obj.length,objLast);
    objCount=(objLast-objFirst)+1;
    // Alle passenden Objekte durchgehen
    for(i=objFirst;i<objLast;i++) {
     // Kennung des aktuellen Elementes auslesen (und mit Trenner versehen)
     objName=obj[i].getAttribute(toggleAttribute);
     // Existiert Kennung und beginnt diese auch mit der Basiskennung?
     if(objName && objName.substring(0,toggleID.length)==toggleID) {
      // Anzahl der bearbeiteten Elemente erhoehen
      result++;
      // Element steht in der Ausnahmeliste?
      toggleException=(exceptions.indexOf(objName+"|")>=0)?true:false;
      // Wenn Anzahl ueber 100: Fortschritt in Statuszeile anzeigen
      if(objCount>showStatus) { window.status="Bearbeitetes Element: "+(result)+"/"+objCount; }

      // Darstellung ohne Platzhalter
      // ----------------------------
      if(toggleDisplay) {
       // Auf jeden Fall Style setzen (entweder/oder)?
       if(xSwitch) {
        // Display-Style unbedingt setzen
        obj[i].style.display=(toggleException)?displayXStyle:displayStyle;
       } else if(!toggleException) {
        // Einfachen Display-Style setzen
        obj[i].style.display=displayStyle;
       }
      }

      // Darstellung mit Platzhalter
      // ---------------------------
      if(toggleVisibility) {
       // Auf jeden Fall Style setzen (entweder/oder)?
       if(xSwitch) {
        // Visibility-Style unbedingt setzen
        obj[i].style.visibility=(toggleException)?visibilityXStyle:visibilityStyle;
       } else if(!toggleException) {
        // Visibility-Style nur bei gueltiger Kennung setzen
        obj[i].style.visibility=visibilityStyle;
       }
      }

      // Darstellung auf Farbe
      // ---------------------
      if(toggleBack) {
       // Auf jeden Fall Style setzen (entweder/oder)?
       if(xSwitch) {
        // Background-Color-Style unbedingt setzen
        obj[i].style.backgroundColor=(toggleException)?backXStyle:backStyle;
       } else if(!toggleException) {
        // Background-Color-Style nur bei gueltiger Kennung setzen
        obj[i].style.backgroundColor=backStyle;
       }
      }

     }
    }
    // Statuszeile wieder loeschen
    if(objCount>showStatus) { window.status=" "; }
   } else {
    // Dokument hat keine passenden Elemente
    result=0;
   }
  } else {
   // Browser kennt getElementsByTagName nicht
   result=false;
  }
 }
 return result;
}

//?ndert den Inhalt des Opener-Fensters und schlie?t da Popup
function remoteWindow(url) {
	window.opener.location.href = url;
	window.close();
}

//F?gt ein maxLength-Attribut zu Textareas hinzu
function isMaxLength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
	if (obj.getAttribute && obj.value.length>mlength)
		obj.value=obj.value.substring(0,mlength)
}

//Tauscht die Klassennamen der Hauptnavigationsreiter OnMouseOver aus f?r IE only!
function reiterWechseln(dropdownAusblenden) {
	if(dropdownAusblenden) {
		document.getElementById("hideDropdown").style.display = "inline";	
	}
	if(dropdownAusblenden == false) {
		document.getElementById("hideDropdown").style.display = "none";
	}
}		

/*
* Funktion zum Vorladen von Grafiken
* Wird "onLoad" im Body aufgerufen, alle vorzuladenden Bilder werden kommaseperiert
*	?bergeben
*/
function preloadImage() { 
  var args = preloadImage.arguments;
  document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++){
    document.imageArray[i] = new Image;
    document.imageArray[i].src = args[i];
  }
}


/** Video Player Ajax Callback */
	showVideoPlayer = function (response, coords) {
		if (!response) {
			if ($('flyingVPlayer')) {
				$('flyingVPlayer').style.display = 'none';
				$('flyingVPlayer').innerHTML = '';
			}
			return;
		}
		if (!$('flyingVPlayer')) {
			player = document.createElement('div');
			with (player.style) { position = 'absolute'; display = 'none';}
			player.id = 'flyingVPlayer';
			document.body.appendChild(player);
		}
		$('flyingVPlayer').innerHTML = response.html;
		
		if (parseInt(coords.x) != 0) x = parseInt(coords.x);
		if (parseInt(coords.y) != 0) y = parseInt(coords.y);
		
		$('flyingVPlayer').style.top = y + 10 + 'px';
		$('flyingVPlayer').style.top = ((window.innerHeight ? window.innerHeight : (document.documentElement ? document.documentElement.clientHeight : document.body.clientHeight))/6 + (window.pageYOffset ? window.pageYOffset : (document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop)) ) + 'px';
		
		$('flyingVPlayer').style.left = (x >  (screen.availWidth / 2) ? (x - 400) : x  )+ 10 + 'px';
		$('flyingVPlayer').style.display = 'block';
		$('flyingVPlayer').style.zIndex = 2001;
		
		eval(response.js);
		UFO.create(FO, "flvplayer");
	}



/*
*	Dummy-Funktionen fÃ¼r Google-Analytics, damit keine JS-Fehler bei Klicks wÃ¤hrend des
*	Ladens kommen
*/
function urchinTracker() {
}
function urchinTracker(variable) {
}

/*
*Weiterer Aufruf f?r Google Analytics um spezielle Naviagtionselemente auf einer Seite zu loggen
*
*
*/
function googleTracker(parameterTracker) {
	urchinTracker("/"+parameterTracker);
}

function openWindow(popUpURL, popUpName, popUpWidth, popUpHeight) {
	
	var popUpParamString = "";	
	if(popUpName == "calendar"){		
		if(popUpHeight == ""){
			popUpHeight = 250;
		}		
		if(popUpWidth == ""){
			popUpWidth = 250;
		}
		popUpParamString = "menubar=0,location=0,toolbar=0,status=1,resizable=0,scrollbars=yes,dependent=1,height=" + popUpHeight +",width=" + popUpWidth;
	}
	
	return window.open( popUpURL, popUpName, popUpParamString );
}

/** Video Player Ajax Callback */
	showVideoPlayer = function (response, coords) {
		if (!response) {
			if ($('flyingVPlayer')) {
				$('flyingVPlayer').style.display = 'none';
				$('flyingVPlayer').innerHTML = '';
			}
			return;
		}
		if (!$('flyingVPlayer')) {
			player = document.createElement('div');
			with (player.style) { position = 'absolute'; display = 'none';}
			player.id = 'flyingVPlayer';
			document.body.appendChild(player);
		}
		$('flyingVPlayer').innerHTML = response.html;
		
		if (parseInt(coords.x) != 0) x = parseInt(coords.x);
		if (parseInt(coords.y) != 0) y = parseInt(coords.y);
		
		$('flyingVPlayer').style.top = y + 10 + 'px';
		$('flyingVPlayer').style.top = ((window.innerHeight ? window.innerHeight : (document.documentElement ? document.documentElement.clientHeight : document.body.clientHeight))/6 + (window.pageYOffset ? window.pageYOffset : (document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop)) ) + 'px';
		
		$('flyingVPlayer').style.left = (x >  (screen.availWidth / 2) ? (x - 400) : x  )+ 10 + 'px';
		$('flyingVPlayer').style.display = 'block';
		$('flyingVPlayer').style.zIndex = 2001;
		
		eval(response.js);
		UFO.create(FO, "flvplayer");
	}
	
//Bild-Scrolling-Zeug
var scrollingAktiv = false;

function startScrolling(id,maxX) {
	scrollingAktiv = id;
	element = document.getElementById(id);
	element.hcScrollingMaxX = maxX;
	if (!element.hcScrollingMillis)	element.hcScrollingMillis = Math.asin(1)*2000;
	date = new Date();
	element.hcScrollingZeit = date.getMilliseconds();
	
	window.setTimeout("scrolling()", 40);
}

function scrolling() {
	if (!scrollingAktiv) return;
	
	element = document.getElementById(scrollingAktiv);
	millis = element.hcScrollingMillis;
	letzteZeit = element.hcScrollingZeit;
	maxX = element.hcScrollingMaxX;
	
	date = new Date();
	zeit = date.getMilliseconds();
	if (zeit < letzteZeit) differenz = (zeit+1000)-letzteZeit;
	else differenz=zeit-letzteZeit;
	
	millis += differenz;
	
	element.hcScrollingMillis = millis;
	element.hcScrollingZeit = zeit;
	element.scrollLeft = -Math.round(Math.sin(millis/2000)*(maxX/2)-(maxX/2));
				
	window.setTimeout("scrolling()", 40);
}

function stopScrolling() {
	scrollingAktiv = false;
}


function sprintf() {

 if( sprintf.arguments.length < 2 ) {
  return
 }

 var data = sprintf.arguments[ 0 ];

 for( var k=1; k<sprintf.arguments.length; ++k ) {
  switch( typeof( sprintf.arguments[ k ] ) )
  {
   case 'string':
    data = data.replace( /%s/, sprintf.arguments[ k ] );
    break;
   case 'number':
    data = data.replace( /%d/, sprintf.arguments[ k ] );
    break;
   case 'boolean':
    data = data.replace( /%b/, sprintf.arguments[ k ] ? 'true' : 'false' );
    break;
   default:
    /// function | object | undefined
    break;
  }
 }
 return( data );
}
	