
/********************************************************************************************
 * Función replaceLatinCharacters	Nov 2006	Ivan Salazar								*
 * Función que sustituye lso caracter especiales por el código HTML para poder enviarlos 	*
 * por Mail correctamente																	*
 ********************************************************************************************/
function ReplaceLatinCharacters(s) {
	// VOCALES ACENTUADAS
	s = s.replace(/á/g, "&aacute;");
	s = s.replace(/é/g, "&eacute;");
	s = s.replace(/í/g, "&iacute;");
	s = s.replace(/ó/g, "&oacute;");
	s = s.replace(/ú/g, "&uacute;");
	s = s.replace(/Á/g, "&Aacute;");
	s = s.replace(/É/g, "&Eacute;");
	s = s.replace(/Í/g, "&Iacute;");
	s = s.replace(/Ó/g, "&Oacute;");
	s = s.replace(/Ú/g, "&Uacute;");
	// Ñ
	s = s.replace(/ñ/g, "&ntilde;");
	s = s.replace(/Ñ/g, "&Ntilde;");
	// VOCALES CON DIERECIS
	s = s.replace(/ä/g, "&auml;");
	s = s.replace(/ë/g, "&euml;");
	s = s.replace(/ï/g, "&iuml;");
	s = s.replace(/ö/g, "&ouml;");
	s = s.replace(/ü/g, "&uuml;");
	s = s.replace(/Ä/g, "&Auml;");
	s = s.replace(/Ë/g, "&Euml;");
	s = s.replace(/Ï/g, "&Iuml;");
	s = s.replace(/Ö/g, "&Ouml;");
	s = s.replace(/Ü/g, "&Uuml;");
	// VOCALES ACENTUADAS DE FORMA GRAVE
	s = s.replace(/à/g, "&agrave;");
	s = s.replace(/è/g, "&egrave;");
	s = s.replace(/ì/g, "&igrave;");
	s = s.replace(/ò/g, "&ograve;");
	s = s.replace(/ù/g, "&ugrave;");
	s = s.replace(/À/g, "&Agrave;");
	s = s.replace(/È/g, "&Egrave;");
	s = s.replace(/Ì/g, "&Igrave;");
	s = s.replace(/Ò/g, "&Ograve;");
	s = s.replace(/Ù/g, "&Ugrave;");
	// OTROS CARACTERES
	s = s.replace(/¡/g, "&iexcl;");
	s = s.replace(/¿/g, "&iquest;");		
	s = s.replace(/(['])/g, "&lsquo;");
	s = s.replace(/(["])/g, "&ldquo;");
	s = s.replace(/\n/g, "??");
	s = s.replace(/\r/g, "##");			
	return s;
}

/********************************************************************************************
 * Función GetObjectByID	Nov 2006	Ivan Salazar										*
 * Esta función regresa como un objeto el elemento seleccionado de la página en base a su	*
 * atributo "ID" validando por cada tipo de browser											*
 ********************************************************************************************/
function GetObjectByID(objectID) {
	// Si el browser es NS 4 o menor
	if(document.layers)
		return document.layers[objectID];
	// Si el browser es IE 4 o +	
	else if(document.all)
		return eval('document.all.' + objectID);
	else
		return document.getElementById(objectID);
}

// Función para obtener el objeto BODY dependiendo de l a versión de IE
function truebody(){
	return ( document.compatMode && document.compatMode != "BackCompat" ) ? document.documentElement : document.body;
}

/********************************************************************************************
 * Función ReturnWindowDimentions	Nov 2006	Ivan Salazar								*
 * Esta función regresa las dimensiones de la ventana en base al del atributo dimentionType *
 ********************************************************************************************/
function ReturnWindowDimentions(dimentionType) {
	// Calculamos el área disponible de la ventana activa
	if(document.all) {
		intWindowWidth = truebody().offsetWidth;
		intWindowHeight = truebody().offsetHeight;
	}	
	else if(document.layers) {
		intWindowWidth = window.innerWidth;
		intWindowHeight = window.innerHeight;
	} 
	else if(document.getElementById) {
		intWindowWidth = self.innerWidth;
		intWindowHeight = self.innerHeight;
	}
	// Validamos el valor a regresar
	switch (dimentionType) {
		case "insideWidth" : 
			return intWindowWidth
			break;
		case "insideHeight" :	
			return intWindowHeight
			break;
		default :
			return 0;	
	}
}

/********************************************************************************************
 * Función CenterLayer	Nov 2006	Ivan Salazar											*
 * Función para centrar un layer en la página de acuerdo a sus dimensiones y el área		*
 * disponible																				*
 ********************************************************************************************/	
function CenterLayer(objectLayer) {
	// Obtenemos el ancho y el alto del layer
	var intLayerWidth = parseInt(objectLayer.style.width.substring(0, objectLayer.style.width.length - 2));
	var intLayerHeight = parseInt(objectLayer.style.height.substring(0, objectLayer.style.height.length - 2));
	
	// Asignamos la posición al layer de acuerdo al tamaño
	objectLayer.style.top = ( ( ReturnWindowDimentions("insideHeight") - intLayerHeight ) / 2 ) + "px";
	objectLayer.style.left = ( ( ReturnWindowDimentions("insideWidth") - intLayerWidth ) / 2 ) + "px";
}

/********************************************************************************************
 * Función CoverWindow/UncoverWIndow	Nov 2006	Ivan Salazar							*
 * Función que cubre/descubre la pantalla del usuario para que no pueda ejecutar otra acción*
 * mientras se abre un dialog box															*
 ********************************************************************************************/
function CoverWindow() {
	// Se crean los objetos de los layers
	var coverLayer = GetObjectByID("coverLayer");
	// Definimos el tamaño del layer que cubre la página
	coverLayer.style.height = (ReturnWindowDimentions("insideHeight") * 4)  + "px";
	coverLayer.style.width = (ReturnWindowDimentions("insideWidth") * 2) + "px";
	// Se posiciona el layer
	coverLayer.style.top = "0px";
	coverLayer.style.left = "0px";
	// Se muestra el layer
	coverLayer.style.visibility = "visible";
}

function UncoverWindow() {
	// Se crean los objetos de los layers
	var coverLayer = GetObjectByID("coverLayer");
	// Se oculta el layer
	coverLayer.style.visibility = "hidden";
}

/********************************************************************************************
 * Función InitCoverWindow	Nov 2006	Ivan Salazar										*
 * Funcion que inicializa el layer para bloquear fondo de pagina							*
 ********************************************************************************************/
function InitCoverWindow() {
	document.write('<div id="coverLayer"></div>');
}