	isIe6 = isIe6();
	docPath = "/furoat/referenzen.html";
	bubbleClass = "refBubble";
	bubbleBgClass = "refBubbleBg";
	bubbleWidth = "307";
	bubbleBoHeight = "40";
	bubbleLeftShift = 16;
	bubbleImgPathR = "/img/gsk/avamys/referenzblase_unten_rechts.png";
	bubbleImgPath = "/img/gsk/avamys/referenzblase_unten_links.png";
	bubbleImgBg = "/img/gsk/avamys/referenzblase_oben.png";
	elRoot = document.getElementsByTagName('body')[0];
	referenzen = document.getElementsByTagName("sup");
	
	function referenceBubble() {	
		for(i=0; i < referenzen.length; i++){
			var el = referenzen[i].firstChild;
			var elValue = referenzen[i].innerHTML;
			if(elValue.match(/\d/)) {
				if(!isNaN(elValue)) {
					referenzen[i].removeChild(el);
					anker = addAnchor(elValue);
					referenzen[i].appendChild(anker);
					anker.onmouseover=addBubble;
					anker.onmouseout=releaseBubble;
				}
				else if(elValue.match(/,/)) {
					var list = elValue.split(",");
					referenzen[i].removeChild(el);
					var twoNumbers = false;
					if(list.length==2) {
						for(m=0; m < list.length; m++){
							if(!isNaN(list[m])) { 
								twoNumbers = true;
							}
							else { 
								twoNumbers = false;
								break;
							}
						}
					}
					if(twoNumbers) {
						referenzen[i].onmouseover=addBubble;
						referenzen[i].onmouseout=releaseBubble;	
					}
					for(j=0; j < list.length; j++){
						if(!isNaN(list[j])) {
							anker = addAnchor(list[j]);
							referenzen[i].appendChild(anker);
							if(!twoNumbers) {
								anker.onmouseover=addBubble;
								anker.onmouseout=releaseBubble;
							}
							if(j < list.length-1) {
								komma = document.createTextNode(",");
								referenzen[i].appendChild(komma);
							}
						}
						else if(list[j].match(/-/)) {
							anker = addAnchor(list[j]);
							referenzen[i].appendChild(anker);
							anker.onmouseover=addBubble;
							anker.onmouseout=releaseBubble;
							if(j < list.length-1) {
								komma = document.createTextNode(",");
								referenzen[i].appendChild(komma);
							}
						}
						else if(list[j].match(/\*/)) {
							anker = addAnchor(list[j]);
							referenzen[i].appendChild(anker);
							anker.onmouseover=addBubble;
							anker.onmouseout=releaseBubble;
							if(j < list.length-1) {
								komma = document.createTextNode(",");
								referenzen[i].appendChild(komma);
							}
						}
					}
				}
				else if(elValue.match(/-/)) {
					referenzen[i].removeChild(el);
					anker = addAnchor(elValue);
					referenzen[i].appendChild(anker);
					anker.onmouseover=addBubble;
					anker.onmouseout=releaseBubble;
				}
				else if(elValue.match(/\*/)) {
					referenzen[i].removeChild(el);
					anker = addAnchor(elValue);
					referenzen[i].appendChild(anker);
					anker.onmouseover=addBubble;
					anker.onmouseout=releaseBubble;
				}
			}
		}
	}
	
	function initBubble() {
		bubble = document.createElement('div');
		bubble.style.width=bubbleWidth+"px";
		bubble.style.position="absolute";
		bubble.style.zIndex=99999;
		return bubble;
	}
	
	function addAnchor(elemValue) {
		anker = document.createElement('a');
		nummer = document.createTextNode(elemValue);
		anker.appendChild(nummer);
		verweis = document.createAttribute ('href');
        if(elemValue.match(/-/)) {
        	verweis.nodeValue = docPath+"#"+elemValue.match(/[0-9]{1,}/)+".";
        }
		else if(elemValue.match(/\*/)) {
        	verweis.nodeValue = docPath+"#"+elemValue.replace(/\*/g, "")+".";
        }
        else {
        	verweis.nodeValue = docPath+"#"+elemValue+".";
        }
        anker.setAttributeNode(verweis);
		return anker;
	}
	
	function addBubble() {
		var bubble = initBubble();
		bubble.className = bubbleClass;
		refBubbleBg = document.createElement('div');
		refBubbleBg.className = bubbleBgClass;
		refBubbleBg.style.width = bubbleWidth;
		if(isIe6) refBubbleBg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bubbleImgBg+"',sizingMethod='crop')";
		else refBubbleBg.style.background="url("+bubbleImgBg+") no-repeat";		
		zaehler = 0;
		referenz = new Array();
		referenz = iterateNodes(this.childNodes);
		for(l=0;l<referenz.length;l++) {
			var p = document.createElement('p');
			p.innerHTML="<b>"+referenz[l][0]+".</b>&nbsp;"+referenz[l][1];
			refBubbleBg.appendChild(p);
		}
		bubble.appendChild(refBubbleBg);
		var img;
		var myImgPath;
		if(displayBubbleLeft(this)) myImgPath = bubbleImgPathR;
		else myImgPath = bubbleImgPath;
		if(isIe6) {
			img = document.createElement('div');
			img.style.width = bubbleWidth;
			img.style.height = bubbleBoHeight;
			img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+myImgPath+"',sizingMethod='image')";
		}
		else img = createImgNode(myImgPath);
		var hoehe = document.createAttribute("height");
        hoehe.nodeValue = bubbleBoHeight;
		img.setAttributeNode(hoehe);
		bubble.appendChild(img);
		elRoot.appendChild(bubble);
		bubble.style.top=(getPos(this)[1]-bubble.offsetHeight)+"px";
		if(displayBubbleLeft(this)) bubble.style.left=getPos(this)[0]-bubbleWidth+"px";
		else bubble.style.left=getPos(this)[0]+bubbleLeftShift+"px";
	}
	
	function createImgNode(imgPath) {
		var img = document.createElement('img');
		var path = document.createAttribute ('src');
		path.nodeValue = imgPath;
		img.setAttributeNode(path);
		return img;
	}
	
	function displayBubbleLeft(el) {
		if((getPos(el)[0]+bubbleLeftShift+parseInt(bubbleWidth))>getScreenWidth()) return true;
		else return false;
	}
	
	function releaseBubble() {
		var bubbles = new Array();
		bubbles = getElementsByClassName(bubbleClass,elRoot);
		for(k=0;k<bubbles.length;k++) { elRoot.removeChild(bubbles[k]); }
	}
	
	function iterateNodes(nodeArray) {
		for (var n=0; n<nodeArray.length; n++) {
			if(nodeArray[n].nodeType==3){
				if(!isNaN(nodeArray[n].nodeValue)) {
					referenz[zaehler] = new Array();
					referenz[zaehler][0] = nodeArray[n].nodeValue;
					referenz[zaehler][1] = ref[parseInt(nodeArray[n].nodeValue)];
					zaehler++;
				}
				if(nodeArray[n].nodeValue.match(/-/)) {
					var refArray = nodeArray[n].nodeValue.split("-");
					var newArray = new Array();
					for (var p=0; p<refArray.length; p++) {
						var refNode = document.createTextNode(refArray[p]);
						newArray.push(refNode);
					}
					iterateNodes(newArray);
				}
				if(nodeArray[n].nodeValue.match(/\*/)) {
					var refArray = new Array();
					refArray.push(nodeArray[n].nodeValue.replace(/\*/g, ""));
					var newArray = new Array();
					for (var q=0; q<refArray.length; q++) {
						var refNode = document.createTextNode(refArray[q]);
						newArray.push(refNode);
					}
					iterateNodes(newArray);
				}
			}
			else if(nodeArray[n].hasChildNodes()) {
				iterateNodes(nodeArray[n].childNodes);
			}
		}
		return referenz;
	}
	
	function getElementsByClassName(class_name,object)
	{
		var all_obj,ret_obj=new Array(),j=0;
		if(object)
		{
			all_obj=object.childNodes;			
		}
		else
		{
			if(document.all)
				all_obj=document.all;
			else if(document.getElementsByTagName && !document.all)
				all_obj=document.getElementsByTagName("*");
		}		
		
		for(i=0;i<all_obj.length;i++)
		{			
			classname=all_obj[i].className;		
			if(classname!=undefined)
			{			
				if(classname.indexOf(" ")!=-1)
				{					
					classname=classname.split(" ");
					for(k=0;k<classname.length;k++)
					{
						if(classname[k]==class_name)
						{
							ret_obj[j]=all_obj[i];
							j++;
						}
					}
				}
				else
				{
					if(classname==class_name)
					{
						ret_obj[j]=all_obj[i];
						j++;
					}
				}
			}
			
		}
		return ret_obj;
	}
	
	function getPos(obj){
		var posleft=postop=0;
		if(obj.offsetParent){
			posleft=obj.offsetLeft;
			postop=obj.offsetTop;
			while(obj=obj.offsetParent){
				posleft+=obj.offsetLeft;
				postop+=obj.offsetTop;
			}
		}
		return [posleft,postop];
	}
	
	function getScreenWidth(){
		if (window.innerWidth){
			screenWidth=window.innerWidth;
		}
		else {
			screenWidth=document.body.clientWidth;
		}
		return screenWidth;
	}
	
	function isIe6() {
		if((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) == 4) && (navigator.appVersion.indexOf("MSIE 6.") != -1)) return true;
		else return false;
	}
	
	referenceBubble();