
// Display messages that fade away...
var message = {
	// An errornous message
	error: 1,

	// A successful message
	success: 2,
	
	init: function() {
		var error = document.createElement('div');
		error.className = 'H2R';
		error.style.position = 'absolute';
		//error.style.top = '-1000px';
		document.body.appendChild(error);
		
		var success = document.createElement('div');
		success.className = 'H2GR';
		success.style.position = 'absolute';
		//success.style.top = '-1000px';
		document.body.appendChild(success);
	},

	// Display a message
	show: function(content, type, title) {
		var container, header, description, container_outer
		
		description = document.createElement('div');
		header = document.createElement('div');
		container_outer = document.createElement('div');
		container = document.createElement('div');
		
		description.innerHTML = content;
		
		container.appendChild(header);
		container.appendChild(description);
		container_outer.style.marginTop = '5px';
		container_outer.style.position = 'absolute';
		container_outer.style.top = '-1000px';
		container_outer.style.overflow = 'hidden';
		
		if (type == message.error) {
			container.className = 'error-head';
			
			header.className = 'H2R';
			header.innerHTML = title || 'Error';
			
			description.className = 'copyRF';
		} else if (type == message.success) {
			container.className = 'success-head';
			
			header.className = 'H2GR';
			header.innerHTML = title || 'Success';
			
			description.className = 'copyGRF';
		}

		YAHOO.util.Dom.setStyle(container_outer, 'opacity', 0); 
		//YAHOO.util.Dom.setStyle(container_outer, 'height', 1); 
		
		container_outer.appendChild(container);
		container_outer.style.width = $('admin-content').offsetWidth.toString() + 'px';
		
		// $('admin-content').insertBefore(container_outer, $('admin-content').childNodes[2]);
		$('admin-content').insertBefore(container_outer, $('message_container'));
		
		var oldHeight = container_outer.offsetHeight;
		
		// YAHOO.util.Dom.setStyle(container_outer, 'height', 1); 
		
		var animFadeIn = new YAHOO.util.Anim(container_outer, { opacity: { to: 1 } }, 0.3, YAHOO.util.Easing.easeOut);
		
		
		
		if (message.animFadeOut) {
			message.animFadeOut.onComplete.subscribe(function() {
				container_outer.style.position = 'relative';
				container_outer.style.top = '0px';
				container_outer.style.display = 'block';
				
				animFadeIn.animate();
			});
			
			message.animFadeOut.animate();
		} else {
			container_outer.style.position = 'relative';
			container_outer.style.top = '0px';
			container_outer.style.display = 'block';
			
			YAHOO.util.Dom.setStyle(container_outer, 'height', 1); 

			var animOpen = new YAHOO.util.Anim(container_outer, { height: { to: oldHeight } }, 0.3, YAHOO.util.Easing.easeOut);
			animOpen.onComplete.subscribe(function() { animFadeIn.animate(); });
			
			animOpen.animate();
		}

		// Prepare for next fade out
		//var animClose = new YAHOO.util.Anim(container_outer, { height: { to: 1 } }, 0.1, YAHOO.util.Easing.easeOut);
		message.animFadeOut = new YAHOO.util.Anim(container_outer, { opacity: { to: 0 } }, 0.3, YAHOO.util.Easing.easeOut);
		message.animFadeOut.onComplete.subscribe(function() { container_outer.style.display = 'none'; });
	}
};
