// ################################################################################
// Name:         Javascript Library 
// Beschreibung: Bibliothek mit Javascript-Grundfunktionen fuer Browser ab Version 3.0
// Version:      1.3
// Autor:        Roland Brueggemann, via one! multimedia GmbH
// Benoetigt:    -
// ################################################################################


// ################################################################################
// Funktionsliste
//
//   Grafiken
//     imgNew()
//     imgPreload()
//     imgChange()
//     imgChangeFade()
//
//   Fenster
//     newWindow()
//     ab 1.4 newCenteredWindow()
//     ab 1.4 newFullscreenWindow()
//     windowMaximize()
// 
//   URL
//     gotoUrl()
//     selectUrl()
//
//   etc.
//     getRidOfFrames()
// ################################################################################


// ##################################################
// Funktion:     imgNew()
// Beschreibung: Interne Funktion zur Erstellung ein neues Image-Objekts fuer die uerbergebene Grafikdatei
// Autor:        Roland Brueggemann
// Parameter:    
//    file       Dateiname des Bildes (vollstaendiger Pfad)
// Rueckgabe:    Inhalt des Image-Objektes
// Aufruf:       imgNew("bilder/test.gif");
// ##################################################

function imgNew(file) {
	if (document.images) {
		imgNewTmp = new Image();
		imgNewTmp.src = file;
		return imgNewTmp;
	}
}

// ##################################################
// Funktion:     imgPreload()
// Beschreibung: Laedt Bild in den Speicher, um verzoegertes Nachladen zu verhindern
// Autor:        Roland Brueggemann
// Parameter:
//    file       Dateiname des Bildes (vollstaendiger Pfad)
// Rueckgabe:    -
// Aufruf:       imgPreload("bilder/test.gif");
// ##################################################

var imgPreloadCount = 0;
imgPreloadName = new Array();

function imgPreload(file) {

	if (document.images) {
		imgPreloadName[imgPreloadCount] = imgNew(file);
		imgPreloadCount ++;
	}
}

// ##################################################
// Funktion:     imgChange()
// Beschreibung: Tauscht Inhalt einer Grafik aus (Bildwechsel)
// Autor:        Roland Brueggemann
// Parameter (abwechselnd):
//               Bild-"Name" der zu aendernen Grafik
//               Dateiname des Bildes (vollstaendiger Pfad)
// Rueckgabe:    -
// Aufruf:       imgChange("button","bilder/button.gif");
// ##################################################

function imgChange() {

	if (document.images) {
		for (var i=0; i<imgChange.arguments.length; i+=2) {
			if (document.images[imgChange.arguments[i]]) {
				document.images[imgChange.arguments[i]].src = imgChange.arguments[i+1];
			}
		}
	}
}

// ##################################################
// Funktion:     imgChangeFade()
// Beschreibung: Tauscht Inhalt einer Grafik mit IE Fade-Filter aus (Bildwechsel)
// Autor:        Roland Brueggemann
// Parameter:
//    id         Bild-"Name" der zu aendernen Grafik
//    file       Dateiname des Bildes (vollstaendiger Pfad)
// Rueckgabe:    -
// Aufruf:       imgChangeFade("button","bilder/button.gif");
// ##################################################

function imgChangeFade(id, file) {
	if (document.images && document.all && document[id].filters.blendTrans) {
		document.all[id].filters.blendTrans.Apply();
		document.all[id].src = file;
		document.all[id].filters.blendTrans.Play();
	} else {
		imgChange(id,file);
	}	
}

// ##################################################
// Funktion:     newWindow()
// Beschreibung: Oeffnet neues Browserfenster mit angegebener URL
// Autor:        Roland Brueggemann
// Parameter:
//    url        Adresse, die aufgerufen werden soll
//    width      Breite des Fensters
//    height     Hoehe des Fensters
//    options    Fenster-Eigenschaften
//    name       Name des Fensters
//    posX       X-Position des neuen Fensters
//    posY       Y-Position des neuen Fensters
// Rueckgabe:    -
// Aufruf:       newWindow("http://www.viaone.de",780,450);
// ##################################################

function newWindow(url,width,height,options,name,posX,posY) {

	if (!url) return false;
	if (!width) width = 900;
	if (!height) height = 300;
	if (!options) options = "scrollbars=yes,menubar=yes,toolbar=no,location=no,status=yes,resizable=yes";
	if (!posX && posX != "0") posX = 20;
	if (!posY && posX != "0") posY = 20;
	if (!name) name = "extWindow";

	window.open( url, name, "width=" + width + ",height=" + height + ",screenX=" + posX + ",screenY=" + posY + ",left=" + posX + ",top=" + posY + "," + options );
}



// ##################################################
// Funktion:     windowMaximize()
// Beschreibung: Maximiert das Broserfenster, in dem die Funktion aufgerufen wurde
// Autor:        Roland Brueggemann
// Parameter:    -
// Rueckgabe:    -
// Aufruf:       windowMaximize()
// ##################################################

function windowMaximize() {

	if (window.screen){
		if (document.all || document.layers) { 
			self.moveTo(0,0); 
			self.resizeTo(screen.availWidth,screen.availHeight)
		}
	}
}

// ##################################################
// Funktion:     gotoUrl()
// Beschreibung: Wechselt zur angegebenen URL (immer im href, nicht als onclick angeben!)
// Autor:        Roland Brueggemann
// Parameter (abwechselnd):
//               URL, die aufgerufen werden soll
//               Framename, in welchem die URL aufgerufen werden soll
//                  "this","": 	   Seite wird in aktuellem Frame geoeffnet
//                  "top":         Seite wird in aktuellem Fenster geoeffnet
//                  "blank","new": Seite wird in neuem Fenster geoeffnet
//                  sonst:         Seite wir in angegebem Frame geoeffnet (gleiches Frameset!)
// Rueckgabe:    -
// Aufruf:       gotoUrl("http://www.viaone.de","top");
// ##################################################

function gotoUrl() {

	for (var i=0; i<gotoUrl.arguments.length; i+=2) {
		url = gotoUrl.arguments[i];
		target = gotoUrl.arguments[i+1];

		if (url) {
			if (!target || target == "this") {
				this.location.href = url;
			}
			else if (target == "top") {
				top.location.href = url;
			}
			else if (target == "blank" || target == "new") {
				window.open(url);
			}
			else if (parent.frames[target]) {
				parent.frames[target].location.href = url;
			}
			else {
				alert("Der angegebene Frame " + target + " existiert nicht!");
			}
		} else {
			alert("Bitte geben Sie eine URL an!");
		}
	}
}

// ##################################################
// Funktion:     selectUrl(formname,selectname)
// Beschreibung: Wechselt zur ausgwaehlten Url einer beliebigen Selectbox
// Autor:        Roland Brueggemann
// Parameter: 
//    formname   Name des Formulares der Selectbox
//    selectname Name der Selectbox
// Rueckgabe:    -
// Aufruf:       selectUrl("meinFormular","meineSelectbox");
// ##################################################

function selectUrl(formname,selectname) {

	index = document[formname][selectname].selectedIndex; 
	url = document[formname][selectname].options[index].value; 

	if (url != "") {
		this.location.href = url; 
	}
}

// ##################################################
// Funktion:     getRidOfFrames()
// Beschreibung: Oeffnet aktuelle URL im Top-Frame
// Autor:        Roland Brueggemann
// Parameter:    -
// Rueckgabe:    -
// Aufruf:       getRidOfFrames()
// ##################################################

function getRidOfFrames() {

	if(top.frames.length > 0) {
		top.location.href = self.location;
	}
}
