// Globale Defs
var ns_b = document.images && navigator.appName == "Netscape" ? 1 : 0;
var ie_b = document.all ? 1 : 0;
var br_vers="";

var ZoomProgress=0;
var AktZoom=0;

if (document.all && !document.getElementById) br_vers="IE4";
else if (window.XMLHttpRequest) br_vers="IE7";
else if (document.getElementById) br_vers="IE5NS6";
else if (document.layers) br_vers="NN4"; 

  function ZoomLayer(layerID,xpos,ypos,xpos1,ypos1,step)
  {
   var layerID=layerID;
   xl=xpos1/step;yl=ypos1/step;
   xp=xpos-(xl/2); yp=ypos-(yl/2);
   showLayer(layerID,xp,yp); 
   resizeLayer(layerID,xl,yl); 
   step-=0.5; step1=step;  
   // alert (xl); 
   if (step>=1) setTimeout ('ZoomLayer("'+layerID+'",xl,yl,xp,yp,step1)',25);

  }
  function getLayerPos(layerID)
  {
      if(br_vers=="IE5NS6" || br_vers=="IE7") {BYPos=document.getElementById(layerID).style.scrollTop; BXPos=document.getElementById(layerID).style.scrollLeft; }
			else if(br_vers=="IE4") {BYPos=document.all[layerID].style.top;BXPos=document.all[layerID].style.left;}
			else if(br_vers=="NN4") {BYPos=document.layers[layerID].top;BXPos=document.layers[layerID].left;}
			else {BYPos=document.all[layerID].style.top; BXPos=document.all[layerID].style.left;}
      
      BXPos=parseInt(BXPos);BYPos=parseInt(BYPos);
      // alert(BXPos);
  }
  function resizeImage(imgID,MapWidth,MapHeight)
  {
  	document.images[imgID].width=MapWidth;
    document.images[imgID].height=MapHeight;
  }
  function getImageSize(imgID)
  {
    imgW=parseInt(document.images[imgID].width);  
    imgH=parseInt(document.images[imgID].height);
  }

  function ZoomImage(layerID, imageID, imgWidth, imgHeight, step, dir)
  {

      ZoomProgress=1;

      eval('getLayerPos("'+layerID+'")' ); 
      eval('getImageSize("'+imageID+'")' );
  
      if (dir==1) 
      { 
  
        faktorW=(imgW/step); faktorH=(imgH/step); 
        imgW-=faktorW; imgH-=faktorH;
  
      }
      else
      { 
  
        faktorW=(imgWidth/step); faktorH=(imgHeight/step); 
        imgW=faktorW; imgH=faktorH;
  
      }
  
      resizeImage(imageID,imgW,imgH); 
  
      korrH=imgHeight-imgH; if (korrH<=0) korrH=1;
      korrW=imgWidth-imgW; if (korrW<=0) korrW=1;
      
      showLayer(layerID,0,(korrH)/2);
      showLayer(imageID,(korrW)/2,(korrH)/2);
  
      show (layerID);
      step-=1; step1=step; dir1=dir;
      imgWidth1=imgWidth; imgHeight1=imgHeight;
      
      // alert(imgWidth-(imgW/2));
      
      if (imgW>imgWidth) imgW=imgWidth; 
      if (imgH>imgHeight) imgH=imgHeight; 
      
      if ( step>=1 ) t1=setTimeout ('ZoomImage("'+layerID+'", "'+imageID+'", imgWidth1, imgHeight1, step1, dir1)',15);
      else ZoomProgress=0;
  }
  function writeImage(layerID,imgID,imgsrc)
  {
    if(br_vers=="IE5NS6" || br_vers=="IE7"){ eval('document.images ["'+imgID+'"].src =imgsrc;') }
		else if(br_vers=="IE4"){ eval('document.images ["'+imgID+'"].src =imgsrc;')}
		else if(br_vers=="NN4"){ eval('document.'+layerID+'.document.images["'+imgID+'"].src = imgsrc;') }
		else { eval('document.images ["'+imgID+'"].src =imgsrc;') }
  }
  function writeLayer(layerID,txt)
  {
	// alert(layerID)
  if(br_vers=="IE5NS6" || br_vers=="IE7"){ document.getElementById(layerID).innerHTML=txt;}
		else if(br_vers=="IE4"){ document.all[layerID].innerHTML=txt;}
		else if(br_vers=="NN4"){ with(document.layers[layerID].document){open(); write(txt); close(); }  }
  }
  function resizeLayer(layerID,xpos,ypos)
  {
	if(br_vers=="IE5NS6" || br_vers=="IE7") {document.getElementById(layerID).style.height=ypos; document.getElementById(layerID).style.width=xpos; }
		else if(br_vers=="IE4") {document.all[layerID].style.height=ypos;document.all[layerID].style.width=xpos;}
		else if(br_vers=="NN4") {document.layers[layerID].height=ypos;document.layers[layerID].width=xpos;}
		else {document.all[layerID].style.height=ypos; document.all[layerID].style.width=xpos;}
  }
  function showLayer(layerID,xpos,ypos)
  {
	if(br_vers=="IE5NS6" || br_vers=="IE7") {document.getElementById(layerID).style.top=ypos+"px"; document.getElementById(layerID).style.left=xpos+"px"; }
		else if(br_vers=="IE4") {document.all[layerID].style.top=ypos+"px";document.all[layerID].style.left=xpos+"px";}
		else if(br_vers=="NN4") {document.layers[layerID].top=ypos+"px";document.layers[layerID].left=xpos+"px";}
		else {document.all[layerID].style.top=ypos+"px"; document.all[layerID].style.left=xpos+"px";}

  }
  function posLeftLayer(layerID,xpos)
  {
  if(br_vers=="IE5NS6" || br_vers=="IE7") {document.getElementById(layerID).style.left=xpos+ "px"; }
			else if(br_vers=="IE4") {document.all[layerID].style.left=xpos;}
			else if(br_vers=="NN4") {document.layers[layerID].left=xpos;}
			else {document.all[layerID].style.left=xpos;}
  }
  function writeLayerBack(layerID,bild)
  {
	if(br_vers=="IE5NS6" || br_vers=="IE7"){ document.getElementById(layerID).style.backgroundImage='url('+bild+')'; }
  			else if(br_vers=="IE4"){ document.all[layerID].style.backgroundImage='url('+bild+')';}
  			else if(br_vers=="NN4"){ document.all[layerID].style.backgroundImage='url('+bild+')';}
  }

  function showmenu (menu, l)
  {
    hidemenu (l);
    // alert(menu);
    if (menu=="SubMenu2" || menu=="SubMenu4" || menu=="SubMenu5" ) show ('subnavi', l);
    show (menu, l);
  }

  function hidemenu (l)
  {
    hide ('subnavi', l);
    hide ('SubMenu1', l);
    hide ('SubMenu2', l);
    hide ('SubMenu3', l);
    hide ('SubMenu4', l);
    hide ('SubMenu5', l);
    hide ('SubMenu6', l);
  }

  function hidesmenu (m,l)
  {
    hidemenu (l);
    alert(m);
    show (m, l);
  }
  function show (layer, l)
				{
				  if (document.getElementById)
				  {
				    document.getElementById(layer).style.visibility = "visible";
				    if (l) document.getElementById(layer).style.display = "block";
				  }
				}
			
  function hide (layer, l)
				{
				  if (document.getElementById)
				  {
				    document.getElementById(layer).style.visibility = "hidden";
				    if (l) document.getElementById(layer).style.display = "none";
				  }
				}
  function toggle_Layer (layer, bild)
				{
			  	  if (document.getElementById)
			  	  {
   					var el = document.getElementById(layer);
   					el.style.display = (el.style.display != 'block' ? 'block' : '' ); 
			  	  }
			  	  
            if (bild)
			  	  {
			  	  	
			  	  	if (el.style.display != 'none' ? 'none' : '') writeImage(bild, bild,"images/hide.gif");
			  	  	else writeImage(bild, bild,"images/show.gif");
			  	  	
			  	  }
				}

