var searchQuery = false;
function getAbsOffsetLeft(ele) {
  var offset = 0;
  var sl = (window.pageXOffset ? window.pageXOffset : document.body.scrollLeft);
  do { offset += ele.offsetLeft; if (ele.style.position=='fixed') { offset+=sl }; ele = ele.offsetParent; } while (ele!=null)
  return offset;
}

function hasClass(el, className) {
  return (" " + el.className + " ").indexOf(className) > -1;
}

function addClass(el, className) {
  if (hasClass(el, className)) return;
  el.className = (el.className) ? el.className += (" " + className) : className;
}

function removeClass(el, className) {
  var idx = el.className.indexOf(className);
  if (idx > -1) el.className = el.className.substring(0, idx - 1);
}

function getBorders(element) {
  var ltrb = ["Left","Top","Right","Bottom"];
  var result = {};
  for (var i in ltrb) {
    if (element.currentStyle)
      var value = parseInt(element.currentStyle["border"+ltrb[i]+"Width"]);
    else if (window.getComputedStyle)
      var value = parseInt(window.getComputedStyle(element, "").getPropertyValue("border-"+ltrb[i].toLowerCase()+"-width"));
    else
      var value = parseInt(element.style["border"+ltrb[i]]);
    result[ltrb[i].toLowerCase()] = isNaN(value) ? 0 : value;
  }
  return result;
}

var closeDelay = 750;
var closeDelayTimer = null;
var closeItem = null;

function MenuItem(idOrElement, parent) {
  var menuItem = this;
  this.type = "menu-item";
  this.subMenu;
  this.init(idOrElement, parent);
  if (this.subMenu) {
    this.element.onmouseover = function() {
      if (closeDelayTimer) window.clearTimeout(closeDelayTimer);
      menuItem.subMenu.open(); 
    }
  } else {
    this.element.onmouseover = function() {
      menuItem.parentMenu.closeAll();
    }
  }
  var linkTag = this.element.getElementsByTagName("A")[0];
  if (linkTag) linkTag.onfocus = this.element.onmouseover;

  if (this.subMenu) {
    this.element.onmouseout = function() {
      if (closeDelayTimer) window.clearTimeout(closeDelayTimer); 
      closeItem = menuItem;
      closeDelayTimer = window.setTimeout("closeItem.subMenu.close()", closeDelay); 
    }
  }
}

MenuItem.prototype = Menu.prototype;

MenuItem.prototype.closeItem = function(trigger) {
  if (this.subMenu) { 
    if (this.subMenu != trigger) this.subMenu.close(); 
  }
}

MenuItem.prototype.openItem = function() {
  if (this.subMenu) { this.subMenu.open(); }
}

function Menu(idOrElement, parent) {
  var menu = this;
  this.type = "menu";
  this.menuItems = [];
  this.init(idOrElement, parent);
  if (hasClass(this.element, "dropdown")) this.menuType = "dropdown";
  else if (hasClass(this.element, "flyout")) this.menuType = "flyout";
  else if (hasClass(this.element, "horizontal")) this.menuType = "horizontal";
  else this.menuType = "standard";
  this.setPosition();
}

Menu.prototype.init = function(idOrElement, parent) {
  this.parent = parent;
  this.parentMenu = (this.type == "menu") ? ((parent) ? parent.parent : null) : parent;
  this.element = (typeof idOrElement == "string") ? document.getElementById(idOrElement) : idOrElement;
  this.id = (this.element && this.element.id) ? this.element.id : null;

  if (!this.element) return;

  var childNodes = this.element.childNodes;
  if (childNodes == null) return;
  
  for (var i = 0; i < childNodes.length; i++) {
    var node = childNodes[i];
    if (node.nodeType == 1) {
      if (this.type == "menu") {
        if (node.tagName.toLowerCase() == "li") {
          this.menuItems.push(new MenuItem(node, this));
        }
        
      } else {
        if (node.tagName.toLowerCase() == "ul") {
          this.subMenu = new Menu(node, this);
        }
      }
    }
  }
}

Menu.prototype.open = function() {
  this.parentMenu.closeAll(this);
  this.element.style.visibility = "visible";

  if (this.parent) {
    addClass(this.parent.element, "isOpen");
  }
  
  this.setPosition();
}

Menu.prototype.setPosition = function() {
  if (this.menuType == "dropdown") {
    this.element.style.top = this.parent.element.offsetTop + this.parent.element.offsetHeight + "px";
    this.element.style.left = this.parent.element.offsetLeft + 177 + this.parent.element.offsetWidth - this.element.offsetWidth + "px";
  } else if (this.menuType == "flyout") {
    var parentMenuBorders = getBorders(this.parentMenu.element);
    var thisBorders = getBorders(this.element);
    if ((getAbsOffsetLeft(this.parentMenu.element) + this.parentMenu.element.offsetWidth + this.element.offsetWidth) > (window.innerWidth ? window.innerWidth : document.body.offsetWidth))
      this.element.style.left = - this.element.offsetWidth + "px";
    else 
      this.element.style.left = this.parentMenu.element.offsetWidth - parentMenuBorders["left"] - thisBorders["left"] + "px";      
    this.element.style.top = this.parent.element.offsetTop - parentMenuBorders["top"] + "px";
  }
}

Menu.prototype.close = function() {
  this.element.style.visibility = "hidden";
  if (this.parent) removeClass(this.parent.element, "isOpen");
  this.closeAll();
}

Menu.prototype.closeAll = function(trigger) {
  for (var i in this.menuItems) { 
    this.menuItems[i].closeItem(trigger);
  }
}

function initMenu() {
  var menu;
  if (document.getElementById('menu-root'))
      menu = new Menu('menu-root');
}


if (document.all)
{
    try { attachEvent("onload", initMenu); }
    catch (e) { window.onload = initMenu; }
}
else
    window.addEventListener("load", initMenu, true);


function glossary_addLinkBackButton() 
{
    var content = document.getElementById("content");
    if (!content) return;
    
   
    var links = content.getElementsByTagName("a");
    for (var i=0; i<links.length; i++) {
       if (!links[i].href.match(/[?&]back=1/)) {      
           if (links[i].href.match(/\?/))
               links[i].href=links[i].href + "&back=1";
            else
               links[i].href=links[i].href + "?back=1";
       }
    }
}


  function setImg() {   
    var a = document.getElementById("mainbar");
    for(var i = 0; i < a.getElementsByTagName("img").length; i++) {
      if (document.formular.setImg[0].checked) 
        a.getElementsByTagName("img")[i].style.display="inline";
      if (document.formular.setImg[1].checked) 
        a.getElementsByTagName("img")[i].style.display="none";
    }
  }

  function hideLinks() {
    var mainbar = document.getElementById("mainbar");
    var docLinks = mainbar.getElementsByTagName("a");
    for (var i=0; i<docLinks.length; i++) {
      docLinks[i].href="#";
    }
  }


