function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  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;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
/*
 * Funktion um den Z�hlwert der input Felder aus der G�terliste zu ver�ndern
 */
function count(id, what){
	var count = parseInt($j("#" + id).val());
	var gueterUpdate = $j('input[name="gueterUpdate"]').val();
	var room = id.split("_");
	var anfrageType = $j('input[name="anfragetyp"]').val();
	anfrageType = anfrageType.toUpperCase();
	if(isNaN(count)){
		count = 0;
	}
	if(what == 1){
		count++;
	}else{
		count--;
	}
	count = count < 0 ? 0 : count;
	$j("#" + id).val(count);
	if (!$j("#li_" + room[0]).hasClass("visited")) $j("#li_" + room[0]).addClass("visited");
	// Pr�fung ob die G�terliste zum ersten Mal upgedated wird
	if (gueterUpdate == 'false') {
		$j('input[name="gueterUpdate"]').val(true);
		$j.post("/umzugsanfrage" + anfrageType + ".do", $j("#anfrageForm" + anfrageType).serialize());
	}
}
function settargetvalue(myvalue) // Formularziel setzen
{  
  if(document.MM_returnValue) // erst nach erfolgreicher Pruefung
  {
    document.thisform.target.value=myvalue;
    document.thisform.action=myvalue;
  }
}

function do_submit(target) // Formular aus Umzugsgueter abschicken
{
  var pass = false;
//alert(typeof(document.MM_returnValue));  
  if(typeof(document.MM_returnValue) == "undefined")
  {
    pass = true;  
  }else{
//alert(document.MM_returnValue);    
    pass = document.MM_returnValue;
  }
  if(pass)
  {
    document.forms[0].action = target;
    document.forms[0].submit();  
  }
}

function errmsg(what)
{
  var msg;
  switch(what)
  {
    case "email": msg = "- Die E-Mail-Adresse ist nicht korrekt."; break;
    case "email_chk": msg = "- E-Mail und Wiederholung stimmen nicht �berein."; break;
    case "communicate":msg = "- Geben Sie bitte 'Telefon' oder 'Mobilfunk' an."; break;
    case "future_date": msg = "- Das Umzugsdatum muss in der Zukunft liegen."; break;
    case "head": msg = "FEHLER: Das Formular konnte nicht abgeschickt werden.\n\nBitte prüfen Sie die rot markierten Felder:\n"; break;
    case "required": msg = "- Es fehlt eine Angabe."; break;
    case "required_multi": msg = "- Es fehlen Angaben."; break;
  }
  return msg + "\n";
}

