wmtt = null;
var x, y;
document.onmousemove = updateWMTT;
/*
function updateWMTT(e) {  //Mouseposition bestimmen
	x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
	y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;
	if (wmtt != null) {
		wmtt.style.left = (x - 100) + "px";
		wmtt.style.top 	= (y + 20) + "px";
	}
	
}
*/
function updateWMTT(e){
x = (!e) ? window.event.x + document.body.scrollLeft : e.pageX;
y = (!e) ? window.event.y + document.body.scrollTop: e.pageY;
if(typeof document.body.scrollLeft=='number'){
w = document.body.scrollLeft + document.body.clientWidth;
h = document.body.scrollTop + document.body.clientHeight
}
else if(typeof window.pageYOffset=='number'){
w = window.pageXOffset+window.innerWidth;
h = window.pageYOffset+window.innerHeight
}
t = y + 20;
l = x + 20;
if(wmtt){
if(t + wmtt.offsetHeight > h) wmtt.style.top = y - 20 - wmtt.offsetHeight + 'px';
else wmtt.style.top = t + "px"; 
if(l + wmtt.offsetWidth > w) wmtt.style.left = w - 20 - wmtt.offsetWidth+'px';
else wmtt.style.left = l + "px";
}
} 


function show_bike_rent_info(){
      wmtt = document.getElementById("bike_rent_info");
      wmtt.style.display = "block";     
}

function hide_bike_rent_info(){
      wmtt.style.display = "none";  
}

function hide_last_minute_div(){
      document.getElementById("last_minute").style.display = "none";
      
}



//Buchunsgformularberechnungen

// usage: format_zahl( number [, number]  [, bool]  )
// Gibt deutsche Zahlen mit komma zurück
//    * number
//      Die Zahl, die formatiert werden soll
//    * number (optional)
//      Die Anzahl der Nachkommastellen auf die die Zahl gerundet werden soll (default: 0)
//    * bool (optional)
//      Dieser Parameter bestimmt, ob die formatierte Zahl eine feste Anzahl von Nachkommastellen haben soll. Ist der Wert true, dann werden evtl. fehlende Stellen mit einer Null aufgeüllt.

