// Add HTML5 form support for non HTML5 browsers
$(function () {
  var input = document.createElement('input'); // test element

  // Placeholder support
  var support_placeholder = 'placeholder' in input;
  if (!support_placeholder){
    $(':input[placeholder]').each(function() {
      var $$ = $(this);
      if($$.val() === '') {
        $$.addClass('placeholder');
        $$.val($$.attr('placeholder'));
      }
      $$.focus(function() {
        $$.addClass('focus');
        if($$.val() === $$.attr('placeholder')) {
          $$.val('');
          $$.removeClass('placeholder');
        }
      }).blur(function() {
        $$.removeClass('focus');
        if($$.val() === '') {
          $$.addClass('placeholder');
          $$.val($$.attr('placeholder'));
        }
      });
    });
  }

  // Autofocus support
  var support_autofocus = 'autofocus' in input;
  if (!support_autofocus) {
    $('input[autofocus]').eq(0).focus();
  } else {
    // Fix for opera
    $('input[autofocus]').eq(0).val('');
    $('input[autofocus]').eq(0).removeClass('placeholder');
  }

/*
  // Validation support
  function validate(element) {
    var $$ = $(element);
    var validator = element.getAttribute('type');
    var valid = true;

    switch(validator){
      case 'email':
        valid = (/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/).test($$.val());
      break;
      case 'url':
        valid = (/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i).test($$.val());
      break;
      case 'number':
        valid =
          (typeof($$.val()) === 'number' || typeof($$.val()) === 'string')
          && $$.val() !== ''
          && !isNaN($$.val());
      break;
    }

    // Required validation
    var required = element.getAttribute('required') == null ? false : true;
    if (valid && required
      && $$.val().replace($$.attr('placeholder'), '') == '') valid = false;

    // Set input to valid or invalid
    if (valid || (!required && $$.val() == '')) {
      $$.removeClass('invalid').addClass('valid');
      return true;
    } else {
      $$.removeClass('valid').addClass('invalid');
      $$.focus();
      return false;
    }
  }
  $(':input[required]').addClass('required');
  $('input,textarea').keyup(function() {
    validate(this);
  });

  // Block submit if there are invalid classes found
  $('form').submit(function() {
    $(this).find('input,textarea').each(function() {
      validate(this);
    });
    if (($(this).find(".invalid").length) == 0) {
      // Remove placeholder textes before sending
      $(this).find('input,textarea').each(function() {
        if ($(this).val() == $(this).attr('placeholder')) $(this).val('');
      });
      return true;
    } else return false;
  });
*/
});

// eof

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

