// # # # # # # # # # # # # # # # # # # # # # # # # #
// # sts_Tool.js 
// # 
// # Copyright Stefan Siemon, Alle Rechte vorbehalten.  
// # 
// # Letztes Update: 15.09.2010

var dom=document.getElementById?1:0;
var ie=document.all&&!window.opera?1:0;
var ns4=document.layers?1:0;

var objbody=null;
var winwidth=0;
var winheight=0;

var clientpos=new vector(0, 0);
var scrollpos=new vector(0, 0);

function vector(x, y){
    this.x = x;
    this.y = y;
}

function getobjbody() {
	if (dom)        objbody=document.getElementById("body");
    else if (ie)    objbody=document.body; 
    else            objbody=null;    
    return objbody
}

function clientHeightWidth(){
    if(dom||ie) {
        winwidth = objbody.clientWidth;
	    winheight = objbody.clientHeight;    		
	}else{
		winwidth = window.innerWidth;
		winheight = window.innerHeight;
	}
}

function clientscrollxy(){
	if (dom||ie){
        scrollpos.x = objbody.scrollLeft;
		scrollpos.y = objbody.scrollTop;
	}else{				
        scrollpos.x = window.pageXOffset;
		scrollpos.y = window.pageYOffset;		
    }
}

function clientxy(e){
    if (ie) {
		clientpos.x = event.clientX + objbody.scrollLeft;
        clientpos.y = event.clientY + objbody.scrollTop;
	} else 
		if (dom) {
	    	clientpos.x = e.clientX + objbody.scrollLeft;
    		clientpos.y = e.clientY + objbody.scrollTop;
		} else {
			clientpos.x = e.pageX;
			clientpos.y = e.pageY;
		}
}

function getobj(id) {
    if (dom)        return document.getElementById(id);  
    else if (ie)    return document.all[id];		
    else            return document.layers[id];
}

function getobjstyle(id) {
    if (dom)        return document.getElementById(id).style;  
    else if (ie)    return document.all[id].style;
    else            return document.layers[id];
}

function getobjtop(obj) {
    if (dom)        return parseInt(obj.style.top);
	else if (ie)    return obj.style.pixelTop;
	else            return obj.top;
}

function getobjleft(obj) {	
	if (dom)        return parseInt(obj.style.left);
	else if (ie)    return obj.style.pixelLeft;
    else            return obj.left;
}

function showobj(obj) {
    if (dom||ie)    obj.style.visibility='visible';
    else            obj.visibility = "show";
return 			
}

function hiddenobj(obj) {
	if (dom||ie)    obj.style.visibility='hidden';
	else            obj.visibility = "hide";
return 			
}

function getobjindex(obj) {
	if (dom||ie)    return obj.style.zIndex;
	else            return obj.zIndex;
}

function setobjindex(obj, new_index) {
    if (dom||ie)    obj.style.zIndex =  new_index;
	else            obj.zIndex =        new_index;
}

function objmoveto(obj,offsetleft,offsettop) {
	if (dom) {
		obj.style.left = parseInt(obj.style.left) + offsetleft + 'px';
		obj.style.top = parseInt(obj.style.top) + offsettop + 'px';
	} else {
    	if (ie) {
	    	obj.style.pixelLeft += offsetleft;
		    obj.style.pixelTop += offsettop;			
		} else {
			obj.left += offsetleft;
			obj.top += offsettop;
		}
	}
}

function setobjposi(obj,left,top){
    if(dom) {
        obj.style.top = top + 'px';
        obj.style.left = left + 'px';
    }else{
        if (ie) {
            obj.style.pixelTop = top;
    	    obj.style.pixelLeft = left;
        }else{	    
    	    obj.top = top;
            obj.left = left;
        }
    }
}

function getobjheight(obj) {
    if (dom)        return parseInt(obj.style.height);
	else if (ie)    return obj.style.pixelHeight;
	else            return obj.height;
}

function getobjwidth(obj) {	
	if (dom)        return parseInt(obj.style.width);
	else if (ie)    return obj.style.pixelWidth;
    else            return obj.width;
}


function setobjsize(obj,height,width) {
    if(dom) {
        obj.style.height = height + 'px';
        obj.style.width = width + 'px';
    }else{
        if (ie) {
            obj.style.pixelHeight = height;
			obj.style.pixelWidth = width;
        }else{	    
    	    obj.height = height;
       	    obj.width = width;
        }
    }
}


