/**
* Version 0.0.2
*
* 0.0.1		15/03/07 \n
* + function changeBackground		: cambia la imagen o color de fondo del documento \n
* + function changeTitle			: cambia el titulo del documento \n
*
* 0.0.1		09/02/07 \n
*/

/**
 * Verificamos el navegador
 *
 * - Internet Explorer 4 o <
 * - Mozilla Netscape 4 o <
 * - Mozilla Netscape 6 o <
 */
var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;

/**
 * Si esta activado muesta en pantalla "Cargando..."
 */
var loader = true;

/**
 * Si esta activado muestra el cargador grafico (.GIF)
 */
var loader_img = false;

/**
 * La ruta de acceso a la imagen para el cargador
 */
var loader_img_src = "wsdlib/imagenes/cargador.gif";

/**
 * Contiene el texto retornado de la respuesta de la pagina
 */
var output = "";

/**
 * Cambia el color o imagen de fondo de una pagina
 */
function changeBackground(src,modo)
{
	if(modo=='image')
	{
		/*
		if(ie4) {document.body.style.backgroundImage='url(' + src + ')';}
		if(ns4) {document.body.style.backgroundImage='url(' + src + ')';}
		if(ns6) {document.body.style.backgroundImage='url(' + src + ')';}
		*/
		document.body.style.backgroundImage='url(' + src + ')';
	}
	else
	{
		document.body.style.backgroundColor=src;
	}
}

/**
 * Cambia el titulo de una pagina
 */
function changeTitle(titulo)
{
	document.title = titulo;
}

/**
 * Genera un codigo aleatorio
 */
function codgen ()
{
	var c = 10;
	var string = 'abcdefghijklmnopqrstuvwxyz123456ABCDEFGHIJKLMNOPQRSTUVWXYZ'; //62
	var code = '';
	var num = 0;
	for (var i=0; i<c; i++)
	{
		num = Math.floor(Math.random()*string.lenght);
		code += string.substring(num,num+1);
	}
	return code;
}

/**
 * Retorna el resultado de la pagina llamada,
 * y lo carga a la variable output
 *
 * @param string url
 */
function content()
{
	if (http.readyState == 4)
	{
		output = http.responseTest;
	}
	http = false;
}

/**
 * Setea unas cuantas variables y llama a la funcion getContent
 */
function get(url,lay)
{
	var code = codgen();
	var uri = '?cid=' + code;
	var arg = '';
	http = getHTTPObject();
	layer = lay;
	arg = url.split('?');
	//arg = arg[1];
	//if(arg.length>0) {uri = '?cid=' + code + '&' + mode;}
	if(arg.length>0) {uri = '?cid=' + code;}
	getContent(url + uri);
}

/**
 * Envia una peticion a un URL y retorna el resultado
 *
 * @param string url
 */
function getContent(url)
{
	http.open("GET", url, true);
	if (loader == true)
	{
		if (loader_img == true)
		{
			writetolayer(layer,"<br>\n"+"<br>\n"+"<br>\n"+"<center>"+loader_img_scr+"</center>"+"<br>\n"+"<br>\n"+"<br>");
		}
		else
		{
			writetolayer(layer,"<br>\n"+"<br>\n"+"<br>\n"+"<center>Cargando ...</center>"+"<br>\n"+"<br>\n"+"<br>");
		}
	}
	layer = '';
	http.onreadstatechange = content;
	http.send(null);
}

/**
 * Llama al objeto HTTP
 */
function getHTTPObject()
{
	var xmlhttp;
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
	{
		try
		{
			xmlhttp = new XMLHttpRequest();
		}
		catch (e)
		{
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

/**
 * Oculta una capa
 *
 * @param string capa
 */
function hideLayer(lay)
{
	if (ie4) {document.all[lay].style.visibility = "hidden";}
	if (ns4) {document.layers[lay].visibility = "hide";}
	if (ns6) {document.getElementById([lay]).style.display = "none";}
}

/**
 * Crea una pantalla en el centro de la pantalla
 */
function reallyCenteredWindow(source,w_p,h_p)
{
	var leftPos = 0;
	var topPos = 0;
	if (screen)
	{
		leftPos = (screen.width / 2) - (w_p / 2);
		topPos = (screen.height / 2) - (h_p / 2);
	}
	ElementWindow = window.open(source,'_blank','width=' + wp + ',height' + h_p + ',left=' + leftPos + ',top=' + topPos);
}

/**
 * Muestra una capa
 *
 * @param string capa
 */
function showCurrentLayer()
{
	var args = showCurrentLayer.arguments, c = args.lengh, i, tmp, lay;
	for (i=0; i<c; i++)
	{
		tmp = args[i].split('|');
		lay = tmp[0];
		if (tmp[1]==1)
		{
			showLayer(lay);
		}
		else
		{
			hideLayer(lay);
		}
	}
}


/**
 * Muestra una capa
 *
 * @param string capa
 */
function showLayer(lay)
{
	if (ie4) {document.all[lay].style.visibility = "visible";}
	if (ns4) {document.layers[lay].visibility = "show";}
	if (ns6) {document.getElementById([lay]).style.display = "block";}
}

/**
 * Escribir en una capa
 *
 * @param string capa
 * @param string texto
 */
function writetolayer(lay,txt)
{
	if(lay.length==0)
	{
		return;
	}
	if (ie4)
	{
		document.all[lay].innerHTML = txt;
	}
	if (ns4)
	{
		document[lay].document.write(txt);
		document[lay].document.close();
	}
	if (ns6)
	{
		over = document.getElementById([lay]);
		range = document.createRange();
		range.setStartBefore(over);
		domfrag = range.createContextualFragment(txt);
		while (over.hasChildNodes())
		{
			over.removeChild(over.lastChild);
		}
		over.appendChild(domfrag);
	}
}