function formatZahl(zahl, k, fix){
    if(!k) k = 0;
    var neu = '';

    // Runden
    var f = Math.pow(10, k);
    zahl = '' + parseInt( zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;

    // Komma ermittlen
    var idx = zahl.indexOf('.');

    // fehlende Nullen einfügen
    if(fix)
    {
         zahl += (idx == -1 ? '.' : '' )
         + f.toString().substring(1);
    }

    // Nachkommastellen ermittlen
    idx = zahl.indexOf('.');
    if( idx == -1) idx = zahl.length;
    else neu = ',' + zahl.substr(idx + 1, k);

    // Tausendertrennzeichen
    while(idx > 0)
    {
        if(idx - 3 > 0)
        neu = '.' + zahl.substring( idx - 3, idx) + neu;
        else
        neu = zahl.substring(0, idx) + neu;
        idx -= 3;
    }

    return neu;

}





function onload_prices(j, price, price_sozia, price_companion){
    //alert(j);
    for (var i=1; i<=j;i++) {
        var elem1 = "price_"+i;
        var elem2 = "price_single_supplement_"+i;
        var elem3 = "price_rent_"+i;
        var elem4 = "price_transport_"+i;
        var elem5 = "price_rkrv_"+i;  
        var elem6 = "preis_gesamt_ohne_rkrv_"+i; 
        
        if (document.getElementById(elem1)) document.getElementById(elem1).value = 0;
        if (document.getElementById(elem2)) document.getElementById(elem2).value = 0;
        if (document.getElementById(elem3)) document.getElementById(elem3).value = 0;
        if (document.getElementById(elem4)) document.getElementById(elem4).value = 0;
        if (document.getElementById(elem5)) document.getElementById(elem5).value = 0;
        if (document.getElementById(elem6)) document.getElementById(elem6).value = 0;
        get_price('Selbstfahrer', i, price, price_sozia, price_companion); //Anfangsinitialisierung des Grundpreises
    }
    //alert(i);
    
}

function get_price(art, i, price, price_sozia, price_companion){
  
  var elem = "price_"+i;
  var hidden_elem = "grundpreis_"+i;
  if (art == 'Selbstfahrer') {
    document.getElementById(elem).innerHTML = formatZahl(price, 0, false)+" &euro;",
    document.getElementById(elem).value = price;
    document.getElementById(hidden_elem).value = price;
    
    }
  else if (art == "Sozia/Sozius") {
      document.getElementById(elem).innerHTML = formatZahl(price_sozia, 0, false)+" &euro;";
      document.getElementById(elem).value = price_sozia;
      document.getElementById(hidden_elem).value = price_sozia;
      
      }
  else if (art == "Begleitperson") {
      document.getElementById(elem).innerHTML = formatZahl(price_companion, 0, false)+" &euro;";
      document.getElementById(elem).value = price_companion;
      document.getElementById(hidden_elem).value = price_companion;
      
      }
  else {
      document.getElementById(elem).innerHTML = formatZahl(price, 0, false)+" &euro;";
      document.getElementById(elem).value = price;
      document.getElementById(hidden_elem).value = price;
      
      }
  get_prices_without_rrvk_hidden(i); 
  get_price_rkrv(i);
  show_prices(i); 
}

function get_single_suplement(rooms, i, price_single_supplement, boxstring, word_versicherung){
  var elem = "price_single_supplement_"+i;
  var hidden_elem = "ez-zuschlag_"+i;
  var elem1 = "single_supplement_"+i;
  
  if (rooms == 'DZ') {
      document.getElementById(elem1).innerHTML ="";
      document.getElementById(elem).innerHTML = "";
      document.getElementById(elem).value = 0;
      document.getElementById(hidden_elem).value = 0;
      }
        
  else if (rooms == 'EZ') {
      document.getElementById(elem1).innerHTML = boxstring;
      document.getElementById(elem).innerHTML = formatZahl(price_single_supplement, 0, false)+" &euro;";
      document.getElementById(elem).value = price_single_supplement;
      document.getElementById(hidden_elem).value = price_single_supplement;
      }
  get_prices_without_rrvk_hidden(i); 
  get_price_rkrv(i, word_versicherung);
  show_prices(i); 
}

function get_rent_bike(bike, i, price_rent_1, price_rent_2, price_rent_3,price_rent_4, price_rent_5, boxstring){
    var elem = "price_rent_"+i;
    var elem1 = "rent_"+i;
    var elem3 = "price_transport_"+i;
    var elem4 = "transport_"+i;
    var elem5 = "bike_transport_no_"+i;
    var hidden_elem = "bike_miete_"+i;
    var hidden_elem2 = "transportpreis_"+i;
  
  
  
    if (bike == 0) {
      document.getElementById(elem1).innerHTML ="";
      document.getElementById(elem).innerHTML = "";
      document.getElementById(elem).value = 0;
      document.getElementById(hidden_elem).value = 0;
      
      }
    else if (bike == 1) {
      document.getElementById(elem1).innerHTML = boxstring;
      document.getElementById(elem).innerHTML = formatZahl(price_rent_1, 0, false)+" &euro;";
      document.getElementById(elem3).innerHTML ="";
      document.getElementById(elem4).innerHTML = "";
      document.getElementById(elem5).checked = true;
      document.getElementById(elem).value = price_rent_1;
      document.getElementById(elem3).value = 0;
      document.getElementById(hidden_elem).value = price_rent_1;
      document.getElementById(hidden_elem2).value = 0;
      
      }
    else if (bike == 2) {
      document.getElementById(elem1).innerHTML = boxstring;
      document.getElementById(elem).innerHTML = formatZahl(price_rent_2, 0, false)+" &euro;";
      document.getElementById(elem3).innerHTML ="";
      document.getElementById(elem4).innerHTML = "";
      document.getElementById(elem5).checked = true;
      document.getElementById(elem).value = price_rent_2;
      document.getElementById(elem3).value = 0;
      document.getElementById(hidden_elem).value = price_rent_2;
      document.getElementById(hidden_elem2).value = 0;
      }
    else if (bike == 3) {
      document.getElementById(elem1).innerHTML = boxstring;
      document.getElementById(elem).innerHTML = formatZahl(price_rent_3, 0, false)+" &euro;";
      document.getElementById(elem3).innerHTML ="";
      document.getElementById(elem4).innerHTML = "";
      document.getElementById(elem5).checked = true;
      document.getElementById(elem).value = price_rent_3;
      document.getElementById(elem3).value = 0;
      document.getElementById(hidden_elem).value = price_rent_3;
      document.getElementById(hidden_elem2).value = 0;
      }
    else if (bike == 4) {
      document.getElementById(elem1).innerHTML = boxstring;
      document.getElementById(elem).innerHTML = formatZahl(price_rent_4, 0, false)+" &euro;";
      document.getElementById(elem3).innerHTML ="";
      document.getElementById(elem4).innerHTML = "";
      document.getElementById(elem5).checked = true;
      document.getElementById(elem).value = price_rent_4;
      document.getElementById(elem3).value = 0;
      document.getElementById(hidden_elem).value = price_rent_4;
      document.getElementById(hidden_elem2).value = 0;
      }
    else if (bike == 5) {
      document.getElementById(elem1).innerHTML = boxstring;
      document.getElementById(elem).innerHTML = formatZahl(price_rent_5, 0, false)+" &euro;";
      document.getElementById(elem3).innerHTML ="";
      document.getElementById(elem4).innerHTML = "";
      document.getElementById(elem5).checked = true;
      document.getElementById(elem).value = price_rent_5;
      document.getElementById(elem3).value = 0;
      document.getElementById(hidden_elem).value = price_rent_5;
      document.getElementById(hidden_elem2).value = 0;
      }
    else {
      document.getElementById(elem1).innerHTML ="";
      document.getElementById(elem).innerHTML = "";
      document.getElementById(elem3).innerHTML ="";
      document.getElementById(elem4).innerHTML = "";
      document.getElementById(elem5).checked = true;
      document.getElementById(elem).value = 0;
      document.getElementById(elem3).value = 0;
      document.getElementById(hidden_elem).value = 0;
      document.getElementById(hidden_elem2).value = 0;
    
    }           
  get_prices_without_rrvk_hidden(i); 
  get_price_rkrv(i);
  show_prices(i); 
}


function show_transport_bike(i, price_transport, boxstring) {
  
  var elem = "price_transport_"+i;
  var elem1 = "transport_"+i;
  var elem2 = "bike_modell_"+i;
  var elem3 = "price_rent_"+i;
  var elem4 = "rent_"+i;
  var elem5 = "bike_transport_yes_"+i;
  var hidden_elem = "transportpreis_"+i;
  var hidden_elem2 = "bike_miete_"+i;
  
  
  
  if (document.getElementById(elem5).checked == true) {
      document.getElementById(elem1).innerHTML = boxstring;
      document.getElementById(elem).innerHTML = formatZahl(price_transport, 0, false)+" &euro;";
      document.getElementById(elem3).innerHTML ="";
      document.getElementById(elem4).innerHTML = "";
      document.getElementById(elem2).value = 0;
      document.getElementById(elem).value = price_transport;
      document.getElementById(elem3).value = 0;
      document.getElementById(hidden_elem).value = price_transport;
      document.getElementById(hidden_elem2).value = 0;
      }
      
  
  get_prices_without_rrvk_hidden(i); 
  get_price_rkrv(i);
  show_prices(i);    
}

function hide_transport_bike(i) {
    var elem = "price_transport_"+i;
    var elem1 = "transport_"+i;
    var elem2 = "bike_transport_no_"+i;
    var hidden_elem = "transportpreis_"+i;
    
    if (document.getElementById(elem2).checked == true) {
      document.getElementById(elem1).innerHTML ="";
      document.getElementById(elem).innerHTML = "";
      document.getElementById(elem).value = 0;
      document.getElementById(hidden_elem).value = 0;
      }
    
  get_prices_without_rrvk_hidden(i); 
  get_price_rkrv(i);
  show_prices(i); 
}

function get_price_rkrv(i, boxstring){
    
    var elem = "price_rkrv_"+i;  
    var elem1 = "rkrv_"+i;
    var elemi = "insurance_"+i;
    var price_gesamt = "gesamtpreis_"+i;
    var price_without_rkrv = "preis_gesamt_ohne_rkrv_"+i;
    var hidden_elem = "rkrvers_"+i;   
    
    //Reiskostenrücktrittsversicherung Preise 
    
    get_prices_without_rrvk_hidden(i);
    
    /* original
    var p_rkrv_150 = 7;
    var p_rkrv_250 = 12;
    var p_rkrv_500 = 19;
    var p_rkrv_750 = 24;
    var p_rkrv_1000 = 29;
    var p_rkrv_1500 = 39;
    var p_rkrv_2000 = 49;
    var p_rkrv_2500 = 67;
    var p_rkrv_10000 = 0.035 * Number(document.getElementById(price_without_rkrv).value);  //3,5% vom reisepreis
    */
    
    
    var p_rkrv_100 = 9;
    var p_rkrv_200 = 15;
    var p_rkrv_300 = 19;
    var p_rkrv_400 = 23;
    var p_rkrv_500 = 26;
    var p_rkrv_600 = 29;
    var p_rkrv_700 = 31;
    var p_rkrv_800 = 34;
    var p_rkrv_900 = 37;
    var p_rkrv_1000 = 39;
    var p_rkrv_1200 = 43;
    var p_rkrv_1400 = 49;
    var p_rkrv_1600 = 57;
    var p_rkrv_1800 = 63;
    var p_rkrv_2000 = 72;
    var p_rkrv_10000 = 0.035 * Number(document.getElementById(price_without_rkrv).value);  //3,5% vom reisepreis
    
    
    
    var rkrv = 0;
    
    
    
    if (document.getElementById(elemi).checked == true) {
      document.getElementById(elem1).innerHTML = boxstring;
      
       if (document.getElementById(price_without_rkrv).value <= 100) rkrv = p_rkrv_100;
       else if (document.getElementById(price_without_rkrv).value <= 200) rkrv = p_rkrv_200;
       else if (document.getElementById(price_without_rkrv).value <= 300) rkrv = p_rkrv_300;
       else if (document.getElementById(price_without_rkrv).value <= 400) rkrv = p_rkrv_400;
       else if (document.getElementById(price_without_rkrv).value <= 500) rkrv = p_rkrv_500;
       else if (document.getElementById(price_without_rkrv).value <= 600) rkrv = p_rkrv_600;
       else if (document.getElementById(price_without_rkrv).value <= 700) rkrv = p_rkrv_700;
       else if (document.getElementById(price_without_rkrv).value <= 800) rkrv = p_rkrv_800;
       else if (document.getElementById(price_without_rkrv).value <= 900) rkrv = p_rkrv_900;
       else if (document.getElementById(price_without_rkrv).value <= 1000) rkrv = p_rkrv_1000;
       else if (document.getElementById(price_without_rkrv).value <= 1200) rkrv = p_rkrv_1200;
       else if (document.getElementById(price_without_rkrv).value <= 1400) rkrv = p_rkrv_1400;
       else if (document.getElementById(price_without_rkrv).value <= 1600) rkrv = p_rkrv_1600;
       else if (document.getElementById(price_without_rkrv).value <= 1800) rkrv = p_rkrv_1800;
       else if (document.getElementById(price_without_rkrv).value <= 2000) rkrv = p_rkrv_2000;
       else if (document.getElementById(price_without_rkrv).value <= 10000) rkrv = p_rkrv_10000;
       else rkrv = p_rkrv_10000;
    document.getElementById(elem).value = rkrv;
    document.getElementById(hidden_elem).value = rkrv;
    document.getElementById(elem).innerHTML = formatZahl(rkrv, 0, false)+" &euro;";
           
    }
    else {
      document.getElementById(elem1).innerHTML ="";
      document.getElementById(elem).innerHTML = "";
      document.getElementById(elem).value = 0;
      document.getElementById(hidden_elem).value = 0;
    }
    
    
    
    show_prices(i);


}

function get_prices_without_rrvk_hidden(i){
  //zeigt bei der Buchung die Preisangaben pro Teilnehmer in Abhängigkeit von Buchungsdetails an
  var elem_gesamt = "gesamtpreis_"+i;
  var price = "price_"+i;
  var price_single_supplement = "price_single_supplement_"+i;
  var price_rent = "price_rent_"+i;
  var price_transport = "price_transport_"+i;
  var price_rkrv = "price_rkrv_"+i;
  var price_without_rkrv = "preis_gesamt_ohne_rkrv_"+i; 
  
  
  if (document.getElementById(price_single_supplement)) {
    var ezz = Number(document.getElementById(price_single_supplement).value);
  }
  else var ezz = 0;
  
  if (document.getElementById(price_rent)) {
    var rent = Number(document.getElementById(price_rent).value);
  }
  else var rent = 0;
  
  if (document.getElementById(price_transport)) {
    var trans = Number(document.getElementById(price_transport).value);
  }
  else var trans = 0;
  
  
  //Zur Berechnung der reisekostenrücktrittsversicherung brauchen wir den Gesamtpreis OHNE RKRV
  var preis_gesamt_ohne_rkrv = Number(document.getElementById(price).value) + ezz + rent + trans;
  document.getElementById(price_without_rkrv).value = preis_gesamt_ohne_rkrv; 
  
  
  if (document.getElementById(price_rkrv)) {
    var rkrv = Number(document.getElementById(price_rkrv).value);
  }
  else var rkrv = 0;
  
}




function show_prices(i){
  //zeigt bei der Buchung die Preisangaben pro Teilnehmer in Abhängigkeit von Buchungsdetails an
  var elem_gesamt = "gesamtpreis_"+i;
  var price_rkrv = "price_rkrv_"+i;
  var price_without_rkrv = "preis_gesamt_ohne_rkrv_"+i; 
  var hidden_elem = "insgesamt_"+i;  

  var preis_gesamt = Number(document.getElementById(price_without_rkrv).value) + Number(document.getElementById(price_rkrv).value);
  
  
  document.getElementById(elem_gesamt).value = preis_gesamt;
  document.getElementById(hidden_elem).value = preis_gesamt;
  document.getElementById(elem_gesamt).innerHTML = formatZahl(preis_gesamt, 0, false)+" &euro;";
}




function check_teilnehmer_anzahl(price, price_sozia, price_companion){

    if (document.getElementById("teilnehmer_anzahl").value > 1) {
        document.getElementById("rechnung_auswahl").style.display = 'block';  
    }
    else document.getElementById("rechnung_auswahl").style.display = 'none';
    
    
    onload_prices(document.getElementById("teilnehmer_anzahl").value, price, price_sozia, price_companion);
}

function change_teilnehmer_anzahl(){
  //Blendet die Buchungsmaske aus weil Teilnehmeranzahl geändert wurde
  document.getElementById("details").style.display = 'none';
  document.getElementById("rechnungsvariante").value = 'Einzelrechnung';
}

function change_rechnungsvariante(){
  document.getElementById("details").style.display = 'none';
}

// Ende Buchungsformular //////////

/////////AJAX LOADING////////////
function createRegionObject() { 
   var req; 
   if(window.XMLHttpRequest){ 
      // Firefox, Safari, Opera... 
      req = new XMLHttpRequest(); 
   } else if(window.ActiveXObject) { 
      // Internet Explorer 5+ 
      req = new ActiveXObject("Microsoft.XMLHTTP"); 
   } else { 
      alert('Problem creating the XMLHttpRequest object'); 
   } 
   return req; 
}

// Make the XMLHttpRequest object 
var http = createRegionObject(); 
var http2 = createRegionObject();
/////////END AJAX LOADING////////////

function hide_failure_layer(){
  
  document.getElementById("failure").style.display = 'none';
  document.getElementById("failure-header").style.display = 'none';
}


function show_sub_navi(aid){

    toggle("fold","div:id","sub_navi"); // Blendet alle DIVs aus, deren Attributwert von myname mit sub_navi beginnt

    var sub_navi = "sub_navi_" + aid;
    document.getElementById(sub_navi).style.display = 'block';

}

function show_sub_navi_details(rid, region_site, lang){

    toggle("fold","div:id","sub_navi_details"); // Blendet alle DIVs aus, deren Attributwert von myname mit sub_navi_details beginnt

    var sub_navi = "sub_navi_details_" + rid;
    document.getElementById(sub_navi).style.display = 'block';
    if (region_site > "") displayRegion(rid, region_site); //zeigt im content die regiosnsseite an
    
}

function show_sub_navi_details_only(rid, lang){

    toggle("fold","div:id","sub_navi_details"); // Blendet alle DIVs aus, deren Attributwert von myname mit sub_navi_details beginnt
    //toggle("marg","div:id","reg_name");
    

    var sub_navi = "sub_navi_details_" + rid;
    document.getElementById(sub_navi).style.display = 'block';
        
}

function hide_sub_navi_details(rid){

    var sub_navi = "sub_navi_details_" + rid;
    document.getElementById(sub_navi).style.display = 'none';

}

function hide_sub_navi(aid){
    var sub_navi = "sub_navi_" + aid;
    document.getElementById(sub_navi).style.display = 'none';

}
function close_order_div(){
  toggle("fold","div:id","order_div");
}

function show_order_div(order_id){
  toggle("fold","div:id","order_div");
  var order_div = "order_div_" + order_id;
  
  show = document.getElementById(order_div);
  show.style.left = (x +20) + "px";
	show.style.top 	= (y + 20) + "px";
  show.style.display = 'block';
  
}


function show_long_news(nid){

  var long_nid = "long_"+nid;
  var weiterlesen_id = "weiterlesen_"+nid;
  show = document.getElementById(long_nid);
  show.style.display = "block";
  document.getElementById(weiterlesen_id).innerHTML = "&nbsp; <a href='#' onClick=hide_long_news("+nid+");><img src='gfx/weniger.gif' border='0' /></a>";
}
function hide_long_news(nid){
  var long_nid = "long_"+nid;
  var weiterlesen_id = "weiterlesen_"+nid;
  show = document.getElementById(long_nid);
  show.style.display = "none";
  document.getElementById(weiterlesen_id).innerHTML = "&nbsp; <a href='#' onClick=show_long_news("+nid+");><img src='gfx/news.gif' border='0' /></a>";
}


/* 'Wechsle Darstellung 061005' (c) cybaer@binon.net - http://Coding.binon.net/Toggle */
/* Lizenz CC <http://creativecommons.org/licenses/by-nc-sa/2.5/> */
function toggle(type,element,toggleID) {
 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 toggleOpacity, opacityType, opacityStyle, opacityXStyle, opacityStyleCSS, opacityXStyleCSS, opacityStyleMoz, opacityXStyleMoz, opacityStyleKHTML, opacityXStyleKHTML, opacityStyleIE, opacityXStyleIE;
 var toggleColor, colorType, colorXType, colorStyle, colorXStyle;
 var toggleBack, backType, backXType, backStyle, backXStyle;
 var toggleBorder, borderType, borderXType, borderStyle, borderXStyle;
 var toggleAttribute="gid"; // hier ggf. gewuenschten Standard-Attribut-Namen eintragen (z.B. "id")
 var showStatus=200; // hier eintragen, ab wieviel Elementen ein Bearbeitungshinweis erfolgen soll
 var toggleMarg;

 type=(type)?type.toLowerCase():"fold";

 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);
  }
 }

 if(!element || type=="test") {
  result=(document.getElementsByTagName)?true:false;
 } else {

  toggleDisplay=(type.indexOf("fold")+1);    // Style display verwenden
  toggleVisibility=(type.indexOf("hide")+1); // Style visibility verwenden
  toggleOpacity=(type.indexOf("trans")+1);   // Style opacity & Co. verwenden
  toggleColor=(type.indexOf("color")+1);     // Style color verwenden
  toggleBack=(type.indexOf("back")+1);       // Style background-color verwenden
  toggleBorder=(type.indexOf("border")+1);   // Style border-color verwenden
  toggleMarg=(type.indexOf("marg")+1);      // Style Margin verwenden
  
  if(toggleDisplay) {
   displayType="";
   i=type.indexOf("fold:");
   if(i>=0) {
    i+=4; j=type.indexOf(" ",i)
    displayType=type.substring(i+1,(j<0)?type.length:j);
    displayType=(displayType=="none")?"":displayType;
   }
   if(type.indexOf("unfold")>=0) {
    displayStyle=displayType; displayXStyle="none";
   } else {
    displayStyle="none"; displayXStyle=displayType;
   }
  }

  if(toggleVisibility) {
   if(type.indexOf("unhide")>=0) {
    visibilityStyle="visible"; visibilityXStyle="hidden";
   } else {
    visibilityStyle="hidden"; visibilityXStyle="visible";
   }
  }

  if(toggleOpacity) {
   opacityType=50;
   opacityXType=0;
   i=type.indexOf("trans:");
   if(i>=0) {
    i+=5; j=type.indexOf(" ",i)
    opacityType=type.substring(i+1,(j<0)?type.length:j);
    i=opacityType.indexOf("/");
    if(i>=0) {
     j=opacityType.indexOf(" ",i)
     opacityXType=opacityType.substring(i+1,(j<0)?opacityType.length:j);
     opacityType=opacityType.substring(0,i)+((j<0)?"":opacityType.substring(j,opacityType.length));
    }
   }
   opacityStyle=Math.min(100,Math.max(0,100-parseInt(opacityType)));
   opacityXStyle=Math.min(100,Math.max(0,100-parseInt(opacityXType)));
   opacityStyleCSS=""+opacityStyle/100;
   opacityXStyleCSS=""+opacityXStyle/100;
   opacityStyleMoz=opacityStyleCSS;
   opacityXStyleMoz=opacityXStyleCSS;
   opacityStyleKHTML=opacityStyleCSS;
   opacityXStyleKHTML=opacityXStyleCSS;
   opacityStyleIE="alpha(opacity="+opacityStyle+")";
   opacityXStyleIE="alpha(opacity="+opacityXStyle+")";
  }

  if(toggleColor) {
   colorType="#000000";
   colorXType="#FFFFFF";
   i=type.indexOf("color:");
   if(i>=0) {
    i+=5; j=type.indexOf(" ",i)
    colorType=type.substring(i+1,(j<0)?type.length:j);
    i=colorType.indexOf("/");
    if(i>=0) {
     j=colorType.indexOf(" ",i)
     colorXType=colorType.substring(i+1,(j<0)?colorType.length:j);
     colorType=colorType.substring(0,i)+((j<0)?"":colorType.substring(j,colorType.length));
    }
   }
   colorStyle=colorType;
   colorXStyle=colorXType;
  }

  if(toggleBack) {
   backType="#FFFFFF";
   backXType="#000000";
   i=type.indexOf("back:");
   if(i>=0) {
    i+=4; j=type.indexOf(" ",i)
    backType=type.substring(i+1,(j<0)?type.length:j);
    i=backType.indexOf("/");
    if(i>=0) {
     j=backType.indexOf(" ",i)
     backXType=backType.substring(i+1,(j<0)?backType.length:j);
     backType=backType.substring(0,i)+((j<0)?"":backType.substring(j,backType.length));
    }
   }
   backStyle=backType;
   backXStyle=backXType;
  }

  if(toggleBorder) {
   borderType="transparent";
   borderXType="black";
   i=type.indexOf("border:");
   if(i>=0) {
    i+=6; j=type.indexOf(" ",i)
    borderType=type.substring(i+1,(j<0)?type.length:j);
    i=borderType.indexOf("/");
    if(i>=0) {
     j=borderType.indexOf(" ",i)
     borderXType=borderType.substring(i+1,(j<0)?borderType.length:j);
     borderType=borderType.substring(0,i)+((j<0)?"":borderType.substring(j,borderType.length));
    }
   }
   borderStyle=borderType;
   borderXStyle=borderXType;
  }

  if(document.getElementById && document.getElementById(element)) {
   obj=document.getElementById(element);
   result=1;

   if(toggleDisplay) {
    obj.style.display=displayStyle;
   }

   if(toggleVisibility) {
    obj.style.visibility=visibilityStyle;
   }

   if(toggleOpacity) {
    obj.style.filter=opacityStyleIE;
    obj.style.MozOpacity=opacityStyleMoz;
    obj.style.KhtmlOpacity=opacityStyleKHTML;
    obj.style.opacity=opacityStyleCSS;
   }

   if(toggleColor) {
    obj.style.color=colorStyle;
   }

   if(toggleBack) {
    obj.style.backgroundColor=backStyle;
   }

   if(toggleBorder) {
    obj.style.borderColor=borderStyle;
   }
    
   if(toggleMarg) {
     obj.style.marginLeft= "0";
   } 
    
    
  } else if(document.getElementsByTagName) {
   i=element.indexOf(":");
   if(i>=0) {
    toggleAttribute=element.substring(i+1,element.length);
    element=element.substring(0,i);
   }

   if(document.getElementsByTagName(element).length && toggleID) {

    lastArgument=(typeof(toggle.arguments[toggle.arguments.length-1])=="boolean")?-1:0;
    xSwitch=(lastArgument)?toggle.arguments[toggle.arguments.length-1]:false;
    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);

    obj=document.getElementsByTagName(element);
    objFirst=(objFirst<0)?0:Math.max(0,objFirst);
    objLast=(objLast<0)?obj.length:Math.min(obj.length,objLast);
    objCount=(objLast-objFirst)+1;
    for(i=objFirst;i<objLast;i++) {
     objName=obj[i].getAttribute(toggleAttribute);
     if(objName && objName.substring(0,toggleID.length)==toggleID) {
      result++;
      toggleException=(exceptions.indexOf(objName+"|")>=0)?true:false;
      if(objCount>showStatus) { window.status="Bearbeitetes Element: "+(result)+"/"+objCount; }

      if(toggleDisplay) {
       if(xSwitch) {
        obj[i].style.display=(toggleException)?displayXStyle:displayStyle;
        obj[i].style.marginLeft= "0";
        } else if(!toggleException) {
        obj[i].style.display=displayStyle;
        obj[i].style.marginLeft= "0";
       }
      }

      if(toggleVisibility) {
       if(xSwitch) {
        obj[i].style.visibility=(toggleException)?visibilityXStyle:visibilityStyle;
       } else if(!toggleException) {
        obj[i].style.visibility=visibilityStyle;
       }
      }

      if(toggleOpacity) {
       if(xSwitch) {
        obj[i].style.filter=((toggleException)?opacityXStyleIE:opacityStyleIE);
        obj[i].style.MozOpacity=((toggleException)?opacityXStyleMoz:opacityStyleMoz);
        obj[i].style.KhtmlOpacity=((toggleException)?opacityXStyleKHTML:opacityStyleKHTML);
        obj[i].style.opacity=((toggleException)?opacityXStyleCSS:opacityStyleCSS);
       } else if(!toggleException) {
        obj[i].style.filter=opacityStyleIE;
        obj[i].style.MozOpacity=opacityStyleMoz;
        obj[i].style.KhtmlOpacity=opacityStyleKHTML;
        obj[i].style.opacity=opacityStyleCSS;
       }
      }

      if(toggleColor) {
       if(xSwitch) {
        obj[i].style.color=(toggleException)?colorXStyle:colorStyle;
       } else if(!toggleException) {
        obj[i].style.color=colorStyle;
       }
      }

      if(toggleBack) {
       if(xSwitch) {
        obj[i].style.backgroundColor=(toggleException)?backXStyle:backStyle;
       } else if(!toggleException) {
        obj[i].style.backgroundColor=backStyle;
       }
      }

      if(toggleBorder) {
       if(xSwitch) {
        obj[i].style.borderColor=(toggleException)?borderXStyle:borderStyle;
       } else if(!toggleException) {
        obj[i].style.borderColor=borderStyle;
       }
      }
      
      if(toggleMarg) {
        obj[i].style.marginLeft= "0";
   } 

     }
    }
    if(objCount>showStatus) { window.status=" "; }
   } else {
    result=0;
   }
  } else {
   result=false;
  }
 }
 return result;
}


