
//  CLIENT_SIDE SNIFFER CODE

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

//BROWSER VERSION
// Note: On IE5, these return 4, so use is_ie5up to detect IE5. 
var is_major = parseInt(navigator.appVersion); 
var is_minor = parseFloat(navigator.appVersion); 

//BROWSER TYPE 
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) 
            && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) 
            && (agt.indexOf('webtv')==-1));
var is_nav4up = (is_nav && (is_major >= 4));  
var is_ie   = (agt.indexOf("msie") != -1); 
var is_ie3  = (is_ie && (is_major < 4)); 
var is_ie4  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")==-1) );
var is_ie4up  = (is_ie  && (is_major >= 4));
var is_ie5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );  
var is_ie5up  = (is_ie  && !is_ie3 && !is_ie4);  
var is_dom = (document.getElementById);

//PLATFORM 
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac    = (agt.indexOf("mac")!=-1);
var is_sun   = (agt.indexOf("sunos")!=-1);
var is_irix  = (agt.indexOf("irix") !=-1);    // SGI
var is_hpux  = (agt.indexOf("hp-ux")!=-1);
var is_aix   = (agt.indexOf("aix") !=-1);      // IBM
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);

             
             

// VARIABLENDEFINITION
imgArray = new Array();                               // enthaelt die Bilder im Dokument
bilder_Anzahl = 0;                                    // enthaelt die Anzahl aller Bilder im Dokument
act_nav="";
level1_selection="";
nav_selection="";
       
             

//PRELOAD-FUNKTIONEN
// Funktion: erstellt ein neues Objekt, das zwei Bildobjekte enthaelt; aufgerufen in searchImages();
function entry(layer, name, src1, src2)
{
  this.layer = layer;           
  this.name = name;
  this.normal = new Image()     
  //this.normal.name = name;      
  this.normal.src = src1;       
  this.hilite = new Image();    
  //this.hilite.name = name;      
  this.hilite.src = src2;       
      
  return (this);
}
    
// gueltiges bild fuer hilite?; aufgerufen in searchImages(); 
function isValidImage(name)
{
  return(name.indexOf("_off.") > 0);
}
    
// Umwandlung _off- in _on-bild
function convertToHilite(src)
{
  var fileType = src.substring(src.lastIndexOf("."), src.length); 
  var endOfPath = src.lastIndexOf("/") + 1;                       
  var path = src.substring(0, endOfPath);                         
  var fileName = src.substring(endOfPath, src.length);            
  var endOfFileName = fileName.lastIndexOf("_");                
  fileName = fileName.substring(0, endOfFileName);              
  fileName = path + fileName + "_on" + fileType;                  
  return (fileName);
}
    
// sucht _off-bilder; ruft convertToHilite(); und isValidImage(); und entry(); und searchImagesInLayers(); auf
function searchImages()
{
  var anzahl_der_Bilder = document.images.length;
     
  for (var img = 0; img < anzahl_der_Bilder; img++)
  {
    var name = document.images[img].name;             
    var nsrc = document.images[img].src;              
    var hsrc = convertToHilite(nsrc);                 
    if (isValidImage(nsrc))
    {
      imgArray[bilder_Anzahl] = new entry("", name, nsrc, hsrc);  // das gefundene Bild in das Array eintragen
      bilder_Anzahl++;
    }
  }
  if (is_nav) searchImagesInLayers();      
}
    
// gueltig ab NN4; dasselbe wie searchImages();
function searchImagesInLayers()
{
  var layers = document.layers;
  for (var l = 0; l < layers.length; l++)
  {
    doc2 = layers[l].document;
    for (var d = 0; d < doc2.images.length; d++)
    {
      var name = doc2.images[d].name;
      var nsrc = doc2.images[d].src;
      var hsrc = convertToHilite(nsrc);
      if (isValidImage(nsrc))
      {
        imgArray[bilder_Anzahl] = new entry(layers[l].name, name, nsrc, hsrc);
        bilder_Anzahl++;
      }
    }
  }
}
  
// Hauptfunktion des Preload: im body-Tag mit dem onLoad-Event aufgerufen  
function mystic()
{
  searchImages();
}
  
 
    
// Funktion: Ermittelt die Position eines Bildes im imgArray anhand des Namens und liefert dessen Position zurueck.
function getPos(name)
{
  var retValue = -1;
  for (var p = 0; p < imgArray.length; p++)
  {
    if (imgArray[p].name == name) retValue = p;
  }
  return (retValue);
}
  
  
// _on-zustand der navi-images at OnMouseOver/OnMouseOut
function imgOn(name)
{
  if(level1_selection!="") imgOff(level1_selection);
  var nr = getPos(name);
  if (nr != -1)
  {
    var bild = imgArray[nr];
    if ((is_nav) && (bild.layer != ""))
    {
      document.layers[bild.layer].document.images[name].src = bild.hilite.src;
    }
    else
    {
      document.images[name].src = bild.hilite.src;
    }
  }
}

