/*
 Copyright
FETS Fortbildung Entwicklung Technik Service GmbH
Mayenner Str. 22
DE-71332 Waiblingen
Telefon +49 (0) 7151 - 9443420 - 0
Telefax +49 (0) 7151 - 9443420 - 10
*/

function flap(boxnr){
  if(document.getElementById(boxnr).style.display == 'none'){
    document.getElementById(boxnr).style.display = '';
  }else{
    document.getElementById(boxnr).style.display = 'none';
  }
}

function flap_bold(obj,boxnr){
  if(document.getElementById(boxnr).style.display == 'none'){
    document.getElementById(boxnr).style.display = '';
	obj.style.fontWeight = 'bold';
  }else{
    document.getElementById(boxnr).style.display = 'none';
	obj.style.fontWeight = 'normal';
  }
}

function flap_image(boxnr,imgopen,imgclose){
  if(document.getElementById(boxnr).style.display == 'none'){
    document.getElementById(boxnr).style.display = '';
	document.getElementById(boxnr+'_img').src = imgclose;
  }else{
    document.getElementById(boxnr).style.display = 'none';
	document.getElementById(boxnr+'_img').src = imgopen;
  }
}

function openpopup(url,width,height){
	scrollbars = 'yes';
	screenX = 1;
	screenY = 1;
	var popup;
	popup=window.open(url,"Popup","scrollbars="+scrollbars+",width="+width+",height="+height+",screenX="+screenX+",screenY="+screenY+"");
	if (popup) {
		popup.focus();
	} else {
		alert('Popupblocker');
	}
	return false;
}


function change_image(imgname,path) {
	document.images[imgname].src = path;
}

function tooltip(cont,boxnr,ereignis) {
	obj = document.getElementById(boxnr);
	if(cont !== true && cont !== false) {	
		flap(boxnr);
		obj.innerHTML = cont;
	}
	if(cont === false) {	
		flap(boxnr);
	}
	
	if (document.all) {
		ereignis = event;
	} else {
		ereignis = ereignis || window.event;
	}
			
	boxH = obj.offsetHeight*1;
	boxW = obj.offsetWidth*1;
	
	if (document.all) {
		pY = document.documentElement.scrollTop;
		pX = document.documentElement.scrollLeft;
	} else {
		pY = window.pageYOffset*1;
		pX = window.pageXOffset*1;
	}
	
	aH = pY-document.getElementsByTagName('body')[0].offsetHeight*1;
	aW = pX+document.getElementsByTagName('body')[0].offsetWidth*1;
	
	koX = ereignis.clientX*1+pX;
	koY = ereignis.clientY*1+pY;
	
	if(koX>aW-boxW-10) { 
		koX = koX-boxW+10;
	} else {
		koX = koX+10;
	}
	if(koY+boxH+10>pY+aH) { 
		koY = koY-boxH-10;
	} else {
		koY = koY+10;
	}
			
	if (document.all) {
		obj.style.pixelLeft = koX;
		obj.style.pixelTop = koY;
	} else {
		obj.style.left = koX + "px";
		obj.style.top = koY + "px";
	}
}