/* 
Dreamweaverscripts zur Formularvalidierung
1. object reference for the field in netscape
2. object reference for the field in ie/other browsers
3. one of the following
'isEmail'
'inRange1:1000' check for numbers within stated range
'' check for numbers
'R' can be included at beginning of field to indicate field is required
*/    
function MM_validateForm() // mf 13.8.5 erweitert um Checkboxen zu pr�fen
{   
  var suc = unmark(); // Markierte Felder zur�cksetzen  
  var errmsg_1 = false; var errmsg_2 = false; // f�r doppelte Fehlertexte
  var i, p, q, nm, test, num, min, max, errors ='', tmp, val; 
  args = MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  { 
  	test = args[i+2]; 
  	
    el = MM_findObj(args[i]);   // findet Radiobuttons nicht 
    
    if(el) // falls Element gefunden wurde - (nicht wirklich)
    {
      if(typeof(el.type) == "undefined") // Workaround wegen schlecht funktionierender Dreamweaverfunktion
      {
        el = document.getElementsByName(args[i])[0];
      }      
      nm = el.name;
      empty = true; 
      var tmp = false;         
      switch(el.type)
      {
        case "radio" : tmp = get_radio_value(nm);
        	empty =(typeof(tmp) != "string");
        break;       
				case "checkbox" : empty = !el.checked; break;
        case "select-one" :
          // wg IE6
          if((nm == 'entladeBisTag' || nm == 'entladeBisMonat' || nm == 'entladeBisJahr') && (document.getElementsByName("Zeitraum_Termin_Einlagerung")[0].value  == "genau"))
          {
            empty = false;
          }else{
            tmp = el.options[el.selectedIndex].value;                
            empty = (tmp == "" || tmp == 0); 
          }
        break;
        case "text" :	empty = (el.value == ""); break;        	
      }             
      if(tmp !== false) // wg IE
      {
        val = tmp;
      }else{
        val = el.value;      
      }
      
      if(empty)
      { 
        var exception = false;
        if(nm == 'vorname')
        {
          var exception = (document.getElementsByName("anrede")[0].value == "Firma");  
        }
        if (test.charAt(0) == 'R' && (!exception)) // Eingabe notwendig und kein Wert
      	{        	
        	if(errors.indexOf(errmsg("required_multi")) == -1)
        	{
          	if(errors.indexOf(errmsg("required")) == -1)
          	{
          	  errors += errmsg("required");
          	}else{
          	  errors = errors.replace(errmsg("required"), errmsg("required_multi"));
          	}
        	}
        	var suc = mark(nm);
        }        
      }
      else
      {         	
      	var field, p;
      	switch(nm) // Name auf Label zuordnen
      	{
      	  case('mobil'): field = 'Mobilfunk'; break;
      	  case('telefon'): field = 'Telefon'; break;
      	  case('umzugStart'): field = 'f�r den Umzugstermin'; break;
      	  case('umzugEnde'): field = 'f�r den zweiten Umzugstermin'; break;
      	}      
        switch(test)  
        {
          case "isEmail":
          case "RisEmail":
/*          
          	p = val.indexOf('@');
            if (p < 1 || p == (val.length-1))
*/
            if(check_email(val) != true)            
            {
            	if(errors.indexOf(errmsg("email")) == -1)
            	{              
            	  errors += errmsg("email");
            	}
            	mark(nm);            	
            }            


            break;
          case "isTel":
          case "RisTel": // erlaubt: 0-9 / ()            
            if(!check_txt(val, " 0123456789+-()/.", "")) 
            {
            	mark(nm);
            	errors+='- Das Feld '+field+' darf nur eine g�ltige Telefonnummer enthalten.\n';              
            }
            break;
          case "isNum":
          case "RisNum":
          	if(isNaN(val)) 
            {              	
            	mark(nm);
            	errors+='- Das Feld '+field+' darf nur Zahlen enthalten.\n';
            }          
            break;
          case "inRange":
          case "RinRange": 
          	p=test.indexOf(':'); // Dreamweaver-Dreck
          	min=test.substring(8,p); 
            max=test.substring(p+1);
          	if (num<min || max<num) 
            {
            	errors+='- Das Feld '+nm+' darf nur eine Zahl zwischen '+min+' und '+max+' sein.\n';
            }            
            break;
          case "isDate":
          case "RisDate":            	
            var err = false;
            tmp = val.split(".");
            if(tmp.length == 3)
            {                            
              if(parseInt(tmp[2], 10) < 100) // 08 ergaenzen zu 2008 
              {              
                val = tmp[0] + "." + tmp[1] + "." + (parseInt(tmp[2], 10) + 2000);
                tmp = val.split("."); 
              }                                  
              var jahr = parseInt(tmp[2],10);
              var monat = parseInt(tmp[1],10) - 1;
              var tag = parseInt(tmp[0], 10);
              
              if(isNaN(tag) || isNaN(monat) || isNaN(jahr))
              {
                err = true;
              }else{     
                var datum = new Date(jahr, monat, tag);
                if(datum.getFullYear() != jahr || datum.getMonth() != monat || datum.getDate() != tag)
                {
                  err = true;
                }
              }
            }else{
              err = true;
            }
            if(err)
            {
            	mark(nm);
            	errors+='- Das Feld '+field+' darf nur ein g�ltiges Datum enthalten.\nZ.B. 16.8.2009 oder 16.08.2009 ';          
            }else{
              document.getElementsByName(nm)[0].value = tag + "." + (monat + 1) + "." + jahr; // korrekten Wert einsetzen, da Leerzeichen Speichern verhindern w�rden
            }            
            break;            
        }
      }          
    }
    
    
		switch(nm) // Feldspezifische Pr�fung
    {
      case "email_chk" :
      case "email2" :
      	if(val != document.getElementsByName("email")[0].value)
      	{      	  
        	if(errors.indexOf(errmsg("email_chk")) == -1)
        	{              
        	  errors += errmsg("email_chk");
        	  mark(nm);
        	}      	  
      	}
      	break;
                       
      case "umzugStart":
        var ustart = val.split(".");
        var ustart = new Date(ustart[2], ustart[1] - 1, ustart[0]);
        if(new Date() >= ustart) // Pr�fung auf Datum in der Zukunft
        {
					if(errmsg_1 == false) // ob entsprechende Fehlermeldung schon erstellt wurde
          {
        		errors += errmsg("future_date");
        		mark(nm);
            errmsg_1 = true;
          }                       
        }else{
          errmsg_1 = false;
        }        
        break;

      case "umzugEnde":        
        var tmp = document.getElementsByName("Zeitraum_Termin_Einlagerung")[0].value;         
        if(typeof(tmp) == "string")
        {    
          if(tmp != "genau")
          {                      
            if(typeof(ustart != "undefined"))
            {
              var uende = val.split(".");
              var uende = new Date(uende[2], uende[1] - 1, uende[0]);
              if(ustart > uende) // Pr�fung auf Datum in der Zukunft, gleich ist auch ok
              {
                errors += "- Das zweite Datum darf nicht vor dem ersten liegen.";
              	mark(nm);
              }
            }
          }
        }
        break;        
        
      case "mont_keine_montage":
      	if(get_radio_value(nm) == "" && document.thisform.mont_ergaenzungen.value == "")
      	{
      		errors += '- Bitte machen Sie Angaben zu Montagearbeiten.\n'; 
      		mark("mont_ergaenzungen");
      	}
      break;
      
      case "beladeBundesLand":   
			var si = document.getElementsByName("beladeLand")[0].selectedIndex;
			if(document.getElementsByName(nm)[0].value == " " && document.getElementsByName("beladeLand")[0].options[si].text == "Deutschland")
      {
       	if(errors.indexOf(errmsg("required_multi")) == -1)
      	{
        	if(errors.indexOf(errmsg("required")) == -1)
        	{
        	  errors += errmsg("required");
        	}else{
        	  errors = errors.replace(errmsg("required"), errmsg("required_multi"));
        	}
      	}        
        mark(nm);
			} 
      break;
      case "entladeBundesLand":      
      var si = document.getElementsByName("entladeLand")[0].selectedIndex;
			if(document.getElementsByName(nm)[0].value == " " && document.getElementsByName("entladeLand")[0].options[si].text == "Deutschland")
      {
       	if(errors.indexOf(errmsg("required_multi")) == -1)
      	{
        	if(errors.indexOf(errmsg("required")) == -1)
        	{
        	  errors += errmsg("required");
        	}else{
        	  errors = errors.replace(errmsg("required"), errmsg("required_multi"));
        	}
      	}        
        mark(nm);
			} 
      break;
      case "telefon":
        var tmp = document.getElementsByName("telefon")[0].value + document.getElementsByName("mobil")[0].value;
        if(tmp == "")
        {
          if(errors.indexOf(errmsg("communicate")) == -1)
          {
            errors += errmsg("communicate");
          }          
          mark("mobil");
          mark(nm);
        }
        break;
      
      case "email":        
      /*
        var tmp = document.getElementsByName("telefon")[0].value + document.getElementsByName("mobil")[0].value;
        if(tmp == "")
        {
          if(errors.indexOf(errmsg("communicate")) == -1)
          {
            errors += errmsg("communicate");
          }
          mark("telefon");
          mark("mobil");
          mark(nm);      
        }
*/            
      break;
    }    
	} 
  if(errors) 
  {
  	alert(errmsg("head") + errors + "\n");
  }
  document.MM_returnValue = (errors == '');
//alert(document.MM_returnValue);  
}

