  function validateform(theformname)
    {
    eval('init_variables_'+theformname+'()');

    if(document.forms[theformname])
      {
      for(i=0;i<document.forms[theformname].length;i++)
        {
        f2c=document.forms[theformname].elements[i].name;
        f2cO=document.forms[theformname].elements[i];

        if(f2cO.type=="text" || f2cO.type=="textarea" || f2cO.type=="password")
          {
          for(k=0; k < inputarray.length; k++) { if(f2c==inputarray[k]) {f2cO.value=delblanks(f2cO.value);check4badchars(f2cO.value);check4entry(f2cO.value);} }//end for
          for(k=0; k<emailarray.length; k++) { if(f2c==emailarray[k]) checkemail(f2cO.value); }//end for
          for(k=0; k<pwarray.length; k++) { if(f2c==pwarray[k]) check4pw(f2cO.value); }//end for
          
          }//end if
        else if(f2cO.type=="select-one")
          {
          for(k=0; k < selectarray.length; k++) { if(f2c==selectarray[k]) check4index(f2cO.selectedIndex); }//end for
          }//end else if
        else if(f2cO.type=="radio" || f2cO.type=="checkbox")
          {
          for(k=0; k < radioarray.length; k++)
          {
          if(f2c==radioarray[k])
            i = check4radios(f2c,i,theformname);
          }//end for
          }//end else if
        }//end for
      }//end if
    else if(!document.forms[theformname]) {alert("Konnte das Formular: " + theformname + " nicht finden.");nff=false;return false;}//end else if

   if(ferr) {
   alert(errormsg);
   ferr=false;
   errormsg="Bitte korrigieren Sie folgende Angaben:\r\n";
   return false;
   }
   else return true;
   }//end function validateform

  function browsercheck()
    {
    if(document.layers) {browser="ns";rtstr="\r";}//end if
    else if(document.all) {browser="ie";rtstr="\r";}//end else if
    else if(document.getElementById) {browser="ns6";if (navigator.appVersion.indexOf('Windows') > -1) rtstr="\n"; else rtstr="\r";}// end else if
    }//end function browsercheck

  function delblanks(thestring)
    {
    while(thestring.charAt(0)==" ") thestring=thestring.substring(1,thestring.length);
    while(thestring.charAt(thestring.length-1)==" ") thestring=thestring.substring(0,thestring.length-2);
    while(thestring.indexOf("  ") > -1) thestring=thestring.replace(/\s{2}/," ");
    return thestring;
    }// end function delblanks

  function check4badchars(thestring)
    {
    for(t=0; t<badchars.length; t++)
      {
      if(thestring.indexOf(badchars[t]) > -1) {errormsg+="Feld \""+f2c+"\": ungültiges Zeichen ( "+badchars[t]+" )."+rtstr;ferr=true;}//end if
      }//end for
    }//end function check4badchars

  function check4entry(thestring)
    {
    if(thestring=="") {errormsg+="Feld \""+f2c+"\": kein Eintrag."+rtstr;ferr=true;}//end if
    }// end function check4entry

  function checkemail(thestring)
    {
    if(!thestring.match(/^[a-zA-Z0-9_\.-]{2,}@[a-z0-9-]{3,}\.[a-z]{2,4}|museum$/)) {errormsg+="Feld \""+f2c+"\": keine gültige Email-Adresse."+rtstr;ferr=true;}//end if
    }//end function checkemail

  function check4numbers(thestring)
    {
    thestring=delblanks(thestring);
    myregexp=/^\d{1,100}/;
    found = myregexp.test(thestring);
    if(!found) {errormsg+="Feld \""+f2c+"\": keine gültige Zahlenangabe."+rtstr;ferr=true;}//end if
    }//end function check4numbers

  function check4index(theindex)
    {
    if(theindex==0) {errormsg+="Feld \""+f2c+"\": keine Auswahl getroffen"+rtstr;ferr=true;}//end if
    }//end function check4index

  function check4radios(thegroupname,index,theformname)
    {
    var zahl=0;
    if(document.forms[theformname].elements[index].checked==true) zahl++;
    while(thegroupname==document.forms[theformname].elements[index].name)
      {
      if(document.forms[theformname].elements[index].checked==true) zahl++;
      index++;
      }//end while
    if(zahl==0) {errormsg+="Feld \""+f2c+"\": keine Auswahl getroffen"+rtstr;ferr=true;}//end if
    zahl=0;
    return index-1;
    }//end function check4radios

  function check4pw(thestring)
    {
    thestring=delblanks(thestring);
    if( thestring.length < 6 ) {errormsg+="Feld \""+f2c+"\": zu wenig Zeichen (min. 6)"+rtstr;ferr=true;}
    if( thestring.length > 20 ) {errormsg+="Feld \""+f2c+"\": zu viele Zeichen (max. 20)"+rtstr;ferr=true;}
    }


  function sendForm(theformname)
    {
    ffo = document.forms[theformname];
    ffoS = ffo.elements["issubmited"];
    if(ffo && ffoS)
      {
      if(validateform(theformname))
        {
        ffoS.value = "true";
        ffo.submit();
        }
      }//end if
    }

