function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
function hint(c){
	items = getElementsByClass(c);
	for(i=0; i<items.length; i++){
		items[i].onmouseover = function(){
			drawHint(this);	
		}
		items[i].onmouseout = function(){
			removeHint();
		}	
	}
}
function drawHint(t){
	getPosition(t);
	if(document.getElementById('hint_holder')){
		removeHint();	
	}
	hint = document.createElement('div');
	hint.setAttribute('id','hint');
	hint.innerHTML = t.alt ? t.alt : t.rel;
	hint_holder = document.createElement('div');
	hint_holder.setAttribute('id','hint_holder');
	pointer = document.createElement('div');
	pointer.setAttribute('id','pointer');
	pointer.innerHTML = "&nbsp;";
	hint_holder.appendChild(hint);
	hint_holder.appendChild(pointer);
	document.body.appendChild(hint_holder);
	hint_holder.style.top = t.y - hint_holder.scrollHeight-10 + "px";	
	hint_holder.style.left = t.x + "px";
	pointer.style.top = hint_holder.scrollHeight -1+ "px";
	pointer.style.left = t.w/2 -8+ "px";
}
function getPosition(t){
	t.w = t.scrollWidth;
	t.h = t.scrollHeight;
	t.x = t.y = 0;
	obj = t;	
	while(obj != document.body){	
		t.x += obj.offsetLeft;
		t.y += obj.offsetTop;
		obj = obj.offsetParent;		
	}
	return t;
}
function removeHint(){
	hint_holder = document.getElementById('hint_holder');
	if(hint){
		document.body.removeChild(hint_holder);
	}
}