//fraccion a mostrarse
var ancho=50;

//rutina de mensaje deslizante
function desliza()
{
	return;
	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);	
}

/* 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;	
}


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;				
			case "radio":
				 obj[i].checked=false;				 
				 break;
		}
	}	
}

function cambiar_bandera(id)
{
	var formu=document.formu;	
	if (id)
	{		
		var id_pais=document.getElementById(id);
		var bandera=document.getElementById("bandera_"+id)
	} else {
		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="<?=URL?>/img/flags/ar.gif";
			bandera.title="Islas Malvinas Argentinas";
		} else {
			//bandera.src="<?=URL?>/img/flags/"+id_pais.options[id_pais.selectedIndex].value+".gif";
			bandera.src="http://www.programadoresfreelance.com/img/flags/"+id_pais.options[id_pais.selectedIndex].value+".gif";
			bandera.title=id_pais.options[id_pais.selectedIndex].text;
		}
	} else {
		bandera.src="http://www.programadoresfreelance.com/img/flags/no_data.gif";
	}
}

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
//si el navegador es firefox o similar, recarga la pagina
function ocultar(id,tipo)
{
/*
	var nombre = navigator.appName
	if (nombre != "Microsoft Internet Explorer")
		window.location.reload();	
*/
	document.body.className="normal";	
	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";
			}
		}
	}	

	//para evitar el pantallazo
	if (id=="contenedor")
		obj.innerHTML="cargando...";
}

function ocultar2(tag,clase,tipo)
{
	var objs=document.getElementsByTagName(tag);
	for (var i=0; i < objs.length; i++)
	{	
		if (objs[i].className==clase)
		{	
			switch (tipo)
			{			
				case "display":
					if (objs[i].style.display==""||objs[i].style.display=="none")
						objs[i].style.display="block";
					else					
						objs[i].style.display="none";
					break;
					
				case "visibility":
					if (objs[i].style.visibility=="hidden"||objs[i].style.visibility=="")
						objs[i].style.visibility="visible";
					else					
						objs[i].style.visibility="hidden";
					break;					
			}	
		}
	}
}

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;
	}
}
var id_contenedor2;
function ajax_load(url,pars,id_contenedor)
{
	id_contenedor2 = 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;}")
		});
}

//dado un id_formulario, un id_target (objeto donde posicionar el resultado) y una url, toma todos los parametros del formulario y llama a ajax_load
function ajax_load_handler(id_form,id_target,url)
{
	var contenedor=document.getElementById("contenedor");
	var formu=document.getElementById(id_form);
	var target=document.getElementById(id_target);
	var params="";	

	for (var i=0; i < formu.elements.length; i++)
	{		
		if (formu.elements[i].name)
		{						
			switch (formu.elements[i].type)
			{
				case "hidden":
				case "text":
				case "textarea":
					params+=formu.elements[i].name+"=";
					params+=formu.elements[i].value;
					params+="&";
					break;
					
				case "select-one":
					params+=formu.elements[i].name+"=";
					params+=formu.elements[i].options[formu.elements[i].selectedIndex].value;
					params+="&";
					break;
					
				case "select-multiple":
					params+=formu.elements[i].name+"=";
					var f=formu.elements[i];
					for (var j=0; j < f.options.length; j++)
					{
						if (f.options[j].selected)
							params+=f.options[j].value+",";
					}			
					params+="&";					
					break;					
					
				case "radio":				
					var f=formu.elements[i];					
					if (f.checked)
					{
						params+=formu.elements[i].name+"=";
						params+=f.value;						
						params+="&";
					}					
			}			
		}
	}	
	ajax_load(url,params,"contenedor");			
	contenedor.style.display="block";		
	var pos=getPosition(target);		
	var pos2=getWindowSize();
	var pos3=(pos2.x/2)-pos.x;
	var pos4=(pos2.y/2)-pos.y;
		
	if (pos3<0 || pos4<0)
	{
		contenedor.style.left=pos.x+"px";
		contenedor.style.top=pos.y-5+"px";	
	} else {	
		contenedor.style.left=pos3+"px";
		contenedor.style.top=pos4+"px";
	}	
	//document.body.className="oscura";
}

function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return {x:myWidth, y:myHeight};
}

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.");
			}
	}
}

//ignorar_validacion=true | false si es false no ejecuta validar_entrada
//sbmt=valor numerico, '0' lo uso para evitar redireccion en el paso anterior y siguiente
//id=lo uso en el paso de las fotos para eliminar una foto
//url lo uso para cambiar la direccion del action del formulario
function continuar(ignorar_validacion,sbmt,id,url)
{
	var formu=document.formu;
	if (sbmt)
		formu.sbmt.value=sbmt;
	if (id)
		formu.id.value=id;
	if (url)
		formu.action=url;
	if (ignorar_validacion || validar_entrada())
		formu.submit();	
}

function mostrar_opcion(id,enlace)
{
	var obj=document.getElementById(id);
	
	if (obj.style.display=="none")
	{
		obj.style.display="block";
			enlace.innerHTML="<img src='img/collapseall.png' border='0' title='ocultar' alt='ocultar / hide'>";
	} else { 
		obj.style.display="none";
		enlace.innerHTML="<img src='img/expandall.png' border='0' title='ocultar' alt='mostrar / show'>";
	}
}

function resaltar(id)
{	
	var etiquetas=document.getElementsByTagName("span");
	var obj=document.getElementById(id);
	
	if (obj.innerHTML=="eliminar resaltado")
		obj.innerHTML="resaltar";
	else
		obj.innerHTML="eliminar resaltado";
		
	for (var i=0; i < etiquetas.length; i++)
	{
		if (etiquetas[i].className=="resaltar")		
			etiquetas[i].className="no_resaltar";
		else {
			if (etiquetas[i].className=="no_resaltar")
				etiquetas[i].className="resaltar";
		}
	}
}

function limpiar_formulario(id)
{
	if (id)
		var formu=document.getElementById(id);
	else
		var formu=document.formu;
	var obj=formu.elements;
	
	for (var i=0; i < obj.length; i++)
	{		
		switch (obj[i].type)
		{
			//case "hidden": no tocar
			case "text":
			case "textarea":
			case "password":
				obj[i].value="";
				break;
			case "select-one":
				obj[i].selectedIndex=-1;
				break;				
			case "radio":
				 obj[i].checked=false;				 
				 break;
		}
	}	
	formu.submit();
}

function ocultar2bis(obj)
{
	switch (obj.className)
	{			
		case 's':
			obj.className='a';
			obj.innerHTML="<img src='img/flecha-abajo.jpg' border='0' /> búsqueda avanzada";
			break;
			
		default:
			obj.className='s';
			obj.innerHTML="<img src='img/flecha-arriba.jpg' border='0' /> búsqueda simple";
			break;
					
	}
}

//debe ser escrita en cada tpl
function desplegar_buscador() {}

function ocultar3(tipo,avanzada)
{
	var av=avanzada==1?"avanzada":"simple";
	if (!tipo) tipo='table';
	var str="<a href='javascript:void(0);' onclick=\"ocultar2('"+tipo+"','"+av+"','display');ocultar2bis(this);desplegar_buscador();\"> ";
	
	if (avanzada==1)	
		str+="<img src='img/flecha-arriba.jpg' border='0' /> búsqueda simple</a>";	
	else
		str+="<img src='img/flecha-abajo.jpg' border='0' /> búsqueda avanzada</a>";	
	
	document.write(str);
}

function visualizar_foto(ruta,titulo)
{
	var w=window.open("utils/visualizar_foto.inc.php?ruta="+ruta+"&titulo="+titulo);
}
