function binarios(nombreCampo,tipoBinario,descripcion) {
    var url=CONTEXTO+'/contenido.nuevoBinario.do';
    if(window.XMLHttpRequest){xhttp=new XMLHttpRequest();}
    else if(window.ActiveXObject){xhttp=new ActiveXObject('Microsoft.XMLHTTP');}
    var params=new Array();
    params[0]='nombreCampo='+nombreCampo;
    params[1]='tipoBinario='+tipoBinario;
    params[2]='descripcionCampo='+descripcion;
    var params=tratarParametros(params);
    //volvemos a pasarle la descripcion enlace para que mantenga los acentos
    params[2]='descripcionCampo='+descripcion;
    var sendf=params.join('&');
    xhttp.open('POST',url,true);
    xhttp.onreadystatechange=dibujarCamposBinario;
    xhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=ISO-8859-15');
    xhttp.setRequestHeader('Connection','close');
    xhttp.send(sendf);
}

function dibujarCamposBinario() {
    if(xhttp.readyState==4){
        if(xhttp.status!=200){
            sesionCaducada();
        } else {
            mostrarCapaBinario();        
            var respuesta=xhttp.responseText; // responseText
            var contenido = findObj('__capaBinario__');
            contenido.innerHTML=respuesta;
            var cabecera = findObj('__capaCabecera__');
            Drag.init(cabecera, contenido);
        }
    }
}

function mostrarCapaBinario() {
    ocultarSelects();
    var contenido=findObj('__capaBinario__');
    
    var scrolTop = getPosicionScrollTop();
    var scrolLeft = getPosicionScrollLeft();
    
    contenido.style.top = scrolTop+"px";
    contenido.style.left = scrolLeft+"px";
    
    contenido.style.marginTop = '10%';
    contenido.style.marginLeft = '15%';
    contenido.style.display='block';
    contenido.style.visibility='visible';
}

function ocultarCapaBinario() {
    var contenido=findObj('__capaBinario__');
    contenido.style.display='none';
    contenido.style.visibility='hidden';
    contenido.innerHTML="";
    mostrarSelects();
}



function dibujarCamposComboBinario() {
    //tengo que recuperar el xml y pintar todos los datos que me vienen en el select de binario
    if(xhttp.readyState==4) {
        if(xhttp.status!=200){
            sesionCaducada();
        } else {
            var respuesta=xhttp.responseXML; // responseText
            var doc=window.document;  
            
            var error=respuesta.getElementsByTagName('error')[0];
            if (!error) {
                
                
                var numeroBinarios=(respuesta.getElementsByTagName('numeroBinarios')[0]).childNodes[0].nodeValue;
                var nombreCampo=(respuesta.getElementsByTagName('nombreCampo')[0]).childNodes[0].nodeValue;
                var tamCampo=(respuesta.getElementsByTagName('tam')[0]).childNodes[0].nodeValue;
                
                
                var maxLengthCampo = -1;
                if( findObj(nombreCampo+'_maxlength') ){
                    maxLengthCampo = findObj(nombreCampo+'_maxlength').value;
                }
                
                var campoSelect=findObj(nombreCampo);
                if(campoSelect.tagName=="SELECT"){campoSelect.innerHTML="";}
                else if(campoSelect.tagName=="INPUT"){
                    campoSelect.value="";
                    var campoSelectDescripcion=findObj(nombreCampo+"Descripcion");
                    campoSelectDescripcion.value="";
                }
                
                if(numeroBinarios>0){
                    if(maxLengthCampo==1){
                        var ordenBinario=(respuesta.getElementsByTagName('ordenBinario')[0]).childNodes[0].nodeValue;
                        var descripcionBinario=(respuesta.getElementsByTagName('descripcionBinario')[0]).childNodes[0].nodeValue;
                        var campoSelectDescripcion=findObj(nombreCampo+"Descripcion");
                        campoSelectDescripcion.value=descripcionBinario;
                        campoSelect.value=descripcionBinario;
                    }else{
                        for(i=0;i<numeroBinarios;i++){
                            var ordenBinario=(respuesta.getElementsByTagName('ordenBinario')[i]).childNodes[0].nodeValue;
                            var descripcionBinario=(respuesta.getElementsByTagName('descripcionBinario')[i]).childNodes[0].nodeValue;
                            var option=doc.createElement('option');
                            option.value=ordenBinario;
                            option.innerHTML=descripcionBinario;
                            campoSelect.appendChild(option);
                        }
                    }
                }
        
                mostrarBotones( nombreCampo, numeroBinarios);
                
                var vistaPrevia = findObj('vistaPrevia'+nombreCampo);
                if( vistaPrevia ){
                    if(numeroBinarios >0 ){
                        vistaPrevia.style.visibility="visible";
                    }else{
                        vistaPrevia.style.visibility="hidden";
                    }
                }
            }
            
            ocultarCapaBinario();
            if (error) {
                alert(error.childNodes[0].nodeValue);
            }
        }
    }
}