// _off-zustand der navi-images at OnMouseOver/OnMouseOut
function imgOff(name)
{
  var nr = getPos(name);
  if (nr != -1)
  {
    var bild = imgArray[nr];
    if ((is_nav) && (bild.layer != ""))
    {
      document.layers[bild.layer].document.images[name].src = bild.normal.src;
    }
    else
    {
      document.images[name].src = bild.normal.src;
    }
  }
}
  

//zeigt on-zustand beim laden der passenden seite, in functions_local eingebaut, aufgerufen beim onload im header 
function onloadLevel1(imgNam)
{
  imgOn(imgNam);
  level1_selection=imgNam;
}


function onloadPic(imgNam)
{
  imgOn(imgNam);
}


//initialisierung navi-layer in den seiten:
abstand="";

function initPage()
  {
    layerPos1();
    
    if (is_nav)
      {
        window.captureEvents(Event.RESIZE);
        window.onresize = handleResize;
        initWidth = window.innerWidth;
        initHeight = window.innerHeight;
    }
    else
      {
        window.onresize = layerPos1;
    }
    menuPos = 0;
    bildPos = 0;

}


function handleResize() {
   if (((initWidth != window.innerWidth) || (initHeight != window.innerHeight)) && (typeof disableReload == "undefined")) {
     location.reload();
   }
   return false;
}

//positionierung vom navi-layer in den seiten:
function layerPos1()
  {
    if (is_nav)
      {
        document.layers["navimainglauben"].left = document.images["1stPic"].x + 152;
        document.layers["navimainleben"].left = document.images["1stPic"].x + 297;
        document.layers["navimainkirche"].left = document.images["1stPic"].x + 442;
     }
     else
      { 
        obj = document.all["navimainglauben"].style;
        leftBorder = ((document.body.clientWidth - 780) / 2) + 1;
        leftBorder = (leftBorder < 0) ? 0 : leftBorder;
        document.all["navimainglauben"].style.left = (leftBorder + 152) + "px";
        document.all["navimainleben"].style.left = (leftBorder + 297) + "px";
        document.all["navimainkirche"].style.left = (leftBorder + 442) + "px";
    }
}


//initialisierung fuer die layers
function init() 
{
  if(is_ie)
  {
	  genObj="document.all"
	  genStyle=".style"
  }

  if(is_nav4up)
  {
	  genObj="document.layers"
	  genStyle=""
  }
}
 
init();

//show and hide layer at OnMouseOver/OnMouseOut 
function createObj(divName) 
{
  if(is_dom)
  {
	  stand_obj=document.getElementById(divName);
	  obj=stand_obj.style
  }
  else
  {
    obj=eval(genObj+"['"+divName+"']"+genStyle);
  }  
  return obj; 
}

function show(divName) 
{
  createObj(divName);
  obj.visibility='visible';
  obj.zIndex=100; 
}

function hide(divName) 
{
  createObj(divName);
  obj.visibility='hidden';
  obj.zIndex=0; 
} 



//versteckt activen layer, zeigt neuen layer + zeigt passendes _on-gif
function set_layer(Name) 
{
  if(act_nav!="")
	{
	  hide("navi"+act_nav);
		imgOff(act_nav);
  }
  imgOn(Name);
  show("navi"+Name);
 	act_nav=Name;
}



//versteckt aktuellen layer, in adlink_functions eingebaut, aufgerufen beim onload im header
function hiding()
{
  if(act_nav!="")
	{
	  hide("navi"+act_nav);
		imgOff(act_nav);
	}
}

function onload_layer(Name) {
    set_layer(Name);
		nav_selection=Name;
}

//setzt unsichtbare layers, die fuer das wiedererscheinen des active layers zustaendig sind 
function onload_hiding()
{
	show("hideTop");
}




// oeffnet pop up - fenster mit def. hoehe, breite und vorgegebener position
function fenster(ort,w,h) 
{
  win = window.open(ort, 'Neues_Fenster', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width='+w+',height='+h+',screenX=20,screenY=200,left=20,top=200');
}

// oeffnet pop up - fenster mit def. hoehe, breite und vorgegebener position 
// mit scrollbar/menubar
function sesam2(ort,w,h) { 
win=window.open(ort,'sesam2','toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no,width='+w+',height='+h+',screenX=50,screenY=200,left=50,top=200'); 
}

//avoid resize problems with Netscape 4
if (is_nav4up) 
{
  origWidth = innerWidth;
  origHeight = innerHeight;
}

function reDo() 
{
  if (innerWidth != origWidth || innerHeight != origHeight) 
  history.go(0);
}

if (is_nav4up) onresize = reDo;

//set leer gif

function getScreen() {
h=window.innerHeight;
w=window.innerWidth;
}

function sizeleergif(){
  getScreen();
  evil = h - 483;
  document.write("<img src=\"/gemeinde/shared_img/leer.gif\" width=\"1\" height=\"" + evil + "\" alt=\"\" border=\"0\" >");
}

function sizeleergif2(){
  getScreen();
  sulfer = h - 125;
  document.write("<img src=\"/gemeinde/shared_img/leer.gif\" width=\"6\" height=\"" + sulfer + "\" alt=\"\" border=\"0\" >");
}