function setobjheight(obj,height) {
    if(dom) {
        obj.style.height = height + 'px';
    }else{
        if (ie) {
            obj.style.pixelHeight = height;
        }else{	    
    	    obj.height = height;
        }
    }
}

function setobjwidth(obj,width) {
    if(dom) {
        obj.style.width = width + 'px';
    }else{
        if (ie) {
            obj.style.pixelWidth = width;
        }else{	    
    	    obj.width = width;
        }
    }
}


function getobjwidth(obj) {	
	if (dom)        return parseInt(obj.style.width);
	else if (ie)    return obj.style.pixelWidth;
    else            return obj.width;
}


function setobj2centersite(obj,objintern) {
var mytop;
var myleft;
var myheight;
var mywidth;

	myheight = getobjheight(obj);
	mywidth = getobjwidth(obj);

//objintern

	if (isNaN(myheight)) myheight=0;
	if (isNaN(mywidth)) mywidth=0;
	
	
	mytop = parseInt((winheight-myheight)/2)+scrollpos.y
	myleft = parseInt((winwidth-mywidth)/2)+scrollpos.x

	setobjposi(obj,myleft,mytop);
}

function setobj2fullsite(obj,z) {
	setobjsize(obj,winheight+scrollpos.y-z,winwidth+scrollpos.x-z);
}

// # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

function winopen2(xurl,winname,w,h){
var l = Math.round((screen.availWidth-w)/2);
var t = Math.round((screen.availHeight-h)/2);
window.open(xurl,winname,"left="+l+",top="+t+",width="+w+",height="+h+",dependent=1,directories=no,location=no,toolbar=no,scrollbars=yes,resize=no,resizable=no,menubar=no,status=no,copyhistory=no");
return false;
}	


// # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
// ### Tooltip functions

var tooltipbrowserokay=(dom||ie);

var tooltipinitokay=false;

var tooltipobj=null;
var tooltiptextobj=null;
var tooltiptext='';
var tooltipeinschalten=false;
var tooltipsichtbar=false;
var tooltiptimershow=null;
var tooltipokay=false;


var tooltipsrc='';

var tooltipbild = new Image();
var tooltipbildurl="";
var tooltipbildbreit=0;
var tooltipbildhoch=0;
var tooltipbildformat=0;
var tooltipbildgeladen=false;

var ttbildbreit2=0;
var ttbildhoch2=0;



function tooltip(obj,breit,hoch) {

	if(tooltipbrowserokay){

		if (!tooltipinitokay) tooltipinit();

		if(tooltipokay)	
			if(obj) 
				if(obj.src) {
					if (tooltipsrc!=obj.src) {
						tooltipsrc=obj.src;
						
						tooltipbildurl=tooltipsrc;
						tooltipbildurl=tooltipbildurl.replace(/_mini1\./g, '.');
						tooltipbildurl=tooltipbildurl.replace(/_mini\./g, '.');
						tooltipbildurl=tooltipbildurl.replace(/-mini\./g, '.');
						tooltipbildurl=tooltipbildurl.replace(/-mini2\./g, '.');
						tooltipbildurl=tooltipbildurl.replace(/-mini3\./g, '.');
					
						if (obj.getAttribute('alt')!='')  obj.setAttribute('alt','');
						if (obj.getAttribute('title')!='')  obj.setAttribute('title','');
	
	
						if (tooltipbildurl!=''){
							tooltipbildgeladen = false;
						
							tooltipbild = new Image();
							tooltipbild.src = tooltipbildurl;
							
							ttbildbreit2=breit;
							ttbildhoch2=hoch;
							
							tooltiptext='';
						}
					}					
					tooltipshow(); 
					
				}else tooltiphide(); 
			else tooltiphide();
		}
}

function tooltiphide(){
	if(tooltipokay){
		if (tooltiptimershow) window.clearTimeout(tooltiptimershow);
		tooltipeinschalten=false;
		tooltipsichtbar=false;
		hiddenobj(tooltipobj)
	}
}