function tooltipobj(cont,boxnr,xobjnr) {
	var obj = document.getElementById(boxnr);
	if(cont !== true && cont !== false) {	
		flap(boxnr);
		obj.innerHTML = cont;
	}
	if(cont === false) {	
		flap(boxnr);
	}
	
	var xobj = document.getElementById(xobjnr);
				
	boxH = obj.offsetHeight*1;
	boxW = obj.offsetWidth*1;
	
	if (document.all) {
		pY = document.documentElement.scrollTop;
		pX = document.documentElement.scrollLeft;
	} else {
		pY = window.pageYOffset*1;
		pX = window.pageXOffset*1;
	}
	
	aH = pY-document.getElementsByTagName('body')[0].offsetHeight*1;
	aW = pX+document.getElementsByTagName('body')[0].offsetWidth*1;
	
	koX = xobj.offsetLeft*1+pX;
	koY = xobj.offsetTop*1+pY;
	
	if(koX>aW-boxW-10) { 
		koX = koX-boxW+10;
	} else {
		koX = koX+10;
	}
	if(koY+boxH+10>pY+aH) { 
		koY = koY-boxH-10;
	} else {
		koY = koY+10;
	}
			
	if (document.all) {
		obj.style.pixelLeft = koX;
		obj.style.pixelTop = koY;
	} else {
		obj.style.left = koX + "px";
		obj.style.top = koY + "px";
	}
}
dispmsgtimeout = false;
function dispmsg(event,text,tout) {
	if(!document.getElementById('dispmsgobj')) {
		var newel = document.createElement('div');
		newel.id = 'dispmsgobj';
		newel.className = 'dispmsgobj';
		if(document.body) document.body.appendChild(newel);
	}
	var obj = document.getElementById('dispmsgobj');
	obj.style.display = 'block';
	obj.style.filter = 'Alpha(opacity=100)';
	obj.style.opacity = '1';
	obj.style.width='auto';
	obj.innerHTML = text;
	
	var ereignis = window.event;
	if(!ereignis) ereignis = event;
	
	if(obj.offsetWidth>document.body.offsetWidth) obj.style.width=document.body.offsetWidth-30+'px';
	
	boxH = obj.offsetHeight*1;
	boxW = obj.offsetWidth*1;
	
	if (document.all) {
		pY = document.documentElement.scrollTop;
		pX = document.documentElement.scrollLeft;
	} else {
		pY = window.pageYOffset*1;
		pX = window.pageXOffset*1;
	}
	
	aH = pY-document.body.offsetHeight*1;
	aW = pX+document.body.offsetWidth*1;
	
	koX = ereignis.clientX*1+pX;
	koY = ereignis.clientY*1+pY;
	
	if(koX>aW-boxW-10) { 
		koX = aW-boxW-10;
	} else {
		koX = koX+10;
	}
	if(koY+boxH+10>pY+aH) { 
		koY = koY-boxH-10;
	} else {
		koY = koY+10;
	}
			
	if (document.all) {
		obj.style.pixelLeft = koX;
		obj.style.pixelTop = koY;
	} else {
		obj.style.left = koX + "px";
		obj.style.top = koY + "px";
	}
	if(dispmsgtimeout) window.clearTimeout(dispmsgtimeout);
	if(tout) {
		dispmsgtimeout = window.setTimeout('dispmsg_close(1)',tout*1000);
	}
}

function dispmsg_close(closestep) {
	if(document.getElementById('dispmsgobj')) {
		if(closestep<25) {
			document.getElementById('dispmsgobj').style.filter = 'Alpha(opacity='+(100-closestep*4)+')';
			document.getElementById('dispmsgobj').style.opacity = ((100-closestep*4)/100);
			dispmsgtimeout = window.setTimeout('dispmsg_close('+(closestep+1)+')',10);
		} else {
			document.getElementById('dispmsgobj').style.display = 'none';
		}
	}
	//if(dispmsgtimeout) window.clearTimeout(dispmsgtimeout);
	dispmsgtimeout = false;
}

function dropmenu(co,event,mid) {
	if(typeof(dropmenu_active)!='undefined' && dropmenu_active) dropmenu_hide(true);
	
	var mo = document.getElementById(mid);
	if(!mo) return false;
	if(mo.parentNode.tagName!='BODY') {
		var newmo = mo.cloneNode(true);
		mo.parentNode.removeChild(mo);
		newmo.id = mid;
		document.body.appendChild(newmo);
		var mo = document.getElementById(mid);
	}
	if(navigator.appVersion.indexOf("MSIE") != -1) {
		var cobj = co;
		var posx=0;
		var posy=co.offsetHeight+cobj.offsetTop*-1;
	} else {
		var cobj = co;
		var posx=0;
		var posy=co.offsetHeight;
	}
	
	if(mid=='mapcont') {
		showYahooMap();
	}
	
	while(cobj && cobj.offsetParent && cobj.tagName!='BODY') {
		posx += cobj.offsetLeft;
		posy += cobj.offsetTop;
		if(navigator.appVersion.indexOf("MSIE") != -1) {
			var pleft = cobj.style.getAttribute("paddingLeft",false);
			var ptop = cobj.style.getAttribute("paddingTop",false);
			//alert(cobj.tagName+' | '+cobj.className+' | '+pleft+'+'+cobj.offsetLeft+' | '+ptop+'+'+cobj.offsetTop);
			if(pleft!='') posx += pleft.replace(/px$/,'')*1;
			if(ptop!='') posy += ptop.replace(/px$/,'')*1;
		}
		cobj = cobj.offsetParent;	
	}
	
	mo.style.display='block';
	
	if(mo.offsetWidth<co.offsetWidth) mo.style.width=co.offsetWidth+'px';
	
	boxH = mo.offsetHeight*1;
	boxW = mo.offsetWidth*1;
	
	mo.style.left = posx+'px';
	mo.style.top = posy+'px';
	
	dropmenu_active = mid;
	
	dropmenu_timeout = false;
	
	if(mid!='mapcont') {
		if(mo.addEventListener) {
			mo.addEventListener('mouseover',dropmenu_activate,false);
			mo.addEventListener('mouseout',dropmenu_deactivate,false);
		} else if(mo.attachEvent) {
			mo.attachEvent('onmouseover',dropmenu_activate);
			mo.attachEvent('onmouseout',dropmenu_deactivate);
		}
	}
	
}
function dropmenu_hide(e) {
	if(typeof(dropmenu_active)=='undefined') return;
	var mo = document.getElementById(dropmenu_active);
	if(mo) {
		mo.style.display='none';
		dropmenu_active = false;
		if(mo.removeEventListener) {
			mo.removeEventListener('mouseover',dropmenu_activate,false);
			mo.removeEventListener('mouseout',dropmenu_deactivate,false);
		} else if(mo.attachEvent) {
			mo.attachEvent('onmouseover',dropmenu_activate);
			mo.detachEvent('onmouseout',dropmenu_deactivate);
		}
	}
}
function dropmenu_deactivate(e) {
	dropmenu_timeout = window.setTimeout('dropmenu_hide()',200);
}
function dropmenu_activate(e) {
	if(dropmenu_timeout) window.clearTimeout(dropmenu_timeout);
}

