addLoadEvent(init);
addLoadEvent(password_lost);
addLoadEvent(favourites);
addLoadEvent(function(){pngRepair("png")} );
addLoadEvent(teamslider);
addLoadEvent(prepareContactForm);

function addLoadEvent(func) {
   var oldonload = window.onload;
   if (typeof window.onload != 'function') {
     window.onload = func;
   } else {
     window.onload = function() {
       if (oldonload) {
         oldonload();
       }
       func();
     }
   }
 }

function init() {
  if (getBrowserName() == 'IE' && getBrowserVer() < 7) {
    pngRepair('.png');
  }
  makeDropdownNav();
  addLinkTargets();
};
function getBrowserName() {
    if (navigator.userAgent.indexOf("MSIE")!=-1) return 'IE';
    else if (navigator.userAgent.indexOf("Opera")!=-1) return 'Opera';
    else return 'unknown';
};
function getBrowserVer() {
    var sReturn = 'unknown';
    var sBrowser = getBrowserName();
    if (sBrowser == 'IE') {
        arrRes = navigator.userAgent.match(/MSIE (\d+)/);
        if (arrRes[1]) sReturn = arrRes[1];
    }
    if (sBrowser == 'Opera') {
        arrRes = navigator.userAgent.match(/Opera\/([0-9.]+)/);
        if (arrRes[1]) sReturn = arrRes[1];
    }
    return sReturn;
};
function addLinkTargets() {
  var oLinks = document.getElementsByTagName("a");
  for (var i=0; i < oLinks.length; i++) {
    if (oLinks[i].className.search(/extern/) != -1) {
      oLinks[i].setAttribute('target', '_blank');
    }
  }
};
function makeDropdownNav() {
  var oUl = document.getElementsByTagName("ul");
  deleteOls = new Array();
  for (var i=0; i < oUl.length; i++) {
    if (oUl[i].className.search(/dropdown/) != -1) {
      oSelect = document.createElement("select");
      oParent = oUl[i].parentNode;
      oParent.insertBefore(oSelect,oUl[i]);
      oSelect.className = 'dropdown';
      oSelect.setAttribute("id", oUl[i].getAttribute("id"));
      for (var j=0; j < oUl[i].childNodes.length; j++) {
        if (oUl[i].childNodes[j].nodeName == 'LI') {
          for (var k=0; k < oUl[i].childNodes[j].childNodes.length; k++) {
            if (oUl[i].childNodes[j].childNodes[k].nodeName == 'A') {
              oLink = oUl[i].childNodes[j].childNodes[k];
              sClass = oLink.getAttribute('class') ? oLink.getAttribute('class'):oLink.getAttribute('className');
              sHref  = oLink.getAttribute('href');
              sText  = oLink.childNodes[0].data;
              oText  = document.createTextNode(sText);
              oOption = document.createElement("option");
              oOption.setAttribute('value',sHref);
              oOption.setAttribute('class',sClass);
              oOption.appendChild(oText);
              oSelect.appendChild(oOption);
            }
          }
        }
      }
      deleteOls[deleteOls.length] = oUl[i];
      oSelect.onchange = function (oEvent) {
        var oEvent = (typeof oEvent != "undefined")? oEvent : event;
        oEvent.returnValue = false;
        if(oEvent.preventDefault) {
          oEvent.preventDefault();
        }
        submitDropDownNav(this);
      };
    }
  }
  for (i=0;i < deleteOls.length;i++) {
    deleteOls[i].parentNode.removeChild(deleteOls[i]);
  }
};
/**
  * End: init-Functions
  */

/**
  * Begin: IE-specific init-Functions
  */
