function swap(img_name,img_obj)
{
	if (swap_timer) {clearTimeout(swap_timer); swap_timer=null;}
	document.images[img_name].src=eval(img_obj+".src");
}

function swap_del(img_name,img_obj)
{
	cmd='document.images["'+img_name+'"].src='+img_obj+'.src';
	swap_timer=setTimeout(cmd,20);
}

function swap_stop()
{
	if (swap_timer) {clearTimeout(swap_timer); swap_timer=null;}
}

function on(img,txt)
{
   old_on_img=on_img;
   on_img=img;
   if (!txt) {txt=get_mo_txt(img);}
	on_txt=txt;
   if (old_on_img!="") {lo(old_on_img);}

   eval("lo_src=document.images."+img+".src");
   on_src=lo_src.substring(0,lo_src.length-7)+"_on.gif";
   eval("document.images."+img+".src=on_src;");
   window.status=on_txt;
}

function hi(img,txt)
{
   if((img!=on_img)&&(preload_complete))
   {
      eval("lo_src=document.images."+img+".src");
      hi_src=lo_src.substring(0,lo_src.length-7)+"_hi.gif";

      eval("document.images."+img+".src='"+hi_src+"'");
      if (!txt) {txt=get_mo_txt(img);}
      window.status=txt;
   }
}

function lo(img)
{
   if((img!=on_img)&&(preload_complete))
   {
      eval("document.images."+img+".src=button_lo['"+img+"'].src");
      window.status=on_txt;
   }
}

function get_mo_txt(img)
{
	for (a=0; a<button.length; a++)
	{
		if (button[a]==img) {return txt[a];}
	}
	return "";
}

function preload()
{
   preload_img = new Array();
   for(a=0; abutton.length; a++)
   {
      img=button[a];
      if (document.images[img])
      {
         // LO
         eval("lo_src=document.images."+img+".src");
         button_lo[button[a]]=new Image;
         button_lo[button[a]].src=lo_src;

         // HI
         hi_src=lo_src.substring(0,lo_src.length-7)+"_hi.gif";
         button_hi[button[a]]=new Image;
         button_hi[button[a]].src=hi_src;
      }
   }
   if (on_img) {on(on_img,on_txt);}
   preload_complete=1;
}

function tooltip(dir, offsety, width)
{
	// Styles
	this.title_style = "font-family:verdana,arial,helvetica; font-size:10px; border-bottom: 1px outset #666666; font-weight:bold; color:#EE8A1F; background-color:#FFFFFF;";
	this.content_style = "font-family:verdana,arial,helvetica; font-size:9px; font-weight:normal; color:#000000; background-color:#F3F3F3;";
	
	// Differenzierung für Breite des Tooltips
	if(width == undefined)
	    this.width = 220;
    else
	    this.width = width;
		
	this.height = 100;
	this.border = 1;
	this.border_color = "#666666";
	this.shadow = 2;
	this.shadow_color = '';
	this.absolutx = 0;
	this.absoluty = 0;
	this.offsetx = 10;
	this.offsety = offsety;

	// Values
	this.x = 0;
	this.y = 0;
	this.snow = 0;
	this.sw = 0;
	this.cnt = 0;
	this.dir = dir;

	// reg Values
	this.id = 0;
	this.layname = "tooltip";
	this.layobj = null;
	this.laystyle= null;

	// Functions
	this.init			= tooltip_init;
	this.popup 			= tooltip_popup;
	this.write 			= tooltip_write;
	this.display 		= tooltip_display;
	this.show			= tooltip_show;
	this.hide			= tooltip_hide;
	this.mousemove		= tooltip_mousemove;
	this.move			= tooltip_move;
	this.close 			= tooltip_close;

	// Init
	this.init();
}

function tooltip_init()
{
	// Add to Stack
	this.id=sticky_stack.add(this);

	// Layer
	this.layname='tooltip'+this.id;
	//document.write('<style type="text/css">#'+this.layname+' {position:absolute; left:0; top:0; width:'+this.width+'; height:'+this.height+'; z-index:1; visibility: hidden;}</style>');
	document.write('<style type="text/css">#'+this.layname+' {position:absolute;  width:'+this.width+'; height:'+this.height+'; z-index:1; visibility: hidden;}</style>');

	document.write('<div id="'+this.layname+'" name="'+this.layname+'"></div>');

	this.layobj=(ns6)? document.getElementById(this.layname) : document.all[this.layname];
	this.laystyle=this.layobj.style;
}

