var navegador = navigator.appName;
var versionNav = parseInt(navigator.appVersion);

//PopUp de mensaje
function Mensaje (fichero,scroll,ancho,alto) {
  var w=ancho;
  var h=alto;
  if (scroll==0){
    prop='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width='+w+',height='+h
    msgWindow=window.open(fichero,'legal',prop)
  } else {
    prop='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width='+w+',height='+h
    msgWindow=window.open(fichero,'legal',prop)
  }
}

/*Para enviar el formulario leer*/
function enviarLeer(capitulo,idTabla,tabla,periodicidad,unidades){
	document.forms['leer'].capitulo.value=capitulo;
	document.forms['leer'].periodicidad.value=periodicidad;
	document.forms['leer'].unidades.value=unidades;
	document.forms['leer'].idTabla.value=idTabla;
	document.forms['leer'].tabla.value=tabla;
	document.forms['leer'].submit();
}

/*Para ver cuantas variables hay selecionadas en la select-multiple*/
function cuantos(sel,cri){
	var num=1;
	for (var i = 0; i < eval ("document.forms[0]."+cri+".length") ; i++) {
		if (eval("document.forms[0]."+cri+".options[i].selected") == true) {
			eval ("document.forms[0]."+sel+".value="+num);
			num++;
		}
	}
	total();
}

/*Para selecionar/quitar todas las variables de la select-multiple*/
function todos(selTodas,cri,selTodo,sel){

	var criSize=eval ("document.forms[0]."+cri+".length");
//	if ( eval("document.forms[0]."+selTodo+".checked")){
		//selTodas=true;
        if (selTodas)
		eval ("document.forms[0]."+sel+".value="+criSize);
        else eval ("document.forms[0]."+sel+".value=0");
/*	}else{
		selTodas=false;
		eval ("document.forms[0]."+sel+".value="+0);
	}*/
	for (var i = 0; i < criSize ; i++) {
		eval("document.forms[0]."+cri+".options[i].selected="+ selTodas);
	}
	total();
}

/*Para selecionar/quitar todas las variables de todas las select-multiple*/
function selTodos(){
	var num=document.forms[0].numCri.value;
	for(var j=1;j<=num;j++){
		var tipo=eval("document.forms[0].cri"+j+".type");
		if (tipo=="select-multiple" || tipo=="select-one"){
		//	eval("document.forms[0].selTodo"+j+".checked=true");
			var cri="cri"+j;
			var selTodo="selTodo"+j;
			var sel="sel"+j;
			todos(true,cri,selTodo,sel);
		}
	}
}

/*Para ver cuantas variables hay selecionadas en toda la consulta*/
function total(){
	var num=document.forms[0].numCri.value;
	var tot=1;
	for(var j=1;j<=num;j++){
		var tipo=eval("document.forms[0].cri"+j+".type");
		if (tipo=="select-multiple" || tipo=="select-one"){
			var val=eval ("document.forms[0].sel"+j+".value");
			tot=tot*val;
		}
	}

	document.forms[0].NumCeldas.value=tot;
}

/*Para verificar que la selección de variables es correcta*/
function enviarTabla(opc){
	for(var i = 0;i < document.forms[0].columnas.options.length;i++){
		document.forms[0].columnas.options[i].selected=true;
		document.forms[0].descColumnas.options[i].selected=true;
	}
	for(var i = 0;i < document.forms[0].filas.options.length;i++){
		document.forms[0].filas.options[i].selected=true;
		document.forms[0].descFilas.options[i].selected=true;
	}
	if (opc=="all"){
		selTodos();
	}
	var num=document.forms[0].NumCeldas.value;
	if (num>5000){
		if (document.forms[0].L.value=="1"){
			alert('The maximum number of cells allowed to be shown is 5.000. Please, select less values');
		}else{
			alert('Ha seleccionado más de 5000 datos. Reduzca la selección.');
		}
	}else if(num<=0){
		if (document.forms[0].L.value=="1"){
			alert('You will choose a value in the variables with 0 selected.');
		}else{
			alert('Debe escoger un valor en las variables con 0 seleccionados.');
		}
	}else{
                createTarget(document.forms['formtabla'],true);
		//document.forms['formtabla'].submit();
	}
}

