var ventana_abierta=false;
var cargando = false;
Ajax.Responders.register({
    onCreate:showLoader,
    onComplete:hideLoader,
    onFailure:hideLoader
});


function showLoader(){
    try{
        cargando = true;
        if ($('capa_cargando')){
            $('capa_cargando').show()
        }
        setTimeout("comprobar()", 2000);
        comprobar = function (){
            if (cargando && $('contenedor_principal')){
                $('contenedor_principal').hide();
                $('barra_progreso').show();
                cargando = false;
            }
        }
    }catch(e){}   
}   

function hideLoader(){
    try{
        $('capa_cargando').hide();
        if ($('contenedor_principal')){ 
            $('barra_progreso').hide();
            $('contenedor_principal').show();
        }
        cargando = false;
    }catch(e){}
}

function irMenu(accion){
    var myAjax = new Ajax.Request(
    '/zona_publica/irmenu?accion='+accion, 
    {
        asynchronous:true, 
        evalScripts:true 
    });
    return false;
}
    
function irMenuPrivado(accion){
    $('capa_imprimir').show();
    var myAjax = new Ajax.Request(
    '/zona_privada/irmenu?accion='+accion, 
    {
        asynchronous:true, 
        evalScripts:true 
    });
    return false;
}
function purgar(){
    var myAjax = new Ajax.Request(
    '/zona_privada/purgar_temp', 
    {
        asynchronous:true, 
        evalScripts:true 
    });
    return false;
}
function abrir_ventana(documento,titulo,ancho,alto)
{
    var cabecera= " ";
    if (!ancho){
        var ancho = screen.availWidth;
    }
    if (!alto){
        var alto = screen.availHeight;
    }
    ventana=window.open ("",'ventana','scrollbars=no,status=no,statusbar=0,resizable=no,toolbars=0,location=0,directories=0,menubar=0,width='+ancho+',height='+alto+'');
    ventana.document.open();
    ventana.creator=window;
    cabecera+= "<html><head><title>" +titulo +"</title></head>";
    cabecera+= "<body leftmargin=0 topmargin=0 onkeypress=alert(event.value);>";
    cabecera+= "<iframe border=0 width='"+(screen.availWidth - 10)+"' height='"+(screen.availHeight - 10)+"' src=" +documento +" scrolling=yes></iframe>";
    cabecera+= "</body>";
    cabecera+= "</html>";
    ventana.document.write(cabecera);
    ventana.document.close();
    ventana.creator=window;
}
            
function infoficina(param1,param2,param3,param4){
    $('capa_datos_oficina').hide();
    campo1=document.getElementById("oficina_nombre");
    campo2=document.getElementById("oficina_direccion");
    campo3=document.getElementById("oficina_telefonos");
    campo4=document.getElementById("oficina_responsable");
    campo1.innerHTML=param1;
    campo2.innerHTML=param2;
    campo3.innerHTML=param3;
    campo4.innerHTML=param4;
    new Effect.Appear('capa_datos_oficina');
}
var enviar="no";
function validatxt(id,texto){
    var identificador = document.getElementById(id);
    var valor = identificador.value;
    var espacios = true;
    var cont = 0;
    // Este bucle recorre la cadena para comprobar que no todo son espacios
    while (espacios && (cont < valor.length)) {
        if (valor.charAt(cont) != " ") {
            espacios = false;
        }
        cont++;
    }
    if (espacios) {
        miAlert ('El campo "'+texto+'" no puede quedar en blanco');
        document.getElementById(id).value="";
        enviar="no";
        document.getElementById(id).focus();
        return false;
    }else{
        enviar="si";
        return true;
    }
            
            
}
        
        
function validaemail(id) {
    var valor= document.getElementById(id).value;
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
        enviar="si";
        return true;
    } else {
        enviar="no";
        miAlert("La dirección de email es incorrecta.");
        document.getElementById(id).focus();
        return false;
    }
}
function validaselect(id,texto){
    if (document.getElementById(id).options[0].selected){
        miAlert('Tienes que elegir una opcion del campo "'+(texto)+'"');
        enviar="no";
        document.getElementById(id).focus();
        return false;
    }else{
        enviar="si"
        return true;
    }
} 

