/*
created in november '99 by sascha schumann (js@dotnext.de)
lang lebe die spaghetti
last changes in april '04 anja machmeier
*/

if (navigator.appName.indexOf("Microsoft")>-1&&navigator.appVersion.indexOf("6")>-1){
	domObj = "documentElement";
}
else{
	domObj = "body";
}
var bolDisableSpouse = false;
var strSpouseFields="";

function selectInput(e){
	eObj=(window.event)?event.srcElement:e.target;
	if (eObj==null) return;
	if(eObj.form!=null){
		var disable = (bolDisableSpouse&&strSpouseFields.indexOf(eObj.name+"|")!=-1);
		if(eObj.type=="text"&&!disable)eObj.select();
		if(disable)eObj.blur();
	}
}

function captureFocus(){
	if(window.captureEvents){
		window.captureEvents(Event.FOCUS);
		window.onfocus = selectInput;
	}else{
		for(i=0;i<document.forms.length;i++){
			for(j=0;j<document.forms[i].elements.length;j++){
				if(document.forms[i].elements[j].type=="text"){
					document.forms[i].elements[j].onfocus = selectInput;
				}
			}
		}
	}
}

var bubbleDoc,maxX,maxY,borderClr,userX,userY;
var maxBubbleWidth = 150;
var bubbleMargin = 5;
var bubbleW,bubbleH,bubbleWhObj;


var dhtmlObj,dhtmlIn,dhtmlOut,styleObj,widthObj,heightObj;
var modX=0;
var modY=0;
function getObj(){
	if (document.layers){
		dhtmlObj = "document.layers";
		dhtmlIn = "[";
		dhtmlOut = "]";
		styleObj = "";
		widthObj = ".clip.width";
		heightObj = ".clip.height";
	}
	if (document.all){
		dhtmlObj = "document.all";
		dhtmlIn = "[";
		dhtmlOut = "]";
		styleObj = ".style";
		widthObj = ".offsetWidth";
		heightObj = ".offsetHeight";
		if(document.body)getMod();
		window.onscroll = getMod;
	}
	if (document.getElementById){
		dhtmlObj = "document.getElementById";
		dhtmlIn = "(";
		dhtmlOut = ")";
		styleObj = ".style";
		widthObj = ".offsetWidth";
		heightObj = ".offsetHeight";
	}

}

function getMod(){
	if(document.all){
		modX = eval('document.'+domObj+'.scrollLeft');
		modY = eval('document.'+domObj+'.scrollTop');
	}
}

function myObj(wh){
	if(dhtmlObj==null)getObj();
	return eval(dhtmlObj+dhtmlIn+'"'+wh+'"'+dhtmlOut);
}

function myStyleObj(wh){
	return eval(dhtmlObj+dhtmlIn+'"'+wh+'"'+dhtmlOut+styleObj);
}

function getWidth(wh){
	return eval(dhtmlObj+dhtmlIn+'"'+wh+'"'+dhtmlOut+widthObj);
}

function getHeight(wh){
	return eval(dhtmlObj+dhtmlIn+'"'+wh+'"'+dhtmlOut+heightObj);
}

function writeToDoc(wh,content){
	if(document.all||document.getElementById){
		myObj(wh).innerHTML = content+"\n";
	}
	if(document.layers){
		var dObj;
		dObj = (window.document.layers.length==4)?window.document.layers[1].document.layers[wh]:document.layers[wh];
		dObj = (document.layers[wh].document.layers.length==0)?document.layers[wh]:document.layers[wh].document.layers[0];
		with(dObj.document){
			open();
			write(content);
			close();
		}
	}
}


bubbleDoc = false;

function initBubble(mX,mY){
	userX=mX;
	userY=mY;
	maxBubbleWidth=(arguments[2])?arguments[2]:maxBubbleWidth;
	bubbleWhObj = (document.layers||document.getElementById)?"bubble":"bubbleC";
	bubbleDoc = myStyleObj("bubble");
	maxX = eval('(userX>-1)?mX:(document.layers)?window.innerWidth-bubbleMargin:document.'+domObj+'.offsetWidth-bubbleMargin');
	maxY = eval('(userY>-1)?mY:(document.layers)?window.innerHeight-bubbleMargin:document.'+domObj+'.offsetHeight-bubbleMargin');
	
	
	if(document.layers){
		document.captureEvents(Event.RESIZE|Event.SCROLL);
	}
	window.onresize = getBounds;
	borderClr=(arguments[3])?arguments[3]:"#000000";
	captureFocus();
}

function getBounds(){
	
	maxX = eval('(userX>-1)?userX:(document.layers)?window.innerWidth-bubbleMargin:document.'+domObj+'.offsetWidth+modX-bubbleMargin');
	maxY = eval('(userY>-1)?userY:(document.layers)?window.innerHeight-bubbleMargin:document.'+domObj+'.offsetHeight+modY-bubbleMargin');
}

function captureBubble(){
	if(document.layers){
		document.captureEvents(Event.MOUSEMOVE)
	}
	document.onmousemove = moveBubble;
}

function createBubble(content){
	window.cLink = false;
	if(bubbleDoc){
		getBounds();
		captureBubble();
		var strHTML;
		strHTML="<div id=\"bubbleC\" class=\"bubble\">";
		strHTML+=content;
		strHTML+="</div>\n"
		writeToDoc('bubble',strHTML);
		bubbleW=getWidth(bubbleWhObj);
		bubbleH=getHeight(bubbleWhObj);
		bubbleDoc.zIndex="25";
	}
}

function killBubble(){
	if(bubbleDoc){
		document.onmousemove = null;
		bubbleDoc.zIndex="1";
		bubbleDoc.visibility="hidden";
	}
}

function moveBubble(e){
	var eX,eY;

	eX=(document.all)?window.event.clientX+modX:e.pageX;
	eY=(document.all)?window.event.clientY+20+modY:e.pageY+20;

	eX=(eX+bubbleW<maxX)?eX:maxX-bubbleW;
	eY=(eY+bubbleH<maxY-20)?eY:eY-bubbleH-40;

	with (bubbleDoc){
		left=eX+"px";
		top=eY+"px";
		visibility="visible";
	}
}
