function AbrirUrl(url, modo, ancho, alto)
{
	if (modo == 1)
		AbrirEnVentana(url);
	else
		AbrirVentana2(url,ancho,alto);
}
//-----------------------------------------------------------------------
function AbrirEnVentana(url)
{
	window.location.href = url;
}
//-----------------------------------------------------------------------
function AbrirVentana(url, ancho, alto)
{
	if (ancho == null)
		ancho = 400;

	if (alto == null)
		alto = 300;

	if(ancho>=screen.width)
    ancho=screen.width*0.9;

	if(alto>=screen.height)
    alto=screen.height*0.9;

		window.open(url, '_blank', 'toolbar=no, location=no, directories=no, status=no, scrollbars=auto, resizable=no, copyhistory=no, width=' + ancho + ', height=' + alto + ', top=0');
}
//-----------------------------------------------------------------------
function AbrirVentana2(url, ancho, alto)
{
	if (ancho == null)
		ancho = 400;

	if (alto == null)
		alto = 300;

	if(ancho>=screen.width)
    ancho=screen.width*0.9;

	if(alto>=screen.height)
    alto=screen.height*0.9;

	if (url.indexOf("?") >= 0)
		window.open(url + '&flotante=1', '_blank', 'toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + ancho + ', height=' + alto + ', left=0, top=0');
	else
		window.open(url +'?flotante=1', '_blank', 'toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + ancho + ', height=' + alto + ', left=0, top=0');
}
//-----------------------------------------------------------------------
function AbrirVentanaModal(url, ancho, alto)
{
	var lns4 = (document.layers)? true:false;
	var lie4 = (document.all)? true:false;

	if (ancho == null)
		ancho = 400;

	if (alto == null)
		alto = 300;

	if (lie4)
	{
		if (url.indexOf("?") >= 0)
			window.showModalDialog(url+'&flotante=1', null, 'dialogWidth=' + ancho + 'px; dialogHeight=' + alto + 'px');
		else
			window.showModalDialog(url+'?flotante=1', null, 'dialogWidth=' + ancho + 'px; dialogHeight=' + alto + 'px');
	}
	else
	{
		if (url.indexOf("?") >= 0)
			window.open(url+'&flotante=1', '_blank', 'toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=yes, copyhistory=no, width=' + ancho + ', height=' + alto + ', left=0, top=0, alwaysRaised=yes');
		else
			window.open(url+'?flotante=1', '_blank', 'toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=yes, copyhistory=no, width=' + ancho + ', height=' + alto + ', left=0, top=0, alwaysRaised=yes');
	}
}
//-----------------------------------------------------------------------
function Imprimir()
{
	var ns4 = (document.layers)?true:false;
	var ie4 = (document.all)?true:false;

	if (ns4)
		window.print();
	else
	{
		var nombreObjeto = '<object id="idObjeto" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
		document.body.insertAdjacentHTML('beforeEnd', nombreObjeto);
		idObjeto.ExecWB(6, 1);
		idObjeto.outerHTML = '';
	}
}
//-----------------------------------------------------------------------

function ActualizarVentanaPadre(nom_accion)
{

	var campo = eval('window.opener.formulario.' + nom_accion);

	if (window.opener != null)
	{
		if (window.opener.formulario != null)
		{
			campo.value = 'consultar';
			window.opener.formulario.submit();
		}
	}

}
//-----------------------------------------------------------------------
function BorrarCamposFormulario()
{
	for (i = 0; i < formulario.length; i++)
	{
		var elemento = formulario.elements[i];

		elemento.value= '';
	}
}
//-----------------------------------------------------------------------
function BorrarCamposVisiblesFormulario()
{
	for (i = 0; i < formulario.length; i++)
	{
		var elemento = formulario.elements[i];
		if(elemento.type != 'hidden')
			elemento.value= '';
	}
}
function Reemplazar(origen, reemplazar, reemplazo)
{
	var index;

	index = -1;
	resultado = origen;

	while ((index = resultado.indexOf(reemplazar, index)) > -1)
	{
		resultado = resultado.substring(0, index) + reemplazo + resultado.substring(index + reemplazar.length, resultado.length);
		index = index + reemplazo.length;
	}

	return resultado;
}

	function UrlEncode(value)
	{
		var newvalue;

		newvalue = value;
		newvalue = Reemplazar(newvalue, "?", "%3F");
		newvalue = Reemplazar(newvalue, "=", "%3D");
		newvalue = Reemplazar(newvalue, "&", "%26");
		newvalue = Reemplazar(newvalue, "+", "%2B");
		newvalue = Reemplazar(newvalue, "<", "%3c");
		newvalue = Reemplazar(newvalue, ">", "%3e");
		newvalue = Reemplazar(newvalue, "/", "%2f");
		newvalue = Reemplazar(newvalue, ".", "%2e");
		newvalue = Reemplazar(newvalue, " ", "+");
		newvalue = Reemplazar(newvalue, "-", "%2d");

		return newvalue;
	}

	function UrlDecode(value)
	{
		var newvalue;

		newvalue = value;
		newvalue = Reemplazar(newvalue, "%3F", "?");
		newvalue = Reemplazar(newvalue, "%3D", "=");
		newvalue = Reemplazar(newvalue, "%26", "&");
		newvalue = Reemplazar(newvalue, "%2B", "+");
		newvalue = Reemplazar(newvalue, "%3c", "<" );
		newvalue = Reemplazar(newvalue, "%3e", ">");
		newvalue = Reemplazar(newvalue, "%2f", "/");
		newvalue = Reemplazary(newvalue, "%2e", ".");
		newvalue = Reemplazar(newvalue, "+", " ");
		newvalue = Reemplazar(newvalue, "%2d", "-");

		return newvalue;
	}
//----------------------------------------------------------

function Accion(nom_accion, accion)
	{
		var campo = eval('document.formulario.' + nom_accion);
		if(accion != '')
		{
			if (accion != 'buscar' && accion != 'comprobar_documento')
			{
				if (ValidarFormulario(document.formulario,false) == true)
				{
					if(nom_accion == 'accion_ciudadano')
						document.formulario.men_alerta.value = false;
					campo.value = accion;
					document.formulario.submit();
				}
			}
			else
			{
				var pagina = eval ('document.formulario.numero_pagina');
                		pagina.value = 1;

				if (ValidarFormulario(document.formulario,true) == true)
				{
					campo.value = accion;
					document.formulario.submit();
				}
			}
		}
	}
//-------------------------------------------------------------
function Accioninterna(nom_accion, accion)
	{
		var campo = eval('document.formulario.' + nom_accion);

		if(accion != '')
		{
			if (accion != 'buscar' && accion != 'comprobar_documento')
			{
				if (ValidarFormulario(document.formulario) == true)
				{
					campo.value = accion;
					document.formulario.submit();
				}
			}
			else
			{
				campo.value = accion;
				document.formulario.submit();
			}
		}
	}
//-------------------------------------------------------------
function Accionexterna(nom_accion, accion)
	{
		var campo = eval('document.formulario.' + nom_accion);

		if(accion != '')
		{
			if (accion != 'buscar' && accion != 'comprobar_documento')
			{
				if (ValidarFormulario(document.formulario) == true)
				{
					campo.value = accion;
					document.formulario.submit();
				}
			}
			else
			{
				campo.value = accion;
				document.formulario.submit();
			}
		}
	}
//-------------------------------------------------------------

function AnadirPermisos(ente,tip_ente,tip_permiso)
	{
		AbrirVentana2('permiso.jsp?cod_ente='+ente+'&cod_tip_ente='+tip_ente+'&tip_permiso='+tip_permiso, 600, 600);
	}
//-------------------------------------------------------------

function AnadirFuncionario(ente,tip_ente,municipio)
	{
		AbrirVentana2('funcionarios.jsp?cod_ente='+ente+'&cod_tip_ente='+tip_ente+'&cod_municipio='+municipio, 800, 600);
	}

//-------------------------------------------------------------

function AnadirCRemitente(ente,tip_ente,documento,representado)
	{
		AbrirVentana2('cremitente.jsp?accion_padre=accion_solicitud&cod_ente='+ente+'&cod_tip_ente='+tip_ente+'&anadir_documento='+documento+'&es_representado='+representado, 800, 600);
	}

//-------------------------------------------------------------

function AnadirRemitente(ente,tip_ente,documento,representado,solicitud,tramite,registrable,municipio,prefijo)
	{
		AbrirVentana2(prefijo+'remitente.jsp?accion_padre=accion_solicitud&cod_ente='+ente+'&cod_tip_ente='+tip_ente+'&anadir_documento='+documento+'&es_representado='+representado+'&cod_solicitud='+solicitud+'&cod_tramite='+tramite+'&registrable='+registrable+'&cod_municipio='+municipio, 600, 400);
	}
//-----------------------------------------------------------------------------------------------------------
function AnadirDocumento(tip_hito,ente,tip_ente,cod_tip_ente,prefijo)
{
		AbrirVentana2(prefijo+'documento.jsp?cod_tip_hito='+tip_hito+'&cod_ente='+ente+'&tip_ente='+tip_ente+'&cod_tip_ente='+cod_tip_ente, 700, 300);
}
//-----------------------------------------------------------------------------------------------------------
	function AnadirGrupo(cod_ente,cod_tip_ente,cod_municipio)
	{
		AbrirVentana2('grupos.jsp?cod_ente='+cod_ente+'&cod_tip_ente='+cod_tip_ente+'&cod_municipio='+cod_municipio, 600, 600);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirOficinaRegistro(cod_municipio, nom_acc_padre)
	{
		AbrirVentana2('oficina_registro.jsp?cod_municipio=' + cod_municipio + '&nom_acc_padre=' + nom_acc_padre, 600,400);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirNumeracion(cod_oficina, nom_acc_padre)
	{
		AbrirVentana2('numeracion.jsp?cod_oficina=' + cod_oficina + '&nom_acc_padre=' + nom_acc_padre, 600, 400);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirTramite(nom_acc_padre)
	{
		AbrirVentana2('gestion_tramite.jsp?nom_acc_padre=' + nom_acc_padre, 837, 910);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirEstadoTramite(cod_flujo, nom_acc_padre, tip_estado)
	{
		AbrirVentana2('estado_tramite.jsp?cod_flujo=' + cod_flujo + '&nom_acc_padre=' + nom_acc_padre + '&tip_estado=' + tip_estado, 800, 600);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirSuscripcion(cod_ente,nom_acc_padre,cod_tip_ente)
	{
		AbrirVentana2('suscripcion.jsp?cod_ente=' + cod_ente + '&nom_acc_padre=' + nom_acc_padre + '&cod_tip_ente=' + cod_tip_ente, 600, 400);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirOperacionAcceso(cod_flujo, nom_acc_padre)
	{
		AbrirVentana2('operacion_acceso.jsp?cod_flujo=' + cod_flujo + '&nom_acc_padre=' + nom_acc_padre, 420, 240);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirDocumentoObligatorio(cod_flujo, nom_acc_padre)
	{
		AbrirVentana2('documento_obligatorio.jsp?cod_flujo=' + cod_flujo + '&nom_acc_padre=' + nom_acc_padre, 520, 230);
	}
//-----------------------------------------------------------------------------------------------------------
	function AnadirFlujoOficinaRegistro(cod_flujo, nom_acc_padre)
	{
		AbrirVentana2('oficina_registro_tramite.jsp?cod_flujo=' + cod_flujo + '&nom_acc_padre=' + nom_acc_padre, 420, 240);
	}
//-----------------------------------------------------------------------------------------------------------
	function MuestraCombo()
	{
		document.formulario.submit();
	}
//-----------------------------------------------------------------------------------------------------------
	function EliminarEnte(nom_ente, nom_accion, accion)
	{
		var elemento;
		var campo;
		var confirmar;
		var campo2 = eval('document.formulario.' + nom_accion);


		campo = eval('document.formulario.' + nom_ente);
		campo.value = '';

		for (i = 0; i < formulario.length; i++)
		{
			elemento = formulario.elements[i];
			if (elemento.name.length > campo.name.length)
			{
				if (elemento.name.substring(0, campo.name.length) == campo.name && elemento.checked)
					campo.value = campo.value + ',' + elemento.value;
			}
		}
		if (campo.value.length > 0)
		{
            var mensaje;
			if (accion == 'eliminarremitente')
				mensaje = '¿Está seguro de eliminar el(los) remitente(s)?';
			else if (accion == 'eliminardireccionremitente')
				mensaje = '¿Está seguro de eliminar la(s) dirección(es) del remitente?';
			else if (accion == 'eliminardocumento')
				mensaje  = '¿Está seguro de eliminar el(los) documento(s)?';
			else if (accion == 'eliminardocumentosobligatorios')
				mensaje  = '¿Está seguro de eliminar el(los) documento(s)?';
			else if (accion == 'eliminarestados')
				mensaje = '¿Está seguro de eliminar el(los) estados del trámite?';
			else
				mensaje  = '¿Está seguro?';
			confirmar = confirm(mensaje);
			if (confirmar == true)
			{
				campo.value = campo.value.substring(1, campo.value.length);
				campo2.value = accion;
				document.formulario.submit();
			}
		}
		else
		{
			if (accion == 'eliminarremitente')
				alert('Debe seleccionar un remitente(s)');
			else if (accion == 'eliminardireccionremitente')
				alert('Debe seleccionar una direccion(es)');
			else if (accion == 'eliminardocumento')
				alert('Debe seleccionar un documento(s)');
			else if (accion == 'eliminarpermiso')
				alert('Debe seleccionar un permiso(s)');
			else if (accion == 'eliminarestados')
				alert('Debe seleccionar un estado(s)');
			else if (accion == 'eliminaroperacionesaccesos')
				alert('Debe seleccionar alguna operacion-acceso');
			else if (accion == 'eliminardocumentosobligatorios')
				alert('Debe seleccionar un documento(s)');
			else if (accion == 'eliminarflujooficinasregistro')
				alert('Debe seleccionar una oficina(s) de registro');
			else
				alert('Debe seleccionar un elemento');
		}
	}
//---------------------------------------------------------------------------------------------------------
	function Eliminar(nom_accion)
	{
		var campo = eval('document.formulario.' + nom_accion);
		var confirmar = confirm('¿Está seguro?')
		if (confirmar == true)
		{
			campo.value = 'eliminar';
			document.formulario.submit();
		}

	}
//----------------------------------------------------------------------------------------------------------


	function Seleccionar(nom_ente)
	{
		var campo;
		var elemento;

		campo = eval('document.formulario.' + nom_ente);
		campo.value = '';

		for (i = 0; i < formulario.length; i++)
		{
			elemento = formulario.elements[i];

			if (elemento.name.length > campo.name.length)
			{

				if (elemento.name.substring(0, campo.name.length) == campo.name)
				{
					elemento.checked=true;

				}
			}

		}
	}
//-------------------------------------------------------------------------------------------------

	function Deseleccionar(nom_ente)
	{
		var campo;
		var elemento;

		campo = eval('document.formulario.'+nom_ente);
		campo.value = '';

		for (i = 0; i < formulario.length; i++)
		{
			elemento = formulario.elements[i];

			if (elemento.name.length > campo.name.length)
			{

				if (elemento.name.substring(0, campo.name.length) == campo.name)
				{
					elemento.checked=false;

				}
			}

		}
	}
//-------------------------------------------------------------------------------------------------
	function AnadirEnte(nom_ente,nom_accion, accion)
	{
		var elemento;
		var campo;
		var confirmar;
		var campo2 = eval('document.formulario.' + nom_accion);

		campo = eval('document.formulario.' + nom_ente);
		campo.value = '';

		for (i = 0; i < formulario.length; i++)
		{
			elemento = formulario.elements[i];
			if (elemento.name.length > campo.name.length)
			{
				if (elemento.name.substring(0, campo.name.length) == campo.name && elemento.checked)
					campo.value = campo.value + ',' + elemento.value;
			}
		}
		if (campo.value.length > 0)
		{

			campo.value = campo.value.substring(1, campo.value.length);
			campo2.value = accion;
			document.formulario.submit();
		}
		else
			alert('Debe seleccionar un permiso(s)');
	}
//-----------------------------------------------------------------------------------------------------------
	function EscribeNombreSolicitud()
	{
			document.formulario.nom_solicitud.value=formulario.tip_solicitud.options[formulario.tip_solicitud.selectedIndex].text;
	}
//-----------------------------------------------------------------------------------------------------------
	function CambiarPagina(incremento, nom_accion)
	{
		document.formulario.reset();
		alert (document.formulario.num_pagina.value);
		document.formulario.num_pagina.value = eval(document.formulario.num_pagina.value) + eval(incremento);
		alert(document.formulario.num_pagina.value);
		if (nom_accion != null)
		{
			var campo = eval('document.formulario.' + nom_accion);
			campo.value = 'buscar';
		}
		document.formulario.submit();
	}
//---------------------------------------------------------------------------------------------------------------
function Limpiar (nom_accion)
{
  	document.formulario.reset();
	var campo = eval('document.formulario.' + nom_accion);
        campo.value = 'prebusqueda';
        document.formulario.submit();
}
//-----------------------------------------------------------------
function ComprobarCampo(nom_campo, mensaje)
{
  var campo = eval(nom_campo);

  if (campo.value.length > 0)
	  return 1
  else
  {
  	alert(mensaje);

    return 0;
  }
}
//-----------------------------------------------------------------
function Paginacion (opcion_pagina, nom_accion, num_pagina)
{
			var campo = eval('document.formulario.' + nom_accion);
			//Si opcion_pagina es 1 vamos a la pagina previa
			if(opcion_pagina == 1)
			{
				document.formulario.numero_pagina.value = eval(num_pagina) - eval(1);
			}
			//Si opcion_pagina es 2 vamos a la pagina siguiente
			else
			{
				if(opcion_pagina == 2)
					document.formulario.numero_pagina.value = eval(num_pagina) + eval(1) ;
			}
			campo.value = 'buscar';
			document.formulario.submit();
}
//--------------------------------------------------------------------
function ValidarLongitud(nom_identificador, nom_usuario)
{
	var campo = eval('document.formulario.' + nom_identificador);

  if (nom_usuario != '')
		var campo2 = eval('document.formulario.' + nom_usuario);

	if(document.formulario.cod_tip_identificador.length > 0 && campo.value.length > 0)
	{
		if(document.formulario.cod_tip_identificador[formulario.cod_tip_identificador.selectedIndex].value == 1)
		{
			var abc=campo.value;
			var dni=abc.substring(0,abc.length-1);
			var let=abc.charAt(abc.length-1);
			if (!isNaN(let))
	 		{
	  			alert('Nif incorrecto: Falta la letra');
	  			campo.focus();

	 		}
			else
	 		{
	 		 	var cadena="TRWAGMYFPDXBNJZSQVHLCKET";
	  			var posicion = dni % 23;
	  			var letra = cadena.substring(posicion,posicion+1);
	  			if (letra!=let.toUpperCase())
	  		 	{
	    			alert("Nif no válido");
	    			campo.focus();
	   			}
	   			else
	   				if(nom_usuario!='')
	   					campo2.value = campo.value;
	 		}
		}
		if(document.formulario.cod_tip_identificador[formulario.cod_tip_identificador.selectedIndex].value == 3)
		{
			var resul = false;
    		var temp = campo.value.toUpperCase(); // pasar a mayúsculas

   			 if (!/^[A-Za-z0-9]{9}$/.test(temp)) // Son 9 dígitos?
      			alert ("Longitud incorrecta, un CIF consta de 9 dígitos");

    		else
    			if (!/^[ABCDEFGHKLMNPQS]/.test(temp)) // Es una letra de las admitidas ?
					alert("El primer dígito es incorrecto, debe ser una letra de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S ");

    			else
    				if(nom_usuario!='')
  						campo2.value = campo.value;
		}
		if(document.formulario.cod_tip_identificador[formulario.cod_tip_identificador.selectedIndex].value == 2 && campo.value.length != 15)
			alert('Longitud del pasaporte incorrecta');
		else
			if(nom_usuario!= '')
				campo2.value = campo.value;


	}
}

	function ObtenerNumeroAleatorio(minimo, maximo)
	{
  	return (Math.floor(Math.random() * (maximo - minimo)) + minimo);
	}

	function ObtenerCaracterAleatorio(numero, minuscula, mayuscula, otro, extra)
	{
		var numeros = "0123456789";
		var letrasMinusculas = "abcdefghijklmnopqrstuvwxyz";
		var letrasMayusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var otras = "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
		var caracter = extra;

		if (numero == true)
			caracter += numeros;

		if (minuscula == true)
			caracter += letrasMinusculas;

		if (mayuscula == true)
			caracter += letrasMayusculas;

		if (otro == true)
			caracter += otras;

		return caracter.charAt(ObtenerNumeroAleatorio(0, caracter.length));
	}

	function ObtenerContrasena(longitud, extra, numero, minuscula, mayuscula, otra)
  {
		var contrasena = "";

    for (var i = 0; i < longitud; ++i)
    {
			contrasena = contrasena + ObtenerCaracterAleatorio(numero, minuscula, mayuscula, otra, extra);
		}

		return contrasena;
	}
	function reloj(){

	var Digital=new Date()
	var day=Digital.getDate()
	var month=Digital.getMonth()+1
	var year=Digital.getFullYear()
	var hours=Digital.getHours()
	var minutes=Digital.getMinutes()
	var seconds=Digital.getSeconds()

	if (hours==0)   { hours=12; }
	if (minutes<=9) { minutes="0"+minutes }
	if (seconds<=9) { seconds="0"+seconds }
	if (day<=9)     { day="0"+day }
	if (month<=9)   { month="0"+month }

	var cdate=day+' de '+mes(month)+' de '+year
	var ctime=hours+":"+minutes+":"+seconds
	document.getElementById("reloj").innerHTML=""+cdate+" "+ctime+""
	setTimeout("reloj()",1000)
}
function mes(strMes) {
	if(strMes==1)  { return "Enero" }
	if(strMes==2)  { return "Febrero" }
	if(strMes==3)  { return "Marzo" }
	if(strMes==4)  { return "Abril" }
	if(strMes==5)  { return "Mayo" }
	if(strMes==6)  { return "Junio" }
	if(strMes==7)  { return "Julio" }
	if(strMes==8)  { return "Agosto" }
	if(strMes==9)  { return "Septiembre" }
	if(strMes==10) { return "Octubre" }
	if(strMes==11) { return "Noviembre" }
	if(strMes==12) { return "Diciembre" }
}

function AlturaSegunResolucion(){
 var ancho=screen.width;
 var alto=screen.height;

  switch (ancho)
    {
      case (640):
        alto = 200;
        break;
        /*case(800):
                alto=300;
                break;
            case(1024):
                alto=470;
                break;
            case(1152):
                alto=500;
                 break;

             case(1280):
                 alto=600;
                  break;*/
      default:
        alto = alto*0.54;
    }

    return alto;


}
//--------------------------------------------------------------------

	function MuestraImagen(ruta)
	{
		window.open('verimagen.jsp?imagen='+ruta,'','menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no');
	}