function eliminarListaBinario(id){
    var a=0;
    var campo=findObj(id);
    var campoBorrar;
    if(campo.tagName=="SELECT"){
        var noElementos=true;
        do{
            if(campo.options.length>0){
                if(campo.options[a].selected){
                    //campoBorrar=campo.options[a].value;
                    campoBorrar = a;
                    noElementos=false;
                    break;
                }else{
                    a++;
                }
            }else{
                noElementos=true;
            }
        }while(a<campo.options.length);
        if(noElementos){alert(USR_NO_SELECCION);return;}
    }else if(campo.tagName=="INPUT"){
        campoBorrar='0';
    }

    var url=CONTEXTO+'/contenido.eliminarBinario.do';
    if(window.XMLHttpRequest){xhttp=new XMLHttpRequest();}
    else if(window.ActiveXObject){xhttp=new ActiveXObject('Microsoft.XMLHTTP');}
    var params=new Array();
    params[0]='nombreCampo='+id;
    params[1]='campoBorrar='+campoBorrar;
    var params=tratarParametros(params);
    var sendf=params.join('&');
    xhttp.open('POST',url,true);
    xhttp.onreadystatechange=dibujarCamposComboBinario;
    xhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=ISO-8859-15');
    xhttp.setRequestHeader('Connection','close');
    xhttp.send(sendf);
}
function bajarOrdenListaBinario(id){
    var a=0;
    var campo=findObj(id);
    var campoBajar;
    var numElemento = "";
    var noElementosBajar= new Boolean(true);
    do{
        if(campo.options.length>0){
            if(campo.options[a].selected){
                campoBajar=campo.options[a].value;
                noElementosBajar=false;
                numElemento = a+"";
                break;
            }else{
                a++;
            }
        }else{
            noElementosBajar=true;
        }
    }while(a<campo.options.length);
    if (!noElementosBajar){
        if(numElemento==campo.options.length-1){
            alert(USR_BAJAR_ULTIMO);return;
        }
        if(campoBajar==campo.options.length-1){
            alert(USR_BAJAR);return;
        }
        var url=CONTEXTO+'/contenido.bajarOrdenBinario.do';
        if(window.XMLHttpRequest){xhttp=new XMLHttpRequest();}
        else if(window.ActiveXObject){xhttp=new ActiveXObject('Microsoft.XMLHTTP');}
        var params=new Array();
        params[0]='campoBinario='+id;
        params[1]='campoBajar='+campoBajar;
        var params=tratarParametros(params);
        var sendf=params.join('&');
        xhttp.open('POST',url,true);
        xhttp.onreadystatechange=dibujarCamposComboBinario;
        xhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=ISO-8859-15');
        xhttp.setRequestHeader('Connection','close');
        xhttp.send(sendf);
    } else {
        alert(USR_NO_SELECCION);
    }
}
function subirOrdenListaBinario(id){
    var a=0;
    var campo=findObj(id);
    var campoSubir;
    var numElemento = "";
    var noElementosSubir = new Boolean(true);
    do{
        if(campo.options.length>0){
            if(campo.options[a].selected){
                campoSubir=campo.options[a].value;
                numElemento = a+"";
                noElementosSubir=false;
                break;
            }else{
                a++;
            }
        }else{
            noElementosSubir=true;
        }
    }while(a<campo.options.length);
    if (!noElementosSubir){
        if( numElemento == "0"){
            alert(USR_SUBIR_PRIMERO);return;
        }
        if(campoSubir==0){
            alert(USR_SUBIR);return;
        }
        var url=CONTEXTO+'/contenido.subirOrdenBinario.do';
        if(window.XMLHttpRequest){xhttp=new XMLHttpRequest();}
        else if(window.ActiveXObject){xhttp=new ActiveXObject('Microsoft.XMLHTTP');}
        var params=new Array();
        params[0]='campoBinario='+id;
        params[1]='campoSubir='+campoSubir;
        var params=tratarParametros(params);
        var sendf=params.join('&');
        xhttp.open('POST',url,true);
        xhttp.onreadystatechange=dibujarCamposComboBinario;
        xhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=ISO-8859-15');
        xhttp.setRequestHeader('Connection','close');
        xhttp.send(sendf);
    } else {
        alert(USR_NO_SELECCION);
    }
}