function tabulacion (idsiguiente, evento) {
    var keyCode = document.layers ? evento.which : document.all ? 
        evento.keyCode : evento.keyCode;
    if (keyCode != 13)
        return true;
    else {
        document.getElementById(idsiguiente).focus();
        return false;
    }
}


function compruebanif(){
    var camponif= document.getElementById('nif');
    var camponifaexplorar= document.getElementById('nifaexplorar');
    var campoprestamo = document.getElementById('prestamo');
    if (camponif.value == ""){
        return false;
    }else{
        if (campoprestamo.value ==""){
            (camponifaexplorar.value=camponif.value);
            //miAlert(camponifaexplorar.value);
            return true;
        }else{
            return false;
        }
    }
} 

function verOficina(valor){
    new Ajax.Request('/zona_publica/seleccionar_oficina', 
    {asynchronous:true, evalScripts:true, 
        parameters:'oficina='+valor})
}
    
function imprimir(que) {
    var ventana = window.open("", "", "");
    var contenido = "<html><body onload='window.print();' style='background-color:#FFFFFF'><link href='/stylesheets/estilo.css' media='all' rel='Stylesheet' type='text/css' /><link href='/stylesheets/active_scaffold_overrides.css' media='all' rel='Stylesheet' type='text/css' />" + document.getElementById(que).innerHTML + "</body></html>";
    ventana.document.open();
    ventana.document.write(contenido);
    ventana.document.close();
}
function miConfirm(msg,accion){
    Dialog.confirm(msg, 
    {windowParameters: {className:'alphacube',width:300}, 
        okLabel: "Aceptar", cancelLabel: "Cancelar", 
        cancel:function(win) {return false;}, 
        ok:function(win) {eval(accion);return true;}
    });
}  
        
function miAlert(msg,accion){
    Dialog.alert(msg ,
    {windowParameters: {className:'alphacube',width:310}, okLabel: "Aceptar",
        ok:function(win) {
            eval(accion);
            return true;
        }});    
}
                
function cambioColorFondo(chk){
    if (chk.checked){
        chk.parentNode.style.backgroundColor ="#F8EDED"
    }else{
        chk.parentNode.style.backgroundColor ="#FFFFFF"
    }
}
            
function coloreaCheckboxes(){
    chks = document.getElementsByClassName("checkbox");
    for (i=0;i<chks.length;i++){
        if (chks[i].checked){
            cambioColorFondo(chks[i]);
        }	
    }
}
            
function mostrarCamposPorRol(){
    if ($F('usuario_entidad_id')!=""){
        $('capa_entidad_seleccionada').style.color = 'green';
        $('capa_entidad_seleccionada').innerHTML = 'Seleccionada';
    }else{
        $('capa_entidad_seleccionada').style.color = 'red';
        $('capa_entidad_seleccionada').innerHTML = 'Sin seleccionar';
    }
            
    switch ($F('usuario_rol_id').toString()){
        case "20":
            $('capa_entidades').show();
            $('capa_zonas').hide();
            $('capa_sucursales').hide();					
            break;
        case "30":
            $('capa_entidades').show();
            $('capa_zonas').show();
            $('capa_sucursales').hide();					
            break;
        case "40":
            $('capa_entidades').show();
            $('capa_zonas').show();
            if ($F('usuario_entidad_id')!=""){
                $('capa_sucursales').show();
            }
            break;
        default:
            $('capa_entidades').hide();		
            $('capa_zonas').hide();
            $('capa_sucursales').hide();		
            break;
    }
}
function validarUsuario(){
    errores = "";
    switch ($F('usuario_rol_id').toString()){
        case "20":
            if ($F('usuario_entidad_id')==""){
                errores="Tienes que introducir la entidad";
            }
            $('usuario_zona_id').value="";
            $('usuario_sucursal_id').value="";					
            break;
        case "30":
            if ($F('usuario_entidad_id')=="" || $F('usuario_zona_id')==""){
                errores = "Tienes que introducir la entidad y la zona";
            }
            $('usuario_sucursal_id').value="";					
            break;
        case "40":
            if ($F('usuario_entidad_id')==""  || $F('usuario_sucursal_id')==""){
                errores = "Tienes que introducir la entidad y la sucursal";
            }
            break; 
        default:
            $('usuario_entidad_id').value="";		
            $('usuario_zona_id').value="";
            $('usuario_sucursal_id').value="";		
            break;
    }
    if (errores==""){
        document.forms[0].submit();
    }else{
        miAlert(errores);
    }		
}
    