function tooltipshow() {
	if(tooltipokay){
	
		if (!tooltipbildgeladen){
			if (tooltipbild.complete) {
				tooltipbildbreit = tooltipbild.width;
				tooltipbildhoch = tooltipbild.height;
				tooltipbildformat=(tooltipbildbreit/tooltipbildhoch);
				tooltipbildgeladen=true;


				if ((ttbildbreit2<=0)&&(ttbildhoch2<=0)) {
					ttbildhoch2 = Math.abs(ttbildhoch2);
					ttbildbreit2 = Math.abs(ttbildbreit2);
						
					if ((ttbildhoch2 > ttbildbreit2)) {
						if (ttbildbreit2==0){
							ttbildbreit2 = ttbildhoch2 * tooltipbildformat;
						}else{
							if (tooltipbildformat>1) {
								ttbildhoch2 = ttbildbreit2;
								ttbildbreit2 = ttbildhoch2 * tooltipbildformat;
							}else{
								ttbildhoch2 = ttbildbreit2 / tooltipbildformat;
							}
						}
						
					}else{
					
						if ((ttbildbreit2==0)&&(ttbildhoch2==0)) {
							ttbildhoch2 = tooltipbildhoch;
							ttbildbreit2 = tooltipbildbreit;
						}else{

							if (ttbildhoch2==0){
								ttbildhoch2 = ttbildbreit2 / tooltipbildformat;						
							}else{
								if (tooltipbildformat>1) {
									ttbildbreit2 = ttbildhoch2 * tooltipbildformat;
								}else{													
									ttbildbreit2 = ttbildhoch2;
									ttbildhoch2 = ttbildbreit2 / tooltipbildformat;					
								}
							}
						}
					}
					
				}else{

					if ((ttbildbreit2<=0) || (ttbildhoch2<=0)) {
						if (ttbildbreit2<=0) ttbildbreit2 = ttbildhoch2 * tooltipbildformat;
						if (ttbildhoch2<=0) ttbildhoch2 = ttbildbreit2 / tooltipbildformat;
					}else{
				
						if ((ttbildhoch2 > ttbildbreit2)) {
							if (tooltipbildformat>1) {
								ttbildhoch2 = ttbildbreit2;
								ttbildbreit2 = ttbildhoch2 * tooltipbildformat;
							}else{
								ttbildhoch2 = ttbildbreit2 / tooltipbildformat;								
							}											
						}else{
							if (tooltipbildformat>1) {
								ttbildbreit2 = ttbildhoch2 * tooltipbildformat;
							}else{													
								ttbildbreit2 = ttbildhoch2;
								ttbildhoch2 = ttbildbreit2 / tooltipbildformat;					
							}
						}
					}
				}
				
				if ((ttbildhoch2>tooltipbildhoch) || (ttbildbreit2>tooltipbildbreit)){
					ttbildhoch2 = tooltipbildhoch;
					ttbildbreit2 = tooltipbildbreit;
				}																	
			}
		}
			
		if (tooltipbildgeladen){

			clientHeightWidth();
			if ((winheight>400)&&(winwidth>500)){
			
				var x = clientpos.x+15;
				var y = clientpos.y+15;
		
				clientscrollxy();	
				if ((x+ttbildbreit2-scrollpos.x>winwidth-18)&&(ttbildbreit2<winwidth)) 
					{
						x=winwidth-ttbildbreit2+scrollpos.x-18;
						if ((y+ttbildhoch2-scrollpos.y>winheight-18)&&(ttbildhoch2<winheight)) y=y-ttbildhoch2-50;
					}
				else
					if ((y+ttbildhoch2-scrollpos.y>winheight-18)&&(ttbildhoch2<winheight)) 
						y=winheight-ttbildhoch2+scrollpos.y-18;

					
				setobjposi(tooltipobj,x,y);
				if (tooltiptext=='') {
	 				if (tooltipsichtbar) tooltiphide();
	
					tooltiptext='<img src="'+tooltipbildurl+'" width="'+ttbildbreit2+'" height="'+ttbildhoch2+'" border="0">';
					tooltiptextobj.innerHTML=tooltiptext;				
	
					if (!tooltipeinschalten) {
						tooltipeinschalten=true;
						if (tooltiptimershow!=null) window.clearTimeout(tooltiptimershow);
						tooltiptimershow=window.setTimeout("tooltipshowdo();", 300);	
					}
				}else{
					if (!tooltipeinschalten) {
						tooltipeinschalten=true;
						tooltipshowdo();
					}
				}			
			}		
		}
	}
}




function tooltipshowdo(){
	if (tooltipeinschalten) {
		tooltipsichtbar=true;
		showobj(tooltipobj);			
	}
}