//AJAX Index-Loading
function displayRegion(rid, region_site) {
  
	//http.open('get', '<?= $calenderPath; ?>?m='+m+'&y='+y+'&ran='+ran_no+'&sess_id='+sess_id);
	  
	  http.open('get', region_site+'?rid='+rid);
   	http.onreadystatechange = function() {
   	
		if(http.readyState == 4 && http.status == 200) { 
		   		var response = http.responseText;		
          if(response) { 
				      document.getElementById("content").innerHTML = http.responseText;
				      }
          } 
	  } 
   	http.send(null);
   	
   	//Farbe + Bilder wechsel-dich-spiel im masthead
   	http2.open('get', 'masthead.php?rid='+rid);
   	http2.onreadystatechange = function() {
		if(http2.readyState == 4 && http2.status == 200) { 
      		var response = http2.responseText;		
          if(response) { 
              fw_AjaxParseJS(http2.responseText);     
				      document.getElementById("masthead").innerHTML = http2.responseText;
				      }
          } 
	  }
     
   	http2.send(null);
   	
   	


}

    // ---------------------------------------------------------------------------------
    // copied from crGUI PHP Framework Version 1.2 beta (http://www.cr-solutions.net)
    // -------------------------------------------------------------------------------
    //Javascript in Response nachladen
    function replaceAll(s, regx, replace){ 
      while(s.search(regx) > -1){
        s = s.replace(regx, replace);
      }
      return s;
    }
   
    function fw_AjaxParseJS(responseText){
      var code = "";
      responseText = replaceAll(responseText, "/<SCRIPT/", "<script");
      responseText = replaceAll(responseText, "/</SCRIPT/", "</script");
      while(responseText.length > 0){    
        var p = responseText.indexOf("\<script");
        if(p > -1){  
          responseText = responseText.substring(p, responseText.length);
          p = responseText.indexOf("\>");
          if(p > -1){
            responseText = responseText.substring(p+1, responseText.length);
            p = responseText.indexOf("\<\/script\>");
            if(p > -1){
              code += responseText.substr(0, p);
              responseText = responseText.substring(p+9, responseText.length);
            }else{
              break;
            }
          }else{
            break;
          }
        }else{ 
          break;
        }
      }
      if(code.length == 0){ return false; }
      var ret = null;
      try{
        ret = eval(code);
      }catch(e){
        alert("AjaxParseJS Error ("+e+", "+e.message+"):\n\n"+code.substr(0,300)+"\n\n.....");
      }return ret;
    } 