// PLUGIN FRAMEWORK, Version 0.5; Copyright (c) 2006 Matthias Platzer <matthias@knallgrau.at>; http://www.knallgrau.code/prototype/plugins_js

var PluginFactory=function(){this.isInstalled=function(name){return Plugin.getInfo(name).isInstalled;}
this.getVersion=function(name){return Plugin.getInfo(name).version;}
this.getPluginsForMimeType=function(mimeType){var result=[];if(supportsNavigatorPlugins()){for(var i=0;i<navigator.mimeTypes.length;i++){if(navigator.mimeTypes[i].type.indexOf(mimeType)==0&&navigator.mimeTypes[i].enabledPlugin){var pluginName=(findPluginName(navigator.mimeTypes[i].enabledPlugin.name)||navigator.mimeTypes[i].enabledPlugin.name);if(!Array.contains(result,pluginName))result.push(pluginName);}}}else{for(var pluginName in Plugin.PLUGINS){var mimeTypes=Plugin.PLUGINS[pluginName].acceptedMimeTypes;if(!mimeTypes)continue;for(var j=0;j<mimeTypes.length;j++){if(mimeTypes[j].type.indexOf(mimeType)==0&&Plugin.isInstalled(pluginName)){if(!Array.contains(result,pluginName))result.push(pluginName);}}}}
return result;}
this.getPluginsForFileSuffix=function(suffix){var result=[];if(supportsNavigatorPlugins()){for(var i=0;i<navigator.mimeTypes.length;i++){if((","+navigator.mimeTypes[i].suffixes+",").indexOf(","+suffix+",")!=-1&&navigator.mimeTypes[i].enabledPlugin){var pluginName=(findPluginName(navigator.mimeTypes[i].enabledPlugin.name)||navigator.mimeTypes[i].enabledPlugin.name);if(!Array.contains(result,pluginName))result.push(pluginName);}}}else{for(var pluginName in Plugin.PLUGINS){var mimeTypes=Plugin.PLUGINS[pluginName].acceptedMimeTypes;if(!mimeTypes)continue;for(var j=0;j<mimeTypes.length;j++){if((","+mimeTypes[j].suffixes+",").indexOf(","+suffix+",")!=-1&&Plugin.isInstalled(pluginName)){if(!Array.contains(result,pluginName))result.push(pluginName);}}}}
return result;}
this.getInfo=function(name){var info=Plugin.PLUGINS[name];var isInstalled=false;var version=null;if(supportsNavigatorPlugins()){var plugin=findNavigatorPluginByName((name=="RealPlayer")?"RealPlayer Version Plugin":name);if(plugin){isInstalled=true;version=getVersionFromPlugin(plugin);}}else{isInstalled=hasActiveXObject(Plugin.PLUGINS[name]&&Plugin.PLUGINS[name].progID);if(isInstalled){if(Plugin.PLUGINS[name].getActiveXVersionInfo){version=Plugin.PLUGINS[name].getActiveXVersionInfo();}else{var progID=getProgIdForActiveXObject(Plugin.PLUGINS[name].progID);version=getVersionFromPlugin(progID);}}else{version=getActiveXPluginByClassId(Plugin.PLUGINS[name]&&Plugin.PLUGINS[name].classID);if(version)version=version.replace(/,/g,".");isInstalled=(version!=undefined);}}
var result={};for(var i in info){result[i]=info[i];}
result["isInstalled"]=isInstalled;result["version"]=version;result["name"]=name;return result;}
this.embed=function(plugin,options,target){options=options||{};var embedOptions=Object.extend({},options);var src=embedOptions.src;delete embedOptions.src;var id=embedOptions.id;delete embedOptions.id;var name=embedOptions.name||id;delete embedOptions.name;var width=embedOptions.width;delete embedOptions.width;var height=embedOptions.height;delete embedOptions.height;var type=embedOptions.type||(Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].mimeType)||"";delete embedOptions.type;var activeXType=embedOptions.activeXType||(Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].activeXType)||type;delete embedOptions.activeXType;var forceEmbedTag=(Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].forceEmbedTag===true)?true:false;var forceObjectTag=(Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].forceObjectdTag===true)?true:false;var embedOptions=Object.extend(((Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].standardEmbedAttributes)||{}),embedOptions);switch(plugin){case"QuickTime":if(embedOptions.controller=="true"&&(height+"").indexOf("%")==-1){height+=16;}
if(!options.activeXType){activeXType=null;}
break;case"DivX":if((height+"").indexOf("%")==-1){if(embedOptions.mode=="mini")height+=20;else if(embedOptions.mode=="large")height+=65;else if(embedOptions.mode=="full")height+=90;}
break;case"Windows Media":if(!supportsNavigatorPlugins()||window.GeckoActiveXObject){forceObjectTag=true;}
if((window.ActiveXObject||window.GeckoActiveXObject||window.opera)&&(height+"").indexOf("%")==-1){height+=45;}
break;case"Flash":if(!supportsNavigatorPlugins()){embedOptions.movie=src;src=null;}
break;case"VLC":if(supportsNavigatorPlugins()){embedOptions.target=src;}
break;case"RealPlayer":break;default:break;}
var html="";if((supportsNavigatorPlugins()&&!forceObjectTag)||forceEmbedTag){html+='<embed'+getAttributeHtml("src",src)+getAttributeHtml("id",id)+getAttributeHtml("name",name)+getAttributeHtml("width",width)+getAttributeHtml("height",height)+getAttributeHtml("pluginspage",Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].pluginsPage)+getAttributeHtml("type",type);for(var i in embedOptions){html+=' '+i+'="'+embedOptions[i]+'"';}
html+='></embed>\n';}else{html+='<object classid="clsid:'+(Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].classID)+'"';html+=getAttributeHtml("id",id)+getAttributeHtml("name",name)+getAttributeHtml("width",width)+getAttributeHtml("height",height)+getAttributeHtml("codebase",(Plugin.PLUGINS[plugin]&&Plugin.PLUGINS[plugin].codeBase))+getAttributeHtml("type",activeXType)+'>\n';html+=(src)?'  <param name="src" value="'+src+'">\n':'';for(var i in embedOptions){html+='  <param name="'+i+'" value="'+embedOptions[i]+'" />';}
html+='</object>\n';}
if(target){if(typeof target=="string")target=document.getElementById(target);target.innerHTML=html;}else{document.write(html);}}
var getAttributeHtml=function(name,value){return(value)?(" "+name+"=\""+value+"\""):"";}
this.PLUGINS={"Acrobat":{description:"Adobe Acrobat Plugin",progID:["PDF.PdfCtrl.7","PDF.PdfCtrl.6","PDF.PdfCtrl.5","PDF.PdfCtrl.4","PDF.PdfCtrl.3","AcroPDF.PDF.1"],classID:"CA8A9780-280D-11CF-A24D-444553540000",pluginsPage:"http://www.adobe.com/products/acrobat/readstep2.html",acceptedMimeTypes:[{type:"application/pdf",suffixes:"pdf"},{type:"application/vnd.fdf",suffixes:"fdf"},{type:"application/vnd.adobe.xfdf",suffixes:"xfdf"},{type:"application/vnd.adobe.xdp+xml",suffixes:"xdp"},{type:"application/vnd.adobe.xfd+xml",suffixes:"xfd"}]},"QuickTime":{description:"QuickTime Plug-in",progID:["QuickTimeCheckObject.QuickTimeCheck.1","QuickTime.QuickTime"],classID:"02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",pluginsPage:"http://www.apple.com/quicktime/download/",codeBase:"http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0",mimeType:"video/quicktime",standardEmbedAttributes:{autoplay:"false"},getActiveXVersionInfo:function(){var progID=getProgIdForActiveXObject(Plugin.PLUGINS["QuickTime"].progID);var obj=new ActiveXObject(progID);var version=(obj&&obj.QuickTimeVersion)?obj.QuickTimeVersion.toString(16):"";return version.substring(0,1)+'.'+version.substring(1,2)+'.'+version.substring(2,3);},acceptedMimeTypes:[{type:"image/tiff",suffixes:"tif,tiff"},{type:"image/x-tiff",suffixes:"tif,tiff"},{type:"video/x-m4v",suffixes:"m4v"},{type:"image/x-macpaint",suffixes:"pntg,pnt,mac"},{type:"image/pict",suffixes:"pict,pic,pct"},{type:"image/x-pict",suffixes:"pict,pic,pct"},{type:"image/x-quicktime",suffixes:"qtif,qti"},{type:"image/x-sgi",suffixes:"sgi,rgb"},{type:"image/x-targa",suffixes:"targa,tga"},{type:"audio/3gpp",suffixes:"3gp,3gpp"},{type:"video/3gpp2",suffixes:"3g2,3gp2"},{type:"audio/3gpp2",suffixes:"3g2,3gp2"},{type:"video/sd-video",suffixes:"sdv"},{type:"application/x-mpeg",suffixes:"amc"},{type:"video/mp4",suffixes:"mp4"},{type:"audio/mp4",suffixes:"mp4"},{type:"audio/x-m4a",suffixes:"m4a"},{type:"audio/x-m4p",suffixes:"m4p"},{type:"audio/x-m4b",suffixes:"m4b"},{type:"video/mpeg",suffixes:"mpeg,mpg,m1s,m1v,m1a,m75,m15,mp2,mpm,mpv,mpa"},{type:"audio/mpeg",suffixes:"mpeg,mpg,m1s,m1a,mp2,mpm,mpa,m2a"},{type:"audio/x-mpeg",suffixes:"mpeg,mpg,m1s,m1a,mp2,mpm,mpa,m2a"},{type:"video/3gpp",suffixes:"3gp,3gpp"},{type:"audio/x-gsm",suffixes:"gsm"},{type:"audio/AMR",suffixes:"AMR"},{type:"audio/aac",suffixes:"aac,adts"},{type:"audio/x-aac",suffixes:"aac,adts"},{type:"audio/x-caf",suffixes:"caf"},{type:"video/x-mpeg",suffixes:"mpeg,mpg,m1s,m1v,m1a,m75,m15,mp2,mpm,mpv,mpa"},{type:"audio/aiff",suffixes:"aiff,aif,aifc,cdda"},{type:"audio/x-aiff",suffixes:"aiff,aif,aifc,cdda"},{type:"audio/basic",suffixes:"au,snd,ulw"},{type:"audio/mid",suffixes:"mid,midi,smf,kar"},{type:"audio/x-midi",suffixes:"mid,midi,smf,kar"},{type:"audio/midi",suffixes:"mid,midi,smf,kar"},{type:"audio/vnd.qcelp",suffixes:"qcp"},{type:"application/sdp",suffixes:"sdp"},{type:"application/x-sdp",suffixes:"sdp"},{type:"application/x-rtsp",suffixes:"rtsp,rts"},{type:"video/quicktime",suffixes:"mov,qt,mqv"},{type:"video/flc",suffixes:"flc,fli,cel"},{type:"audio/x-wav",suffixes:"wav,bwf"},{type:"audio/wav",suffixes:"wav,bwf"}]},"DivX":{description:"DivX Browser Plugin",progID:["npdivx.DivXBrowserPlugin.1","npdivx.DivXBrowserPlugin"],classID:"67DABFBF-D0AB-41fa-9C46-CC0F21721616",codeBase:"http://go.divx.com/plugin/DivXBrowserPlugin.cab",pluginsPage:"http://go.divx.com/plugin/download/",mimeType:"video/divx",standardEmbedAttributes:{mode:"mini",minversion:"1.0.0"},getActiveXVersionInfo2:function(){var progID=getProgIdForActiveXObject(Plugin.PLUGINS["DivX"].progID);return"1.0.0";},acceptedMimeTypes:[{type:"video/divx",suffixes:"dvx,divx"}]},"Director":{description:"Macromedia Director",progID:["SWCtl.SWCtl.11","SWCtl.SWCtl.10","SWCtl.SWCtl.9","SWCtl.SWCtl.8","SWCtl.SWCtl.7","SWCtl.SWCtl.6","SWCtl.SWCtl.5","SWCtl.SWCtl.4"],classID:"166B1BCA-3F9C-11CF-8075-444553540000",pluginsPage:"http://www.macromedia.com/shockwave/download/",codeBase:"http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0",mimeType:"application/x-director"},"Flash":{description:"Macromedia Shockwave Flash",progID:["ShockwaveFlash.ShockwaveFlash.9","ShockwaveFlash.ShockwaveFlash.8.5","ShockwaveFlash.ShockwaveFlash.8","ShockwaveFlash.ShockwaveFlash.7","ShockwaveFlash.ShockwaveFlash.6","ShockwaveFlash.ShockwaveFlash.5","ShockwaveFlash.ShockwaveFlash.4"],classID:"D27CDB6E-AE6D-11CF-96B8-444553540000",pluginsPage:"http://www.macromedia.com/go/getflashplayer",codeBase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0",mimeType:"application/x-shockwave-flash",standardEmbedAttributes:{quality:"high"},acceptedMimeTypes:[{type:"application/x-shockwave-flash",suffixes:"swf"},{type:"application/futuresplash",suffixes:"spl"}]},"VLC":{description:"VLC multimedia plugin",progID:[],classID:"",pluginsPage:"http://www.videolan.org/doc/play-howto/en/ch02.html#id287569",codeBase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0",mimeType:"application/x-vlc-plugin",standardEmbedAttributes:{quality:"high",autoplay:"no"},acceptedMimeTypes:[{type:"audio/mpeg",suffixes:"mp2,mp3,mpga,mpega"},{type:"audio/x-mpeg",suffixes:"mp2,mp3,mpga,mpega"},{type:"video/mpeg",suffixes:"mpg,mpeg,mpe"},{type:"video/x-mpeg",suffixes:"mpg,mpeg,mpe"},{type:"video/mpeg-system",suffixes:"mpg,mpeg,vob"},{type:"video/x-mpeg-system",suffixes:"mpg,mpeg,vob"},{type:"video/mpeg4",suffixes:"mp4,mpg4"},{type:"audio/mpeg4",suffixes:"mp4,mpg4"},{type:"application/mpeg4-iod",suffixes:"mp4,mpg4"},{type:"application/mpeg4-muxcodetable",suffixes:"mp4,mpg4"},{type:"video/x-msvideo",suffixes:"avi"},{type:"video/quicktime",suffixes:"mov,qt"},{type:"application/x-ogg",suffixes:"ogg"},{type:"application/x-vlc-plugin",suffixes:"*"},{type:"video/x-ms-asf-plugin",suffixes:"asf,asx,*"},{type:"video/x-ms-asf",suffixes:"asf,asx,*"},{type:"application/x-mplayer2",suffixes:"dvx,divx,ivx,xvid,ivf,*"},{type:"video/x-ms-wmv",suffixes:"wmv,*"},{type:"application/x-google-vlc-plugin",suffixes:"*"}]},"Windows Media":{description:"Windows Media Player Plug-in Dynamic Link Library",progID:["WMPlayer.OCX","MediaPlayer.MediaPlayer.1"],classID:"22D6f312-B0F6-11D0-94AB-0080C74C7E95",pluginsPage:"http://www.microsoft.com/windows/windowsmedia/",codeBase:"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,0,02,902",mimeType:"application/x-mplayer2",activeXType:"application/x-oleobject",standardEmbedAttributes:{autoplay:"false"},getActiveXVersionInfo:function(){var progID=getProgIdForActiveXObject(Plugin.PLUGINS["Windows Media"].progID);var obj=new ActiveXObject(progID);return(obj&&obj.versionInfo)?obj.versionInfo:"";},acceptedMimeTypes:[{type:"application/asx",suffixes:"*"},{type:"video/x-msvideo",suffixes:"avi"},{type:"video/x-ms-asf-plugin",suffixes:"*"},{type:"application/x-mplayer2",suffixes:"dvx,divx,ivx,xvid,ivf,*"},{type:"video/x-ms-asf",suffixes:"asf,asx,*"},{type:"video/x-ms-wm",suffixes:"wm,*"},{type:"audio/x-ms-wma",suffixes:"wma,*"},{type:"audio/x-ms-wax",suffixes:"wax,*"},{type:"video/x-ms-wmv",suffixes:"wmv,*"},{type:"video/x-ms-wvx",suffixes:"wvx,*"}]},"Java":{description:"Java Virtual Machine",progID:[],classID:"08B0E5C0-4FCB-11CF-AAA5-00401C608500",pluginsPage:"http://www.java.com/de/download/manual.jsp",acceptedMimeTypes:[{type:"application/x-java-applet",suffixes:""},{type:"application/x-java-bean",suffixes:""},{type:"application/x-java-vm",suffixes:" "}]},"RealPlayer":{description:"RealPlayer Version Plugin",progID:["RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)","RealVideo.RealVideo(tm) ActiveX Control (32-bit)","rmocx.RealPlayer G2 Control"],classID:"CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA",mimeType:"audio/x-pn-realaudio-plugin",pluginsPage:"http://www.real.com/freeplayer/?rppr=rnwk",forceEmbedTag:true,standardEmbedAttributes:{controls:"ControlPanel",nojava:"true",autostart:"false"},getActiveXVersionInfo:function(){var progID=getProgIdForActiveXObject(Plugin.PLUGINS["RealPlayer"].progID);var obj=new ActiveXObject(progID);var version=(obj)?obj.GetVersionInfo():"";return version;},acceptedMimeTypes:[{type:"audio/x-pn-realaudio-plugin",suffixes:"rpm"},{type:"application/vnd.rn-realplayer-javascript",suffixes:"rpj"}]}}
var supportsNavigatorPlugins=function(){return(navigator.plugins&&(navigator.plugins.length>0));}
var supportsActiveX=function(){return((typeof'ActiveXObject'!='undefined')&&(navigator.userAgent.indexOf('Win')!=-1));}
var findNavigatorPluginByName=function(name){if(supportsNavigatorPlugins()){for(var i=0;i<navigator.plugins.length;++i){var plugin=navigator.plugins[i];if(plugin.name.indexOf(name)!=-1){return plugin;}}}
return null;}
var findPluginName=function(str){for(var pluginName in Plugin.PLUGINS){if(str.indexOf(pluginName)!=-1){return pluginName;}}
return null;}
var getIEClientCaps=function(){var clientcaps=document.getElementById("__Plugin_ClientCaps");if(!clientcaps){var clientcaps=document.createElement("DIV");clientcaps.id="__Plugin_ClientCaps";if(clientcaps.addBehavior){clientcaps.addBehavior("#default#clientCaps");document.body.appendChild(clientcaps);}
clientcaps=document.getElementById("__Plugin_ClientCaps");}
return clientcaps;}
var getActiveXPluginByClassId=function(classID){if(!classID)return null;if(!classID.match(/{[^}]+}/))classID="{"+classID+"}";var clientcaps=getIEClientCaps();try{var result=clientcaps.getComponentVersion(classID,"ComponentID")
return result||null;}catch(err){}
return null;}
var hasActiveXObject=function(progID){progID=getProgIdForActiveXObject(progID);return(progID!=null);}
var getProgIdForActiveXObject=function(progID){if(!progID)return null;for(var i=0;i<progID.length;i++){try{var obj=new ActiveXObject(progID[i]);return progID[i]||null;}
catch(e){}}
return null;}
var getVersionFromPlugin=function(plugin){if(!plugin.name)plugin={name:plugin,description:name};var matches=/[\d][\d\.]*/.exec(plugin.name);if(matches&&plugin.name.indexOf("Java")==-1)return matches[0];matches=/[\d\.]+/.exec(plugin.description);return matches?matches[0]:"";}};if(!Object.extend){Object.extend=function(destination,source){for(property in source){destination[property]=source[property];}
return destination;}}
Array.contains=function(arr,el){return Array.indexOf(arr,el)!=-1;}
Array.indexOf=function(arr,el){for(var i=0;i<arr.length;i++){if(arr[i]==el)return i;}
return-1;}
String.encode=String.prototype.encode=function(){var str=this;str=str.replace("&","&amp;");str=str.replace("<","&lt;");str=str.replace(">","&gt;");str=str.replace("\"","&quot;");str=str.replace("\n","");return str;}
if(!window.Plugin){var Plugin=new Object();}
Object.extend(Plugin,(new PluginFactory()));
// ===================================================================================
//  js_browserdetect
// ===================================================================================

