function MM_reloadPage(init) {
//reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
var old;
//---------------------------------------------------------------------------------------
function check_layer(x){
//Check if old Layer is open
	if(old && old!=x){	
		hide_layer(old);
		show_layer(x);
		old=x;
		}
	else{	
	show_layer(x);
	old=x;
	}
}
//---------------------------------------------------------------------------------------
function fenster(URL1,URL2){ 
//Dubble Frame Load
parent.mainFrame.location.href=URL1; 
parent.topFrame.location.href=URL2;
}
//---------------------------------------------------------------------------------------
function hide_layer(x){
//Hide Layer x	
	if(parent.mainFrame.document.layers){
		parent.mainFrame.document.layers[x].visibility='hide';}
	else{
		parent.mainFrame.document.getElementById(x).style.visibility='hidden';}
}
//---------------------------------------------------------------------------------------
function show_layer(x){
//Show Layer x
        if(parent.mainFrame.document.layers){
                parent.mainFrame.document.layers[x].visibility="show";}
        else{
                parent.mainFrame.document.getElementById(x).style.visibility="visible";}
}
//---------------------------------------------------------------------------------------
function show_2(x,y){
//Show 2 Layer
        if(parent.mainFrame.document.layers){
                parent.mainFrame.document.layers[x].visibility="show";}
        else{
                parent.mainFrame.document.getElementById(x).style.visibility="visible";}
				
		if(parent.mainFrame.document.layers){
                parent.mainFrame.document.layers[y].visibility="show";}
        else{
                parent.mainFrame.document.getElementById(y).style.visibility="visible";}
}
//---------------------------------------------------------------------------------------
function hide_2(x,y){
//Hide 2 Layer
	if(parent.mainFrame.document.layers){
		parent.mainFrame.document.layers[x].visibility='hide';}
	else{
		parent.mainFrame.document.getElementById(x).style.visibility='hidden';}

	if(parent.mainFrame.document.layers){
		parent.mainFrame.document.layers[y].visibility='hide';}
	else{
		parent.mainFrame.document.getElementById(y).style.visibility='hidden';}
}
//---------------------------------------------------------------------------------------
function hide_all(){
//hide OLD Layer
if(old){
	if(parent.mainFrame.document.layers){
		parent.mainFrame.document.layers[old].visibility='hide';}
	else{
		parent.mainFrame.document.getElementById(old).style.visibility='hidden';}
	}
}
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
var DEBUG = true;

//---------------------------------------------------------------------------------------
// setClass(className, attr, value)
function setClass(className, attr, value)
{
    var rule = getStyleSheet(className);
    if(rule) rule.style[attr] = value;
}
//---------------------------------------------------------------------------------------
// getAllClasses()
function getAllClasses()
{
    if(!document.styleSheets) return null;
    var ret = new Array();

    for(var i = 0; i < document.styleSheets.length; i++)
    {
         var rules = document.styleSheets[i].rules ? document.styleSheets[i].rules :
         document.styleSheets[i].cssRules;
        for(var j = 0; j < rules.length; j++) ret[ret.length] = rules[j].selectorText;
    }
    return ret;
}
//---------------------------------------------------------------------------------------
// getStyleSheet(name)
function getStyleSheet(name)
{
     if(!document.styleSheets) return null;
     if(!name) return null;

     for(var i = 0; i < document.styleSheets.length; i++)
     {
         var rules = document.styleSheets[i].rules ? document.styleSheets[i].rules :
         document.styleSheets[i].cssRules;
         for(var j = 0; j < rules.length; j++)
         {
             if(rules[j].selectorText == name) return rules[j];
         }
     }
     return null;
}
//---------------------------------------------------------------------------------------
// getStyle(id)
function getStyle(id)
{
    if(!id) return null;
    if(typeof id == "string") id = getById(id);

    if(typeof id.style == 'undefined') return id;
    return id.style;
}
//---------------------------------------------------------------------------------------
// getById(id [, win])

function getById(id, win)
{
    var doc = window.document;
    if(win) doc = win.document;

    if(typeof id == 'undefined') return null;

    var obj = null;
    if(document.getElementById) obj = doc.getElementById(id);
    else if(document.layers) obj = _findObj_(id, doc);
    else if(document.all) obj = doc.all[id];

    return obj;
}
//---------------------------------------------------------------------------------------
// Ein Layer fixieren

function fixLayer(id, win)
{
    if(!win) win = window;
    var obj = getById(id, win);
    if(!obj) return alert('Fehler\n\nID:' + id + ' ist nicht zu finden.');

    _STICKY_OBJ_[_STICKY_OBJ_.length] = new Sticky(obj, win);

    if (typeof win.onscroll != 'undefined') win.onscroll = _fixLayer_;
    else if(document.layers) setInterval ('_fixLayer_()', 250);
    else window.setInterval ('_fixLayer_()', 250);
    _fixLayer_();
}

//---------------------------------------------------------------------------------------
// setVis
function setVis(obj, mode)
{
    if(!obj) return null;
    if(typeof obj == "string") obj = getById(obj);

    if(document.layers)
    {
         var vis = mode ? 'show' : 'hidden';
         obj['visibility'] = vis;
         return obj['visibility'];
    }
    var vis = mode ? 'visible' : 'hidden';
    return obj.style['visibility'] =  vis;
}

//---------------------------------------------------------------------------------------
// pagePos(obj [,y, x])

function pagePos(obj, y, x, win)
{
    if(!obj) return null;
    if(typeof obj == "string") obj = getById(obj);
    if(!win) win = window;

    if(typeof x != 'undefined' && typeof y != 'undefined')
    {
         var pos = pageOffset(win);

         if(document.layers) obj.moveTo(x + pos.x,y + pos.y);
         else
         {
              obj.style.left = x + pos.x;
              obj.style.top = y + pos.y;
         }
    }
    var pos = {x:0, y:0};

    if(obj.offsetLeft)
    {
         while (obj)
         {
             pos.x += obj.offsetLeft;
             pos.y += obj.offsetTop;
             obj = obj.offsetParent;
         }
    }
    else
    {
        pos.x = obj.left;
        pos.y = obj.top;
    }

    return pos;
}
//---------------------------------------------------------------------------------------
// offset(window)
function pageOffset(win)
{
    if(!win) win = window;
    var pos = {x:0,y:0};
    pos.x = typeof win.pageXOffset != 'undefined' ? win.pageXOffset : win.document.body.scrollLeft;
    pos.y = typeof win.pageYOffset != 'undefined' ? win.pageYOffset : win.document.body.scrollTop;
    return pos;
}
//---------------------------------------------------------------------------------------
// getWinSize(window)
function getWinSize(win)
{
    if(!win) win = window;
    var pos = {x:0,y:0};
    if(typeof win.innerWidth != 'undefined')
    {
        pos.w = win.innerWidth;
        pos.h = win.innerHeight;
    }
    else if (win.document.body)
    {
       pos.w = parseInt(document.body.clientWidth);
       pos.h = parseInt(document.body.clientHeight);
    }
    return pos;
}

/* Globale Hilfsfunktionen */

//---------------------------------------------------------------------------------------
// Nur fuer den NC 4.x um Layer zu finden.

function _findObj_(n, doc)
{
    if(doc[n]) return doc[n];

    for(var i = 0; i < doc.layers.length; i++)
    {
         if(typeof doc.layers[i].document != 'undefined')
         {
              var obj = _findObj_(n, doc.layers[i].document);
              if(obj) return obj;
         }
    }
    return null;
}


//---------------------------------------------------------------------------------------
// Sticky -> Hilfsstruktur um die Startwerte zu sichern

function Sticky(obj, win)
{
    var pos = pagePos(obj);

    this.x = pos.x;
    this.y = pos.y;
    this.obj = obj;
    this.win = win;
}
//---------------------------------------------------------------------------------------
// Die eigentliche Funktion um einen Layer zu fixieren

function _fixLayer_()
{
    for(var i = 0; i < _STICKY_OBJ_.length; i++)
    {
       var l = _STICKY_OBJ_[i];
       if(!l) continue;
       pagePos(l.obj, l.y, l.x, l.win);
    }
}
var _STICKY_OBJ_ = new Array(); // benötigt fixLayer

//---------------------------------------------------------------------------------------
// NN resize Bug
if(document.layers) top.onresize = reload_nn_bug;
function reload_nn_bug(){ window.location.reload(true);}

function tester(){

fixLayer('ml1');
fixLayer('ml2');
fixLayer('ml3');
fixLayer('ml4');
fixLayer('ml5');
}