function pngRepair(strTr) {
  if (navigator.userAgent.indexOf("MSIE")!=-1) {
    for (i=0; i < document.getElementsByTagName("img").length; i++) {
      if (document.getElementsByTagName("img")[i].src.indexOf(".png")!=-1) {
        if (document.getElementsByTagName("img")[i].src.indexOf(strTr) != -1) {
          width = document.getElementsByTagName("img")[i].width;
          height = document.getElementsByTagName("img")[i].height;
          src = document.getElementsByTagName("img")[i].src;
          document.getElementsByTagName("img")[i].src='/images/transp.gif';
          document.getElementsByTagName("img")[i].height = height;
          document.getElementsByTagName("img")[i].width = width;
          document.getElementsByTagName("img")[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"',sizingMethod='scale');";
        }
      }
    }
  }
};

/**
  * End: IE-specific init-Functions
  */
function submitDropDownNav(oSelect) {
  sUrl    = oSelect.options[oSelect.selectedIndex].value;
  sTarget = oSelect.options[oSelect.selectedIndex].getAttribute('class');
  if (sUrl != "") {
    if (sTarget=="popup") {
      popup(sUrl);
    }
    else if (sTarget=="intern") {
      location.href = sUrl;
    }
    else if (sTarget=="extern") {
      window.open(sUrl);
    }
  }
  return false;
};
function popup(url, width, height, scrollbars, popupresize) {
    if (!width) width=645;
    if (!height) height=570;
    if (!scrollbars) scrollbars="no";
    if (!popupresize) popupresize="no";
    oPopup = window.open(url,"DERPART24de","width="+width+",height="+height+",resizable="+popupresize+",left=100,top=50,scrollbars="+scrollbars);
    oPopup.focus();
};


addLoadEvent(function () {
    hidePresse();
    if (document.getElementById("presse")) {
      document.getElementById("y"+document.getElementById("presse").options[0].text).style.display = "block";
      document.getElementById("presse").onchange = function () {
        hidePresse();
        document.getElementById("y"+this.options[this.options.selectedIndex].text).style.display = "block";
      }
    }
    });
    
    function hidePresse() {
      var oDivs = document.getElementsByTagName("div");
      for (var i=0; i < oDivs.length; i++) {
        if (oDivs[i].getAttribute("id")) {
          if (oDivs[i].getAttribute("id").substr(0,1)=="y") {
            oDivs[i].style.display = "none";
          }
        }
      }
    }


  function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
  }
  function teamslider() {
    var oTeam = getElementsByClassName(document.getElementById("middle_content"), "div", "team");
    for (var i=0; i<oTeam.length; i++) {
        getElementsByClassName(oTeam[i], "div", "teamdetails")[0].style.display = 'none';
        var trigger = oTeam[i].getElementsByTagName("img")[0];
        trigger.style.cursor = 'pointer';
        trigger.onclick = switchteam;
    }
  }
  function password_lost() {
    var oLinks = getElementsByClassName(document.getElementById("main"), "a", "password_lost");
    for (var i=0; i<oLinks.length; i++) {
      oLinks[i].onclick = function () {
        if ($('password_lost')) {
          Effect.toggle('password_lost', 'appear');
          return false;
        }
      }
    }
  }

  function switchteam() {
    var teamdiv = getElementsByClassName(this.parentNode.parentNode, "div", "teamdetails")[0];
    var closeall = true
    if (closeall) {
      var oTeamdetails = getElementsByClassName($('middle_content'), "div", "teamdetails");
      for (var i=0; i<oTeamdetails.length; i++) {
        if (oTeamdetails[i].style.display != 'none') {
          new Effect.BlindUp(oTeamdetails[i], {duration:.3});
          oTeamdetails[i].parentNode.getElementsByTagName("h5")[0].getElementsByTagName("img")[0].src='/images/button_open.png';
          oTeamdetails[i].parentNode.getElementsByTagName("h5")[0].getElementsByTagName("img")[0].setAttribute("title", "View Details");
        } else {
          if (oTeamdetails[i] == teamdiv) {
            teamdiv.style.height = 'auto';
            new Effect.BlindDown(teamdiv, {duration:.3});
            this.src='/images/button_close.png';
            this.setAttribute("title", "Hide Details");
          }
        }
      }
    } else {
      if (teamdiv.style.display == 'none') {
        teamdiv.style.height = 'auto';
        new Effect.BlindDown(teamdiv, {duration:.3});
        this.src='/images/button_close.png';
      } else {
        new Effect.BlindUp(teamdiv, {duration:.3});
        this.src='/images/button_open.png';
      }
    }
  }
 
    function sendRequest(strRequest, fHandler) {
      var xmlHttp = null;
      if (typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
      }
      if (!xmlHttp) {
        try {
          xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
          try {
            xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
          } catch(e) {
            xmlHttp  = null;
          }
        }
      }
      if (xmlHttp) {
        xmlHttp.open('GET', strRequest, true);
        xmlHttp.onreadystatechange = function () {
          if (xmlHttp.readyState == 4) {
            fHandler(xmlHttp.responseText);
          }
        };
        xmlHttp.send(null);
      }
    }



