function trim (cadena)
{
	var i;
	var cadena2 = cadena;
	var cadena3;
	
	if (cadena.length == 0) return cadena;
	
	for (i = 0; i < cadena.length; i++)
	{
		if (cadena.substr (i, 1) == ' ')
			cadena2 = cadena.substr (i + 1);
		else
			break;
	}

	if (cadena2.length == 0) return cadena2;
	
	cadena3 = cadena2;
	
	for (i = cadena2.length - 1; i >= 0; i--)
	{
		if (cadena2.substr (i, 1) == ' ')
			cadena3 = cadena2.substr (0, i);
		else
			break;
	}

	return cadena3;
}

function fn_Escape (cadena)
{
	var resultado = escape (cadena);
	
	while (resultado.indexOf ("+") >= 0)
		resultado = resultado.replace ("+", "%2B");

	return resultado;
}

function fn_txt_Busqueda_KeyPress (evento, paramIdioma, idiomaIngles)
{	
	if (!evento)
		var evento = window.event;
		
	if (evento.keyCode == 13)
		fn_Buscar (paramIdioma, idiomaIngles);
}

function fn_Buscar (paramIdioma, idiomaIngles)
{
	var textoBusqueda = trim (document.getElementById ("txt_Busqueda").value);

	if (textoBusqueda == "")
	{
		if (idiomaIngles)
			alert ("Please enter a search string.");
		else
			alert ("Debe ingresar una palabra para la búsqueda.");

		document.getElementById ("txt_Busqueda").focus ();
		return false;
	}
	
	document.getElementById ("tablaGeneral").style.cursor = "wait";
	window.location.href = "./resultado.php?keyword=" + fn_Escape (textoBusqueda) + paramIdioma;
}

// Validamos que el string recibido como parámetro sólo contenga letras y números.
function fn_ValidarSoloLetrasNumeros (strTexto)
{
	var i;
	var caracter;

	for (i = 0; i < strTexto.length; i++)
	{
		codigo = strTexto.charCodeAt (i);
		
		// Rangos válidos: 48-57, 65-90 y 97-122.
		if ((codigo < 48 || codigo > 57) && (codigo < 65 || codigo > 90) && (codigo < 97 || codigo > 122))
			return false;
	}
	
	return true;
}

function fn_InvocarAjax_Post (archivo, parametros)
{
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest ();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject ("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlHttp = new ActiveXObject ("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert ("Su navegador no soporta AJAX.");
				return false;
			}
		}
	}
	
	xmlHttp.open ("POST", archivo, true);	
	xmlHttp.onreadystatechange = fn_ProcesarRespuestaAjax;
	xmlHttp.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader ("Content-length", parametros.length);
	xmlHttp.setRequestHeader ("Connection", "close");
	xmlHttp.send (parametros);
}
	
function fn_ProcesarRespuestaAjax ()
{
	var resultado;
	
	if (xmlHttp.readyState == 4)
	{
		resultado = fn_QuitarBasuraExtremos (xmlHttp.responseText);
		eval (resultado);
	}
}

function fn_QuitarBasuraExtremos (pvstr_Texto)
{
	var lvstr_Cadena = pvstr_Texto;
	var lvstr_Limpia = pvstr_Texto;
		
	if (lvstr_Cadena.length > 0)
	{
		for (i = 0; i < lvstr_Cadena.length; i++)
		{
			if (lvstr_Cadena.substr (i, 1) == " " || lvstr_Cadena.charCodeAt (i) == 10 || lvstr_Cadena.charCodeAt (i) == 13)
				lvstr_Limpia = lvstr_Cadena.substr (i + 1);
			else
				break;
		}
	
		lvstr_Cadena = lvstr_Limpia;
	
		for (i = lvstr_Cadena.length - 1; i >= 0; i--)
		{
			if (lvstr_Cadena.substr (i, 1) == " " || lvstr_Cadena.charCodeAt (i) == 10 || lvstr_Cadena.charCodeAt (i) == 13)
				lvstr_Limpia = lvstr_Cadena.substr (0, i);
			else
				break;
		}
	}
	
	return lvstr_Limpia;
}

