	function showDescription(description, e) {
		var div_left;
		var div_top;
		if (!e) e = frames['iframe'].window.event;
		if (e.pageX || e.pageY) 	{
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY) 	{
			posx = e.clientX;
			posy = e.clientY;
		}
		obj = document.getElementById('content');
		if (obj.offsetParent) {
			div_left = obj.offsetLeft
			div_top = obj.offsetTop
			while (obj = obj.offsetParent) {
				div_left += obj.offsetLeft
				div_top += obj.offsetTop
			}
		}
		posx += div_left;
		posy += div_top;

		var box = document.getElementById('description-box');
		box.innerHTML = description;
		box.style.left = posx + 16 + 'px';
		box.style.top = posy + 0 + 'px';
		box.style.display = 'block';
		
	}
	
	function hideDescription(id_sources) {
		var box = document.getElementById('description-box');
		box.style.display = 'none';
	}
	
	function progressStart() {
		var doc = typeof(parent) != 'undefined' ? parent.document : document;
	
		progress = doc.getElementById('ajax-progress');
		progress.style.display = 'block';
		
		if (typeof parent != 'undefined')
			parent.centerElement(progress);
		else
			centerElement(progress);
	}
	
	function progressEnd() {
		var doc = typeof(parent) == 'undefined' ? document : parent.document;
	
		doc.getElementById('ajax-progress').style.display = 'none';
	}

	function centerElement(id) {
		var doc = typeof(parent) != 'undefined' ? parent.document : document;
		var win = typeof(parent) != 'undefined' ? parent.window : document;
		
		var width = 0;
		var height = 0;
		var scrollTop = 0;
		var scrollLeft = 0;
	
	
		if (typeof(win.innerWidth) == 'number') {
			//Non-IE
			width = win.innerWidth;
			height = win.innerHeight;
		} else if (doc.documentElement && (doc.documentElement.clientWidth || doc.documentElement.clientHeight)) {
			//IE 6+ in 'standards compliant mode'
			width = doc.documentElement.clientWidth;
			height = doc.documentElement.clientHeight;
		} else if (doc.body && (doc.body.clientWidth || doc.body.clientHeight)) {
			//IE 4 compatible
			width = doc.body.clientWidth;
			height = doc.body.clientHeight;
		}
		
		if( typeof( win.pageYOffset ) == 'number' ) {
			//Netscape compliant
			scrollTop = win.pageYOffset;
			scrollLeft = win.pageXOffset;
		} else if (doc.body && (doc.body.scrollLeft || doc.body.scrollTop )) {
			//DOM compliant
			scrollTop = doc.body.scrollTop;
			scrollLeft = doc.body.scrollLeft;
		} else if (doc.documentElement && (doc.documentElement.scrollLeft || doc.documentElement.scrollTop)) {
			//IE6 standards compliant mode
			scrollTop = doc.documentElement.scrollTop;
			scrollLeft = doc.documentElement.scrollLeft;
		}
	
		var top = (height - id.offsetHeight) / 2 + scrollTop;
		var left = (width - id.offsetWidth) / 2 + scrollLeft;
			  
	/*
	alert(
			  "height: " + height + 
			  "\nwidth: " + width + 
			  "\nscrollTop: " + scrollTop + 
			  "\nscrollLeft: " + scrollLeft + 
			  "\ntop: " + top + 
			  "\nleft: " + left
		);
	*/
	
		id.style.left = left + 'px';
		id.style.top = top + 'px';
	}