function abrirPopUp(controlador, accion,parametros, width, height, titulo) {
    if (width==null){
        width= 340;
    }
    if (height==null){
        height=280;
    }
    if (titulo == null){
        titulo = "";
    }
    var win = new Window("popUp",
    {url : "/"+controlador+"/"+accion+"?"+parametros, options: {method: 'get'} , 
        className: "alphacube",  closable:true, minimizable:false,maximizable:false, width:width, height:height, zIndex: 100, resizable: true, title: "", showEffect:Effect.BlindDown, hideEffect: Effect.SwitchOff, draggable:true, title:titulo});
    win.setDestroyOnClose(); 
    win.showCenter();
            
}

   mostrar_aviso_lopd = function(){
   	var textoHtml = "<p style='font-family:Verdana, Arial, Helvetica, sans-serif; color:#515151; font-size:9px;'>Por medio de la cumplimentaciï¿½n del presente formulario, usted da su consentimiento para que los datos personales que nos aporta sean objeto de tratamiento en un fichero, con la finalidad de ser utilizados a los efectos de ponerse en contacto con usted, atender su cosulta, queja y/o sugerencia y remitirle, a travï¿½s de cualquier medio, incluidos los electrï¿½nicos, la informaciï¿½n solicitada. GESTORES ADMINISTRATIVOS REUNIDOS, S.A., domicilida en la calle General Yagï¿½e, 20, 1ï¿½ Planta, 28020 - Madrid, CIF A79965331, como responsable del fichero, se compromete a respetar la confidencialidad de su informaciï¿½n de carï¿½cter personal y a garantizar el ejercicio de sus derechos de acceso, rectificaciï¿½n, cancelaciï¿½n y oposiciï¿½n, en el domicilio indicado a la atenciï¿½n de Dpto. De Calidad y Atenciï¿½n al Cliente. </p>";
   	var win = new Window( {className: "alphacube", width:300,height:200, closable:true, minimizable:false,maximizable:false, zIndex: 100, resizable: false, title: "", showEffect:Element.show, hideEffect: Element.hide, draggable:true});
    win.setDestroyOnClose(); 
    win.setHTMLContent(textoHtml);
    win.showCenter();
   	}



function generarExcel(){
    try{
    var url = "/ejecucion/consultas/"+$F('id');
        url +=  "?formato=excel&fecha[desde]="+$F('fecha_desde');
        url +=  "&fecha[hasta]="+$F('fecha_hasta');
        url +=  "&consulta[strsucursal]="+$F('consulta_strsucursal');
        url +=  "&opciones="+$F('opciones');
        url +=  "&consulta[persona]="+$F('consulta_persona');
        url +=  "&sort="+$F('sort');
        url +=  "&consulta_intidftipoestado="+$F('consulta_intidftipoestado');
        url +=  "&consulta[intidfnivel2]="+$F('consulta_intidfnivel2');
        url +=  "&consulta[boolSinFechaFirma]="+($F('consulta_boolSinFechaFirma') == null ? '' : 'on');
        if (document.getElementById('consulta_claseExpediente'))
        url +=  "&consulta[claseExpediente]="+$F('consulta_claseExpediente');
        if (document.getElementById('consulta_prestamo'))
        url +=  "&consulta[prestamo]="+$F('consulta_prestamo');
        window.open(url)
    } catch (e){
        alert(e.message);
    }
}
function marcarTodosCheckbox(marcado){
    if (marcado){
        marcado = true;	
    }else{
        marcado = false;
    }
    checks = document.getElementsByClassName("checkbox");
    for (i=0;i<checks.length;i++){
        checks[i].checked=marcado;
    }
}
    
function nuevo_popup(destino){
    window.open('.'+destino,'ventana'+num_aleatorio(),'width=900,height=700,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes')
}
function resaltar_contenedor_principal(){
    $('capa_imprimir').show();	
}
    
    
/**
 * Muestra o esconde una capa dependiendo de la condicion pasada y ejecuta una accion 
 * @param {Object} condicion
 * @param {Object} id_capa
 * @param {Object} accion
 */