function fn_ValidarUnEmailValido (pvStr_Cadena)
{
	pvStr_Cadena = trim (pvStr_Cadena);
	
	var arroba = pvStr_Cadena.indexOf ("@");
	var i;
	
	if (arroba == -1)
		return false;
		
	var arroba2 = pvStr_Cadena.indexOf ("@", arroba + 1);
	
	if (arroba2 != -1)
		return false;
	
	if (arroba == 0)
		return false;
	
	if (arroba == pvStr_Cadena.length - 1)
		return false;
	
	for (i = 0; i < pvStr_Cadena.length; i++)
	{
		if (pvStr_Cadena.substr (i, 1) == " " || pvStr_Cadena.substr (i, 1) == ";" || pvStr_Cadena.substr (i, 1) == "," || pvStr_Cadena.substr (i, 1) == String.fromCharCode (34) || pvStr_Cadena.substr (i, 1) == String.fromCharCode (39))
			return false;
	}

	return true;
}

function fn_ColocarSaltosDeLineaHTML (cadena)
{
	var i = 0;
	var resultado = "";
	var caracter;
	var caracterSalto = "";
	
	if (cadena != "")
	{	
		do
		{
			caracter = cadena.substr (i, 1);
			
			if (caracter == String.fromCharCode (10) && (caracterSalto == "" || caracterSalto == "10"))
			{
				resultado = resultado + "<br>";
				caracterSalto = "10";
			}
			else if (caracter == String.fromCharCode (13) && (caracterSalto == "" || caracterSalto == "13"))
			{
				resultado = resultado + "<br>";
				caracterSalto = "13";
			}
			else
				resultado = resultado + caracter;
				
			i = i + 1;
		}
		while (i < cadena.length);
	}
	
	return resultado;
}

function fn_ResaltarItemBarraIzquierda (idItem, resaltar)
{
	if (idItem == "MasRubros" || idItem == "MasMarcas")
	{
		if (resaltar)
			document.getElementById ("itemBarraIzquierda_" + idItem).className = "letraBotonesMasRubros_MouseOver";
		else
			document.getElementById ("itemBarraIzquierda_" + idItem).className = "letraBotonesMasRubros";
	}
	else
	{
		if (resaltar)
			document.getElementById ("itemBarraIzquierda_" + idItem).className = "letraBotonesIzquierda_MouseOver";
		else
			document.getElementById ("itemBarraIzquierda_" + idItem).className = "letraBotonesIzquierda";
	}
}

function fn_ResaltarItemListadoMarcasRubros (idItem, resaltar)
{
	if (resaltar)
		document.getElementById ("itemListadoMarcasRubros_" + idItem).className = "letraItemListadoMarcasRubros_MouseOver";
	else
		document.getElementById ("itemListadoMarcasRubros_" + idItem).className = "letraItemListadoMarcasRubros";
}

window.onscroll = fn_Scroll;

function fn_Scroll ()
{
	var objeto1 = document.getElementById ("div_EnviarMail");
	var objeto2 = document.getElementById ("div_Publique");
	var objeto3 = document.getElementById ("div_DonConsulta");
	var alto, top;
	
	if (objeto1)
	{	
		if (objeto1.style.display == "block")	
		{
			alto = objeto1.clientHeight;		
			top = parseInt ((document.body.clientHeight - alto) / 2) + document.body.scrollTop;
		
			objeto1.style.top = top.toString () + "px";
		}
	}

	if (objeto2)
	{	
		if (objeto2.style.display == "block")	
		{
			alto = objeto2.clientHeight;		
			top = parseInt ((document.body.clientHeight - alto) / 2) + document.body.scrollTop;
		
			objeto2.style.top = top.toString () + "px";
		}
	}

	if (objeto3)
	{	
		if (objeto3.style.display == "block")	
		{
			alto = objeto3.clientHeight;		
			top = parseInt ((document.body.clientHeight - alto) / 2) + document.body.scrollTop;
		
			objeto3.style.top = top.toString () + "px";
		}
	}
}
