var msj_estandar="complete todos los campos obligatorios";

//fraccion a mostrarse
var ancho=50;

//rutina de mensaje deslizante
function desliza()
{
	var aux;
	aux=mensaje.substring(0,1);
	document.getElementById("noticias").value=mensaje.substring(0,ancho);
	mensaje=mensaje.substring(1,mensaje.length) + aux;
	setTimeout("desliza()",100);
}

function limpiar()
{
	var formu=document.formu;
	var obj=formu.elements;
	
	for (var i=0; i < obj.length; i++)
	{		
		switch (obj[i].type)
		{
			case "text":
			case "hidden":
			case "textarea":
			case "password":
				obj[i].value="";
				break;
			case "select-one":
				obj[i].selectedIndex=-1;
				break;				
		}
	}	
}

function cambiar_bandera()
{
		var formu=document.formu;
		var id_pais=formu.id_pais;
		var bandera=document.getElementById("bandera");
		if (id_pais.selectedIndex>0)
		{
			if (id_pais.options[id_pais.selectedIndex].value=="fk")
			{
				bandera.src="img/flags/ar.gif";
				bandera.title="Islas Malvinas Argentinas";
			} else {
				bandera.src="img/flags/"+id_pais.options[id_pais.selectedIndex].value+".gif";
				bandera.title=id_pais.options[id_pais.selectedIndex].text;
			}
		}
}

function recuperar_clave()
{
	var formu=document.formu;
	var email=formu.email;
	if (email.value=="")
	{
		alert ("<?=INGRESE_EMAIL?>");		
	} else {
		var w=window.open("recuperar_clave.php?e=" + email.value,"recuperar","status=no,location=no,scrollbars=no,resizable=no,width=200px,height=150px");
		if (!w.top)
			alert ("<?=POP_UP_BLOQUEADO?>");
	}	
}

//oculta o muestra un objeto
function ocultar(id,tipo)
{
	var obj=document.getElementById(id);
	if (obj)
	{
		if (tipo=="display")
		{
			if (obj.style.display=="none")
				obj.style.display="block";
			else
				obj.style.display="none";
		} else {
			if (obj.style.visibility=="visible")
				obj.style.visibility="hidden";
			else
				obj.style.visibility="visible";
		}
	}
}

function vista_previa()
{
	var formu=document.formu_respuesta;	
	var vista_previa=document.getElementById("vista_previa_txt");
	vista_previa.value=formu.respuesta.value;		
}

function randomnumber(num1, num2)
{
	num1 = parseInt(num1);
	num2 = parseInt(num2);
	if(num1 >= num2)
	{
		alert("Number 2 should be greater than Number 1");
	}
	else
	{
		var generator = Math.random()*(num2-num1);
		generator = Math.round(num1+generator);
		return generator;
	}
}

function ajax_load(url,pars,id_contenedor)
{
	if (pars != "")
		pars+="&";
	pars+="hash=" + randomnumber(0,999999);
	
	var myAjax = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete: new Function("originalRequest","{$('" + id_contenedor + "').innerHTML=originalRequest.responseText;}")
		});
}

function generar_excel()
{
	ajax_load('exportar_excel.php','','span_excel');
	checkear_excel();
}

function checkear_excel()
{
	var obj=document.getElementById("descargar");
	
	if (!obj)
		setTimeout("checkear_excel()",1000);
	else {
			var enlace=document.getElementById("reporte_excel");
			var src=enlace.href;						
			var w=window.open(src,"excel");
			
			if (!w)
			{
				enlace.innerHTML="popups bloqueados";
				alert ("Su navegador esta bloqueando ventanas emergentes (pop ups). Por favor revise la configuracion del mismo e intente nuevamente.");
			}
	}
}

/* inicio funciones para sugerir */
var nom_tabla;
var guia;
var valor;
var campos;
var proyeccion;
var receptor;
var filros;
function cargar_sugerencias(nom_tabla_,guia_,valor_,campos_,proyeccion_,filtros_)
{
	nom_tabla=nom_tabla_;
	guia=guia_;
	valor=valor_;
	campos=campos_;	
	proyeccion=proyeccion_;
	filtros=filtros_;
	setTimeout("cargar_opciones();",1000*1); //tiempo de respuesta a la sugerencia
}

function cargar_opciones()
{	
	ajax_load("sugerir.inc.php","nom_tabla="+nom_tabla+"&valor="+valor+"&guia="+guia+"&campos="+campos+"&proyeccion="+proyeccion+"&filtros="+filtros,"div_sugerir");
	
	if (document.getElementById("div_sugerir").style.display=="none")
		ocultar("div_sugerir","display");
}

function getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}
	
function inicializar_sugerir(receptor_)
{
	receptor=receptor_;
	pos=getPosition(receptor);
	var sugerir=document.getElementById("div_sugerir");
	sugerir.style.left=pos.x+2;
	sugerir.style.top=pos.y+20;	
}

function depurar(str)
{
	var aux=new String(str);		
	return aux.replace(/^\s+|\s+$/g,"");	
}
var arg=new Array();
function copiar_valores()
{
	for (var i=0 ; i < arguments[0].childNodes.length; i++) 
	{
		arg[i]=(arguments[0].cells[i].innerHTML);		
	}	
	copiar_valores2();
	ocultar("div_sugerir","display");	
}

/* fin funciones sugerir */

/* funciones validacion */
function validar_url(url) {
	var re=/^(http:|https:|ftp:)\/\/\w+(\.\w+)*(\-\w+)?\.\w{2,3}(\:\d{2,6})?(\/{1,2}(\:|\-|\w|\.|\?|\/|\=|\&|\%|\@|\\|\,)*)?$/;
	return re.test(url);
}

function email_valido(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

/* esto lo deberia implementar en casa archivo php que use formularios */
//para que este metodo generico funcione, cada objeto html tiene que tener definido como class=obligatorio
function validar_entrada(id)
{
	if (id)
		var formu=document.getElementById(id);
	else
		var formu=document.formu;	
	
	for (var i=0; i < formu.elements.length; i++)
	{
		//bugfix: no se porque mierda en IE el atributo class lo llaman className, en FF anda con cualquiera
		if (formu.elements[i].className=="obligatorio")
		{				
			switch (formu.elements[i].type)
			{
				case "text":
				case "textarea":
				case "password":
					if (formu.elements[i].value=="")
					{
						alert (msj_estandar);	
						formu.elements[i].focus();
						return false;
					}
					break;
					
				case "select-one":
					if (formu.elements[i].selectedIndex <= 0)
					{
						alert (msj_estandar);	
						formu.elements[i].focus();
						return false;
					}
					break;
				
				case "select-multiple":
					/*
					var opciones=formu.elements[i].options;
					var ok=false;				
					for (var i=0; i < opciones.length; i++)
					{
						ok=ok||opciones[i].selected;					
					}

					if (!ok);
					{
						alert (msj_estandar);	
						formu.elements[i].focus();
						return false;
					}
					*/
					break;
			}
		}	
	}
	return true;	
}

/* fin funciones validacion */