function textinbox(word,obj) {
	if(obj.value==word) {
		obj.value='';
	} else if(obj.value=='') {
		obj.value=word;
	}
	
}

function postdata(url,data,objid) {
	if(window.XMLHttpRequest) {
		var req = new XMLHttpRequest();
	} else {
		if(window.ActiveXObject) {
			var req = new ActiveXObject("Microsoft.XMLHTTP")
		} else {
			var req = false;
		}
	}
	req.open('POST',url,true);
	req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	req.send(data);
	
	
	var d = document.getElementById(objid);
	if(d) d.innerHTML = '';
	
	req.onreadystatechange = function() {
		if (req.readyState==4) {
			if (req.status == 200) {
				if(d) d.innerHTML += req.responseText;
			}
		}
	};

}

function getdata(url,objid) {
	if(window.XMLHttpRequest) {
		var req = new XMLHttpRequest();
	} else {
		if(window.ActiveXObject) {
			var req = new ActiveXObject("Microsoft.XMLHTTP")
		} else {
			var req = false;
		}
	}
	req.open('GET',url,true);
	
	var d = document.getElementById(objid);
	d.innerHTML = '';
	
	req.onreadystatechange = function() {
		if (req.readyState==4) {
			if (req.status == 200) {
				d.innerHTML += req.responseText;
			}
		}
	};
	req.send(null);
}



function rebuild() {
	if(navigator.appName.indexOf("Microsoft") != -1 || navigator.appName.indexOf("Netscape") != -1) {
		document.getElementById('flash_right').style.width = document.body.clientWidth - 252 - 602 - 8 + 'px';
	}
}
//window.onresize = rebuild;
function openpopover(id) { 
	if(document.getElementById('popover').style.display!='none') {
		document.getElementById('popover').style.display = 'none';
		document.getElementById('popover_cont').style.display = 'none';
		return;
	}

	document.getElementById('popover_cont').innerHTML = document.getElementById(id).innerHTML;
	document.getElementById('popover_cont').style.display = '';
	document.getElementById('popover').style.display = '';
	
	if(navigator.appVersion.indexOf("MSIE 6") != -1) {
		document.getElementById('popover').style.position = 'absolute';
	}

}

softobjs = new Array();
function makesoft(e) {
	if(softobjs.length==0) {
		var objs=document.getElementsByTagName('*');
		for(var i=0; i<objs.length; i++) {
			if(objs[i].getAttribute('soft')) {
				var nEl = document.createElement('div');
				nEl.className = 'soft_div';
				
				var pos = get_bodypos_def(objs[i]);
				nEl.style.left = pos[0]+'px';
				nEl.style.top = pos[1]+'px';
				
				nEl.style.width = objs[i].offsetWidth+'px';
				nEl.style.height = objs[i].offsetHeight+'px';
				
				document.body.appendChild(nEl);
				softobjs.push({obj:objs[i],el:nEl});
			}
		}
	} else {
		for(var i=0; i<softobjs.length; i++) {
			var pos = get_bodypos_def(softobjs[i].obj);
			softobjs[i].el.style.left = pos[0]+'px';
			softobjs[i].el.style.top = pos[1]+'px';
			
			softobjs[i].el.style.width = softobjs[i].obj.offsetWidth+'px';
			softobjs[i].el.style.height = softobjs[i].obj.offsetHeight+'px';
		}
	}
	if(typeof(e)=='undefined') {
		if(window.addEventListener) {
			window.addEventListener('resize',makesoft,false);
		} else if(window.attachEvent) {
			window.attachEvent('onresize',makesoft);
		}
	}
}