// mf 24.6.2006
function check(el_name)
{ 
	switch(el_name)
  {
  	case 's4_10-': // Formular Kartons 11.9.2006
  	  var kart_anzahl = 0 + document.forms[0].kart_standard.value + document.forms[0].kart_buecher.value + document.forms[0].kart_kleider.value + document.forms[0].kart_geschirr.value;
			if((get_radio_value('kart_ergaenzungen') == null) && kart_anzahl > 0)
      {
        mark('kart_ergaenzungen');
        alert(errmsg("head") + errmsg("required") + "\n");      
      	return false;
			}       
    break;
  	case 's4_11': // Montage- & Packarbeiten  	  
			if((get_radio_value('mont_keine_montage') == "") && document.forms[0].mont_ergaenzungen.value == "")
      {
        mark('mont_ergaenzungen');
        alert(errmsg("head") + errmsg("required") + "\n");      
      	return false;
			}       
    break;
      
  }
	return true;
}


var marked = new Array();

function mark(nm) // Felder rot umranden
{  
  var els = document.getElementsByName(nm);  
  var el = els[0];

  if(el.tagName == "SELECT" && window.name.indexOf("|IE|") > -1)
  {
    el = el.parentNode; // Select muss in div liegen
    el.style.display = "inline";
    el.style.border = "1px solid red";
  }else{
    for(var i = 0; i < els.length; i++)  
    {
      if(els[i].type == "radio" && window.name.indexOf("|Firefox|") > -1)
      {
        el = els[i].parentNode; // Radio-Buttons lassen sich unter Firefox nicht formatieren
      }else{    
        el = els[i];
      }
      el.style.border = "1px solid red";  
    }  
  }
  marked.push(nm);
  return true;
}