var browser = null;

function geber_getBrowser() 
{
    if (browser != null)
        return browser;

   browser = new Object();
   browser.pageIsLoaded = false;
   browser.isPageLoaded = function()
   {
       return (typeof(this.pageIsLoaded) != 'undefined' && this.pageIsLoaded);
   }


// the script is based on the JavaScript Browser Sniffer by
// Eric Krok, Andy King, Michel Plungjan Jan. 31, 2002
// see http://www.webreference.com/ for more information
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
//

    // convert all characters to lowercase to simplify testing
    var agt=navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();

    // *** BROWSER VERSION ***
    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);

    var is_opera = (agt.indexOf("opera") != -1);
    var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
    var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
    var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
    var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
    var is_opera6 = (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1); // new 020128- abk
    var is_opera7 = (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1); // new 021205- dmr
    var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);
    var is_opera6up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4 && !is_opera5); // new020128
    var is_opera7up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4 && !is_opera5 && !is_opera6); // new021205 -- dmr

    // Note: On IE, start of appVersion return 3 or 4
    // which supposedly is the version of Netscape it is compatible with.
    // So we look for the real version further on in the string
    // And on Mac IE5+, we look for is_minor in the ua; since 
    // it appears to be more accurate than appVersion - 06/17/2004

    var is_mac = (agt.indexOf("mac")!=-1);
    var iePos  = appVer.indexOf('msie');
    if (iePos !=-1) {
       if(is_mac) {
           var iePos = agt.indexOf('msie');
           is_minor = parseFloat(agt.substring(iePos+5,agt.indexOf(';',iePos)));
       }
       else is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
       is_major = parseInt(is_minor);
    }

    // ditto Konqueror
                                      
    var is_konq = false;
    var kqPos   = agt.indexOf('konqueror');
    if (kqPos !=-1) {                 
       is_konq  = true;
       is_minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos)));
       is_major = parseInt(is_minor);
    }                                 

    var is_getElementById   = (document.getElementById) ? "true" : "false"; // 001121-abk
    var is_getElementsByTagName = (document.getElementsByTagName) ? "true" : "false"; // 001127-abk
    var is_documentElement = (document.documentElement) ? "true" : "false"; // 001121-abk

    var is_safari = ((agt.indexOf('safari')!=-1)&&(agt.indexOf('mac')!=-1))?true:false;
    var is_khtml  = (is_safari || is_konq);

    var is_gecko = ((!is_khtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?true:false;
    var is_gver  = 0;
    if (is_gecko) is_gver=navigator.productSub;

    var is_fb = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
                 (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
                 (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
                 (is_gecko) && (navigator.vendor=="Firebird"));
    var is_fx = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
                 (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
                 (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
                 (is_gecko) && ((navigator.vendor=="Firefox")||(agt.indexOf('firefox')!=-1)));
    var is_moz   = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
                    (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
                    (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
                    (is_gecko) && (!is_fb) && (!is_fx) &&
                    ((navigator.vendor=="")||(navigator.vendor=="Mozilla")||(navigator.vendor=="Debian")));
    if ((is_moz)||(is_fb)||(is_fx)) {  // 032504 - dmr
       var is_moz_ver = (navigator.vendorSub)?navigator.vendorSub:0;
       if(is_fx&&!is_moz_ver) {
           is_moz_ver = agt.indexOf('firefox/');
           is_moz_ver = agt.substring(is_moz_ver+8);
           is_moz_ver = parseFloat(is_moz_ver);
       }
       if(!(is_moz_ver)) {
           is_moz_ver = agt.indexOf('rv:');
           is_moz_ver = agt.substring(is_moz_ver+3);
           is_paren   = is_moz_ver.indexOf(')');
           is_moz_ver = is_moz_ver.substring(0,is_paren);
       }
       is_minor = is_moz_ver;
       is_major = parseInt(is_moz_ver);
    }
   var is_fb_ver = is_moz_ver;
   var is_fx_ver = is_moz_ver;

    var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)
                && (!is_khtml) && (!(is_moz)) && (!is_fb) && (!is_fx));

    // Netscape6 is mozilla/5 + Netscape6/6.0!!!
    // Mozilla/5.0 (Windows; U; Win98; en-US; m18) Gecko/20001108 Netscape6/6.0
    // Changed this to use navigator.vendor/vendorSub - dmr 060502   
    // var nav6Pos = agt.indexOf('netscape6');
    // if (nav6Pos !=-1) {
    if ((navigator.vendor)&&
        ((navigator.vendor=="Netscape6")||(navigator.vendor=="Netscape"))&&
        (is_nav)) {
       is_major = parseInt(navigator.vendorSub);
       // here we need is_minor as a valid float for testing. We'll
       // revert to the actual content before printing the result. 
       is_minor = parseFloat(navigator.vendorSub);
    }

    var is_nav2 = (is_nav && (is_major == 2));
    var is_nav3 = (is_nav && (is_major == 3));
    var is_nav4 = (is_nav && (is_major == 4));
    var is_nav4up = (is_nav && is_minor >= 4);  // changed to is_minor for
                                                // consistency - dmr, 011001
    var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
                          (agt.indexOf("; nav") != -1)) );

    var is_nav6   = (is_nav && is_major==6);    // new 010118 mhp
    var is_nav6up = (is_nav && is_minor >= 6); // new 010118 mhp

    var is_nav5   = (is_nav && is_major == 5 && !is_nav6); // checked for ns6
    var is_nav5up = (is_nav && is_minor >= 5);

    var is_nav7   = (is_nav && is_major == 7);
    var is_nav7up = (is_nav && is_minor >= 7);

    var is_nav8   = (is_nav && is_major == 8);
    var is_nav8up = (is_nav && is_minor >= 8);

    var is_ie   = ((iePos!=-1) && (!is_opera) && (!is_khtml));
    var is_ie3  = (is_ie && (is_major < 4));

    var is_ie4   = (is_ie && is_major == 4);
    var is_ie4up = (is_ie && is_minor >= 4);
    var is_ie5   = (is_ie && is_major == 5);
    var is_ie5up = (is_ie && is_minor >= 5);
    
    var is_ie5_5  = (is_ie && (agt.indexOf("msie 5.5") !=-1)); // 020128 new - abk
    var is_ie5_5up =(is_ie && is_minor >= 5.5);                // 020128 new - abk
	
    var is_ie6   = (is_ie && is_major == 6);
    var is_ie6up = (is_ie && is_minor >= 6);

    var is_ie7   = (is_ie && is_major == 7);
    var is_ie7up = (is_ie && is_minor >= 7);

// KNOWN BUG: On AOL4, returns false if IE3 is embedded browser
    // or if this is the first browser window opened.  Thus the
    // variables is_aol, is_aol3, and is_aol4 aren't 100% reliable.

    var is_aol   = (agt.indexOf("aol") != -1);
    var is_aol3  = (is_aol && is_ie3);
    var is_aol4  = (is_aol && is_ie4);
    var is_aol5  = (agt.indexOf("aol 5") != -1);
    var is_aol6  = (agt.indexOf("aol 6") != -1);
    var is_aol7  = ((agt.indexOf("aol 7")!=-1) || (agt.indexOf("aol7")!=-1));
    var is_aol8  = ((agt.indexOf("aol 8")!=-1) || (agt.indexOf("aol8")!=-1));

    var is_webtv = (agt.indexOf("webtv") != -1);
    
    // new 020128 - abk
    
    var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1)); 
    var is_AOLTV = is_TVNavigator;

    var is_hotjava = (agt.indexOf("hotjava") != -1);
    var is_hotjava3 = (is_hotjava && (is_major == 3));
    var is_hotjava3up = (is_hotjava && (is_major >= 3));

    // end new
	
    // *** JAVASCRIPT VERSION CHECK ***
    // Useful to workaround Nav3 bug in which Nav3
    // loads <SCRIPT LANGUAGE="JavaScript1.2">.
    // updated 020131 by dragle
    var is_js = 0.0;
    if (is_nav2 || is_ie3) is_js = 1.0;
    else if (is_nav3) is_js = 1.1;
    else if ((is_opera5)||(is_opera6)) is_js = 1.3; // 020214 - dmr
    else if (is_opera7up) is_js = 1.5; // 031010 - dmr
    else if (is_khtml) is_js = 1.5;   // 030110 - dmr
    else if (is_opera) is_js = 1.1;
    else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
    else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
    else if (is_nav5 && !(is_nav6)) is_js = 1.4;
    else if (is_hotjava3up) is_js = 1.4; // new 020128 - abk
    else if (is_nav6up) is_js = 1.5;

    // NOTE: In the future, update this code when newer versions of JS
    // are released. For now, we try to provide some upward compatibility
    // so that future versions of Nav and IE will show they are at
    // *least* JS 1.x capable. Always check for JS version compatibility
    // with > or >=.

    else if (is_nav && (is_major > 5)) is_js = 1.4;
    else if (is_ie && (is_major > 5)) is_js = 1.3;
    else if (is_moz) is_js = 1.5;
    else if (is_fb||is_fx) is_js = 1.5; // 032504 - dmr
    
    // what about ie6 and ie6up for js version? abk
    
    // HACK: no idea for other browsers; always check for JS version 
    // with > or >=
    else is_js = 0.0;
    // HACK FOR IE5 MAC = js vers = 1.4 (if put inside if/else jumps out at 1.3)
    if ((agt.indexOf("mac")!=-1) && is_ie5up) is_js = 1.4; // 020128 - abk
    
    // Done with is_minor testing; revert to real for N6/7
    if (is_nav6up) {
       is_minor = navigator.vendorSub;
    }

    // *** PLATFORM ***
    var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
    // NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
    //        Win32, so you can't distinguish between Win95 and WinNT.
    var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));

    // is this a 16 bit compiled version?
    var is_win16 = ((agt.indexOf("win16")!=-1) ||
               (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) ||
               (agt.indexOf("windows 16-bit")!=-1) );

    var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                    (agt.indexOf("windows 16-bit")!=-1));
	
	var is_winme = ((agt.indexOf("win 9x 4.90")!=-1));    // new 020128 - abk
    var is_win2k = ((agt.indexOf("windows nt 5.0")!=-1) || (agt.indexOf("windows 2000")!=-1)); // 020214 - dmr
    var is_winxp = ((agt.indexOf("windows nt 5.1")!=-1) || (agt.indexOf("windows xp")!=-1)); // 020214 - dmr

    // NOTE: Reliable detection of Win98 may not be possible. It appears that:
    //       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
    //       - On Mercury client, the 32-bit version will return "Win98", but
    //         the 16-bit version running on Win98 will still return "Win95".
    var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
    var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
    var is_win32 = (is_win95 || is_winnt || is_win98 ||
                    ((is_major >= 4) && (navigator.platform == "Win32")) ||
                    (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));

    var is_os2   = ((agt.indexOf("os/2")!=-1) ||
                    (navigator.appVersion.indexOf("OS/2")!=-1) ||
                    (agt.indexOf("ibm-webexplorer")!=-1));

    var is_mac    = (agt.indexOf("mac")!=-1);
    if (is_mac) { is_win = !is_mac; } // dmr - 06/20/2002
    var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) ||
                               (agt.indexOf("68000")!=-1)));
    var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) ||
                                (agt.indexOf("powerpc")!=-1)));

    var is_sun   = (agt.indexOf("sunos")!=-1);
    var is_sun4  = (agt.indexOf("sunos 4")!=-1);
    var is_sun5  = (agt.indexOf("sunos 5")!=-1);
    var is_suni86= (is_sun && (agt.indexOf("i86")!=-1));
    var is_irix  = (agt.indexOf("irix") !=-1);    // SGI
    var is_irix5 = (agt.indexOf("irix 5") !=-1);
    var is_irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));
    var is_hpux  = (agt.indexOf("hp-ux")!=-1);
    var is_hpux9 = (is_hpux && (agt.indexOf("09.")!=-1));
    var is_hpux10= (is_hpux && (agt.indexOf("10.")!=-1));
    var is_aix   = (agt.indexOf("aix") !=-1);      // IBM
    var is_aix1  = (agt.indexOf("aix 1") !=-1);
    var is_aix2  = (agt.indexOf("aix 2") !=-1);
    var is_aix3  = (agt.indexOf("aix 3") !=-1);
    var is_aix4  = (agt.indexOf("aix 4") !=-1);
    var is_linux = (agt.indexOf("inux")!=-1);
    var is_sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
    var is_unixware = (agt.indexOf("unix_system_v")!=-1);
    var is_mpras    = (agt.indexOf("ncr")!=-1);
    var is_reliant  = (agt.indexOf("reliantunix")!=-1);
    var is_dec   = ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) ||
           (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) ||
           (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1));
    var is_sinix = (agt.indexOf("sinix")!=-1);
    var is_freebsd = (agt.indexOf("freebsd")!=-1);
    var is_bsd = (agt.indexOf("bsd")!=-1);
    var is_unix  = ((agt.indexOf("x11")!=-1) || is_sun || is_irix || is_hpux ||
                 is_sco ||is_unixware || is_mpras || is_reliant ||
                 is_dec || is_sinix || is_aix || is_linux || is_bsd || is_freebsd);

    var is_vms   = ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));