var turiregs=new Array;
turiregs['1'] = 'Nordfriesische Inseln';
turiregs['3'] = 'Schleswig-Holsteinische Nordseeküste';
turiregs['4'] = 'Schleswig-Holsteinische Ostseeküste';
turiregs['8'] = 'Ruhrgebiet';
turiregs['9'] = 'Lübecker Bucht';
turiregs['10'] = 'Holsteinische Schweiz';
turiregs['11'] = 'Berlin-Zentrum';
turiregs['12'] = 'Ostfriesische Inseln';
turiregs['13'] = 'Niedersächsische Nordseeküste';
turiregs['14'] = 'Ostfriesland';
turiregs['15'] = 'Lüneburger Heide';
turiregs['16'] = 'Wendland / Elbtalaue';
turiregs['17'] = 'Steinhuder Meer';
turiregs['18'] = 'Weserbergland';
turiregs['19'] = 'Harz';
turiregs['20'] = 'Teutoburger Wald';
turiregs['21'] = 'Sauerland / Bergisches Land';
turiregs['22'] = 'Niederrhein';
turiregs['23'] = 'Münsterland';
turiregs['24'] = 'Eifel';
turiregs['25'] = 'Mosel';
turiregs['26'] = 'Rheintal (Koblenz - Bingen)';
turiregs['27'] = 'Hunsrück / Nahetal';
turiregs['28'] = 'Lahntal';
turiregs['29'] = 'Taunus';
turiregs['30'] = 'Spessart';
turiregs['31'] = 'Röhn';
turiregs['32'] = 'Odenwald';
turiregs['33'] = 'Schwarzwald / Hotzenwald';
turiregs['34'] = 'Bodensee';
turiregs['35'] = 'Neckartal';
turiregs['36'] = 'Allgäu';
turiregs['37'] = 'Oberallgäu / Allgäuer Alpen';
turiregs['38'] = 'Oberbayerische Seen / Bayerische Alpen';
turiregs['39'] = 'Chiemsee / Chiemgau';
turiregs['40'] = 'Berchtesgadener Land';
turiregs['41'] = 'Fichtelgebirge / Fränk. Schweiz';
turiregs['42'] = 'Altmühltal';
turiregs['43'] = 'Bayerischer Wald';
turiregs['44'] = 'Taubertal';
turiregs['45'] = 'Oberpfälzer Wald';
turiregs['46'] = 'Rügen';
turiregs['47'] = 'Usedom / Stettiner Haff';
turiregs['48'] = 'Darß-Zingst / Bodden';
turiregs['50'] = 'Mecklenburgische Ostseeküste';
turiregs['51'] = 'Mecklenburgische Seenplatte';
turiregs['52'] = 'Mecklenburgische Schweiz';
turiregs['53'] = 'Uckermark / Schorfheide';
turiregs['54'] = 'Oderbruch';
turiregs['55'] = 'Märkische Schweiz';
turiregs['56'] = 'Märkische Heide';
turiregs['57'] = 'Spreewald';
turiregs['58'] = 'Elbsandsteingebirge / Sächsische Schweiz';
turiregs['59'] = 'Erzgebirge';
turiregs['60'] = 'Thüringer Wald';
turiregs['100'] = 'Nordsee';
turiregs['101'] = 'Ostsee';
 