function prepareContactForm() {
    if ($('lCountry')) {
      if ($('type')) {
        $('proceed').parentNode.removeChild($('proceed'));
      }
      var oOptgroups = $('country').getElementsByTagName("optgroup");
      if (oOptgroups.length > 0) {
          createRegionDrop();
      } else {
        $('country').onchange = selectCountry;
      }
    }
  }

  function createRegionDrop() {
    if ($('lCountry')) {
    $('lCountry').firstChild.data = ($('type')) ? 'Your Region:' : 'Your Region:*';
    var oOptgroups = $('country').getElementsByTagName("optgroup");
    for (var i=0; i<oOptgroups.length; i++) {
      oLi = document.createElement("OPTION");
      oLi.appendChild(document.createTextNode(oOptgroups[i].getAttribute("label")));
      $('country').appendChild(oLi);
    }
    for (var i=0; i<$('country').childNodes.length; i++) {
      if ($('country').childNodes[i].nodeName=="OPTGROUP") {
        $('country').removeChild($('country').childNodes[i]);
        i--;
      }
    }
    $('country').onchange = loadCountryDrop;
    }
  }

   function insertLoading() {
    oImg = document.createElement("IMG");
    oImg.setAttribute("title", "loading...");
    oImg.setAttribute("id", "loading-indicator");
    oImg.setAttribute("src", "/images/loadingbar.gif");
    $('lCountry').insertBefore(oImg, $('lCountry').firstChild);
    }

  function loadCountryDrop() {
    $('lCountry').firstChild.data = '';
    insertLoading();
    sRegion = encodeURIComponent(this.options[this.selectedIndex].text);
    sendRequest('/ajaxhelper.php?region='+sRegion, fillCountryDrop);
  }

  function fillCountryDrop(strRes) {
    $('lCountry').removeChild($('loading-indicator'));
    $('lCountry').firstChild.data = ($('type')) ? 'Your Country:' : 'Your Country:*';
    fillDropdown($('country'), strRes);
    //For forms containing a type-element the Areas of Interest are displayed. Otherwise the form will be submitted.
    $('country').onchange = ($('type')) ? selectCountry : function() {};
  }

  function selectCountry() {
    $('lCountry').firstChild.data = '';
    insertLoading();
    sendRequest('/ajaxhelper.php?country='+$('country').options[$('country').selectedIndex].value+'&type='+$('type').value, convertToGroupSel);
  }

  function convertToGroupSel(strRes) {
    $('lCountry').removeChild($('loading-indicator'));
    $('country').setAttribute("name", "group");
    $('lCountry').firstChild.data = 'Area of Interest';
    oInpCntry = document.createElement("INPUT");
    oInpCntry.setAttribute("type", "hidden");
    oInpCntry.setAttribute("name", "country");
    oInpCntry.style.display = "none";
    oInpCntry.setAttribute("value", $('country').options[$('country').selectedIndex].value);
    $('country').parentNode.appendChild(oInpCntry);
    fillDropdown($('country'), strRes);
    $('country').onchange = function() {this.form.submit();}
  }

  function fillDropdown(oSelect, strOptions) {
    for (var i=0; i<oSelect.childNodes.length; i++) {
      if (oSelect.childNodes[i].nodeName=="OPTION" || oSelect.childNodes[i].nodeName=="OPTGROUP") {
        oSelect.removeChild(oSelect.childNodes[i]);
        i--;
      }
    }
    var arrOptions=strOptions.split("\n");
    for (var i=0; i<arrOptions.length; i++) {
      var arrOpt = arrOptions[i].split("|");
      if (arrOpt.length == 2) {
          var oLi = document.createElement("option");
          oLi.setAttribute("value", arrOpt[0]);
          oLi.appendChild(document.createTextNode(arrOpt[1]));
          oSelect.appendChild(oLi);
        }
    }
  }

