  // *************** GOLI.AT ******************
  //
  //  Script (c) by DI Philipp Michael Metzler
  //
  //             http://www.goli.at
  //
  //       http://www.philippmetzler.com
  //
  // *************** GOLI.AT ******************

  myFilepath = 'fileadmin/images/';

  function ChangeOver(object)
  {
    tmp = document.getElementById(object);
    tmp.src = myFilepath + object + '_on.gif';
//    document[object].src = 'images/'+object+'_on.gif';
  }

  function ChangeOut(object)
  {
    tmp = document.getElementById(object);
    tmp.src = myFilepath + object + '_off.gif';
//    document[object].src = 'images/'+object+'_off.gif';
  }

  function ChangeObject(object, picture)
  {
    tmp = document.getElementById(object);
    tmp.src = myFilepath + picture;
//    document[object].src = 'images/'+picture;
  }

  function openWindow(theURL, winName, features)
  { //v2.0
    oldWin = window.open(theURL, winName, features);
    oldWin.focus();
  }

  function openDirection(toAddress)
  {
    openWindow('/fileadmin/scripts/routenplaner.php?toAddress=' + URLEncode(toAddress), 'GoogleDirections', 'width=800, height=600, toolbar=yes, location=no, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes');
//    openWindow('/fileadmin/scripts/routenplaner.php?toAddress=' + toAddress, 'GoogleDirections', 'width=800, height=600, toolbar=yes, location=no, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes');
  }

  function URLDecode (encodedString) {
    var output = encodedString;
    var binVal, thisString;
    var myregexp = /(%[^%]{2})/;
    while ((match = myregexp.exec(output)) != null
               && match.length > 1
               && match[1] != '') {
      binVal = parseInt(match[1].substr(1),16);
      thisString = String.fromCharCode(binVal);
      output = output.replace(match[1], thisString);
    }
    return output;
  }

  function URLEncode (clearString) {
    var output = '';
    var x = 0;
    clearString = clearString.toString();
    var regex = /(^[a-zA-Z0-9_.]*)/;
    while (x < clearString.length) {
      var match = regex.exec(clearString.substr(x));
      if (match != null && match.length > 1 && match[1] != '') {
      	output += match[1];
        x += match[1].length;
      } else {
        if (clearString[x] == ' ')
          output += '+';
        else {
          var charCode = clearString.charCodeAt(x);
          var hexVal = charCode.toString(16);
          output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
        }
        x++;
      }
    }
    return output;
  }


  // Focus auf das erste aktive Formular-Element
  function FocusFirst()
  {
    // Based on http://www.codeproject.com/KB/scripting/FocusFirstInput.aspx
    var bFound = false;
    //for each form
    for (f=0; f < document.forms.length; f++)
    {
      //for each form element
      for (i=0; i < document.forms[f].length; i++)
      {
        el = document.forms[f][i]
        if (el.disabled != true)
        {
          if (el.type != undefined)
          {
            switch (el.type.toLowerCase())
            {
              case "text" : el.focus(); bFound = true; break;
              case "textarea" : el.focus(); bFound = true; break;
              case "checkbox" : el.focus(); bFound = true; break;
              case "radio" : el.focus(); bFound = true; break;
              case "file" : el.focus(); bFound = true; break;
              case "password" : el.focus(); bFound = true; break;
              case "select-one" : el.focus(); bFound = true; break;
              case "select-multiple" : el.focus(); bFound = true; break;
            } // switch el.type
          } //if (el.type != undefined)
        } //if (el.disabled != true)
        if (bFound == true) break;
      } //for each form element
      if (bFound == true) break;
    } //for each form
  }