function editarBinario(id,tipoBinario,descripcion){
    var obj=findObj(id);
    var nombreCampo = obj.name;
    var idSeleccionado;
    if(obj.tagName=="SELECT"){idSeleccionado=obj.selectedIndex;}
    else if(obj.tagname="INPUT"){
        if(obj.value!=""){idSeleccionado='0';}
        else{return;}
    }

    var url=CONTEXTO+'/contenido.editarBinario.do';
    if(window.XMLHttpRequest){xhttp=new XMLHttpRequest();}
    else if(window.ActiveXObject){xhttp=new ActiveXObject('Microsoft.XMLHTTP');}
    var params=new Array();
    params[0]='nombreCampo='+nombreCampo;
    params[1]='tipoBinario='+tipoBinario;
    params[2]='descripcionCampo='+descripcion;
    params[3]='idSeleccionado='+idSeleccionado;
    var params=tratarParametros(params);
    //volvemos a pasarle la descripcion enlace para que mantenga los acentos
    params[2]='descripcionCampo='+descripcion;
    var sendf=params.join('&');
    xhttp.open('POST',url,true);
    xhttp.onreadystatechange=dibujarCamposBinario;
    xhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=ISO-8859-15');
    xhttp.setRequestHeader('Connection','close');
    xhttp.send(sendf);
}



var campoAPrevisualizar = -1;
function validarVistaPrevia(campo){
    campoAPrevisualizar = -1;
    var a=0;
    if(campo.options != null){
        campoMultiple = true;
        do{
            if(campo.options.length>0){
                if(campo.options[a].selected){
                    campoAPrevisualizar=a;                
                    noElementosSubir=false;
                    break;
                }else{
                    a++;
                }
            }else{
                noElementosSubir=true;
            }
        }while(a<campo.options.length);
    }else{
        campoMultiple = false;
        if(campo == null || campo.value == ''){
            alert('No existe imagen para previsualizar');
            return false;
        }else{
            campoAPrevisualizar = 0;
        }
    }
    if(campoMultiple && campoAPrevisualizar == -1){
        alert('Debe seleccionar un elemento para previsualizarlo');
        return false;
    }
    return true;

}

var num = 0;
function vistaPreviaBinarios(nombreCampo, tipoBinario) {
    var campo = document.getElementById(nombreCampo);

    if(validarVistaPrevia(campo)){
        if(tipoBinario == 'I'){
            var url=CONTEXTO+'/contenido.previsualizarIcono.do';
            if(window.XMLHttpRequest){xhttp=new XMLHttpRequest();}
            else if(window.ActiveXObject){xhttp=new ActiveXObject('Microsoft.XMLHTTP');}
            var params=new Array();
            params[0]='campoAPrevisualizar='+campoAPrevisualizar;
            params[1]='nombreCampo='+nombreCampo;
            params[2]='num='+num;
            var params=tratarParametros(params);
            var sendf=params.join('&');
            xhttp.open('POST',url,true);
            xhttp.onreadystatechange=mostrarCapaPrevisualizaciones;
            xhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=ISO-8859-15');
            xhttp.setRequestHeader('Connection','close');
            xhttp.send(sendf);
            num = num+1;
        }else{
            var pr = findObj("vistaPrevia"+nombreCampo);
            pr.target = "_blank";
            pr.href = CONTEXTO+'/contenido.previsualizarBinario.do?campoAPrevisualizar='+campoAPrevisualizar+'&nombreCampo='+nombreCampo;
            //return true;
        }
    }else{
        return false;
        if( !(tipoBinario == 'I')){
            //return false;
        }
    }
}

function mostrarCapaPrevisualizaciones() {
    if(xhttp.readyState==4){
        if(xhttp.status!=200){
            sesionCaducada();
        } else {
            ocultarSelects();
            
            var respuesta = xhttp.responseXML;
            var nombreCampo = (respuesta.getElementsByTagName('nombreCampo')[0]).childNodes[0].nodeValue;
            var codigo = (respuesta.getElementsByTagName('codigo')[0]).childNodes[0].nodeValue;
            
            var general=findObj('contenedor'+nombreCampo);    
            general.innerHTML = codigo;
            
            var contenedor=findObj('idObjetoCapa'+nombreCampo);
            contenedor.style.display='block';
            contenedor.style.visibility='visible';
    
            Drag.init(general, contenedor);
        }
    }
}
function ocultarCapaPrevisualizaciones(nombreCampo) {
    mostrarSelects();
    
    var contenedor=findObj('idObjetoCapa'+nombreCampo);
    contenedor.style.display='none';
    contenedor.style.visibility='hidden';
}
