// modulare Rollover Bibliothek
// erstellt von O. Klar mm 16.10.2005
//#######################################
function setupRollovers() 
{
	if (!document.getElementsByTagName) return;
	
	var all_links = document.getElementsByTagName('a');
	var all_inputs = document.getElementsByTagName('input');
	var all_buttons = document.getElementsByTagName('button');
	
	for (var i = 0; i < all_links.length; i++) 
	{
		var link = all_links[i]; 
		if (link.className && (' ' + link.className + ' ').indexOf(' rollover ') != -1) 
		{
			if (link.childNodes && link.childNodes.length == 1 && link.childNodes[0].nodeName.toLowerCase() == 'img') 
			{
				link.onmouseover = mouseover;
				link.onmouseout = mouseout;
				//new u.d. 20061031 
				link.onmousedown = mousedown;
				link.onmouseup = mouseup;
			}
		}
	}
	//new u.d. 20061102 for effects on input-types
	for (var j = 0; j < all_inputs.length; j++) 
	{
		var inp = all_inputs[j]; 
		if (inp.className && (' ' + inp.className + ' ').indexOf('rolloverinp') != -1) 
		{
			if  (inp.getAttribute("type") == "image")	 
			{
				inp.onmouseover = mouseoverInp;
				inp.onmouseout = mouseoutInp;	
				inp.onmousedown = mousedownInp;
				inp.onmouseup = mouseupInp;	 
			}
		}
	}
	
	for (var j = 0; j < all_buttons.length; j++) 
	{
		var btn = all_buttons[j];
		if (btn.className && (' ' + btn.className + ' ').indexOf('rolloverbtn') != -1) 
		{
			btn.onmouseover = mouseoverBtn;
			btn.onmouseout = mouseoutBtn;	
			btn.onmousedown = mousedownBtn;
			btn.onmouseup = mouseupBtn;	 
		}
	}
	// for mouse-over table-rows in tarif-ausgabe-table 'dataTable'
	if(document.getElementById('dataTable')!= null)
	{
		roll_tr();
	}
	// for mouse-over Buttons in divs on transparant mask
	else if(document.getElementById('maskTransp')!= null)
	{
		getScrollXY();}
	}
	function find_target(e)
	{  
		// DOM Event abfragen
		var target;
		if (window.event && window.event.srcElement) target = window.event.srcElement;
		else if (e && e.target) target = e.target;   
		if (!target) return null;            
		while ((target != document.body && target.nodeName.toLowerCase() != 'a') && (target != document.body && target.nodeName.toLowerCase() != 'input') && (target != document.body && target.nodeName.toLowerCase() != 'button'))  
			target = target.parentNode; 
		if ((target.nodeName.toLowerCase() != 'a' ) && (target.nodeName.toLowerCase() != 'input') && (target.nodeName.toLowerCase() != 'button'))
			return null;
		return target;
	}
	function mouseover(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		// das Kindelement kann nur in einem a Tag enthalten sein
		var img_tag = target.childNodes[0];  
		// finde grafikname.erw 
		img_tag.src = img_tag.src.replace(/(\.[^.]+)$/, '_over$1');
	}
	function mouseout(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		// das Kindelement eines a Tags kann nur in einem img Tag enthalten sein
		var img_tag = target.childNodes[0]; 
		// finde grafikname.erw und benenne es in grafikname_over.erw um
		img_tag.src = img_tag.src.replace(/_over(\.[^.]+)$/, '$1');
	}
	//new: u.d. 20061102
	function mousedown(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var img_tag = target.childNodes[0];
		img_tag.src = img_tag.src.replace(/_over(\.[^.]+)$/, '_click$1');
	}
	function mouseup(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var img_tag = target.childNodes[0];
		img_tag.src = img_tag.src.replace(/_click(\.[^.]+)$/, '_over$1');
	}
	function mouseoverInp(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.src = inp_tag.src.replace(/(\.[^.]+)$/, '_over$1');
	}
	function mouseoutInp(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.src = inp_tag.src.replace(/_over(\.[^.]+)$/, '$1');
	}
	function mousedownInp(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.src = inp_tag.src.replace(/_over(\.[^.]+)$/, '_click$1');
	}
	function mouseupInp(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.src = inp_tag.src.replace(/_click(\.[^.]+)$/, '_over$1');
	}
	// Rollover for Button-Tags
	function mouseoverBtn(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.className=inp_tag.className.replace(/Button/,'ButtonOver');
	}
	function mouseoutBtn(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.className=inp_tag.className.replace(/ButtonOver/,'Button');
	}
	function mousedownBtn(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.className=inp_tag.className.replace(/ButtonOver/,'ButtonClick');
	}
	function mouseupBtn(e) 
	{
		var target = find_target(e);
		if (!target) return; 
		var inp_tag = target;
		inp_tag.className=inp_tag.className.replace(/ButtonClick/,'ButtonOver');
	}
	// Rollover table-rows
	// erstellt von mjk mm 31.10.2006
	// erweitert von u.d. mm 02.11.2006
	//#######################################
	function roll_tr()
	{
		if(document.getElementById('dataTable'))
		{
			var rows = document.getElementsByTagName('tr');
			for (var i = 0; i < rows.length; i++) 
			{
				rows[i].onmouseover = 
				function roll_tr() 
				{
					if (this.className != 'act_static')
					{
						this.className += 'act';
					}
				}
				rows[i].onmouseout = 
				function roll_tr() 
				{
					if (this.className != 'act_static')
					{
						this.className = this.className.replace('act', '');
					}
				}
			}
		}
	}
	//######################################
	// Usage
	//window.onload = setupRollovers();