function mostrarCampo(condicion,id_capa,accion){
    if (condicion){
        new Effect.BlindDown(id_capa, {afterFinish: function(){try{eval(accion)}catch(e){}}});	
    }else{
        new Effect.BlindUp(id_capa)
    } 
}


function guardar_valores_estimacion_gastos(combo){
    var aux = combo.value.split("##");
    if (aux[0]!="0" ){
        $('tipo_documento').value = combo.value;
        $('intidtipodocumento').value = aux[0];
        $('stridclasedocumento').value = aux[1];
        $('con_responsabilidad').value = aux[2];
        $('porcentajeimpuestos').value = aux[3];

    }else{
        combo.value = $F('tipo_documento')
    }
    if (aux[0] == 19){
        document.getElementById('obs_calculo').innerHTML = "Detalle - Responsabilidad:<br>" +
         "Al carecer de responsabilidad hipotecaria, la base imponible de este tipo de documento es igual al importe principal de la operaci&oacute;n.";
    } else if (aux[0] == 41){
        if($('stridclasedocumento').value == 18){
            document.getElementById('obs_calculo').innerHTML = "Detalle - Responsabilidad:<br>"+
            "Le indicamos que para el c&aacute;lculo de responsabilidad hipotecaria se va a aplicar un coeficiente multiplicador de 1,95 estimado bajo el siguiente criterio: Principal + 24 meses de Intereses Ordinarios al tipo máximo de 15% + 36 meses de Intereses de Demora al tipo del 15% + 20% de Costas y Gastos.";
        } else {
            document.getElementById('obs_calculo').innerHTML = "Detalle - Responsabilidad:<br>"+
            "Le indicamos que para el c&aacute;lculo de responsabilidad hipotecaria se va a aplicar un coeficiente multiplicador de 1,605 estimado bajo el siguiente criterio: Principal + 18 meses de Intereses Ordinarios al tipo m&aacute;ximo de 13% + 24 meses de Intereses de Demora al tipo del 13% + 15% de Costas y Gastos";
        }
    } else if (aux[0] == 48){
        document.getElementById('obs_calculo').innerHTML = "Detalle - Responsabilidad:<br>"+
        "Para el c&aacute;lculo de responsabilidad hipotecaria de cargas se estima que equivale al importe resultante de multiplicar por 2 el principal.<br>" +
        "Si la responsabilidad hipotecaria de su cancelaci&oacute;n es superior al doble, deber&aacute; introducirla manualmente para que el cÃ¡lculo sea fiel a la realidad.";
    } else {
        document.getElementById('obs_calculo').innerHTML = "";
    }
    calculaResponsabilidad(document.forms[0].documento.options[document.forms[0].documento.selectedIndex].value,document.forms[0].importe_entero.value,'responsabilidad');
}

/**
 * Pone en el campo solo los numeros rellenando con decimales
 * @param {Object} campo_a_rellenar: id del campo_a_rellenar
 * @param {Object} campo_entero: id del campo con el importe_entero
 * @param {Object} campo_decimal: id del campo con el importe_decimal
 */
function rellenarCampoSoloNumeros(campo_a_rellenar,campo_entero,campo_decimal){
    if (campo_entero==null){
        campo_entero = campo_a_rellenar
    }
    var tiene_decimal = false;
    var aux_entero = $(campo_entero).value.replace(/\D/g,'');
    $(campo_entero).value = aux_entero;
    $(campo_a_rellenar).value = aux_entero;
    if ($(campo_decimal)!=null && $F(campo_decimal)!='' ){
        var tiene_decimal = true;
        aux_decimal = $(campo_decimal).value.replace(/\D/g,'');
        $(campo_decimal).value = aux_decimal;
        if (aux_decimal!=''){
            $(campo_a_rellenar).value += ","+aux_decimal;	
        }
    }
}