function check_txt(txt, yes, no) // Prueft den Text auf nur erlaubte oder verbotene Zeichen
{  
  if(yes != "") // auf nur erlaubte
  {    
    var l = txt.length;  
    for(var i = 0; i < l; i++)
    {
      if(yes.indexOf(txt.charAt(i)) == -1)
      {
        return false;
      }
    }
  }
  return true;
}


function unmark() // alle Eingabefelder zurueckstellen
{
  var max = marked.length;
  var i, el;
  for(i = 0; i < max; i++)
  {
    var els = document.getElementsByName(marked[i]);
    el = els[0];
    if(el.tagName == "SELECT" && window.name.indexOf("|IE|") > -1)
    {
      el = el.parentNode; // Select muss in div liegen
      el.style.borderWidth = "0px";
    }else{
      if(el.type == "radio")
      {
        for(var i = 0; i < els.length; i++)  
        {
          els[i].style.borderWidth = "0px";  
        }                
      }
      el.style.border = "ThreeDFace 2px inset";
      el.style.borderColor = "";
    }
  }
  marked = new Array();
  return false;
}

// Welcher Wert haben Radiobuttons des ausgew�hlten Namens 
function get_radio_value(name)  
{
//show("<br />get_radio_value(name)");
  var r = document.getElementsByName(name);
  for (i = 0; i < r.length; i++) 
  {
    if (r[i].checked) 
    {    
      return r[i].value;
    }  
  } 
  return null;
}

// �nderung von Formularelementen verarbeiten 
function change(el)
{	
	if(typeof(el) != "undefined")
	{
		var tmp, i;
		switch(el.name)
		{     
	    // Ein- und Ausblenden abh�ngiger Formularteile
	    case "beladeFahrstuhl": 		// "nicht vorhanden"
	    case "entladeFahrstuhl":
	    case "beladeHalteverbot":		// "0"
	    case "entladeHalteverbot":   
	    case "Zeitraum_Termin_Einlagerung":  // "genau"  
	    	var myval = document.getElementsByName(el.name)[0].value;        
	    	var u_start = document.getElementsByName("umzugStart")[0];
	    	var u_ende = document.getElementsByName("umzugEnde")[0];
	    	if(typeof(myval) == "string") {
	    		if((myval == "nicht vorhanden")||(myval == "0")||(myval == "genau")) {
	    			u_ende.value = ""; 
	    			document.getElementById("Zeitraum_Termin_Einlagerung_0").className = "off";  // zweites Datum ausblenden                       
	    			document.getElementById("Zeitraum_Termin_Einlagerung_1").className = "on";  // Infolink zeigen
	    		} else { // zweites Datumsfeld zeigen               
	    			// Ende = Start + 1 Tag
	    			/*
					if(u_ende.value == "") {
						if(u_start.value != "") {
							var tmp = u_start.value.split(".");
							var datum = new Date(tmp[2], tmp[1] - 1, tmp[0]);
							datum.setDate(datum.getDate() + 1);
							u_ende.value = datum.getDate() + '.' + (datum.getMonth() + 1) + '.' + datum.getFullYear();
						}            
					} 
					*/
	    			document.getElementById("Zeitraum_Termin_Einlagerung_1").className = "off";  // Infolink ausblenden          
	    			document.getElementById("Zeitraum_Termin_Einlagerung_0").className = "on";  // zweites Datum zeigen          
	    		}
	    	}
	    	break;
	      
	    case "auktionDetailModel.bisOderEinlagernGenau":
			var myval = document.getElementsByName(el.name)[0].value;        
			var u_start = document.getElementsByName("datumVon")[0];
			var u_ende = document.getElementsByName("datumBis")[0];
			if(typeof(myval) == "string") {  
				if((myval == "nicht vorhanden")||(myval == "0")||(myval == "genau")) {
					u_ende.value = ""; 
					document.getElementById("Zeitraum_Termin_Einlagerung_0").className = "off";  // zweites Datum ausblenden        
				} else { // zweites Datumsfeld zeigen               
					// Ende = Start + 1 Tag
					/*
					if(u_ende.value == "") {
						if(u_start.value != "") {
							var tmp = u_start.value.split(".");
							var datum = new Date(tmp[2], tmp[1] - 1, tmp[0]);
							datum.setDate(datum.getDate() + 1);
							u_ende.value = datum.getDate() + '.' + (datum.getMonth() + 1) + '.' + datum.getFullYear();
						}
					} 
					*/         
					document.getElementById("Zeitraum_Termin_Einlagerung_0").className = "on";  // zweites Datum zeigen          
				}        
			}
			break;
	      
	    case "mont_keine_montage":
			var display = el.id == el.name ? "none" : "block";
			//$j('bsp_text_montage').css("display", display);   
			document.getElementsByName("detailsModel.montage.ergaenzungen.ergaenzung")[0].value = "";      
			break;
	      
	    case "detailsModel.montage.ergaenzungen.ergaenzung":
			var num = el.value == "" ? 1 : 0;
			document.getElementsByName("mont_keine_montage")[num].checked = true;      	
			break; 
	      
	    case "anrede":
			if(el.value == "Firma") {
				var vis = "hidden";
				document.getElementsByName("vorname")[0].value = "";      
			} else {
				var vis = "visible";
			}
			document.getElementById("td_vn1").style.visibility = vis;
			document.getElementById("td_vn2").style.visibility = vis;
			break;      
		}  	
	}
}