/*Para la ordenación de la select-Multiple 'columnas'*/
function ordenarColumna(opcion){
	if (opcion=='up'){
		for(var i = 0;i < document.forms[0].columnas.options.length;i++){
			if (document.forms[0].columnas.options[i].selected==true){
				if (i>0){
					textoSup=document.forms[0].columnas.options[i].text;
					valorSup=document.forms[0].columnas.options[i].value;
					textoInf=document.forms[0].columnas.options[i-1].text;
					valorInf=document.forms[0].columnas.options[i-1].value;
					document.forms[0].columnas.options[i-1].text=textoSup;
					document.forms[0].columnas.options[i-1].value=valorSup;
					document.forms[0].columnas.options[i].text=textoInf;
					document.forms[0].columnas.options[i].value=valorInf;
					document.forms[0].columnas.options[i-1].selected=true;
					document.forms[0].columnas.options[i].selected=false;
				}else{
					if (document.forms[0].L.value=="1"){
						alert("It's the first");
					}else{
						alert('Ya está en el primer lugar');
					}

				}
			}
		}
	}else{
		for(var i = document.forms[0].columnas.options.length-1;i >= 0;i--){
			if (document.forms[0].columnas.options[i].selected==true){
				if (i<document.forms[0].columnas.options.length-1){
					textoSup=document.forms[0].columnas.options[i].text;
					valorSup=document.forms[0].columnas.options[i].value;
					textoInf=document.forms[0].columnas.options[i+1].text;
					valorInf=document.forms[0].columnas.options[i+1].value;
					document.forms[0].columnas.options[i+1].text=textoSup;
					document.forms[0].columnas.options[i+1].value=valorSup;
					document.forms[0].columnas.options[i].text=textoInf;
					document.forms[0].columnas.options[i].value=valorInf;
					document.forms[0].columnas.options[i].selected=false;
					document.forms[0].columnas.options[i+1].selected=true;
				}else{
					if (document.forms[0].L.value=="1"){
						alert("It's the last");
					}else{
						alert('Ya está en el último lugar');
					}
				}
			}
		}
	}
}

/*Para la ordenación de la select-Multiple 'filas'*/
function ordenarFila(opcion){
	if (opcion=='up'){
		for(var i = 0;i < document.forms[0].filas.options.length;i++){
			if (document.forms[0].filas.options[i].selected==true){
				if (i>0){
					textoSup=document.forms[0].filas.options[i].text;
					valorSup=document.forms[0].filas.options[i].value;
					textoInf=document.forms[0].filas.options[i-1].text;
					valorInf=document.forms[0].filas.options[i-1].value;
					document.forms[0].filas.options[i-1].text=textoSup;
					document.forms[0].filas.options[i-1].value=valorSup;
					document.forms[0].filas.options[i].text=textoInf;
					document.forms[0].filas.options[i].value=valorInf;
					document.forms[0].filas.options[i-1].selected=true;
					document.forms[0].filas.options[i].selected=false;
				}else{
					if (document.forms[0].L.value=="1"){
						alert("It's the first");
					}else{
						alert('Ya está en el primer lugar');
					}
				}
			}
		}
	}else{
		for(var i = document.forms[0].filas.options.length-1;i >= 0;i--){
			if (document.forms[0].filas.options[i].selected==true){
				if (i<document.forms[0].filas.options.length-1){
					textoSup=document.forms[0].filas.options[i].text;
					valorSup=document.forms[0].filas.options[i].value;
					textoInf=document.forms[0].filas.options[i+1].text;
					valorInf=document.forms[0].filas.options[i+1].value;
					document.forms[0].filas.options[i+1].text=textoSup;
					document.forms[0].filas.options[i+1].value=valorSup;
					document.forms[0].filas.options[i].text=textoInf;
					document.forms[0].filas.options[i].value=valorInf;
					document.forms[0].filas.options[i].selected=false;
					document.forms[0].filas.options[i+1].selected=true;
				}else{
					if (document.forms[0].L.value=="1"){
						alert("It's the last");
					}else{
						alert('Ya está en el último lugar');
					}
				}
			}
		}
	}
}
/*Para rotar filas por columnas*/
function rotacion(){
	for(var i = 0;i < document.forms[0].columnas.options.length;i++){
		document.forms[0].columnas.options[i].selected=true;
	}
	for(var i = 0;i < document.forms[0].filas.options.length;i++){
		document.forms[0].filas.options[i].selected=true;
	}
	filaToColumna();
	columnaToFila();
}
/*Para el paso de variables de 'filas' a 'columnas'*/
function filaToColumna(){
	borrar=new Array();
	j=0;
	for(var i = 0;i < document.forms[0].filas.options.length;i++){
		if (document.forms[0].filas.options[i].selected==true){
			//filaToColumnaPx(document.forms[0].filas.options[i].value);
			document.forms[0].columnas.options[document.forms[0].columnas.options.length]=new Option(document.forms[0].filas.options[i].text,document.forms[0].filas.options[i].value);
			document.forms[0].descColumnas.options[document.forms[0].descColumnas.options.length]=new Option(document.forms[0].descFilas.options[i].text,document.forms[0].descFilas.options[i].value);
			borrar[j]=i;
			j++;
		}
	}
	l=0;
	for(var i = 0;i < borrar.length;i++){
		num=borrar[i];
		document.forms[0].filas.options[num-l]=null;
		document.forms[0].descFilas.options[num-l]=null;
		l++;
	}
}