// Formularfehler abfangen

	function correctemail(feld)
	{
	   if(feld.value == "") return;

	   // Feld analysieren
	   var test = feld.value
	   var objRegExp = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	
	   // OK? Dann zurueck!
	   if(objRegExp.test(test)!=false)
	   {
	      // Ergebnis darstellen
	      feld.value = test;

	      return
	   }

	   // Fehlermeldung
	   alert("Please enter a valid email address!")

	   // Eingabe selektieren und Eingabefokus setzen
	   feld.select();
	   feld.focus();
	   feld.value = "";
	}
	function noschrott(feld)
	{
	   error=false;
	   if(feld.value == "") error=true;

	   // Feld analysieren
	   var test = feld.value
	   var objRegExp = /^[a-zA-Z0-9+-.\/ -]*$/;
	
	   // OK? Dann zurueck!
	   if(objRegExp.test(test)!=false || error==false)
	   {
	      // Ergebnis darstellen
	      feld.value = test;

	      return
	   }

	   // Fehlermeldung
	   alert("Only chars a-z are valid!")

	   // Eingabe selektieren und Eingabefokus setzen
	   feld.select();
	   feld.focus();
	   feld.value = "";
	}
	// Pruefung, ob Feld numerisch
	function numerisch(feld)
	{
	   if(feld.value == "")
	      return

	   // Feld analysieren
	   var test = feld.value
	   var objRegExp = /^[0-9]*$/;
	
	   // OK? Dann zurueck!
	   if(objRegExp.test(test)!=false)
	   {
	      // Ergebnis darstellen
	      feld.value = test;

	      return
	   }

	   // Fehlermeldung
	   alert("Please enter only numeric values into this field!")

	   // Eingabe selektieren und Eingabefokus setzen
	   feld.select();
	   feld.focus();
	   feld.value = "";
	}
	function numerischmore(feld)
	{
	   if(feld.value == "")
	      return

	   // Feld analysieren
	   var test = feld.value;
	   var objRegExp = /^[0123456789 +-/]*$/;
	   // var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
	
	   // OK? Dann zurueck!
	   if(objRegExp.test(test)!=false)
	   {
	      // Ergebnis darstellen
	      feld.value = test;

	      return
	   }

	   // Fehlermeldung
	   alert("Please enter only numeric values into this field!")

	   // Eingabe selektieren und Eingabefokus setzen
	   feld.select();
	   feld.focus();
	   feld.value = "";
	}
	function clearfeld(feld)
	{
	   // Eingabe selektieren und Eingabefokus setzen, defaults löschen
	   feld.select();
	   feld.focus();
	   feld.value = "";
	}
  	
	function CheckForm(form) {
    var email = form.email;
    var str = email.value;
    if (window.RegExp) {
    var strReg1 = "(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)";
    var strReg2 = "^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$";
    var reg1 = new RegExp(strReg1);
    var reg2 = new RegExp(strReg2);
    if (!reg1.test(str) && reg2.test(str))
      return true;
    email.focus();
    email.select();
    return false;
    } else {
      if(str.indexOf("@") >= 0)
      return true;
    email.focus();
    email.select();
    return false;
    }
  }

function fieldclear(field) 
{
     if (field.value == field.defaultValue) {
         field.value = ""
     }
}
var akt_zeilenlength = 0;
  
function check_length(my_form)
{
  maxLen = 250; // max number of characters allowed
  InputmaxLen = 250; // max number of characters allowed
  akt_length=my_form.MessegeboxText.value.length;
  lastchar=my_form.MessegeboxText.value.substr(akt_length);
  // alert (lastchar+"-"+akt_zeilenlength)
  // if (lastchar>=" ") 
  akt_zeilenlength+=1; 
  // else akt_zeilenlength = 0; 
  /*
  if (akt_zeilenlength >= InputmaxLen) 
  {
    my_form.MessegeboxText.value = my_form.MessegeboxText.value+"\n";
    akt_zeilenlength = 0;
  }
  */
  
  if (my_form.MessegeboxText.value.length >= maxLen) 
  {
  // Alert message if maximum limit is reached.
  // If required Alert can be removed.
  // var msg = "You have reached your maximum limit of characters allowed";
  // alert(msg);
  // Reached the Maximum length so trim the textarea
    my_form.MessegeboxText.value = my_form.MessegeboxText.value.substring(0, maxLen);
  }

}  