// additional checks, abk
	var is_anchors = (document.anchors) ? "true":"false";
	var is_regexp = (window.RegExp) ? "true":"false";
	var is_option = (window.Option) ? "true":"false";
	var is_all = (document.all) ? "true":"false";
// cookies - 990624 - abk
	document.cookie = "cookies=true";
	var is_cookie = (document.cookie) ? "true" : "false";
	var is_images = (document.images) ? "true":"false";
	var is_layers = (document.layers) ? "true":"false"; // gecko m7 bug?
// new doc obj tests 990624-abk
	var is_forms = (document.forms) ? "true" : "false";
	var is_links = (document.links) ? "true" : "false";
	var is_frames = (window.frames) ? "true" : "false";
	var is_screen = (window.screen) ? "true" : "false";

// java
	var is_java = (navigator.javaEnabled() ? true : false);

   


   browser.minor = is_minor;
   browser.major = is_major;

   browser.isOpera = is_opera || is_opera2 || is_opera3 || is_opera4 || is_opera5 || is_opera6 || is_opera7 || is_opera5up || is_opera6up || is_opera7up;
   browser.isOpera2 = is_opera2;
   browser.isOpera3 = is_opera3;
   browser.isOpera4 = is_opera4;
   browser.isOpera5 = is_opera5;
   browser.isOpera6 = is_opera6;
   browser.isOpera7 = is_opera7;
   browser.isOpera5up = is_opera5up;
   browser.isOpera6up = is_opera6up;
   browser.isOpera7up = is_opera7up;


   browser.isIE = is_ie3 || is_ie4 || is_ie5 || is_ie5_5 || is_ie6 || is_ie4up || is_ie5up || is_ie5_5up || is_ie6up;
   browser.isIE3 = is_ie3;
   browser.isIE4 = is_ie4;
   browser.isIE5 = is_ie5;
   browser.isIE55 = is_ie5_5;
   browser.isIE6 = is_ie6;
   browser.isIE7 = is_ie7;
   browser.isIE4up = is_ie4up;
   browser.isIE5up = is_ie5up;
   browser.isIE55up = is_ie5_5up;
   browser.isIE6up = is_ie6up;


   browser.isAOL = is_aol3 || is_aol4 || is_aol5 || is_aol6 || is_aol7 ||is_aol8;
   browser.isAOL3 = is_aol3;
   browser.isAOL4 = is_aol4;
   browser.isAOL5 = is_aol5;
   browser.isAOL6 = is_aol6;
   browser.isAOL7 = is_aol7;
   browser.isAOL8 = is_aol8;


   browser.isNetscape = is_nav;   
   browser.isNav = is_nav || is_nav2 || is_nav3 || is_nav4 || is_nav4up || is_navonly || is_nav6 || is_nav6up || is_nav5 || is_nav5up || is_nav7 || is_nav7up || is_nav8 || is_nav8up;   
   browser.isNav2 = is_nav2;
   browser.isNav3 = is_nav3;
   browser.isNav4 = is_nav4;
   browser.isNav5 = is_nav5;
   browser.isNav6 = is_nav6;
   browser.isNav7 = is_nav7;
   browser.isNav8 = is_nav8;
   browser.isNav5up = is_nav5up;
   browser.isNav6up = is_nav6up;
   browser.isNav7up = is_nav7up;
   browser.isNav8up = is_nav8up;

   browser.isHotJava = is_hotjava || is_hotjava3 || is_hotjava3up;
   browser.isHotJava3 = is_hotjava3;
   browser.isHotJava3up = is_hotjava3up;

   browser.isKonquerer= is_konq;
   browser.isSafari   = is_safari;
   browser.isKHTML    = is_khtml;
   browser.isGecko    = is_gecko;
   browser.isFirebird = is_fb;
   browser.isFirefox  = is_fx;
   browser.isMozilla  = is_moz;
   browser.isWebTV  = is_webtv;


   browser.os_MAC = is_mac;
   browser.os_MAC68k = is_mac68k;
   browser.os_MACPPC = is_macppc;
   browser.os_OS2 = is_os2;

   browser.os_Win   = is_win;
   browser.os_Win2k = is_win2k;
   browser.os_WinXP = is_winxp;
   browser.os_Win3  = is_win31;
   browser.os_Win95 = is_win95;
   browser.os_Win98 = is_win98;
   browser.os_WinME = is_winme;
   browser.os_WinNT = is_winnt;
   browser.os_Win32 = is_win32;
   browser.os_Win16 = is_win16;

   browser.os_linux = is_linux;
   browser.os_unix = is_unix;

   browser.jsVersion = is_js;

   // DETECT additional browser status bar
   browser.extraStatusBarHeight = 0;
   if (browser.os_WinXP)
       browser.extraStatusBarHeight = 15;


   browser.hasDOM = is_getElementById && !(is_opera && !is_opera7up);

   // ----------------------------------------------------------------
   // ************* DETECT PLUGINS ****************
   browser.hasFlash = false;
   browser.flashVersion = 0;
   browser.hasPDF = false;
   browser.pdfVersion = 0;
   browser.isJavaEnabled = is_java;
   browser.hasJava = false;
   browser.jsVersion = 0;
   browser.hasDirector = false;
   browser.directorVersion = 0;
   browser.hasRealPlayer = false;
   browser.realPlayerVersion = 0;
   browser.hasQuickTime = false;
   browser.quickTimeVersion = 0;
   browser.hasWMedia = false;
   browser.wmediaVersion = 0;


   var info = new Array();
   for (var i in Plugin.PLUGINS) {
       info[i] = Plugin.getInfo(i);
   }


   for (var i in info) {
       if (!Plugin.isInstalled(info[i].name))
           continue;

       // **** JAVA
       if (String(info[i].name).toLowerCase() == "acrobat")
       {
           browser.hasPDF = true;
           browser.pdfVersion = Plugin.getVersion(info[i].name);
       }
       
       else if (String(info[i].name).toLowerCase() == "flash")
       {
           browser.hasFlash = true;
           browser.flashVersion = Plugin.getVersion(info[i].name);
       }
       
       else if (String(info[i].name).toLowerCase() == "java")
       {
           browser.hasJava = true;
           browser.javaVersion = Plugin.getVersion(info[i].name);
       }
       
       else if (String(info[i].name).toLowerCase() == "realplayer")
       {
           browser.hasRealPlayer = true;
           browser.realPlayerVersion = Plugin.getVersion(info[i].name);
       }

       else if (String(info[i].name).toLowerCase() == "director")
       {
           browser.hasDirector = true;
           browser.directorVersion = Plugin.getVersion(info[i].name);
       }

       else if (String(info[i].name).toLowerCase() == "windows media")
       {
           browser.hasWMedia = true;
           browser.wmediaVersion = Plugin.getVersion(info[i].name);
       }

       else if (String(info[i].name).toLowerCase() == "quicktime")
       {
           browser.hasQuickTime = true;
           browser.quickTimeVersion = Plugin.getVersion(info[i].name);
       }
   }






   // ----------------------------------------------------------------
   // ************ create a XML-HTTP transfer object
   browser.XMLHttpRequest = false;


  if (browser.isIE && browser.os_Win)
  {

     if (window.XMLHttpRequest)
     {
         browser.XMLHttpRequest = window.XMLHttpRequest;
     }
     else
     {
         var activexNames = new Array("Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP");
         for (i = 0; i < activexNames.length; i++)
         {
             try 
             {
                 browser.XMLHttpRequest = new ActiveXObject(activexNames[i]);
                 break;
             }
             catch(e) {browser.XMLHttpRequest = false;}
         }
     }
  }



    if (!browser.XMLHttpRequest && typeof(XMLHttpRequest) != 'undefined') 
    {
      try 
      {
          browser.XMLHttpRequest = new XMLHttpRequest();
      } 
      catch (e) 
      {
          browser.XMLHttpRequest = false;
      }
    }

    if (!browser.XMLHttpRequest && window.createRequest) 
    {
      try 
      {
          browser.XMLHttpRequest = window.createRequest();
      } 
      catch (e) 
      {
          browser.XMLHttpRequest = false;
      }
    }



    // detect if this site is located on the local filesystem or provided via Web access
    browser.isLocal = (String(window.location.protocol).toLowerCase().indexOf("file") >= 0)


    // ******* detect active acessability software of WAI standard
    browser.isWAI = false;

    return browser;
}