/*function filaToColumnaPx(valor){
	var filSt="";
	ArraySt=new Array();
	for(var i = 0;i < document.forms[0].descFilas.length;i++){
		filSt=document.forms[0].descFilas[i].value;
		ArraySt=filSt.split("|");
		if (valor==ArraySt[0]){
			document.forms[0].descFilas[i].id="descColumnas";
		}
	}
}*/
/*Para el paso de variables de 'columnas' a 'filas'*/
function columnaToFila(){
	borrar=new Array();
	j=0;
	for(var i = 0;i < document.forms[0].columnas.options.length;i++){
		if (document.forms[0].columnas.options[i].selected==true){
			//ColumnaTofilaPx(document.forms[0].columnas.options[i].value);
			document.forms[0].filas.options[document.forms[0].filas.options.length]=new Option(document.forms[0].columnas.options[i].text,document.forms[0].columnas.options[i].value);
			document.forms[0].descFilas.options[document.forms[0].descFilas.options.length]=new Option(document.forms[0].descColumnas.options[i].text,document.forms[0].descColumnas.options[i].value);
			borrar[j]=i;
			j++;
		}
	}
	l=0;
	for(var i = 0;i < borrar.length;i++){
		num=borrar[i];
		document.forms[0].columnas.options[num-l]=null;
		document.forms[0].descColumnas.options[num-l]=null;
		l++;
	}
}

/*function ColumnaTofilaPx(valor){
	var columSt="";
	ArraySt=new Array();
	for(var i = 0;i < document.forms[0].descColumnas.length;i++){
		columSt=document.forms[0].descColumnas[i].value;
		ArraySt=columSt.split("|");
		if (valor==ArraySt[0]){
			document.forms[0].descColumnas[i].id="descFilas";
		}
	}
}*/
function rotar(){
	if (navegador=="Netscape"){
		if (document.getElementById("rotacion").style.visibility=="visible"){
			document.getElementById("rotacion").style.position="absolute";
			document.getElementById("rotacion").style.visibility="hidden";
		}else{
			document.getElementById("rotacion").style.position="relative";
			document.getElementById("rotacion").style.visibility="visible";
		}
	}else{

		if (document.getElementById("rotacion").style.display=="none"){
			document.getElementById("rotacion").style.display="";
		}else{
			document.getElementById("rotacion").style.display="none";
		}
	}
}

function ocultaCapa(){
	if (navegador=="Netscape"){
		document.getElementById("rotacion").style.position="absolute";
		document.getElementById("rotacion").style.visibility="hidden";
	}else{
		rotacion.style.display="none";
	}
}

function ordenar(){
	if (navegador=="Netscape"){
		document.captureEvents(Event.CLICK);
		document.getElementById("ordLink").onclick=ordena;
	}else{
		var mouseX=window.event.x;
		var mouseY=window.event.y;
		if (orden.style.visibility=="visible"){
			orden.style.visibility="hidden";
		}else{
			orden.style.top=(mouseY+document.body.scrollTop)+10;
			orden.style.left=(mouseX+document.body.scrollLeft)-15;
			orden.style.visibility="visible";
		}
	}
}
function ordena(e){
		var posy=e.posY;
		var posx=e.posX;

		if (document.getElementById("orden").style.visibility=="visible"){
			document.getElementById("orden").style.visibility="hidden";
		}else{
			document.getElementById("orden").style.top=posy+document.body.scrollTop+5;
			document.getElementById("orden").style.left=posx+document.body.scrollLeft-5;
			document.getElementById("orden").style.visibility="visible";
		}
}