// auf Benutzereingaben reagieren
function react(src, action, arg) // Ausl�ser, auszuf�hrende Aktion, Parameter
{
  switch(action)
  {
    case "set_class":
      var i, el; var found = true;
      for(i = 0; found; i++)
      {              
        el = document.getElementById(src + "_" + i); // Namen abh�ngiger Elemente mit angeh�ngter Nummerierung                
        if(el == null)
        {
          found = false;        
        }else{        
	        el.className = arg;
        }
      }
    break;
  }
}


// mf 13.8.5 wird vermutlich nicht benutzt
function checkagb(){
if(!(thisform.agb_akzeptiert.checked)) {alert('Ohne, dass Sie die Allgemeinen Gesch�ftsbedingungen\n' +
'akzeptieren, können wir für Sie keine Leistungen erbringen.\n' +
'Bitte lesen Sie die AGB und geben Sie anschließend Ihre \n' +
'Zustimmung durch Anklicken des entsprechenden Formularfeldes.\n');
return false;}
}

// 22.08. gz validierung beim kartonrechner auf nur ziffern...
// kann eventuell auch noch bei anderen forms sinnvoll eingesetzt werden..

  //--- Pr�ft, ob der Text f�r ein Feld zu lang ist.

  function IstZuLang(Feld, AnzZeichen)
  {  // Erstellt von Ralf Pfeifer (www.arstechnica.de)
     var FehlerMeldung = "Fehler beim Ausf�llen des Formulars\n\n"
     var FeldLaenge = Feld.value.length
     var OK = FeldLaenge <= AnzZeichen

     if (!OK) {
        FehlerMeldung += "Dieses Feld darf max. " + AnzZeichen
        FehlerMeldung += " enthalten.\nSie haben " + FeldLaenge + " Zeichen eingegeben"
        alert(FehlerMeldung)
        Feld.focus() }
     return OK
  }


  //--- Pr�ft, ob nur Ziffern eingegeben wurden
  function NurZiffern(Feld)
  {  PruefeZeichen(Feld, "0123456789", "Bitte prüfen Sie die Zahl") }



  //--- Pr�ft, ob nur Zeichen eingegeben wurden,
  //--- die f�r eine Telefonnummer �blich sind
  function NurTelefon(Feld)
  {  PruefeZeichen(Feld, "0123456789 /-+()", "Bitte prüfen Sie die Telefonnummer") }



  //--- Pr�ft, ob eine eMail-Adresse korrekt aufgebaut ist
  function eMailAdresseOK(eMail)
  {  // Erstellt von Ralf Pfeifer (www.arstechnica.de)

     // Falls das Feld leer ist, ohne Pr�fung aussteigen
     if (eMail.value.length==0) { return true }


     // Text f�r die Fehlermeldung
     var FehlerMeldung = new String("Fehler in der eMail-Adresse\n\n")

     // Position des @ herausfinden
     var PosEt = eMail.value.indexOf("@")
     if (PosEt == -1) {
       alert(FehlerMeldung + "Es fehlt ein @")
       return eMail.focus() }
     if (PosEt == 0) {
       alert(FehlerMeldung + "Es fehlt der Empf�nger")
       return eMail.focus() }
     if (eMail.value.indexOf("@", PosEt + 1) > PosEt) {
       alert(FehlerMeldung + "Es darf nur ein @ enthalten sein")
       return eMail.focus() }

     // Position des ersten . nach dem @ herausfinden
     var PosPt = eMail.value.indexOf(".", PosEt)

     if ((PosPt == -1) || (PosPt - PosEt < 2) || (eMail.value.length - PosPt < 3)) {
       FehlerMeldung += "Eine eMail-Adresse mu� so aufgebaut sein: x@x.xx "
       FehlerMeldung += "Jedes x steht f�r mindestens ein Zeichen"
       alert(FehlerMeldung)
       return eMail.focus() }

     // Zul�ssige Zeichen f�r eMails definieren
     var ZugelasseneZeichen = new String("abcdefghijklmnopqrstuvwxyz")
     ZugelasseneZeichen += ZugelasseneZeichen.toUpperCase() + "0123456789.-_@"

     // eMail-Adresse auf zul�ssige Zeichen �berpr�fen
     return PruefeZeichen(eMail, ZugelasseneZeichen, FehlerMeldung)
    }



    //--- Unterprogramm, welches die Zeichen pr�ft
    function PruefeZeichen(Feld, ZugelasseneZeichen, FehlerMeldung)
    {  // Erstellt von Ralf Pfeifer (www.arstechnica.de)
       for (var Pos = 0; Pos < Feld.value.length; Pos++)
       {
          if (ZugelasseneZeichen.indexOf(Feld.value.charAt(Pos)) == -1)
          { FehlerMeldung += "\n\nIhre Eingabe enth�lt das Zeichen '"
            FehlerMeldung += Feld.value.charAt(Pos)
            FehlerMeldung += "'. Sie d�rfen nur diese Zeichen verwenden:\n"
            FehlerMeldung += ZugelasseneZeichen
            if (ZugelasseneZeichen.indexOf(" ") == -1)
               { FehlerMeldung += "\nLeerzeichen sind nicht erlaubt" }
            else
               { FehlerMeldung += "\nund das Leerzeichen" }
            alert(FehlerMeldung)
            Feld.focus()
            return
          }
       }
    }

  // -->

