// v0.1
// Communi message services
// 
// Requirements: Spry framework v1.6
//
// Copyright 2007 Communi.TV.  All rights reserved.

function printMessage(area, message) {
	var elem = Spry.$(area);
	if (elem) {
		Spry.Utils.setInnerHTML(area, message);
	} else {
		alert(message);
	}
}

function printError(area, req) {
	var messageXML = req.xhRequest.responseXML;
	
	// fix IE bug
	if (!messageXML || !messageXML.firstChild) {
		messageXML = Spry.Utils.stringToXMLDoc(escape(req.xhRequest.responseText));
		if (!messageXML || !messageXML.firstChild) {
			printMessage(area, 'Error interno en el servidor.');
			return;
		}
	}
		
	var errorxml = Spry.XML.documentToObject(messageXML);
	if (errorxml.exception) {
		if (errorxml.exception.cause) {
			printMessage(area, errorxml.exception.cause.message._value());
		} else {
			printMessage(area, errorxml.exception.message._value());
		}
	} else {
		printMessage(area, 'Error interno en el servidor.');
	}
}

function cleanMessageArea(area) {
	var elem = Spry.$(area);
	if (elem) {
		printMessage(area, "");
	}
}

function showMessage(message, timeInMillis) {
	if (!timeInMillis) {
		timeInMillis = 2000;	
	}
	
	printMessage("toolsMessageArea", message);
	mostrar_toolbar('toolsMessageBox');
	setTimeout("ocultar_toolbar('toolsMessageBox')", timeInMillis);
}

function showBox(box) {
	var elem = Spry.$(box);
	if (elem) {
		elem.style.display = 'block';
	}
}

function closeBox(box) {
	var elem = Spry.$(box);
	if (elem) {
		elem.style.display = 'none';
	}
}