function enviarOrden(variable,ord){
	document.formtabla.action="tabla.jsp";
	eval("document.forms[0]."+variable+".value='"+ord+"'");
	document.forms['formtabla'].submit();
}

function excel(){
	if (document.forms[0].download.value!="" && document.forms[0].download.value!="px"){
		if (document.forms[0].nColumnas.value < 256){
			document.forms['formdatos'].submit();
		}else{
			if (document.forms[0].L.value=="1"){
				alert("Could not generate the Excel file with number of columns selected, please reduce the selection")
			}else{
				alert("No puede generar el archivo EXCEL con tantas columnas, por favor, reduzca la selección");
			}
		}
	}else if(document.forms[0].download.value=="px"){
		document.forms['formdatos'].submit();
	}
}

function enviaExcel(urlstr,idioma){
	/*if (idioma=="1"){
		document.forms[0].descarga.src="img/descaseli.gif";
	}else{
		document.forms[0].descarga.src="img/descasel.gif";
	}
	document.getElementById("descargaUrl").href=urlstr;*/
}

function newSelect(){
		document.forms['formdatos'].action="tabla.jsp";
		document.forms['formdatos'].submit();
}

function cambioIdioma(idioma,formu)
{
	if (formu!=""){
		document.forms[0].action=formu;
		document.forms[0].submit();
	}else{
		var urlStr=document.location.toString();
		var i=urlStr.indexOf("L=");
		if (i>0){
			document.location=urlStr.substring(0,i)+"L="+idioma+urlStr.substring(i+3,urlStr.length);
		}else{
			var j=urlStr.indexOf("?");
			if (j>0){
				document.location=urlStr+"&L="+idioma;
			}else{
				document.location=urlStr+"?L="+idioma;
			}
		}
	}
}
function todos2(cri,selTodo,sel){
	var criSize=eval ("document.forms[0]."+cri+".length");
	eval("document.forms[0]."+selTodo+".checked=true")
	if ( eval("document.forms[0]."+selTodo+".checked")){
		selTodas=true;
		eval ("document.forms[0]."+sel+".value="+criSize);
	}else{
		selTodas=false;
		eval ("document.forms[0]."+sel+".value="+0);
	}
	for (var i = 0; i < criSize ; i++) {
		eval("document.forms[0]."+cri+".options[i].selected="+ selTodas);
	}
	total();
}



function createTarget(form,doSubmit) {
//Esta funcion es usada para poder abrir los furmulario en una ventana y
//poder establecer las propiedades de la misma
/*toolbar=" + toolbar + ",location=" + location +
    ", directories="+ directories +",status=" + status + ",  menubar=" +
    menubar +",scrollbars="+ scrollbars + ",resizable=" + resizable +
    ", width=" + width + ",height=" + height;*/
//Esta funcion será llamada desde el on submit()
//estableciendo en el target-->   nombreVentana:PropiedadesVentana
//nombreventana=> NombreMarcoParaForm~ArchivoBase~NombreVentanaParaArchivoBase
//Los dos ultimos parametros son opcionales
//en el caso de hacer submir por Javascript se recomienda usar la funcion
//justo antes del submit
var _target = form.target;
_colon = _target.indexOf(":");
_winfile='';
_wintarget='';
if(_colon != -1) {
form.target =_target.substring(0,_colon).split("~")[0];
if (_target.substring(0,_colon).split("~").length>0)
  _winfile=_target.substring(0,_colon).split("~")[1];
if (_target.substring(0,_colon).split("~").length>1)
  _wintarget=_target.substring(0,_colon).split("~")[2];
else _wintarget=_target.substring(0,_colon).split("~")[0];
form.args = _target.substring(_colon+1);
} else if(typeof(form.args)=="undefined") {
form.args = "";
}
if(form.args.indexOf("{")!=-1) {
_args = form.args.split("{");
form.args = _args[0];
for(var i = 1; i < _args.length;i++) {
_args[i] = _args[i].split("}");
form.args += eval(_args[i][0]) + _args[i][1];
   }
}
form.args = form.args.replace(/ /g,"");
_win = window.open(_winfile,_wintarget,form.args);
_win.focus();
if (doSubmit){
  form.submit();
  form.target=_target;
}else{
  return true;
  }
}