function montagecheck(){ // fuer alte Version
	if (document.thisform.mont_keine_montage.checked == false && document.thisform.mont_ergaenzungen.value == "")
	{
		alert('Um genaue Festpreisangebote f�r Ihren Umzug abgeben zu k�nnen ben�tigen die Umzugsunternehmen noch die Angaben der Montagearbeiten.'); 
	}
	else
	{
		if (document.thisform.mont_keine_montage.checked == true && document.thisform.mont_ergaenzungen.value != "")
		{
			alert('Sie k�nnen hier nur eine M�glichkeit ausw�hlen.'); 
		}
		else
		{
				settargetvalue('anmeldung_s5.php');
		}
	}
//alert(document.getElementById('mont_keine_montage').value);
}

function check_email(e) 
{
  var ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";    
  for(i=0; i < e.length ;i++)
  {
    if(ok.indexOf(e.charAt(i))<0)
    { 
      return (false);
    }	
  } 
	var p_at = e.indexOf("@");
  if (p_at < 1 || p_at > (e.length - 6))
  {
    return (false);
  }

	var p = e.lastIndexOf(".");
  if (p < 1 || p > (e.length - 3) || p < (e.length - 5) || p < (p_at + 3))
  {
    return (false);
  }   
  return true;
}

function validate_email(email)
{
  //alert('validate_email');
  pull("email=" + email, "../jobmanager/+work/lib/email_validation.php");
}