// Sticky popup
function tooltip_popup(title_text,content_text)
{
	with (this)
	{
		html='';
		if (shadow)
		{
			html+='<table width='+width+' cellspacing=0 cellpadding=0 border=0>';
			html+='<tr height='+(shadow)+'>';
			html+='<td colspan=2 rowspan=2>';
		}

		html+='<table width='+(width-shadow)+' cellspacing=0 cellpadding='+border+' border=0><tr><td bgcolor="'+border_color+'">';
		if (title_text) {html+='<table width="100%" cellspacing=0 cellpadding=2 border=0><tr><td style="'+title_style+'">&nbsp;'+title_text+'</td></tr></table>';}
		html+='<table width="100%" cellspacing=0 cellpadding=1 border=0><tr><td style="'+content_style+'">'+content_text+'</td></tr></table><!-- (c) by feig-partner.de -->';
		html+='</td></tr></table>';

		if (shadow)
		{
			html+='</td>';
			html+='<td></td>';
			html+='</tr>';
			html+='<tr>';
			html+='<td bgcolor="'+(shadow_color)+'"></td>';
			html+='</tr>';
			html+='<tr height='+(shadow)+'>';
			html+='<td></td>';
			html+='<td bgcolor="'+(shadow_color)+'"></td>';
			html+='<td bgcolor="'+(shadow_color)+'"></td>';
			html+='</tr>';
			html+='</table>';
		}
		write(html);
		display();
	}
	return this.layname;
}

// Sticky close
function tooltip_close()
{
	if (this.cnt>=1) {this.sw=0;}
	if (this.sw==0)
	{
		this.snow=0;
		this.hide(this.laystyle);
	}
	else
	{
		this.cnt++;
	}
	return this.layname;
}
	
function tooltip_write(html)
{
	this.layobj.innerHTML=html;
}

function tooltip_display()
{
	if (this.snow==0)
	{
		if (this.dir=="center")
		{
			this.move(this.laystyle,this.x+this.offsetx-(this.width/2),this.y+this.offsety);
		}
		else if (this.dir=="left")
		{
			this.move(this.laystyle,this.x-this.offsetx-this.width,this.y+this.offsety);
		}
		else
		{
			this.move(this.laystyle,this.x+this.offsetx,this.y+this.offsety);
		}
				
		this.show(this.laystyle);
		this.snow=1;
	}
}

function tooltip_mousemove(e)
{
	if (e)
	{
		// NS
		this.x=e.pageX; this.y=e.pageY;
	}
	else
	{
		// IE
		this.x=event.x+document.body.scrollLeft; this.y=event.y+document.body.scrollTop;
	}
	// alert(this.x);

	if (this.snow)
	{
		if (this.dir=="center")
		{
			if (this.absolutx) {newx=this.absolutx;} else {newx=this.x+this.offsetx-(this.width/2);}
		}
		else if (this.dir=="left")
		{
			if (this.absolutx) {newx=this.absolutx;} else {newx=this.x-this.offsetx-this.width;}
		}
		else
		{
			if (this.absolutx) {newx=this.absolutx;} else {newx=this.x+this.offsetx}
		}
		if (this.absoluty) {newy=this.absoluty;} else {newy=this.y+this.offsety;}
		newx=Math.max(0,newx);
		newy=Math.max(0,newy);
		this.move(this.laystyle,newx,newy);
	}
}

function tooltip_show(obj)
{
//alert(obj);
	obj.visibility = "visible";
}

function tooltip_hide(obj)
{
	obj.visibility = "hidden"
}

function tooltip_move(obj,x,y)
{
	obj.left = x
	obj.top = y
}

function tooltip_stack()
{
	this.sticky	= new Array();
	this.add		= tooltip_stack_add;
}

function tooltip_stack_add(addsticky)
{
	id=this.sticky.length
	this.sticky[id]=addsticky;
	return id;
}

function fup_mousemove(e)
{
	if (sticky_stack)
	{
		for (a=0; a<sticky_stack.sticky.length; a++)
		{
			sticky_stack.sticky[a].mousemove(e);
		}
	}
}

function fup_infopac_screenshot_popup(id,width,height)
{
	var max_width=Math.max(screen.width,800);
	var max_height=Math.max(screen.height,600);
	var pop_width=Math.min(width,max_width);
	var pop_height=Math.min(height,max_height);
	if ((width>pop_width)||(height>pop_height))
	{
		var additionals=",scrollbars=yes,resizable=yes";
	}
	else
	{
		var additionals=",scrollbars=no,resizable=no";
	}
	var screenshot=window.open("/infopac/infopac_screenshot.php?id="+id,"screenshot","width="+pop_width+",height="+pop_height+additionals);
	if (screenshot) {screenshot.focus();}
}



// Browsercheck
var ie4=document.all?1:0;
var ns6=document.getElementById&&!document.all?1:0;

// Vars4MouseOver
var on_img="";
var on_txt="";
var preload_complete=0;
var button=new Array();
var button_lo=new Array();
var button_hi=new Array();
var txt=new Array();
var swap_timer=null;

// Global Inits
var sticky_stack=new tooltip_stack();

// EventHandler
if (ns6||ie4)
{
	document.onmousemove = fup_mousemove;
	if (ns6) document.captureEvents(Event.MOUSEMOVE);
}
