
var speed = 0.2;
var shadeOpacity = 0.5;

function description(name){
	
	new Ajax.Request('/realityrules/descriptions.php?response=xml',{
			postBody: 'name='+name,
			onSuccess: descriptionHandler,
			onFailure: function() { alert('Sorry, an error occured.'); }
			});	
	
	return false;
	
	}


var descriptionHandler = function(t) {
		
	var xmlDoc = t.responseXML.documentElement;

	var success = xmlDoc.getElementsByTagName('success');
	success = success[0].childNodes[0].nodeValue;
		
	if(success=='true') {
		
		var content = xmlDoc.getElementsByTagName('content');
		content = content[0].childNodes[0].nodeValue;
				
		$('description').style.top = ($('description').positionedOffset().top - $('description').viewportOffset().top + 150)+'px';

		$('description').innerHTML = content;

		$('description').setOpacity(0);		
		$('description').show();		
		new Effect.Opacity('description', { duration: speed, from: 0, to: 1.0 });

		shade();
		
		Event.observe(document, 'mouseup', descriptionCloseHandler);
		
		}
	else alert(success);
	
	}



function descriptionCloseHandler(event){
	if(!Position.within($('description'), event.pointerX(), event.pointerY()))
		closeDescription();
	}


function closeDescription(){

	new Effect.Opacity('description', { duration: speed, from: 1.0, to: 0, afterFinish: function(){ $('description').hide(); } });
	new Effect.Opacity('shade', { duration: speed, from: shadeOpacity, to: 0, afterFinish: function(){ $('shade').hide(); } });
	
	Event.stopObserving(document, 'mouseup', descriptionCloseHandler);
	}


function shade(){
	
	var dimensions = $('wrap').getDimensions();
	
	$('shade').setStyle({
						width: dimensions.width+'px',
						height: dimensions.height+'px'
						});
	
	$('shade').setOpacity(0);
	$('shade').show();
	
	new Effect.Opacity('shade', { duration: speed, from: 0, to: shadeOpacity });
	
	
	}