function sitestat(ns_l){ // FromUrl v1.3 Copyright (c) 2001-2006 Nedstat B.V. All rights reserved.
var ns_type=''           // leave empty for normal/ppc measurement, fill in for clickin, clickout or pdf
var r=''                 // yes=only parse url when there is a real document.referrer,
                         // no=only parse url when there is no real document.referrer, empty=always parse url
var t='?'                // tag in url where parameters follow; default '?' could be replaced by "#"
var p=new Array();var w='';var l='';var d=document;var n=navigator;var ns_0=''
;if(top!=self){if('\u0041'=='A'){var u=n.userAgent;if(u.indexOf('Safari')==-1)
{var b=u.indexOf('Opera');if(b==-1||(u.charAt(b+6)+0)>5){b=u.indexOf('Mozilla'
);var xb=b!=-1?u.charAt(b+8)>4:1;if(u.indexOf('compatible')!=-1||xb){var c=
'try{ns_0=top.document.referrer}catch(e){}';eval(c);c=
'try{l=top.document.location.href}catch(e){}';eval(c);}}}}}else{ns_0=
d.referrer;l=d.location.href;}if(ns_0.lastIndexOf('/')==ns_0.length-1){ns_0=
ns_0.substring(ns_0.lastIndexOf('/'),0);}var f=ns_l.indexOf('?');if(f!=-1){
var q=ns_l.substring(f+1);ns_l=ns_l.substring(0,f);if(q){var m=q.indexOf('&');
w=q.substring(0,m==-1?q.length:m);if(w.indexOf('=')!=-1){w='';}if(w){q=
q.substring(m==-1?q.length:m+1);q+=(q?'&':'')+'ns_name='+w;}if(ns_0.length>0){
q+=(q?'&':'')+'ns_referrer='+escape(ns_0);}var s=0;var e=0;while(q.length){e=
q.indexOf('&');if(e==-1){e=q.length;}var o=q.substring(s,e);if(o.substring(0,4
)=='amp;'){o=o.substring(4);}if(o)p[p.length]=o;q=q.substring(e+1);}}}var a=
l.indexOf(t);a=a==-1?0:l.substring(a+1);var j;if(r=='yes')j=ns_0.length;else
if(r=='no')j=!ns_0.length;else if(r=='')j=1;if(a&&j){while(a.length){var e=
a.indexOf('&');if(e==-1){e=a.length;}var k=a.substring(0,a.substring(0,e)
.indexOf('='));var v=a.substring(a.substring(0,e).indexOf('=')+1,e);if(
k.substring(0,4)=='amp;'){k=k.substring(4);}while(v.substring(0,1)=='='){v=
v.substring(1);}if(k=='ns_name'){w=v;}else if(k=='ns_or'){var g='ns_referrer='
;for(var z=0;z<p.length;z++){if(p[z].substring(0,g.length)==g){p[z]=
'ns_referrer='+v;}}}else{if(k.substring(0,3)=='ns_'&&v&&k){var h=0;for(var x=0
;x<p.length;x++){if(p[x].substring(0,p[x].indexOf('='))==k){p[x]=k+"="+v;h=1}}
if(!h){p[p.length]=k+"="+v;}}}a=a.substring(e+1);}}if(!w){return;}var s='';
var y='';for(var i=0;i<p.length;i++)if(p[i].substring(0,8)!='ns_name='){if(p[i
].substring(0,12)!='ns_referrer='){s+='&'+p[i];}else{y='&'+p[i];}}s+=ns_type?
'&ns_type='+ns_type+'&ns_action=view':'';ns_pixelUrl=ns_l+'?'+w+s+"&ns__t="+(
new Date()).getTime();ns_l=ns_pixelUrl+y;if(d.images){ns_1=new Image();
ns_1.src=ns_l;}else{d.write('<img src='+ns_l+' width="1" height="1">');}}