function tooltipinit(){
	
	if(tooltipbrowserokay){

		getobjbody();
		
//		var tmpTxt="";
//		tmpTxt = tmpTxt + '<div id="tt" style="position:absolute; visibility:hidden; top:1px; left:1px; z-index:999;" onmouseover="tooltiphide();"><table cellSpacing="0" cellPadding="0" border="0"><tr><td colspan="3" style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td></tr><tr><td style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td><td><div style="border: 1px solid #666666; background-color:#f9f9f9;"><div id="tttext" style="border: 2px solid #ffffff;"></div></div></td><td style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td></tr><tr><td colspan="3" style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td></tr></table></div>';
//		objbody.innerHTML = objbody.innerHTML + tmpTxt;

		document.onmousemove = clientxy;
			
		tooltipobj=getobj('tt');
		tooltiptextobj=getobj('tttext');
		tooltiptext=null;
		
		tooltipinitokay=true;		
		tooltipokay=true;
	}
}

if(tooltipbrowserokay){
	document.write('<div id="tt" style="position:absolute; visibility:hidden; top:1px; left:1px; z-index:999;" onmouseover="tooltiphide();"><table cellSpacing="0" cellPadding="0" border="0"><tr><td colspan="3" style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td></tr><tr><td style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td><td><div style="border: 1px solid #666666; background-color:#f9f9f9;"><div id="tttext" style="border: 2px solid #ffffff;"></div></div></td><td style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td></tr><tr><td colspan="3" style="filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.40;" bgcolor="#333333"><img src="/pics/pixel.gif" height="5" width="5" alt=""></td></tr></table></div>');
}	



// # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
// ### BildBox functions


var sboxbrowserokay=(dom||ie);

var sboxinitokay=false;

var sboxbg0obj=null;
var sboxbgobj=null;
var sboxobj=null;
var sboxwaitobj=null;

var sboxeinschalten=false;
var sboxausschalten=false;
var sboxsichtbar=false;

var sboxwaitsichtbar=false;

var sboxtimershow=null;
var sboxokay=false;

var sboxtext="";

var bild = new Image();
var bildurl="";
var bildbreit=0;
var bildhoch=0;
var bildformat=0;
var bildgeladen=false;

function sboxstart(obj) {

	if (!sboxinitokay) sboxinit();
	
	if(sboxokay){
		if(obj){
	
			var bildurlx='';

			if(obj.src) {
				bildurlx=obj.src;
				bildurlx=bildurlx.replace(/_mini1\./g, '.');
				bildurlx=bildurlx.replace(/_mini\./g, '.');

				
				if(obj.getAttribute('alt')!='')  obj.setAttribute('alt','');
			}else{
				if (obj.href) {
					bildurlx=obj.href;
					if (bildurlx.search(/\.jpg/)==-1) bildurlx="";
				}				
			}
			

			if (bildurlx!=''){
				sboxwaitsichtbar=false;
				bildgeladen=false;
		
				bild = new Image();
				bild.src = bildurlx;
				sboxshow();
			}
		}
	}
		
}


function sboxbildset() {

var breit;
var hoch;

// !!!  winwidth > 100
// !!!  winheight > 100


breit = bildbreit 
hoch = bildhoch 

var abstand = 60;
var breitplus; breitplus = 0;
var hochplus; hochplus = 0;

if (breit > (winwidth-breitplus-abstand)){
	breit=breit-(breit-(winwidth-breitplus-abstand));
	hoch=Math.round(breit/bildformat);
}
if (hoch > (winheight-hochplus-abstand)) {
	hoch=hoch-(hoch-(winheight-hochplus-abstand));
	breit=Math.round(hoch*bildformat);
}
				
		setobjsize(sboxobj,(hoch+hochplus),(breit+breitplus));
							
		var txtNeu='<img src="'+bild.src+'" width="'+breit+'" height="'+hoch+'" border="0" onclick="sboxhide();">';
			
//		if (sboxtext!=txtNeu) {		
			sboxtext=txtNeu;								
			sbox.innerHTML=sboxtext;
//		}
}

// ####################################################################################


function sboxshow() {
	window.onresize = sboxshowdo;
//	window.onscroll = sboxshowdo;
	
	sboxausschalten=false;
	sboxeinschalten=true;
	if (sboxokay) sboxshowdo();
}	

