// JavaScript Document
function ShowPicture(id,Source) {
	if (Source=="1"){
		if (document.layers) document.layers[''+id+''].visibility = "show"
		else if (document.all) document.all[''+id+''].style.visibility = "visible"
		else if (document.getElementById) {
			document.getElementById(''+id+'').style.visibility = "visible"
			document.getElementById('void').style.visibility = "hidden"
		}
	}
	else
	if (Source=="0"){
		if (document.layers) document.layers[''+id+''].visibility = "hide"
		else if (document.all) document.all[''+id+''].style.visibility = "hidden"
		else if (document.getElementById) {
			document.getElementById(''+id+'').style.visibility = "hidden"
			document.getElementById('void').style.visibility = "visible"
		}
	}
}

// JavaScript Document
function ShowMapImage(id, Source) {
	if (Source == "1") {
		if (document.layers)
			document.layers['' + id + ''].visibility = "show"
		else if (document.all)
			document.all['' + id + ''].style.visibility = "visible"
		else if (document.getElementById)
			document.getElementById('' + id + '').style.visibility = "visible"
	} else if (Source == "0") {
		if (document.layers)
			document.layers['' + id + ''].visibility = "hide"
		else if (document.all)
			document.all['' + id + ''].style.visibility = "hidden"
		else if (document.getElementById)
			document.getElementById('' + id + '').style.visibility = "hidden"
	}
}

