// Allgeneine Funktionen
// Erstellt: 21.11.2000 by JW
// Geändert: 05.04.2001 by JW
// Geändert: 22.06.2001 by AP (Fenster drucken)
// Geändert: 24.09.2001 by JW (opera)

// some known objects
var nc    =  !!(document.captureEvents  && !document.getElementById);
var nc6   =  !!(document.captureEvents  && document.documentElement);
var op6   =  !!(document.getElementById && !document.documentElement);
var op7   =  !!(window.opera && /Opera( |\/)7/i.exec(navigator.userAgent));
var ie    =  !!document.all;
var ie4   =  !!(document.all           && !document.documentElement);
var ie5   =  !!(document.all           && document.documentElement);
var dom   =  !!document.getElementById;
var mac   =  !!(navigator.userAgent.indexOf("Mac")!=-1);
var docEl =  (document.documentElement && document.all && typeof document.compatMode != "undefined" && document.compatMode !=  "BackCompat")? "documentElement" : "body";

// Div-Layer Style referenzieren
function dRefS()
{
    var obj;
    if(nc)
	{
        obj											=	document.layers[arguments[0]];
        for(k = 1; k < arguments.length; k++) obj	=	obj.document.layers[arguments[k]];
    }
    else if(ie4)	obj								=	document.all[arguments[arguments.length-1]].style;
    else if(dom)	obj								=	document.getElementById(arguments[arguments.length-1]).style;
	else			obj								=	null;
    return obj;
}

// Div-Layer referenzieren
function dRef()
{
    var obj;
    if(nc)
	{
        obj											=	document.layers[arguments[0]];
        for(k = 1; k < arguments.length; k++) obj	=	obj.document.layers[arguments[k]];
    }
    else if(ie4)	obj								=	document.all[arguments[arguments.length-1]];
    else if(dom)	obj								=	document.getElementById(arguments[arguments.length-1]);
	else			obj								=	null;
    return obj;
}

// Imagereferenz
function imgRef(obj,img) {
    if(nc)         return obj.document.images[img];
    if(dom || ie4) return document.images[img];
}

//Div-Breite
function divBreit(obj) {
    if(dom)        obj.style.width = "auto";              // fuer NC 6 width auf auto setzen
    if(nc)         return obj.document.width;
    if(ie4 || dom) return obj.offsetWidth;
}

//Div-Hoehe
function divHoch(obj) {
    if(dom)        obj.style.height = "auto";              // fuer NC 6 width auf auto setzen
    if(nc)         return obj.document.height;
    if(ie4 || dom) return obj.offsetHeight;
}

// verschachtelte, geklippte Div-Layer Breite
function clDivBreit(obj) {
  if(nc)    return obj.document.width;
  if(ie)    return obj.offsetWidth;
  if(nc6)   return obj.firstChild.offsetWidth;             //setzt child voraus, z. B.: <nobr>, <p>
}

// div-groesse veraendern
function divSize(obj,br,ho) {
    if(nc) obj.resizeTo(br,ho);
    if(ie4 || dom) {
        obj.style.height = ho;
        obj.style.width  = br;
    }
}

// Groesse Browserfenster / Dokument
function winSize() {
    if(ie) {
        breit 	= document.body.clientWidth;
        hoch  	= document.body.clientHeight;
		fbreit 	= document.body.scrollWidth;
        fhoch 	= document.body.scrollHeight;
    }
    if (nc || nc6) {
        breit 	= self.innerWidth;
        hoch  	= self.innerHeight;
		fbreit 	= self.document.width;
        fhoch 	= self.document.height;
    }
}

// Position eines Elementes
function findPos() {

    var el      = arguments[0];
    var xPos    = 0;
    var yPos    = 0;

    if(nc) {
        for(i = 0; i < arguments.length; i++) {
            xPos += arguments[i].x;
            yPos += arguments[i].y;
        }
    }
    else {
        while(el){
            xPos += el.offsetLeft;
            yPos += el.offsetTop;
            if(!(ie4 && mac))   el  = el.offsetParent;  // alle anderen machens falsch...
            else el = el.parentElement; // nur ie4 am mac nicht ;-)
        }
    }
    return {xPos: xPos, yPos: yPos};
}

// bildwechsel (fuer nc: div-layer oder nicht?)
var stat = false;
function linkOff() {
    if (nc && (arguments.length > 1)) arguments[1].document.images[arguments[0]].src = myLinkOff[arguments[0]].src;
    else                              document.images[arguments[0]].src              = myLinkOff[arguments[0]].src;
}

function linkOn() {
    if (nc && (arguments.length > 1)) arguments[1].document.images[arguments[0]].src = myLinkOn[arguments[0]].src;
    else                              document.images[arguments[0]].src              = myLinkOn[arguments[0]].src;
}

var myLinkOn    = new Array();
var myLinkOff   = new Array();
function laden(ar,suff) {
    for(i in myLink){
        myLinkOff[ar[i]]        = new Image();
        myLinkOff[ar[i]].src    = pfad + ar[i] + "." +suff;
        myLinkOn[ar[i]]         = new Image();
        myLinkOn[ar[i]].src     = pfad + ar[i] + "_o." +suff;
    }
}

//  Fenster zentriert oeffnen
//  Parameter: "url",breite (number),hoehe (number),[optional scrollbalken, default = "yes"]
var neufenster		=	false;
function neuWin(page, br, ho) 
{
	var scr			=	(typeof arguments[3] != "undefined")? arguments[3]  : "yes";	
	var breit   	=	screen.availWidth;
    var hoch		=	screen.availHeight;
    var winPosX		=	(breit/2) - br/2;
    var winPosY		=	(hoch/2) - ho/2;
	neufenster		=	open(page,"","resizable=yes,scrollbars="+scr+",width="+br+",height="+ho+",left="+winPosX+",top="+winPosY);
	neufenster.focus();
}

// makes sure that browser does not take "page" from the cache
var jatofenster = "";
    function jatoWin(page, br, ho) {
        var ran     =   Math.floor((Math.random() * 10000) + 1); // Zufallsquery
        var url     =   page + "?" + ran;
        jatofenster =   window.open(url,"","resizable=yes,scrollbars=yes,width=" + br + ",height=" + ho);
        setTimeout('jatofenster.focus()',200);
  }

// layer schreiben
function writeDiv(obj,text) {
  if(nc) {
    with (obj.document) {
      open();
      write(text);
      close();
    }
  }
  if(ie || dom)obj.innerHTML = text;
}

//fenster drucken
function drucken() {
	if(self.print) self.print();
	else alert("Die automatische Druckfunktion steht bei ihrem Browser leider nicht zur Verfuegung");
}

//onerror = function(){alert("böse");return true;}