function sboxhide(){
	window.onresize = null;
//	window.onscroll = null;
	
	sboxeinschalten=false;
	sboxausschalten=true;
	if (sboxokay) sboxshowdo();
}

var winwidth0;
var winheight0;	
var scrollpos0=new vector(0, 0);

function sboxshowdo(){

	if (sboxausschalten) {
		sboxausschalten=false;

		hiddenobj(sboxwaitobj);
		hiddenobj(sboxobj);
		hiddenobj(sboxbgobj);
		hiddenobj(sboxbg0obj);		
		sboxsichtbar=false;
	}else{
	
		clientHeightWidth();
		clientscrollxy();

		if (!bildgeladen){
			if (bild.complete) {
				bildbreit = bild.width;
				bildhoch = bild.height;
				bildformat=(bildbreit/bildhoch);
				bildgeladen=true;
				
				sboxbildset();
				setobj2centersite(sboxobj);
				
				hiddenobj(sboxwaitobj);
				sboxwaitsichtbar=false;
			}else{
				if (!sboxwaitsichtbar) {
					showobj(sboxwaitobj);
					sboxwaitsichtbar=true;
				}
			}
		}
		
			
		if ((sboxeinschalten) || (winwidth0 != winwidth) || (winheight0 != winheight) || (scrollpos0.x != scrollpos.x) || (scrollpos0.y != scrollpos.y))
		{
			winwidth0 = winwidth;
			winheight0 = winheight;
			scrollpos0.x = scrollpos.x;
			scrollpos0.y = scrollpos.y;
		
			setobj2fullsite(sboxbg0obj,10);
			setobj2fullsite(sboxbgobj,0);
			setobj2centersite(sboxobj);
			setobj2centersite(sboxwaitobj);
		}
	
		if (sboxeinschalten) {
			sboxeinschalten=false;
	
			showobj(sboxbg0obj);
			showobj(sboxbgobj);
			showobj(sboxobj);
			sboxsichtbar=true;
		}
		

		if (sboxsichtbar) {
			sboxtimershow=window.setTimeout("sboxshowdo();", 300);	
		}
	}
}

function sboxinit(){

	if(sboxbrowserokay){
	
		getobjbody();
			
//		var tmpTxt="";
//		tmpTxt = tmpTxt +'<iframe id="sboxbg0" style="position:absolute; visibility:hidden; top:0px; left:0px; height:1px; width:1px; z-index:896;"></iframe>';
//		tmpTxt = tmpTxt +'<div id="sboxbg" style="position:absolute; visibility:hidden; top:0px; left:0px; height:1px; width:1px; z-index:897;" onclick="sboxhide();"></div>';
//		tmpTxt = tmpTxt +'<div id="sbox" style="position:absolute; visibility:hidden; top:1px; left:1px; z-index:898;"></div>';
//		tmpTxt = tmpTxt +'<div id="sboxwait" style="position:absolute; visibility:hidden; top:1px; left:1px; z-index:899;">'+sboxwaittext+'</div>';
//		objbody.innerHTML = objbody.innerHTML + tmpTxt;
		
	
		sboxbg0obj = getobj('sboxbg0');
		sboxbgobj = getobj('sboxbg');
		sboxobj = getobj('sbox');
		sboxwaitobj = getobj('sboxwait');		
		
		clientHeightWidth();
		clientscrollxy();

		sboxinitokay = true;		
		sboxokay=true;
	}
}


function picturebox(obj) {

	if(sboxbrowserokay){
		tooltiphide(); 
		sboxstart(obj);

		return false;
	}else{
		return true;
	}
	
}


if(sboxbrowserokay){
	document.write('<iframe id="sboxbg0" style="position:absolute; visibility:hidden; top:0px; left:0px; height:1px; width:1px; z-index:896;"></iframe>');
	document.write('<div id="sboxbg" style="position:absolute; visibility:hidden; top:0px; left:0px; height:1px; width:1px; z-index:897;" onclick="sboxhide();"></div>');
	document.write('<div id="sbox" style="position:absolute; visibility:hidden; top:1px; left:1px; z-index:898;"></div>');
	document.write('<div id="sboxwait" style="position:absolute; visibility:hidden; top:1px; left:1px; width:235px; height:132px; z-index:899;"><img src="/pics/wait0.gif" width="235" height="132" border="3" onclick="sboxhide();"></div>');
}	
		