/*
	Klapptabelle (c) 2007 J. Str�big
	http://javascript.jstruebig.de/js/klapptabelle.html

	Letzte Änderungen:

	08.02.2010
	* Statt 5 Bilder, nur noch ein Sprite

	07.01.2008
	* Preload der Bilder in die ini-Funktion verschoben
	* Regulärer Ausdruck

*/
function KlappTabelle(t) {
	var count = 0;
	var obj = t;
	var rows = [];
	var self = this;
	var tablename = t.id;

	self.doCloseAll = false;
	self.onopen = self.onclose = function() {};

	self.hideAll = function() {
		for(var i = 0; i < rows.length;i++) rows[i].hide();
	};
	self.showAll = function() {
		var tmp = self.doCloseAll;
		for(var i = 0; i < rows.length;i++) {
			rows[i].show();
			self.doCloseAll = false;
		}
		self.doCloseAll = tmp;
	};

	function init() {
		var r = obj.getElementsByTagName('tr');
		var akt = null;
		for(var i = 0; i < r.length; i++) {
			if( (r[i].className || '') == KlappTabelle.className) {
				if(akt && !akt.rows()) akt.disable();
				// Eine neue Hauptreihe initialisieren
				akt = new Part(r[i], self);
				rows.push( akt );
			} else if(akt) akt.addRow( r[i] );
		}
		self.hideAll()
	}

	if(obj) init();

	////////////////////////////////////////////
	/*
	privates Objekt: Part(row, parent)

	Parameter:
	row: 		Die Reihe unter der ausgeblendet werden soll
	parent: 	Das Objekt/Tabelle das die Reihe erzeugt

	Funktionen:
	addRow()
	rows()
	show()
	hide()
	disable()
	*/
	////////////////////////////////////////////
	function Part(row, parent) {
		var self = this;	// Zeiger auf das Objekt
		var open = true;	// Flag
		var rows = [];		// Die Reihen die "ein- und ausgeklappt" werden

		// anklickbare Grafik zum klappen erzeugen und in die erste Spalte einf�gen
		var m = new Marker(row.cells[0]);
		m.show();
		m.onclick = function() {
			if(open) self.hide(); else self.show();
		};

		// Funktionen
		this.addRow = function(r) { rows[rows.length] = r;};
		this.rows = function() {return rows.length;};
		this.show = function() {
			if(parent.doCloseAll) parent.hideAll();
			if(parent.onopen(parent, row) == false) return false;
			for(var i = 0; i < rows.length; i++) rows[i].style.display = '';
			m.show();
			open = true;
			return true;
		};

		this.hide = function() {
			if(!parent.onclose(parent, row) == false) return false;
			for(var i = 0; i < rows.length; i++) rows[i].style.display = 'none';
			open = false;
			m.hide();
			return true;
		};

		this.disable = function() { m.disable();};
	}
	function Marker(wo) {
		var m_el = document.createElement('div');
		var disable = false;
		var open = 0;
		var _this = this;
		var linktext = tablename;

 		m_el.id = 'foldLink';
		//m_el.style.cssFloat  = m_el.style.styleFloat = 'right';
		//m_el.style.width = KlappTabelle.markerSize + 'px';
		//m_el.style.width = 'auto';
		//m_el.style.height = KlappTabelle.markerSize + 'px';
		//m_el.style.margin = '1px 26px 1px 1px';
		//m_el.style.padding = '0 18px 0 0';
		//m_el.style.overflow = '';
		m_el.innerHTML = '<strong title="Klicken Sie hier, um Termine und Verf&uuml;gbarkeiten einzublenden">' + linktext + '</strong>';

		//m_el.style.border = '0';
		//m_el.style.fontSize = '8pt';

		m_el.style.background = 'url(' + KlappTabelle.marker + ') top right no-repeat'
		//m_el.style.cursor = 'pointer';


		wo.insertBefore(m_el, wo.firstChild)

		//wo.appendChild(m_el);

		this.onclick = function() {};

		this.disable = function() {
			disable = true;
			m_el.style.backgroundPosition = 'top right';
			m_el.style.cursor = '';
		};
		this.show = function() {
			if(disable) return;
			open = -3 * KlappTabelle.markerSize;
			m_el.innerHTML = 'Schliessen';
			m_el.style.backgroundPosition = 'right '+ open +'px';
		}
		this.hide = function() {
			if(disable) return;
			open = -1 * KlappTabelle.markerSize;
			m_el.innerHTML = '<b title="Klicken Sie hier, um Termine und Verf&uuml;gbarkeiten einzublenden">' + linktext + '</b>';
			m_el.style.backgroundPosition = 'right '+ open +'px';
		}

		m_el.onclick = function() {
			if(disable) return;
			open = -3 * KlappTabelle.markerSize;
			m_el.style.backgroundPosition = 'right '+ open +'px';
			m_el.innerHTML = 'Schliessen';
			_this.onclick();
		};
		m_el.onmouseover = function() {
			if(disable) return;
			m_el.style.backgroundPosition = 'right '+ (open - KlappTabelle.markerSize) +'px';

		};
		m_el.onmouseout = function() {
			if(disable) return;
			m_el.style.backgroundPosition = 'right '+ open +'px';
		};
	}
}
KlappTabelle.init = function(callback) {
	// pr�fen ob die Bilder vorhanden sind.
	var img = new Image();
	img.onerror = function() {
//		alert('Das Hintergrundbild fehlt!\n\nEntweder ist es an der falschen Stelle oder es  wurde vergessen.\n\nEs wurde versucht *' + this.src + '*zu laden.');
	}
	img.src = KlappTabelle.marker;


	// Alle Tabellen des Dokuments
	var t = document.getElementsByTagName('table');
	var r = /\bklapptabelle\b/i;
	for(var i = 0; i < t.length; i++) if(t[i].className && r.test(t[i].className)) {
		var tmp = new KlappTabelle(t[i]);
		if(callback) callback(tmp);
	}
};

KlappTabelle.className = 'main'; // Der Klassenamen der Haupreihe
KlappTabelle.marker = 'bilder/pfeile.gif'; // Ein sprite mit den 5 Bildern
//KlappTabelle.markerSize = 11; // Die Gr��e der einzelnen Bilder
KlappTabelle.markerSize = 14;

function unhide(divID) {
  var item = document.getElementById(divID);
  if (item) {
    item.className=(item.className=='hidden')?'unhidden':'hidden';
  }
}

function hide(divID) {
  var item = document.getElementById(divID);
  if (item) {
    item.className=(item.className=='unhidden')?'hidden':'unhidden';
  }

}

function immervorn()   {
      self.focus();
}
