

	function mytooltip() {
		var base = null;
		var tooltip = null;
		this.init = function(tbase,ttooltip) {
			base = document.getElementById(tbase);
			if (base.alt)
				base.alt="";
			if (base.title)
				base.title = "";
			var parent = base.parentNode;
			if (parent.alt)
				parent.alt="";
			if (parent.title)
				parent.title="";
			tooltip = document.getElementById(ttooltip);
			tooltip.style["display"]="block";
			offsetHeight = tooltip.offsetHeight;
			tooltip.style["display"]="none";
			
			base.onmouseover = function() {
				
				var pos = findPos(base);
				var pos2 = findPos(document.getElementById("container"));
				var left = pos.x - pos2.x + 20;//+base.offsetWidth+10;//-pageOffset().left;
				var top = pos.y - pos2.y + 20;//+base.offsetHeight+10;//-pageOffset().top;
				
				//alert(tooltip.offsetHeight);
				
				//alert(tooltip.offsetHeight);
				//alert(top+tooltip.offsetHeight)
				//alert(top+tooltip.offsetHeight+":"+innerDimension().height+":"+pageOffset().top);
				//alert(top+tooltip.offsetHeight-pageOffset().top +":"+ innerDimension().height);
				if (top+offsetHeight-pageOffset().top  > innerDimension().height - 40) {
					//alert("higher");
					top -= top+offsetHeight-pageOffset().top - innerDimension().height + 30;
					//tooltip.style["top"]= top +"px";
				}
				
				tooltip.style["left"] = left +"px";
				tooltip.style["top"]= top +"px";
				tooltip.style["display"]="block";
				
				/*if (top+tooltip.offsetHeight-innerDimension().height>0) {
					top-=top+tooltip.offsetHeight-innerDimension().height+10;
					tooltip.style["top"]= top +"px";
				} */
			//	alert(window.pageYOffset);
				//alert(pageOffset().left + " : "+pageOffset().top);
			}
			base.onmouseout = function() {
				//alert(tooltip.style["top"]);
				tooltip.style["display"]="none";
				tooltip.style["left"]="-1000px";
				tooltip.style["top"]="-1000px";
				
				//alert(innerDimension().width + " : "+innerDimension().height)
			}
		}
		
		var findPos = function(obj) {
			var curleft = curtop = 0;
			if (obj.offsetParent) {
					do {
						curleft += obj.offsetLeft;
						curtop += obj.offsetTop;
					} while (obj = obj.offsetParent);
			}
			var result = new Object();
			result.x = curleft;
			result.y = curtop;
			return result;	
		}
		
		var pageOffset = function(win) {
			if(!win) win = window;
		    var pos = {left:0,top:0};
		
		    if(typeof win.pageXOffset != 'undefined')  {
		         // Mozilla/Netscape
		         pos.left = win.pageXOffset;
		         pos.top = win.pageYOffset;
		    }
		    else  {
		         var obj = (win.document.compatMode && win.document.compatMode == "CSS1Compat") ? win.document.documentElement : win.document.body || null;
		
		         pos.left = obj.scrollLeft;
		         pos.top = obj.scrollTop;
		    }
		    return pos;
		}
		
		var innerDimension = function(win) {
			if (!win)
				win= window;
			var dim = {width:0,height:0};
			if (typeof win.innerHeight != 'undefined') {
				dim.width = win.innerWidth;
				dim.height = win.innerHeight;
			}
			else {
				var obj = (win.document.compatMode && win.document.compatMode == "CSS1Compat") ? win.document.documentElement : win.document.body || null;
		        
				dim.width = obj.clientWidth;
				dim.height = obj.clientHeight;
			}
			return dim;
		}
	}
	
	