// Bildwechsel Regionsbilder


function change_image()
{
        setTimeout("change_image()",changeTime*1000);
        document.reg_img.src=pics[Math.floor(Math.random()*pics.length)];
}




function chkFormular_lang(j, lang){
//alert(j);

  if (lang == "") lang = "de";

for (var i=1; i<=j;i++) {
  var first_name = "first_name_"+i;
  var div1=document.getElementById(first_name);
  var last_name = "last_name_"+i;
  var div2=document.getElementById(last_name);
  var street = "street_"+i;
  var div3=document.getElementById(street);
  var zip = "zip_"+i;
  var div4=document.getElementById(zip);
  var city = "city_"+i;
  var div5=document.getElementById(city);
  var telephone = "telephone_"+i;
  var div6=document.getElementById(telephone);
  var email = "email_"+i;
  var div7=document.getElementById(email);
  
  
  if (div1.style.display=="inline") {
      if (div1.value == "") {
          if (lang == "de") alert("Bitte geben Sie den Vornamen des Teilnehmers "+i+" an!");
          if (lang == "en") alert("Please, declare the first name of the participant "+i+" !");
          div1.focus();
          return false;
          }
  }
    
  if (div2.style.display=="inline") {
      if (div2.value == "") {
          if (lang == "de") alert("Bitte geben Sie den Nachnahmen des Teilnehmers "+i+" an!");
          if (lang == "en") alert("Please, declare the name of the participant "+i+" !");
          div2.focus();
          return false;
          }
  }
    
  if (div3.style.display=="inline") {
      if (div3.value == "") {
          if (lang == "de") alert("Bitte geben Sie die Strasse des Teilnehmers "+i+" an!");
          if (lang == "en") alert("Please, declare the street of the participant "+i+" !");
          div3.focus();
          return false;
          }
  }
    
  if (div4.style.display=="inline") {
      if (div4.value == "") {
          if (lang == "de") alert("Bitte geben Sie die PLZ des Teilnehmers "+i+" an!");
          if (lang == "en") alert("Please, declare the postal code of the participant "+i+" !");
          div4.focus();
          return false;
          }
  }
    
  if (div5.style.display=="inline") {
      if (div5.value == "") {
          if (lang == "de") alert("Bitte geben Sie den Wohnort des Teilnehmers "+i+" an!");
          if (lang == "en") alert("Please, declare the city of the participant "+i+" !");
          div5.focus();
          return false;
          }
  }
    
  if (div6.style.display=="inline") {
      if (div6.value == "") {
          if (lang == "de") alert("Bitte geben Sie die Telefonnummer des Teilnehmers "+i+" an!");
          if (lang == "en") alert("Please, declare the telephon number of the participant "+i+" !");
          div6.focus();
          return false;
          }
  }
    
  if (div7.style.display=="inline") {
     var search= /(^[a-zA-Z0-9\-\_]+(\.[a-zA-Z0-9\-\_]+)*\@[a-zA-Z0-9]+[a-zA-Z0-9\-]*[a-zA-Z0-9]+(\.[a-zA-Z0-9]+[a-zA-Z0-9\-]*[a-zA-Z0-9]+)*\.[a-zA-Z]{2,3}$)/;
	   var result=search.test(div7.value);
	   if (result==false)
	   {
        i++;
        div7.value="";
        div7.focus();
        if (lang == "de") alert("Email Adresse ist ungueltig");
        if (lang == "en") alert("Your Email Adress is not valid "+i+" !");
        return false;
	   }

  }
  
}

var div_agb=document.getElementById("agb_accepted");
if(div_agb.checked==false) {  //wenn AGB nicht geklickt, alert-fenster einblenden
   if (lang == "de") alert("Sie muessen die AGB gelesen haben und akzeptieren! Wir koennen sonst Ihre Buchung nicht entgegennehmen.");
   if (lang == "en") alert("Please, accept the General terms. Without accept the booking is not avilable !");
   div_agb.focus();
   return false;
}
}