function geber_detect_onLoad()
{
    browser = geber_getBrowser();
    browser.pageIsLoaded = true;
}

// ===================================================================================
//  js_geber_lib
// ===================================================================================

var geber_lib_onloadFuncArray;

function geber_lib_addLoadEvent(func) 
{
    if (document.all)
    {
        try { attachEvent("onload", func); return;}
        catch (e) 
        { }
    }
    else
    {
        window.addEventListener("load", func, true);
        return;
    }


/*
   // special case for IE on Mac. Ignore all others
   var agt = navigator.userAgent.toLowerCase();
   if ((agt.indexOf("mac") < 0) || (agt.indexOf("opera") >= 0) || (agt.indexOf("msie") < 0))
   {

       window.onload = func;
       return;
   }
*/

  // initialise the onload handler
  if (geber_lib_onloadFuncArray == null)
  {
      geber_lib_onloadFuncArray = new Array();

      var oldonload = window.onload;
      window.onload = function() 
      {
          for (var funcIdx=0; funcIdx <  geber_lib_onloadFuncArray.length; funcIdx++)
          {
               try {geber_lib_onloadFuncArray[funcIdx](); }
               catch(e) {}
          }
      }
  }

  geber_lib_onloadFuncArray[geber_lib_onloadFuncArray.length] = func;
}