function OpenWindow(url,name) {
 Win1=window.open(url,name, "width=600,height=200,left=100,top=100");
 Win1.focus();
}
function OpenHelplet(module,helpletid) {
 w=window.open('index.php?mod=helplet&action=helplet&design=base&module='+module+'&helpletid='+helpletid, 'neu', 'width=800, height=500, resizable=yes, scrollbars=yes');
}
function TextAreaPlusCharsLeft(textarea,counter,maxchar){
 if(textarea.value.length>maxchar) {
 textarea.value=textarea.value.substr(0,maxchar);
 textarea.blur();
}
 counter.value=maxchar-textarea.value.length;
}
function CheckBoxBoxActivate(name,id,div) {
 if(id) {
 document.getElementById(name).style.display= "";
 if(div)document.getElementById(div).className= 'yellowsf';
 }else{
 document.getElementById(name).style.display= "none";
 if(div)document.getElementById(div).className= 'greysf';
 }
}
var xmlHttp=false;
try{
 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e) {
 try{
 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }catch(e) {
 xmlHttp=false;
 }
}
if(!xmlHttp&&typeof XMLHttpRequest!= 'undefined')xmlHttp=new XMLHttpRequest();
function CheckBoxBoxAjaxActivate(name,id,div) {
 if(id) {
// document.getElementById(name).innerHTML= '<br>Wird geladen...';
 $('#'+name).load('/ajax/'+name+ '.php');
 
 if(div)document.getElementById(div).className= 'yellowsf';
 }else{
 document.getElementById(name).innerHTML= "";
 if(div)document.getElementById(div).className= 'greysf';
 }
 window.setTimeout("UpdateTreffer()",1000);
}
function LoadInfobox(name,id) {
 if(id) {
// document.getElementById(name).innerHTML= 'Wird geladen...';
 if(xmlHttp) {
 xmlHttp.open('GET', '/ajax/'+name+ '.php');
 xmlHttp.onreadystatechange=function() {
 if(xmlHttp.readyState==4) {
 document.getElementById(name).innerHTML=xmlHttp.responseText;
 }
 }
 xmlHttp.send(null);
 }
 }else{
 document.getElementById(name).innerHTML= "";
 }
}
function LoadInfoboxBeds(name,id,beds,zi,gr,zp_pl,st_beds,st_zi,st_gr,st_zp_pl) {
 if(id) {
// document.getElementById(name).innerHTML= 'Wird geladen...';
 if(xmlHttp) {
 xmlHttp.open('GET', '/ajax/infobox_betten.php');
 xmlHttp.onreadystatechange=function() {
 if(xmlHttp.readyState==4) {
 out=xmlHttp.responseText;
 out=out.replace(/tpl_beds/,beds);
 out=out.replace(/tpl_zi/,zi);
 out=out.replace(/tpl_gr/,gr);
 out=out.replace(/tpl_zp_pl/,zp_pl);
 out=out.replace(/style_beds/,st_beds);
 out=out.replace(/style_zi/,st_zi);
 out=out.replace(/style_gr/,st_gr);
 out=out.replace(/style_zp_pl/,st_zp_pl);
 document.getElementById(name).innerHTML=out;
 }
 }
 xmlHttp.send(null);
 }
 }else{
 document.getElementById(name).innerHTML= "";
 }
}
function LoadInfoboxPreise(name,id,ub,uf,hp,vp,sv) {
 if(id) {
// document.getElementById(name).innerHTML= 'Wird geladen...';
 if(xmlHttp) {
 xmlHttp.open('GET', '/ajax/infobox_preise.php');
 xmlHttp.onreadystatechange=function() {
 if(xmlHttp.readyState==4) {
 out=xmlHttp.responseText;
 out=out.replace(/tpl_ub/,ub);
 out=out.replace(/tpl_uf/,uf);
 out=out.replace(/tpl_hp/,hp);
 out=out.replace(/tpl_vp/,vp);
 out=out.replace(/tpl_sv/,sv);
 document.getElementById(name).innerHTML=out;
 }
 }
 xmlHttp.send(null);
 }
 }else{
 document.getElementById(name).innerHTML= "";
 }
}
function clearMapText() {
 document.getElementById('hnr_list').value= '';
 document.getElementById('box_map_text').innerHTML= '';
}
function RadioActivate(name,id) {
 document.getElementById('div_default').style.display= "none";
 document.getElementById('div_bl').style.display= "none";
 document.getElementById('div_region').style.display= "none";
 document.getElementById('div_map').style.display= "none";
 if(name== 'city'||name== ''||name== 'close_all')name= 'default';
 div=eval(document.getElementById('div_'+name));
 if(id)div.style.display= '';
 if(id&&name== 'map')document.getElementById('frame_map_select').src= 'index.php?mod=home&action=map_select&design=base';
 if(id&&name== 'bl')document.getElementById('img_bl').src= 'img/map_bl_farbe.png';
 if(id&&name== 'region')document.getElementById('hovermap').style.background="url('img/deutschland_blank.png')";
}
function DropDownBoxActivate(name,id) {
 if(id<=1)document.getElementById(name).style.display= "none";
 else document.getElementById(name).style.display= "";
}
function ToggleDisplayBox(name,checkname) {
 if(checkname.checked)document.getElementById(name).style.display= "";
 else document.getElementById(name).style.display= "none";
}
function CheckPasswordSecurity(password) {
 var TestNumberOfChars=false;
 var TestUppercaseChars=false;
 var TestLowercaseChars=false;
 var TestDigits=false;
 var TestSpecialChars=false;
 var TestCounter=false;
 var TestCounter2=false;
 var TestWhiteSpaces=false;
 var counter=0;

 if(password.length>=8)TestNumberOfChars=true;
 else TestNumberOfChars=false;

 if(password.match(/[A-Z].*[A-Z]/))TestUppercaseChars=true;
 else TestUppercaseChars=false;

 if(password.match(/[a-z].*[a-z]/))TestLowercaseChars=true;
 else TestLowercaseChars=false;

 if(password.match(/[0-9].*[0-9]/))TestDigits=true;
 else TestDigits=false;

 var specCharCounter=0;
 if(password.length>0) {
 characters=password.split("");
 for(var i=0;i<characters.length;i++) {
 singleChar=characters[i];
 if(singleChar.match(/[^a-zA-Z0-9]/))specCharCounter++;
 }
 if(specCharCounter>=2)TestSpecialChars=true;
 else TestSpecialChars=false;
}

 if(password.match(/\s/))TestWhiteSpaces=true;
 else TestWhiteSpaces=false;

 if(TestUppercaseChars)counter++;
 if(TestLowercaseChars)counter++;
 if(TestDigits)counter++;
 if(TestSpecialChars)counter++;
 if((counter>=2) && !TestWhiteSpaces)TestCounter=true;
 else TestCounter=false;
 if((counter>=3) && !TestWhiteSpaces)TestCounter2=true;
 else TestCounter2=false;
 var zaehler=0;
 if(TestCounter)zaehler++;
 if(TestCounter2)zaehler++;
 if(TestNumberOfChars)zaehler++;
 document.images.seclevel.src= 'design/osX/images/password_bar'+zaehler+'.jpg';
}
function markieren(EintragSpalte) {
 if(typeof(document.getElementsByTagName) != 'undefined')var Spalten=EintragSpalte.getElementsByTagName('td');
 else if(typeof(EintragSpalte.cells) != 'undefined')var Spalten=EintragSpalte.cells;
 else return false;
 Spalten[0].className= 'row_value_important_first';
 for(var c=1;c<Spalten.length;c++)Spalten[c].className= 'row_value_important';
 return true;
}
function unmarkieren(EintragSpalte) {
 if(typeof(document.getElementsByTagName) != 'undefined')var Spalten=EintragSpalte.getElementsByTagName('td');
 else if(typeof(EintragSpalte.cells) != 'undefined')var Spalten=EintragSpalte.cells;
 else return false;
 for(var c=0;c<Spalten.length;c++)Spalten[c].className= 'row_value';
 
 return true;
}
function check_max_twenty_selected() {
 cnt=0;
 for(z=0;z<=document.ms_result.length-1;z++){
 if(document.ms_result.elements[z].checked)cnt++;
}
 if(cnt>=21)alert("Es dürfen maximal 20 Empfänger ausgewählt werden");
}
function change_selection() {
 if(document.ms_result.action_select.value== "")return 0;
 else if(document.ms_result.action_select.value== "select_all")for(z=0;z<=document.ms_result.length-1;z++){
 document.ms_result.elements[z].checked=1;
 if(z>=19) {
 alert("Es dürfen maximal 20 Empfänger ausgewählt werden");
 break;
 }
}else if(document.ms_result.action_select.value== "select_none")for(z=0;z<=document.ms_result.length-1;z++){
 document.ms_result.elements[z].checked=0;
}else if(document.ms_result.action_select.value== "select_invert") {
 cnt=0;
 for(z=0;z<=document.ms_result.length-1;z++){
 if(document.ms_result.elements[z].checked)document.ms_result.elements[z].checked=0;
 else{
 cnt++;
 document.ms_result.elements[z].checked=1;
 }
 }
 if(cnt>=20) {
 alert("Es dürfen maximal 20 Empfänger ausgewählt werden");
 }
}else{
 cnt=0;
 for(z=0;z<=document.ms_result.length-1;z++){
 if(document.ms_result.elements[z].checked) cnt++;
 }
 if(cnt==0) {
 alert("Es muss mindestens ein Empfänger ausgewählt werden");
 document.ms_result.action_select.value="";
 } else { 
 if(MultiSelectSecurityQuest[document.ms_result.action_select.value] ==1) {
 if(!confirm("Wollen Sie die Aktion '"+document.ms_result.action_select.options[document.ms_result.action_select.selectedIndex].text+"' wirklich auf alle ausgewählten Einträge anwenden?"))return 0;
 }
 MultiSelectActions[document.ms_result.action_select.value] =MultiSelectActions[document.ms_result.action_select.value].replace(/&amp;/g, "&");
 document.ms_result.action=MultiSelectActions[document.ms_result.action_select.value];
 document.ms_result.submit();
 }
 }
}
function SwitchBL(blandvar,pos) {
 if(pos== 'menu') {
 blbox=eval("document.menuform."+blandvar+ "_m"); 
 blbox.checked= !blbox.checked;
 fdiv=eval(document.getElementById("div_"+blandvar));
 if(blbox.checked)fdiv.style.display= "block";
 else fdiv.style.display= "none";
 }else if(pos== 'div') {
 blbox=eval("document.blform."+blandvar); 
 blbox.checked= !blbox.checked;
 }else{
 blbox=eval("document.menuform."+blandvar+ "_m"); 
 blbox.checked= !blbox.checked;
 
 blbox=eval("document.blform."+blandvar); 
 blbox.checked= !blbox.checked;
 fdiv=eval(document.getElementById("div_"+blandvar));
 if(blbox.checked)fdiv.style.display= "block";
 else fdiv.style.display= "none";
 }
}
function UpdateBLCheckBoxes() {
 document.blform.BAY.checked=document.getElementById('bundesland').options[0].selected;
 document.blform.BBG.checked=document.getElementById('bundesland').options[1].selected;
 document.blform.BER.checked=document.getElementById('bundesland').options[2].selected;
 document.blform.BRE.checked=document.getElementById('bundesland').options[3].selected;
 document.blform.BW.checked=document.getElementById('bundesland').options[4].selected;
 document.blform.HES.checked=document.getElementById('bundesland').options[5].selected;
 document.blform.HH.checked=document.getElementById('bundesland').options[6].selected;
 document.blform.MVP.checked=document.getElementById('bundesland').options[7].selected;
 document.blform.NDS.checked=document.getElementById('bundesland').options[8].selected;
 document.blform.NRW.checked=document.getElementById('bundesland').options[9].selected;
 document.blform.RPF.checked=document.getElementById('bundesland').options[10].selected;
 document.blform.SAA.checked=document.getElementById('bundesland').options[11].selected;
 document.blform.SAC.checked=document.getElementById('bundesland').options[12].selected;
 document.blform.SAN.checked=document.getElementById('bundesland').options[13].selected;
 document.blform.SWH.checked=document.getElementById('bundesland').options[14].selected;
 document.blform.THU.checked=document.getElementById('bundesland').options[15].selected;
}
function SwitchFGid(FGid,Ort) {
 if(Ort== 'both') {
 fgbox=eval(document.getElementById('liste'+FGid));
 fgbox.checked= !fgbox.checked;
 fgbox=eval(document.getElementById('region'+FGid));
 fgbox.checked= !fgbox.checked;
 
 }else{
  if (FGid < 10) {
    fgbox=eval(document.getElementById(Ort+'0'+FGid));
  } else {
    fgbox=eval(document.getElementById(Ort+FGid));
  }
  fgbox.checked= !fgbox.checked;
 
 }
 if(fgbox.checked) {
 }else{
 }
 var ids= $("#tokenize").attr("value").split(",");
 var prepop= '';
 jQuery.each($(".token-input-list li"),function(cnt) {
  var name= $(this).find("p").text();
  if(name&& (fgbox.checked||name!= (turiregs[FGid]))) prepop=prepop+ "{\"name\":\""+ name +"\",\"id\":\""+ ids[cnt] +"\"},";
 });
 
 $(".token-input-list").remove();
 $("#tokenize").attr("value", '');
 $(".token-input-dropdown").remove();
 if(fgbox.checked)prepop+= "{\"name\":turiregs[FGid],\"id\":'reg' + FGid}";
 
 eval("$(\"#tokenize\").tokenInput(\"queryort.php\", {"+
 "hintText: \"Wenn du möchtest tippe eine weitere Stadt,Region oder Bundesland ein\","+
 "noResultsText: \"Keine Treffer gefunden\","+
 "searchingText: \"Suche...\","+
 "prePopulate: ["+prepop+"]"+
 "});");
 
}
function UpdateTreffer() {
 var query_str= '';
 if (typeof($) === 'function') {
  jQuery.each($("#menuform input"),function(cnt) {
  if(($(this).attr("type") == "checkbox") || ($(this).attr("type") == "radio")) {
  if($(this).attr("checked"))query_str+= $(this).attr("name") + '='+escape($(this).attr("value")) + '&';
  }else query_str+= $(this).attr("name") + '='+escape($(this).attr("value")) + '&';
  });
  jQuery.each($("#menuform select"),function(cnt) {
  query_str+= $(this).attr("name") + '='+escape($(this).attr("value")) + '&';
  });
  $("#treffer_zahl").addClass("loading"); $("#treffer_zahl").load('querytreffer.php?'+query_str, '',function(responseText,textStatus,XMLHttpRequest) { $("#treffer_zahl").removeClass("loading"); });
 }
}
function CloseAllRegioDivs() {
 for(z=1;z<=60;z++)if(z!=2&&z!=5&&z!=6&&z!=7&&z!=49) {
 fgdd=eval("document.menuform.reg"+z);
 if(!fgdd.checked) {
 l=eval(document.getElementById("div_reg"+z));
 l.style.display= "none";
 }
 }
 
 if(!document.menuform.BAY_m.checked)document.getElementById("div_BAY").style.display= "none";
 if(!document.menuform.BBG_m.checked)document.getElementById("div_BBG").style.display= "none";
 if(!document.menuform.BER_m.checked)document.getElementById("div_BER").style.display= "none";
 if(!document.menuform.BRE_m.checked)document.getElementById("div_BRE").style.display= "none";
 if(!document.menuform.BW_m.checked)document.getElementById("div_BW").style.display= "none";
 if(!document.menuform.HES_m.checked)document.getElementById("div_HES").style.display= "none";
 if(!document.menuform.HH_m.checked)document.getElementById("div_HH").style.display= "none";
 if(!document.menuform.MVP_m.checked)document.getElementById("div_MVP").style.display= "none";
 if(!document.menuform.NDS_m.checked)document.getElementById("div_NDS").style.display= "none";
 if(!document.menuform.NRW_m.checked)document.getElementById("div_NRW").style.display= "none";
 if(!document.menuform.RPF_m.checked)document.getElementById("div_RPF").style.display= "none";
 if(!document.menuform.SAA_m.checked)document.getElementById("div_SAA").style.display= "none";
 if(!document.menuform.SAC_m.checked)document.getElementById("div_SAC").style.display= "none";
 if(!document.menuform.SAN_m.checked)document.getElementById("div_SAN").style.display= "none";
 if(!document.menuform.SWH_m.checked)document.getElementById("div_SWH").style.display= "none";
 if(!document.menuform.THU_m.checked)document.getElementById("div_THU").style.display= "none";
}
function UpdateRegioCheckBoxes() {
 for(z=1;z<=60;z++)if(z!=2&&z!=5&&z!=6&&z!=7&&z!=49) {
 l=eval(document.getElementById('liste'+z));
 r=eval(document.getElementById('region'+z));
 s=eval(document.getElementById('region').options['reg'+z]);
 l.checked=s.selected;
 r.checked=s.selected;
 }
}
function SelectAllRegionCheckBoxes() {
 for(z=1;z<=60;z++)if(z!=2&&z!=5&&z!=6&&z!=7&&z!=49) {
 l=eval(document.getElementById('liste'+z));
 r=eval(document.getElementById('region'+z));
 s=eval(document.getElementById('region').options['reg'+z]);
 l.checked=true;
 r.checked=true;
 s.selected=true;
 }
}
$("#treffer_loading").ajaxStart(function(){
 $(this).show();
});
$("#treffer_loading").ajaxStop(function(){
 $(this).hide();
});