var esCompleta = false;
function pantalla_completa(duracion){
    if (duracion==null){
        duracion = 0.5
    }
    if (esCompleta){
        $('contenedor_principal').hide();
        $('consulta-active-scaffold').style.width = '786px'
        $('capa_filtro').style.width = '786px';
        $('contenedor_principal').style.width = '786px';
        new Effect.Appear('lateral_izquierdo',
        {duration: duracion,
            afterFinish:function(){
                $('boton_mostrar').src = "/images/iconos/flecha_izquierda.gif";
                $('boton_mostrar').title = "Esconder panel lateral";
                $('contenedor_principal').show();
            }})
                
                
    }else{
        $('contenedor_principal').hide();
        new Effect.Fade('lateral_izquierdo',
        {duration: duracion,
            afterFinish:function(){
                $('consulta-active-scaffold').style.width = '940px';
                $('capa_filtro').style.width = '940px';
                $('contenedor_principal').style.width = '940px';
                $('boton_mostrar').src = "/images/iconos/flecha_derecha.gif";
                $('boton_mostrar').title = "Mostrar panel lateral";
                $('contenedor_principal').show();
            }
        }
    )
    }
    esCompleta = !esCompleta;
}
    
function verDocumento(id){
    abrirPopUp('documentos', 'ver_documento','documento='+id, 840, 550, 'DATOS DEL DOCUMENTO') 
}
    
function num_aleatorio(cant){
    if (cant == null){
        cant = 9;
    }
    return Math.round(Math.random()*Math.pow(10, cant));
}
    
//Funciones de google maps: 
var geocoder;
var map;
    
function cargarMapa( ) {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(40.420088, -3.688810),6);
        geocoder = new GClientGeocoder();
    }
} 
    
// addAddressToMap() is called when the geocoder returns an 
// answer.  It adds a marker to the map with an open info window
// showing the nicely formatted version of the address and the country code.
function addAddressToMap(response) {
    if (!response || response.Status.code != 200) {
        //alert("Sorry, we were unable to geocode that address");
    } else {
        place = response.Placemark[0];
        point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml("Marker <b>" + place.address + "</b>");
        });
        map.addOverlay(marker);
    }
}
function mostrarMarcador(response) {
    map.clearOverlays();
    if (!response || response.Status.code != 200) {
        alert("Sorry, we were unable to geocode that address");
    } else {
        place = response.Placemark[0];
        point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
        var marker = new GMarker(point);
        map.addOverlay(marker);
        marker.openInfoWindowHtml(place.address + '<br>' + '<b>Country code:</b> ' + place.AddressDetails.Country.CountryNameCode);
    }
}

function createMarker(point, direccion) {
    markerOptions = {};
    var marker = new GMarker(point, markerOptions);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(direccion);
    });
    GEvent.addListener(marker, "dblclick", function() {
        map.setCenter(point,15);
    });      
      
    return marker;
}
function inicializarMapa(){
    new Ajax.Request('zona_publica/cargar_mapa')
}

function calculaResponsabilidad(tipodocumento, importeprincipal, campo_rellenar){
    if(tipodocumento == 0){
        alert('Ingrese el tipo de documento');
        document.forms[0].documento.focus();
        return;
    }
    if (isNaN(importeprincipal)){
        alert('Introduzca solo valores numÃ©ricos');
        return;
    }
    var aux = tipodocumento.split("##");
    if (aux[0]!="0" ){
        if (aux[0] == 19){
            document.forms[0].responsabilidad.readOnly = true;
            $(campo_rellenar).value = importeprincipal;
        } else if (aux[0] == 41 && aux[1] == 17){
            document.forms[0].responsabilidad.readOnly = true;
            $(campo_rellenar).value = importeprincipal * 1.605;
        } else if (aux[0] == 41 && aux[1] == 18){
            document.forms[0].responsabilidad.readOnly = true;
            $(campo_rellenar).value = importeprincipal * 1.95;
        } else if (aux[0] == 48){
            document.forms[0].responsabilidad.readOnly = false;
            $(campo_rellenar).value = importeprincipal * 2;
        }
    }
}

function cargaPorcentajeLiquidacion(porcentaje){
    if (porcentaje == '' || porcentaje != 99){
        document.forms[0].porcentajeimpuestos.value = porcentaje;
        document.forms[0].porcentajeimpuestos.readOnly = true;
    } else {
        document.forms[0].porcentajeimpuestos.value = '';
        document.forms[0].porcentajeimpuestos.readOnly = false;
    }
}