geber_lib_addLoadEvent(geber_detect_onLoad);


// -----------------------------------------------------------------------------------------------

function geber_preLoadGWSImage()
{
    var pageURL = escape(window.location.protocol + "//" + window.location.host + window.location.pathname);
    var referrer = document["referrer"]==null?'':escape(document.referrer);
    var browser = geber_getBrowser();
    var imageURL = "http://gws.geber.at/investkredit/gws.gif?ref=" +
                  referrer + "&pg=" + pageURL;

    imageURL += "&screen=" + screen.width + "x" + screen.height;
    if (searchQuery)
        imageURL += "&q=" + searchQuery;


    if (browser.hasFlash)
        imageURL += "&p_flash=1&p_flash_v=" + browser.flashVersion;
    else
        imageURL += "&p_flash=0";
    if (browser.hasPDF)
        imageURL += "&p_pdf=1&p_pdf_v=" + browser.pdfVersion;
    else
        imageURL += "&p_pdf=0";
    if (browser.hasJava)
        imageURL += "&p_java=" + (browser.isJavaEnabled ? "1" : "-1" ) + "&p_java_v=" + (browser.javaVersion ? browser.javaVersion : "0");
    else
        imageURL += "&p_java=0";
    if (browser.hasQuickTime)
        imageURL += "&p_qt=1&p_qt_v=" + browser.quickTimeVersion;
    else
        imageURL += "&p_qt=0";
    if (browser.hasWMedia)
        imageURL += "&p_wm=1&p_wm_v=" + browser.wmediaVersion;
    else
        imageURL += "&p_wm=0";
    if (browser.hasRealPlayer)
        imageURL += "&p_real=1&p_real_v=" + browser.realPlayerVersion;
    else
        imageURL += "&p_real=0";
    if (browser.hasDirector)
        imageURL += "&p_director=1&p_director_v=" + browser.directorVersion;
    else
        imageURL += "&p_director=0";


     var myImg = new Image();
     myImg.src = imageURL;
}