function ns_softclick (a, url, name, type, winopt) {
  if (!winopt) winopt = "";
  var ns_l='http://de.sitestat.com/smiths/detection/s?';
  ns_l+=name;
  ns_l+='&ns_type='+type+'&ns_action=view';
  ns_l+='&ns__t='+(new Date()).getTime();
  if(!url) url=a.href;
  var ns_0=document.referrer;
  if (ns_0.lastIndexOf('/')==ns_0.length-1) ns_0=ns_0.substring(ns_0.lastIndexOf('/'),0);
  if (ns_0.length>0) ns_l+='&amp;ns_referrer='+escape(ns_0);
  var ns_c = !a.target ? "location.href='"+url+"';" : "window.open('"+url+"','"+a.target+"','"+winopt+"');";
  var ns_i=new Image();
  ns_i.onload=new Function(ns_c);
  if(a.target)ns_i.onload();
  else setTimeout(ns_c, 5000);
  ns_i.src=ns_l;
};
function addLinkTargets() {
  var oLinks = document.getElementsByTagName("a");
  for (var i=0; i < oLinks.length; i++) {
    if (oLinks[i].className.search(/extern/) != -1) {
      oLinks[i].setAttribute('target', '_blank');
      oLinks[i].onclick = function() {
        ns_softclick(this, '', this.getAttribute('name'), 'clickout');
        return false;
      }
    }
  }
};
 

function favourites() {
  if ($('favourites')) {
    $('favourites').onchange=function() {
      if (this.options[this.selectedIndex].value == 'add') addPage(this);
      else if (this.options[this.selectedIndex].value == 'rem') remPage(this);
      else if(this.options[this.selectedIndex].value == '');
      else if (this.options[this.selectedIndex].value == 'help') alert ("Favourites\n\nYou can add a page to your favourites by selecting 'Add this Page'. You are prompted for a name (the page's name is set as default).\n\nTo remove a page navigate to that page and select 'Remove this Page'.");
      else window.location.href = this.options[this.selectedIndex].value;
      this.selectedIndex = 0;
    }
  }
}
function addPage(oDD) {
    if (findFavourite(oDD, window.location.pathname) == -1) {
        var oOption = document.createElement("OPTION");
        oOption.setAttribute("value", window.location.pathname);
        var sPagename = document.title.replace(/^Smiths Detection - /, "");
        sPagename = prompt("Add Bookmark as...", sPagename);
        if (sPagename == null) {
            alert('Cancelled.');
        } else {
            oOption.appendChild(document.createTextNode(sPagename));
            oDD.getElementsByTagName("OPTGROUP")[1].appendChild(oOption);
            var pars = 'task=add&pagename=' + sPagename + '&url=' + window.location.pathname;
            var myAjax = new Ajax.Request(
                '/ajax.php',
                {
                method: 'get',
                parameters: pars,
                onComplete: showResponse
            });
        }
    } else {
        alert("The current page is already in your favourites-list.");
    }
}
function remPage(oDD) {
    var i = findFavourite(oDD, window.location.pathname);
    if (i != -1) {
        oDD.getElementsByTagName("OPTION")[i].parentNode.removeChild(oDD.getElementsByTagName("OPTION")[i]);
        var pars = 'task=rem&url=' + window.location.pathname;
        var myAjax = new Ajax.Request(
            '/ajax.php',
            {
            method: 'get',
            parameters: pars,
            onComplete: showResponse
        });
    } else {
        alert("The current page is not in your favourites. I can't remove it.");
    }
}
function findFavourite(oDD, sUrl) {
    for (var i=0; i<oDD.getElementsByTagName("OPTION").length; i++)
        if (oDD.getElementsByTagName("OPTION")[i].getAttribute("value") == sUrl)
            return i;
    return -1;
}
function showResponse(originalRequest) {
    alert(originalRequest.responseText);
}

sfHover = function() {
        var sfEls = document.getElementById("topnav").getElementsByTagName("LI");
        for (var i=0; i<sfEls.length; i++) {
                sfEls[i].onmouseover=function() {
                        this.className+=" sfhover";
                }
                sfEls[i].onmouseout=function() {
                        this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
                }
        }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);