function get_bodypos_def(obj) {
	var x = obj.offsetLeft;
	var y = obj.offsetTop;
	var steps = 0;
	var parent =obj;
	while(steps<=100) {
		parent = parent.offsetParent;
		if(parent!=null && parent.tagName!='body') {
			x+=parent.offsetLeft;
			y+=parent.offsetTop;
		} else {
			break;
		}
		steps++;
	}
	return new Array(x,y);
}

function sendForm(fobj,field,value) {
	if(fobj.className.match(/inactive/)) return false;
	while(fobj.parentNode) {
		if(fobj.tagName=='FORM') {
			
			if(typeof(field)!='undefined') {
				var nEl = document.createElement('input');
				nEl.type = 'hidden';
				nEl.name = field;
				if(typeof(value)!='undefined') nEl.value = value;
				fobj.appendChild(nEl);
			}
			fobj.submit();
			break;
		}
		fobj = fobj.parentNode;
	}
	
}

function sideNavigation(id) {
	this.over = false;
	this.obj = document.getElementById(id);
	this.tout = false;
	this.height = 0;
	this.maxheight = 0;
	this.steptime = 10;
	this.steps = 15;
	this.parent = false;
	if(!this.obj) return false;
	this.parent = this.obj.parentNode;
	this.initEvents = function() {
		if(window.addEventListener) {
			obj.obj.addEventListener('mouseover',obj.onOver,false);
			obj.obj.addEventListener('mouseout',obj.onOut,false);
			window.addEventListener('resize',obj.correctPosition,false);
		} else if(window.attachEvent) {
			obj.obj.attachEvent('onmouseover',obj.onOver);
			obj.obj.attachEvent('onmouseout',obj.onOut);
			window.attachEvent('onresize',obj.correctPosition);
		}
		obj.obj.style.width = obj.obj.offsetWidth-2+'px';
		obj.obj.style.height = obj.obj.offsetHeight-2+'px';
		obj.correctPosition();
		obj.obj.style.position = 'absolute';
		
		obj.height = obj.obj.offsetHeight-2;
		obj.scrollCenter();
	};
	this.correctPosition = function() {
		var pos = get_bodypos_def(obj.parent);
		obj.obj.style.left = pos[0]+'px';
		obj.obj.style.top = pos[1]+'px';
	};
	this.onOver = function(e) {
		obj.over = true;
		obj.show();
		if(obj.tout) {
			window.clearTimeout(obj.tout);
			obj.tout = false;
		}
	};
	this.onOut = function(e) {
		if(obj.over) {
			obj.over = false;
			obj.maxheight = obj.obj.offsetHeight*1;
			window['disableOpenNaviOfSideNaviagtion'] = function(count) { obj.disable(count); };
			obj.tout = window.setTimeout('disableOpenNaviOfSideNaviagtion(1)',obj.steptime);
		}
	};
	this.show = function() {
		if(obj.obj.scrollHeight>obj.obj.offsetHeight) {
			obj.obj.style.height = 'auto';
			obj.obj.style.overflow = 'hidden';
		}
	};
	this.disable = function(count) {
		if(count<obj.steps) {
			var diff = obj.maxheight-obj.height;
			var stepx = diff/obj.steps;
			var cdiff = stepx*count;
			obj.obj.style.overflow = 'auto';
			obj.obj.style.height = Math.floor(obj.maxheight-cdiff)+'px';
			obj.scrollCenter();
			obj.tout = window.setTimeout('disableOpenNaviOfSideNaviagtion('+(count+1)+')',obj.steptime);
		} else {
			obj.obj.style.overflow = 'auto';
			obj.obj.style.height = obj.height+'px';
			obj.obj.scrollTop = obj.scrollTop;
			obj.scrollCenter();
		}
	};
	this.scrollCenter = function() {
		var objs = obj.obj.getElementsByTagName('A');
		for(var i=0; i<objs.length; i++) {
			if(objs[i].className.match(/now/)) {
				obj.obj.scrollTop = objs[i].offsetTop-obj.obj.offsetHeight/2+objs[i].offsetHeight/2;
			}
		}
	};
	
	var obj = this;
	obj.initEvents();
}

