/*
         Basis-JavaScript Funktionen
         © by Martin Hasieber, hasieber@design-muenchen.de
*/


/*  function Is()                     Konstruktor für ein Objekt, das die aktuelle Browserversion enthält
                                      Aufruf über var is = new Is()

    function layerSetup(id,x,y)       Funktion, die mit posLayer ein neues Layer-Objekt erzeugt
                                      überschreibt das alte Layer Objekt(id) und richtetet es an
                                      x und y aus
                                      Verwendet das oben erzeugte >is< Objekt

    function changeImages()           Funktion zum Austausch von Bildern (mouseover), Übergeben wird
                                      eine Argumentenliste mit folgendem Aufbau:
                                      layer-Id, bildname1, bilort1, bildname2, bildort2 ...
																			
		function buttonON(getin)					Funktion zum aktivieren (wechseln des Img) eines Buttons der 
																			als Button-Objekt ueber den Konstruktor makeButton() erzeugt wurde.
																			Übergeben wird das Button-Objekt getin.
															

		function buttonOFF(getin)					Funktion zum deaktivieren (wechseln des Img) eines Buttons der 
																			als Button-Objekt &uuml;ber den Konstruktor makeButton() erzeugt wurde.
																			Übergeben wird das Button-Objekt getin.
																			Ist abhaengig von dem Button-Objekte hotbutton, das den momentan aktiven 
																			Button repräsentiert.
																			
		function switchbutton(getin)			Funktion die den Status des Button-Objektes hotbutton ändert. Übergeben wird
																			das zu aktivierende Button-Objekt getin.
																			
*/
function Is() {
    var agent   = navigator.userAgent.toLowerCase();
    this.major  = parseInt(navigator.appVersion);
    this.minor  = parseFloat(navigator.appVersion);
    this.ns     = ((agent.indexOf('mozilla')   != -1) &&
                  (agent.indexOf('spoofer')    == -1) &&
                  (agent.indexOf('compatible') == -1) &&
                  (agent.indexOf('opera')      == -1) &&
                  (agent.indexOf('webtv')      == -1));
    this.ns4    = (this.ns && (this.major      ==  4));
    this.ns6    = (this.ns && (this.major      >=  5));
    this.ie     = (agent.indexOf("msie")       != -1);
    this.ie3    = (this.ie && (this.major      <   4));
    this.ie4    = (this.ie && (this.major      >= 4));
    this.ie5    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 5.0")   != -1));
    this.ieX    = (this.ie && !this.ie3 && !this.ie4);
}

userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function ignoreError(meldung, url, zeile) {
	return true;
}

window.onerror = ignoreError;

function button(a,b,c,d) {   // Konstruktor für das Button Objekt
   this.bildname = a;
   this.ortan    = b;
   this.ortaus   = c;
   this.ortover   = d;
 	 newImage(b);
 	 newImage(c);
	 newImage(d);
}


function findElement(n,ly) {
	if (browserVers < 4)	return document[n];
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (!elem) {
		for (var i=0;i<curDoc.layers.length;i++) {
			elem = findElement(n,curDoc.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}
		
function changeImages() {
	var bildname = changeImages.arguments[0];
	if (document.images) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImages.arguments[i],0);
			}
			else {
				img = document.images[changeImages.arguments[i]];
			}
			if (img) {
				img.src = changeImages.arguments[i+1];
			}
		}
	}
}

function buttonOVER(getin) {
	if (getin != hotbutton) {
		with(getin){changeImages(bildname, ortover)};
	}
}

function buttonON(getin) {
   with(getin){changeImages(bildname, ortan)};
}

function bottonOFF(getin) {
   if (getin != hotbutton) {
      with(getin){changeImages(bildname, ortaus)};
   }
}


function switchbutton(getin) {
   if (getin != hotbutton) {
      savebutton = null;
      if (hotbutton) {savebutton = hotbutton;}
      hotbutton = getin;
      if (savebutton) {bottonOFF(savebutton)};
      buttonON(getin);
   }
}

function showid(id) {
   if (id) {
      if (is.ie5||is.ns6){
         obj = document.getElementById(id).style;
         obj.visibility = "visible";
      } else if(is.ie4) {
         obj = document.all[id].style;
         obj.visibility = "visible";
      } else if(is.ns4) {
         obj = document.layers[id];
         obj.visibility = "show";
      }
   }
}

function hideid(id) {
   if (id) {
      if (is.ie5||is.ns6){
         obj = document.getElementById(id).style;
         obj.visibility = "hidden";
      } else if(is.ie4) {
         obj = document.all[id].style;
         obj.visibility = "hidden";
      } else if(is.ns4) {
         obj = document.layers[id];
         obj.visibility = "hide";
      }
   }
}

function switchid(id) {
   if (id != activelayer) {
      hideid(activelayer);
      showid(id);
      activelayer = id;
   }
}

function OpenBrWindow(theURL,winName,features, myWidth, myHeight, isCenter) {
	if(window.screen)if(isCenter)if(isCenter=="true"){
		var myLeft = (screen.width-myWidth)/2;
		var myTop = (screen.height-myHeight)/2;
		features+=(features!='')?',':'';
		features+=',left='+myLeft+',top='+myTop;
	}
	window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight);
}

function loadUrl(framename, url) {
	if((parent.frames.length != 0) && (window.parent[framename].document.location != url)) {
	window.parent[framename].document.location = url;
	}
}

function forceframe(hot) {
	var t = "";
	var told = "";
	if ((!parent.mainnavi) || (parent.frames.length == 0)) {
		selfurl = window.self.document.location;
		t += selfurl;
		muster = new RegExp("/");
		while (t != told) {
			told = t;
			t = t.replace(muster, "%2F");
		}
		url = "/index_innen.php?hot="+hot+"&inhalt="+t;
		window.top.document.location = url;
	}
}
/*--------------------------------------------------------*/

function layerSetup(id,x,y) {
    centerLyr = new posLayer(id,x,y);
}

function posLayer(id,left,top) {
    if (is.ie5||is.ns6){
       this.obj = document.getElementById(id).style;
    } else if(is.ie4) {
       this.obj = document.all[id].style;
    } else if(is.ns4) {
       this.obj = document.layers[id];
    }
    if (left) this.obj.left = left;
    if (top)  this.obj.top = top;
    return this.obj;
}