function updateHelpDiv(e)
  {
  if (helpDiv != null)
    {
    if (typeof window.pageYOffset != 'undefined')
    {
       x = e.pageX;
       y = e.pageY;
    }
    else if (typeof document.compatMode != 'undefined' &&
             document.compatMode != 'BackCompat')
    {
       x = window.event.x + document.documentElement.scrollLeft;
       y = window.event.y + document.documentElement.scrollTop;
    }
    else if (typeof document.body != 'undefined')
    {
       x = window.event.x + document.body.scrollLeft;
       y = window.event.y + document.body.scrollTop;
    }
    else
    {
      x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
      y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;
    }

    helpDiv.style.left = ( x + 10 ) + "px";
    helpDiv.style.top  = ( y + 10 ) + "px";
    }
  }

function showHelpDiv(w)
  {
  /* var txt = window["h_"+w];
  if(txt.length>0)
    {
    helpDiv = document.getElementById("help1");
    helpDiv.innerHTML = txt;
    helpDiv.style.display = "block";


    // IE work arround translucent select
    if ((i = navigator.userAgent.indexOf("MSIE")) >= 0)
      {
        if(parseFloat(navigator.userAgent.substr(i + 4)) <= 6)
          {
          for(i=0; i< document.getElementsByTagName('select').length; i++)
            {
            document.getElementsByTagName('select')[i].style.visibility = "hidden";
            }
          }
      }//end if

    } */
  }

function hideHelpDiv()
  {
  /* if (helpDiv != null)
    {
    // IE work arround translucent select
    if ((i = navigator.userAgent.indexOf("MSIE")) >= 0)
      {
      if(parseFloat(navigator.userAgent.substr(i + 4)) <= 6)
        {
        for(i=0; i< document.getElementsByTagName('select').length; i++)
          {
          document.getElementsByTagName('select')[i].style.visibility = "visible";
          }
        }
      }//end if

    helpDiv.style.display = "none";
    helpDiv = null;
    } */
  }


  function init_variables_infoform()
    {
    f2c="";
    f2cO=null;
    rtstr="";
    nff=false;
    ferr=false;
    browser="";
    badchars = new Array("\"","\\","/","<",">");
    errormsg = "Bitte korrigieren Sie folgende Angaben:\r\n";
    browsercheck();
    emailarray = new Array('E_Mail_Adresse');
    inputarray = new Array('Vorname','Nachname','Strasse','PLZ','Ort','Telefon');
    zahlenarray = new Array();
    selectarray = new Array();
    radioarray = new Array('Datenschutz_zugestimmt');
    pwarray = new Array('Passwort');
    }// end function init_variables
    

var helpDiv = null;
document.onmousemove = updateHelpDiv;
var h_passwort = "Bitte ein Passwort angeben (Max. 20 Zeichen).<br>Das Passwort in Verbindung mit der E-Mail-Adresse erm&ouml;glicht sp&auml;ter wieder den Zugang.";
var h_anrede = "Bitte geben Sie hier die Anredeform an.";
var h_vorname = "Bitte tragen Sie hier Ihren Vornamen und gegebenfalls Ihren Titel ein.";
var h_nachname = "Bitte tragen Sie hier Ihren Nachnamen ein.";
var h_strasse = "Bitte geben Sie hier den Strassennamen und die Hausnummer an.";
var h_plz = "Bitte tragen sie hier die Postleitzahl ein.";
var h_ort = "Bitte geben Sie hier den Ortsnamen an.";
var h_telefon = "Bitte tragen Sie hier Ihre Telefonnummer ein.";
var h_email = "Bitte geben Sie hier Ihre Emailadresse an.";
var h_itype = "Um die Informationen genau auf Sie zuschneiden zu k&ouml;nnen, geben Sie bitte an, wieviel sie investieren wollen.";
var h_infos = "";
var h_termin = "";
var h_datenschutz = "";