// Daten nachladen ueber js-Dateien
function pull(get, src)
{
  //alert('pull');
  src = (typeof(src) == "undefined") ? "" : src;
  
  var tmp = get_path_parts(src); // Dateipfad
  var filename = tmp['file'];

  var scripts = document.getElementsByTagName('script');
  for(var i = 0; i < scripts.length; i++)
  {
    tmp = get_path_parts(scripts[i].src);
    if(filename == tmp['file']) // altes gleichnamiges Skript ...
    {
      scripts[i].parentNode.removeChild(scripts[i]); // ... loeschen
      i = scripts.length;
    }
  }  
  var s = document.createElement('script');
  s.type = 'text/javascript';
  //s.src = src + '?d=' + get_data(); // Nutzdaten
  s.src = (get == "") ? src : src + "?" + get; 
  document.getElementsByTagName('head')[0].appendChild(s); // neues Skript erstellen  
}

function get_path_parts(path) // Dateipfad aufteilen
{
  path = (typeof(path) != 'string') ? "" : path;
  var ret = new Object();  
  ret["folder"] = "";
  ret["file"] = "";
  ret["get"] = "";  
  if(path != "")
  {  
    var tmp = path.split('?'); // Dateipfad
    if(tmp.length == 1)
    {
      ret["get"] = tmp[1];  
    }
    var tmp = tmp[0].split('/');
    ret['file'] = tmp.pop();
    ret['folder'] = tmp.join('/');  
  }
  return ret;
}

/**
* Aktuelle Seite in den Navis markieren
* n�tig geworden, nachdem Header-Dateien von anderem ge�ndert worden war
* @author M. Felden - 26.4.2010 
*/
function mark_navi()
{	
	var parts = document.URL.split("/");
	var cats = new Array('umzugskunde', 'umzugsfirma', 'presse', 'umzugsservice');
	var found_cat = false;
	for(var cat in cats) // Kategorie finden
	{		
		if(parts[4] == cats[cat])
		{
			found_cat = true;
		}
	}
	
	if(found_cat)
	{
		for (var i = 0; i < 6; ++i) // Link finden
		{
			if(document.links[i].pathname.indexOf("/" + parts[4] + "/") > -1)
			{		
				document.links[i].className = 'red';
			}			
		}
  }
}

/**
* Standardm��ig Framebrecher einbauen
* Ausnahme: Seiten mit dem Wort Anmeldung im Dateipfad
* @author M. Felden - 1.6.2010
*/
if(window.location.href.indexOf("anmeldung") == -1)
{
	if(top.frames.length > 0) // nur falls im Frame
	{
		if (window.addEventListener) // W3C standard
		{
		  window.addEventListener('load', break_frame, false);
		} 
		else if (window.attachEvent) // Microsoft
		{
		  window.attachEvent('onload', break_frame);
		}		
	}
} 

// Framebrecher
function break_frame()
{	
	if(top.frames.length > 0)
	{	
		top.location.href=self.location;	
	}
}


// -- Neue Version f�r Java -- MF 14.3.2011

function init(page)
{
  switch(page)
  {    
  	case "umzugsdaten":
		$j("input[name=datumVon]").datepick();
		$j("input[name=datumBis]").datepick();
		change(document.getElementsByName("auktionDetailModel.bisOderEinlagernGenau")[0]);						
		if(document.getElementsByName("datumVon")[0].value == ""){
			var morgen = new Date();
			morgen.setDate(morgen.getDate() + 1); 
			document.getElementById('bsp_text').innerHTML = morgen.getDate() + '.' + (morgen.getMonth() + 1) + '.' + morgen.getFullYear();
			var bald = new Date();
			bald.setDate(bald.getDate() + 6); 
			document.getElementById('bsp_text_2').innerHTML = bald.getDate() + '.' + (bald.getMonth() + 1) + '.' + bald.getFullYear();  
		}				
		var k = $j("#kubikmeter").val();
		$j("#kubikmeter").val(k == 0 || k == "0,0" ? "" : $j("#kubikmeter").val());
  		$j("#beladeBundesland option[value='']").text("Bitte wählen");
		$j("#entladeBundesland option[value='']").text("Bitte wählen");
  		break;
  	case "umzugsgut":
  		handleDetails("wohnzimmer");
  		check_visited();
  		if($j("input[name='mont_keine_montage']")[0].checked == false && $j("input[name='mont_keine_montage']")[1].checked == false){
			$j("input[name='mont_keine_montage']")[0].checked = true;
  		}
  		break;
  }
}
function check_visited(){
	$j("input[id^='visited_']").each(function(index) {
		if($j(this).val() == "true"){
			var room = $j(this).attr('id').substring(8);
			$j("#li_" + room).addClass("visited");    			
		}
  });
}
function next_room(){
	var anfrageType = $j('input[name="anfragetyp"]').val();
	anfrageType = anfrageType.toUpperCase();
	$j.post("/umzugsanfrage" + anfrageType + ".do", $j("#anfrageForm" + anfrageType).serialize());
	$j("input[id^='visited_']").each(function(index) {		
		var room = $j(this).attr('id').substring(8);		
		if($j(this).val() == "false"){
			handleDetails(room);
			return false;
		}						
  });	
  return false;
}
function simple_next_room(){
	var detailId = null;
	var anfrageType = $j('input[name="anfragetyp"]').val();
	anfrageType = anfrageType.toUpperCase();
	$j.post("/umzugsanfrage" + anfrageType + ".do", $j("#anfrageForm" + anfrageType).serialize());
	var currentElement = $j("#rooms li.current");
	if ($j(currentElement).next("li").length == 0) {
		currentElement = $j("#rooms li:first");
	} 
	else {
		currentElement = $j(currentElement).next("li");
	}
	detailId = $j(currentElement).attr("id").substring(3);
	handleDetails(detailId);
}

