var tooltip2=function(){
	var id = 'tt';
	var top = 15;
	var left = 15;
	var maxw = 325;
	var timer = 100;
	
	var tt,t,c,b,h;
	var ie = document.all ? true : false;
	return{
		show:function(iElement,v,w){
			if(tt == null){
				tt = document.createElement('div');
				tt.setAttribute('id',id);
				t = document.createElement('div');
				t.setAttribute('id',id + 'top');
				c = document.createElement('div');
				c.setAttribute('id',id + 'cont');
				b = document.createElement('div');
				b.setAttribute('id',id + 'bot');
				tt.appendChild(t);
				tt.appendChild(c);
				tt.appendChild(b);
				document.body.appendChild(tt);
				tt.style.display = 'none';
				//document.onmouseover = this.pos(iElement);
			}
			
			tt.style.display = 'block';
			
			c.innerHTML = v;
			//tt.style.width = w ? w + 'px' : 'auto';
			
			if(!w && ie){
				t.style.display = 'none';
				b.style.display = 'none';
				tt.style.width = tt.offsetWidth;
				t.style.display = 'block';
				b.style.display = 'block';
			}
			//if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
			tt.style.width = maxw + 'px';
			//h = parseInt(tt.offsetHeight) + top;
			h = parseInt(tt.offsetHeight);
			
			this.pos(iElement);
			
			tt.style.display = 'none';
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip2.fade(1)},timer);
		},
		pos:function(iElement){
			//var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
			//var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
			//tt.style.top = (u - h) + 'px';
			//tt.style.left = (l + left) + 'px';
			
			viewPort = document.viewport.getDimensions();
			
			elementOffset = this.findPos(iElement);
			// does not work in prototype:
			//elementOffset = iElement.cumulativeOffset();
			
			if (elementOffset.x + maxw > viewPort.width){
				// show TT left
				//$(tt).clonePosition(iElement, {setLeft:true, setTop:true, setWidth:false, setHeight:false, offsetLeft:-300, offsetTop:120});
				
				$('tt').style.left = (elementOffset.x - 280) + 'px';
				$('tt').style.top = '152px';
				
				$('tt').addClassName('alternative');
				$('tttop').addClassName('alternative');
				$('ttcont').addClassName('alternative');
				$('ttbot').addClassName('alternative');
			}
			else {
				//show TT right
				//$(tt).clonePosition(iElement, {setLeft:true, setTop:true, setWidth:false, setHeight:false, offsetLeft:50, offsetTop:152});
				
				$('tt').style.left = (elementOffset.x - 280) + 'px';
				$('tt').style.top = '152px';
				
				$('tt').removeClassName('alternative');
				$('tttop').removeClassName('alternative');
				$('ttcont').removeClassName('alternative');
				$('ttbot').removeClassName('alternative');
			}
		},
		fade:function(d){
			if (d==-1){ tt.style.display = 'none'; }
			else {tt.style.display = 'block';}
		},
		hide:function(){
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip2.fade(-1)},0);
		},
		findPos:function(iElement){
			var curleft = curtop = 0;
			if (iElement.offsetParent) {
				curleft = iElement.offsetLeft;
				curtop = iElement.offsetTop;
				while (iElement = iElement.offsetParent) {
					curleft += iElement.offsetLeft;
					curtop += iElement.offsetTop;
				}
			}
			return {x:curleft, y:curtop};
		}
	};
}();


