/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com
*/

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrReturnElements = new Array();
		if (oElm) {
	    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	    strClassName = strClassName.replace(/\-/g, "\\-");
	    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	    var oElement;
	    for(var i=0; i<arrElements.length; i++){
	        oElement = arrElements[i];      
	        if(oRegExp.test(oElement.className)){
	            arrReturnElements.push(oElement);
	        }   
	    }
		}
    return (arrReturnElements)
}
/*-------------------------------*/
/*
var nFadeSpeed=30; //speed of fade (5 or above). Smaller=faster.
var nOpacity=0;

function fadeIn(idTarget){
	oImg=idTarget;
	browserdetect=idTarget.filters? "ie" : typeof idTarget.style.MozOpacity=="string"? "mozilla" : "";
	instantSet(nOpacity);
	highlighting=setInterval("setFade(oImg)",nFadeSpeed);
}

function instantSet(degree){
	clearTimer();
	if (browserdetect=="mozilla") oImg.style.MozOpacity=degree/100;
	else if (browserdetect=="ie") oImg.filters.alpha.opacity=degree;
}

function clearTimer(){
	if (window.highlighting) clearInterval(highlighting);
}

function setFade(cur2){
	if (browserdetect=="mozilla" && cur2.style.MozOpacity<1) cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.1, 0.99);
	else if (browserdetect=="ie" && cur2.filters.alpha.opacity<100) cur2.filters.alpha.opacity+=10;
	else if (window.highlighting) clearInterval(highlighting);
}
*/
function setPos(idTooltip, posx, posy, clss){
	if(clss !="tip"){
		$(idTooltip).setStyle('top', (posy-10)+'px');
		$(idTooltip).setStyle('left', (posx+20)+'px');
	}else{
		$(idTooltip).setStyle('top', (posy-40)+'px');
		$(idTooltip).setStyle('left', posx+'px');
	}
}

function posManager(e, idTooltip, clss){
	var posx=0,posy=0;
	if(e==null) e=window.event;
	if(e.pageX || e.pageY){//FFx
		posx=e.pageX;
		posy=e.pageY;
	}else if(e.clientX || e.clientY){//IE
		if(document.documentElement.scrollTop){
			posx=e.clientX-document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
		}else{
			posx=e.clientX-document.body.scrollLeft;
			posy=e.clientY-document.body.scrollTop;
		}
	}
	setPos(idTooltip, posx, posy, clss);
}
/*
function addTextNode(idTooltip, sTitle, bChek){
	var oNwElement = document.createElement("span");
	var oNwTextNode = document.createTextNode(sTitle);
	oNwElement.appendChild(oNwTextNode);
	
	var oOldElement = document.getElementById(idTooltip).firstChild;
	var oOldTextNode = document.createTextNode(sTitle);
	oOldElement.appendChild(oOldTextNode);
	var parentDiv = oOldElement.parentNode  
	parentDiv.replaceChild(oNwElement, oOldElement);
}
*/
function iniTooltips(id, tag, clss, tip){
	var links,i,h;	
	var idTooltip = tip;
	
	if(!document.getElementById || !document.getElementsByTagName || !document.getElementById(id)) return;
	links=getElementsByClassName(document.getElementById(id), tag, clss);
	var myFx = new Fx.Style(idTooltip, 'opacity');
	
	for(i=0;i<links.length;i++){
		var el = links[i];
		var sTemp;
	
		el.onmouseover=function(e){
			sTemp = this.name;
			var sTitle = this.name;
			if (sTitle){
				$(idTooltip).setHTML(sTitle);
				//addTextNode(idTooltip, sTitle);
				this.removeAttribute('name');	
			}
			if (isIE && clss !="tip"){$(idTooltip).setStyle('display', 'block');}
			else{
				myFx.set(0);
				$(idTooltip).setStyle('display', 'block');
				myFx.custom(0,1);
			}
			//fadeIn(document.getElementById(idTooltip));
			posManager(e, idTooltip, clss);
		}
		
		el.onmouseout=function(e){
			this.name = sTemp;
			$(idTooltip).setStyle('display', 'none');
		}
		
		el.onmousemove=function(e){
			posManager(e, idTooltip, clss);
		}
	}
}