function handleDetails(detailId) {
	if(validate_room())
	{
		if(currentId != ""){
			$j("#li_" + currentId).removeClass("current");
			$j("#li_" + currentId).addClass("visited");
			$j("#" + currentId).css("display", "none");
		}
		$j("#li_" + detailId).addClass("current");
		$j("#visited_" + detailId).val("true");
		$j("#" + detailId).css("display", "block");	
		currentId = detailId;
		check_bsp_text(detailId);
	}
}

function validate_room(){
	var success = true;
	var errors = "";
	if(currentId == "montage"){
		if($j("input[name='mont_keine_montage']")[0].checked == true && $j("#montage_ergaenzung").val() == ""){
			mark("detailsModel.montage.ergaenzungen.ergaenzung");
			errors += '- Bitte machen Sie Angaben zu Montagearbeiten.\n';
		}
	}
	if(errors){
		alert(errmsg("head") + errors + "\n");
		success = false;
	}	
	return success;
}
function check_bsp_text(room){	
	var bsp_text = "";
	if($j("#" + room + "_ergaenzung").val() == ""){
		switch(room){
			case 'montage': bsp_text = '<span><strong class=\"red\">Tragen Sie hier alle gewünschten Montage- und Packarbeiten ein,<br />wie z.B.</strong><br /><br />Umzugsfirma soll:<br />- alle Umzugskartons ein- und auspacken incl. Glas<br />- 3 Lampen abbauen und wieder aufbauen<br />- Küche abbauen und wieder aufbauen sowie Arbeitsplatte zuschneiden<br />- Herd und Spüle anschlie�en<br /><br /><u>Falls Sie hier nichts eingeben, erhalten Sie Angebote ohne Montage-<br />und Packarbeiten.</u></span>'; break;
			case 'kartons': bsp_text = 'Tipp:<br>Tragen Sie oben ein, wieviele Umzugskartons im Transportfahrzeug befördert werden müssen,<br>unabh�ngig davon, ob Sie als Kunde oder das Umzugsunternehmen diese zur Verfügung stellt.<br><br><strong class="red">Für jeden Quadratmeter Wohnfl�che ben�tigen Sie ca. 1 Umzugskarton. (Richtwert)</strong>'; break;
			default:bsp_text = "*** Geben Sie hier alle restlichen Umzugsgüter an, die oben evt. nicht aufgeführt sind. ***<br>Bei Fragen wenden Sie sich bitte an unsere Umzugsberater unter: 0800 - 664 52 44 (kostenlos)";
		}		
	}
	$j("#bsp_text_" + room).html(bsp_text);
	$j("#bsp_text_" + room).css("display", "block");
}

function kartonrechner(){
	var form = document.forms['kartonrechner'];
	var container = form.elements['container'].value;
	var personen = form.elements['personen'].value;
	var jahre = form.elements['jahre'].value;
	var zimmer = form.elements['zimmer'].value;
	var buecher = form.elements['buecher'].value;
	var uKartons = null;
	var bKartons = null;
	var msg = document.getElementById(container);
	
	uKartons = (personen * 5) + (zimmer * 13) + (jahre * 1);
	bKartons = buecher * 2;
	
	msg.innerHTML = ("Sie ben&ouml;tigen <strong>" + uKartons + "<\/strong> Umzugskartons und <strong>" + bKartons + "<\/strong> B&uuml;cherkartons.");
	msg.style.display = "block";	
}
