var __current = null;
addEvent(window,'load',function() {

	var spans = document.getElementsByTagName('span');
	var len = spans.length;
	for( var i=0; i < len ; i++) {

		if(spans[i].form_name!='') {
			addEvent(spans[i],'mouseover',function(event) {
				target = event.srcElement || event.target;
				over(target.getAttribute('form_name'));
			});
/*
			addEvent(spans[i],'mouseout',function(event) {
				target = event.srcElement || event.target;
				over(target.getAttribute('form_name'));
			});
*/
		}
	}

});


function over(form_name) {
	try {
		var ele = document.getElementById(form_name);
		disp = getStyle(ele,'display');
		if(disp=='none') {
			show(ele);
		} else if(disp=='block') {
			hide(ele);
		}
	} catch(er) {
		alert('id: ' + form_name + ' was not found');
	}
}


//show layer
function show(ele) {
	if(__current!=null) hide(__current);
	mp = getPointer();
	with (ele.style) {
		top = mp.y + 10 + 'px';
		left = mp.x + 'px';
		display = 'block';
	}
	__current = ele;
}

//hidden layer
function hide(ele) {
	if(typeof(ele)=='string') ele = document.getElementById(ele);
	if(typeof(ele)!='object') ele = __current;
	ele.style.display = 'none';
	__current = null;
}

//add event
function addEvent(target,ev,func) {
	if(target.addEventListener) {
		target.addEventListener(ev,func,false);
	} else if(target.attachEvent){
		target.attachEvent('on'+ev,func);
	} else {
		target['on'+ ev ] = function() {
			if(window.onload) {
				window.onload;
			}
			func;
		}
	}
}

//get mouse position
function getPointer() {

	cur = new Object();
	if(document.all) {
		cur['x'] = document.body.scrollLeft+event.clientX;
		cur['y'] = document.body.scrollLeft+event.clientY;
	} else if(document.layers||document.getElementById) {
		cur['x'] = event.pageX;
		cur['y'] = event.pageY;
	}
	return cur;
}

//get element style
function getStyle(element,stype) {
	var n = stype.indexOf('-');
	var st='';
	if(n>0) {
		leng = stype.length;
		for(var s=0; s < leng;s++) {
			c = stype.substr(s,1);
			if(s==(n+1)) { c = (c+'').toUpperCase(); }
			if(c=='-') continue;
			st += c;
		}
	} else {
		st = stype;
	}
	if( element.currentStyle ) {
		style = element.currentStyle[st];
	} else if( document.defaultView ) {
		style = document.defaultView.getComputedStyle(element,'').getPropertyValue(stype);
	}
	return style;
}

//event ie emulation
if(typeof(window.event)!='object'){
	(function(){
		 var events = ["mousedown", "mouseover", "mouseout", "mousemove","mousedrag", "click", "dblclick"];
		for (var i = 0; i < events.length; i++){
			window.addEventListener(events[i], function(e){
				window.event = e;
			}, true);
		}
	}());
};