var nav4 = window.Event ? true : false;

function ventana (URL,ANCHO,ALTO){
     ventana1 = window.open(URL,"ventana1","width="+ANCHO+", height="+ALTO+", scrollbars=yes, menubar=no, location=no, statusbar=yes, resizable=yes")
     ventana1.focus();
}
function ventana2 (URL,ANCHO,ALTO){
     ventana2 = window.open(URL,"ventana2","width="+ANCHO+", height="+ALTO+", scrollbars=yes, menubar=no, location=no, statusbar=yes, resizable=no")
     ventana2.focus();
}

function confirmar( mensaje, destino) {
    if (confirm(mensaje)) {
        document.location = destino ;
    }
}

function sobre (src, color_sobre ) {
      if (!src.contains(event.fromElement)) {
        src.style.cursor = "hand";
        src.bgColor = color_sobre ;
        src.FontColor=" ff0000 ";
      }
}
function fuera (src, color_fuera ) {
      if (!src.contains(event.toElement)) {
        src.style.cursor = "default";
        src.bgColor = color_fuera ;
      }
}

function CargarFoto(img, ancho, alto){
      derecha=(screen.width-ancho)/2;
      arriba=(screen.height-alto)/2;
      string="toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width="+ancho+",height="+alto+",left="+derecha+",top="+arriba+"";
      fin=window.open(img,"Foto",string);
}

function detener(){
      control.scrollAmount="0"
}

function sigue(){
      control.scrollAmount="4"
}


function devuelveMunicipio(cp,mun,pro){
         //Se encarga de escribir en el formulario adecuado los valores seleccionados
         //también debe cerrar la ventana
         var formulario_destino = 'act'

         //meto el municipio
         eval ("opener.document.act.cp.value='" + cp + "'")
         eval ("opener.document.act.mun.value='" + mun + "'")
         eval ("opener.document.act.pro.value='" + pro + "'")
         window.close();
}

function devuelveClienteP(ap1,ap2,nom,nif,dir,cp,mun,pro,tel,fax,mov,ccc1,ccc2,email,tcli){
         //Se encarga de escribir en el formulario adecuado los valores seleccionados
         //también debe cerrar la ventana
         var formulario_destino = 'act'

         //meto el cliente
         eval ("opener.document.act.ap1p.value='" + ap1 + "'");
         eval ("opener.document.act.ap2p.value='" + ap2 + "'");
         eval ("opener.document.act.nomp.value='" + nom + "'");
         eval ("opener.document.act.nifp.value='" + nif + "'");
         eval ("opener.document.act.dir.value='" + dir + "'");
         eval ("opener.document.act.cp.value='" + cp + "'");
         eval ("opener.document.act.mun.value='" + mun + "'");
         eval ("opener.document.act.pro.value='" + pro + "'");
         eval ("opener.document.act.telp.value='" + tel + "'");
         eval ("opener.document.act.faxp.value='" + fax + "'");
         eval ("opener.document.act.tmvp.value='" + mov + "'");
         eval ("opener.document.act.ccc1.value='" + ccc1 + "'");
         eval ("opener.document.act.ccc2.value='" + ccc2 + "'");
         eval ("opener.document.act.email.value='" + email + "'");
         eval ("opener.document.act.tclip.value='" + tcli + "'");
         window.close();
}

function devuelveClienteS(ap1,ap2,nom,nif,tel,fax,mov,tcli){
         //Se encarga de escribir en el formulario adecuado los valores seleccionados
         //también debe cerrar la ventana
         var formulario_destino = 'act'

         //meto el cliente
         eval ("opener.document.act.ap1s.value='" + ap1 + "'")
         eval ("opener.document.act.ap2s.value='" + ap2 + "'")
         eval ("opener.document.act.noms.value='" + nom + "'")
         eval ("opener.document.act.nifs.value='" + nif + "'")
         eval ("opener.document.act.tels.value='" + tel + "'")
         eval ("opener.document.act.faxs.value='" + fax + "'")
         eval ("opener.document.act.tmvs.value='" + mov + "'")
         eval ("opener.document.act.tclis.value='" + tcli + "'")
         window.close();
}

function devuelveClienteV(ap1,ap2,nom,nif,dir,cp,mun,pro,tel,fax,mov,ccc1,ccc2,email,tcli,fnac,fcaddni,fcond,fcadcond,farmas,fcadarmas,nafi,npat,nexp,ccot){
         //Se encarga de escribir en el formulario adecuado los valores seleccionados
         //también debe cerrar la ventana
         var formulario_destino = 'act'

         //meto el cliente
         eval ("opener.document.act.ap1p.value='" + ap1 + "'");
         eval ("opener.document.act.ap2p.value='" + ap2 + "'");
         eval ("opener.document.act.nomp.value='" + nom + "'");
         eval ("opener.document.act.nifp.value='" + nif + "'");
         eval ("opener.document.act.dir.value='" + dir + "'");
         eval ("opener.document.act.cp.value='" + cp + "'");
         eval ("opener.document.act.mun.value='" + mun + "'");
         eval ("opener.document.act.pro.value='" + pro + "'");
         eval ("opener.document.act.telp.value='" + tel + "'");
         eval ("opener.document.act.faxp.value='" + fax + "'");
         eval ("opener.document.act.tmvp.value='" + mov + "'");
         eval ("opener.document.act.ccc1.value='" + ccc1 + "'");
         eval ("opener.document.act.ccc2.value='" + ccc2 + "'");
         eval ("opener.document.act.email.value='" + email + "'");
         eval ("opener.document.act.tclip.value='" + tcli + "'");
         eval ("opener.document.act.fnac.value='" + fnac + "'");
         eval ("opener.document.act.fcaddni.value='" + fcaddni + "'");
         eval ("opener.document.act.fcond.value='" + fcond + "'");
         eval ("opener.document.act.fcadcond.value='" + fcadcond + "'");
         eval ("opener.document.act.farmas.value='" + farmas + "'");
         eval ("opener.document.act.fcadarmas.value='" + fcadarmas + "'");
         eval ("opener.document.act.nafi.value='" + nafi + "'");
         eval ("opener.document.act.npat.value='" + npat + "'");
         eval ("opener.document.act.nexp.value='" + nexp + "'");
         eval ("opener.document.act.ccot.value='" + ccot + "'");
         window.close();
}

function devuelveEmpresa(ide,ap1,ap2,nom,nif,ccc1,ccc2,ida,cco,npa,nex,obs){
         //Se encarga de escribir en el formulario adecuado los valores seleccionados
         //también debe cerrar la ventana
         var formulario_destino = 'act'

         //meto la empresa
         eval ("opener.document.act.idemp.value='" + ide + "'")
         eval ("opener.document.act.ap1.value='" + ap1 + "'")
         eval ("opener.document.act.ap2.value='" + ap2 + "'")
         eval ("opener.document.act.nom.value='" + nom + "'")
         eval ("opener.document.act.nif.value='" + nif + "'")
         eval ("opener.document.act.ccc1.value='" + ccc1 + "'")
         eval ("opener.document.act.ccc2.value='" + ccc2 + "'")
         eval ("opener.document.act.ida.value='" + ida + "'")
         eval ("opener.document.act.ctacot.value='" + cco + "'")
         eval ("opener.document.act.npat.value='" + npa + "'")
         eval ("opener.document.act.explot.value='" + nex + "'")
         eval ("opener.document.act.obs.value='" + obs + "'")
         window.close();
}

function acceptNum(evt){
     // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
     var key = nav4 ? evt.which : evt.keyCode;
     return (key <= 13 || (key >= 48 && key <= 57));
}

function formateo(fld, milSep, decSep, e) {

    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) return true; // Enter
    key = String.fromCharCode(whichCode); // Get key value from key code
    if (strCheck.indexOf(key) == -1) return false; // Not a valid key
    len = fld.value.length;
    for(i = 0; i < len; i++)
     if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
    aux = '';
    for(; i < len; i++)
     if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) fld.value = '';
    if (len == 1) fld.value = '0'+ decSep + '0' + aux;
    if (len == 2) fld.value = '0'+ decSep + aux;
    if (len > 2) {
     aux2 = '';
     for (j = 0, i = len - 3; i >= 0; i--) {
      if (j == 3) {
       aux2 += milSep;
       j = 0;
      }
      aux2 += aux.charAt(i);
      j++;
     }
     fld.value = '';
     len2 = aux2.length;
     for (i = len2 - 1; i >= 0; i--)
      fld.value += aux2.charAt(i);
     fld.value += decSep + aux.substr(len - 2, len);
    }
    return false;
}

function redireccion(url) {

       document.location.href=url;
}

//VALIDACION DE CAMPOS
//Validacion de email
function vemail(form) {

        if (form.value == "" || form.value.indexOf ('@', 0) == -1) {
                return ("-> El campo Email no es válido\n");
        } else
                return ("");
}

//Validacion de Codigo Postal
function vcp(form) {

        if (form.value.length != 5) {
                return ("-> El campo Código Postal es incorrecto\n");
        } else
                return ("");

}

//Validacion de campo obligatorio
function vobligatorio(form,nombre) {

        if (form.value.length < 1) {
                return ("-> El campo " + nombre + " NO puede estar vacío\n");
        } else
                return ("");
}
//Validacion de campo no obligatorio
function vvacio(form,nombre) {

        if (form.value.length > 0) {
                return ("-> El campo " + nombre + " DEBE estar vacío\n");
        }
        else {
                return ("");
        }

}


//Validacion de CIF
function vcif(texto){

        var pares = 0;
        var impares = 0;
        var suma;
        var ultima;
        var unumero;
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
        var xxx;

        let=texto.charAt(0)

        if (!isNaN(let))
        {
         nif=texto;
         return validar2(nif);
        }

        texto = texto.toUpperCase();

        var regular =/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g;
         if (!regular.exec(texto)){
          return ("-> El campo CIF no es correcto\n");
         }

         ultima = texto.substr(8,1);

         for (var cont = 1 ; cont < 7 ; cont ++){
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + 0;
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
             pares += parseInt(texto.substr(cont,1));
         }
         xxx = (2 * parseInt(texto.substr(cont,1))).toString();
         impares += parseInt(xxx.substr(0,1)) + parseInt(0 + xxx.substr(1,1));

         suma = (pares + impares).toString();
         unumero = parseInt(suma.substr(suma.length - 1, 1));
         unumero = (10 - unumero).toString();
         if(unumero == 10) unumero = 0;

         if ((ultima == unumero) || (ultima == uletra[unumero]))
             return ("");
         else {
             return ("-> El campo CIF no es correcto\n");
         }

}

//Obtencion Digito Control de CCC
function digitocontrol2(cadena){
    var cifras = new Array(1,2,4,8,5,10,9,7,3,6);
    var chequeo = 0;
    for (var i=0; i < cifras.length; i++){
                chequeo += parseInt(cadena.charAt(i)) * cifras[i];
        }
    chequeo = 11 - (chequeo % 11);
        if (chequeo == 11) {chequeo = 0;}
        if (chequeo == 10) {chequeo = 1;}
    return chequeo;
}

//Validacion de CCC
function vccc(ccc) {

   var primer_control = "00" + ccc.value.substr(0,4) + ccc.value.substr(4,4);
   var segundo_control= ccc.value.substr(10,10);
   var dc= ccc.value.substr(8,1) + ccc.value.substr(9,1);


   if (ccc.value == "")
         return ("-> El campo CCC no puede estar vacío\n");
   else {
        if (ccc.value.length != 20)
             return ("-> El campo CCC está incompleto\n");
        else {
            if (!(digitocontrol2("00" + ccc.value.substr(0,4) + ccc.value.substr(4,4)) == parseInt(ccc.value.substr(8,1))) ||
                  !(digitocontrol2(ccc.value.substr(10,10)) == parseInt(ccc.value.substr(9,1)))){
                  return ("-> El campo CCC es incorrecto\n");
            }
            else return ("");
        }
   }
}

function vfecha(input, nombre)
{
   if (input.length != 10) {
      return ("-> El campo " + nombre + " es incorrecto (dd/mm/aaaa)\n");
   }
   for (j=0; j<input.length; j++) {
   //all figures and spacers in place?
     if ((j == 2) || (j == 5)) {
       if (input.charAt(j) != "/") {
         return ("-> El campo " + nombre + " es incorrecto (dd/mm/aaaa)\n");
       }
     } else if ((input.charAt(j)<"0") || (input.charAt(j)>"9")) {
       return ("-> El campo " + nombre + " es incorrecto (dd/mm/aaaa)\n");
     }
   }

//using right format dd/mm/yyyy and year 1900 or more? Change this for diff formats...

   bits = input.split("/");
   days = Number(bits[0]);
   month = Number(bits[1]);
   year=Number(bits[2]);
   if (days > 31 || month > 12 || year < 1900) {
       return ("-> El campo " + nombre + " es incorrecto\n");
   }
   else return ("");

}

function IsNumeric(valor)
{
   var log=valor.length; var sw="S";
   for (x=0; x<log; x++){
     v1=valor.substr(x,1);
     v2 = parseInt(v1);
     //Compruebo si es un valor numérico
     if (isNaN(v2)) { sw= "N";}
   }
   if (sw=="S") {return true;} else {return false; }
}

var primerslap=false;
var segundoslap=false;

function formateafecha(fecha)
{
  var long = fecha.length;
  var dia;
  var mes;
  var ano;

  if ((long>=2) && (primerslap==false)) {
     dia=fecha.substr(0,2);
     if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00")) {
        fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7); primerslap=true;
     }
     else { fecha=""; primerslap=false;}
  }
  else{
     dia=fecha.substr(0,1);
     if (IsNumeric(dia)==false) {fecha="";}
     if ((long<=2) && (primerslap=true)) {fecha=fecha.substr(0,1); primerslap=false; }
  }
  if ((long>=5) && (segundoslap==false)){
     mes=fecha.substr(3,2);
     if ((IsNumeric(mes)==true) &&(mes<=12) && (mes!="00")) { fecha=fecha.substr(0,5)+"/"+fecha.substr(6,4); segundoslap=true; }
     else { fecha=fecha.substr(0,3);; segundoslap=false;}
  }
  else { if ((long<=5) && (segundoslap==true)) { fecha=fecha.substr(0,4); segundoslap=false; } }
  if (long>=7){
     ano=fecha.substr(6,4);
     if (IsNumeric(ano)==false) { fecha=fecha.substr(0,6); }
     else { if (long==10){ if ((ano==0) || (ano<1900) || (ano>2100)) { fecha=fecha.substr(0,6); } } }
  }

  if (long>=10){
     fecha=fecha.substr(0,10);
     dia=fecha.substr(0,2);
     mes=fecha.substr(3,2);
     ano=fecha.substr(6,4);
     // Año no viciesto y es febrero y el dia es mayor a 28
     if ( (ano%4 != 0) && (mes ==02) && (dia > 28) ) { fecha=fecha.substr(0,2)+"/"; }
  }
  return (fecha);
}

function mayusculas (field){
      field.value = field.value.toUpperCase();
      return;
}

//VERIFICACION DE FORMULARIOS TABLAS BASE

//ACREEDORES

function Form_Acreedores (form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.nom,"Nombre");

        alerta += vobligatorio(form.dir,"Dirección");
        alerta += vobligatorio(form.mun,"Municipio");
        alerta += vcp(form.cp);

        alerta += vobligatorio(form.pro,"Provincia");
        alerta += vemail(form.ema);

        alerta += vobligatorio(form.tel,"Teléfono");
        alerta += vobligatorio(form.fax,"Fax");
        //alerta += vcif(form.nif.value);
        alerta += vccc(form.ccc);
        alerta += vobligatorio(form.tiva,"Tipo IVA");
        alerta += vobligatorio(form.sfac,"Serie Factura");
        alerta += vobligatorio(form.tret,"Tipo Retención");
        alerta += vobligatorio(form.nfac,"Número Factura");
        alerta += vobligatorio(form.pcon,"Persona de Contacto");
        alerta += vobligatorio(form.obs,"Observaciones");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

        document.act.submit();
}

function Form_Proveedores (form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.nom,"Nombre");

        alerta += vobligatorio(form.dir,"Dirección");
        alerta += vobligatorio(form.mun,"Municipio");
        alerta += vcp(form.cp);

        alerta += vobligatorio(form.pro,"Provincia");
        alerta += vemail(form.ema);

        alerta += vobligatorio(form.tel,"Teléfono");
        alerta += vobligatorio(form.fax,"Fax");
        //alerta += vcif(form.nif.value);
        alerta += vccc(form.ccc);
        alerta += vobligatorio(form.tiva,"Tipo IVA");
        alerta += vobligatorio(form.sfac,"Serie Factura");
        alerta += vobligatorio(form.tret,"Tipo Retención");
        alerta += vobligatorio(form.nfac,"Número Factura");
        alerta += vobligatorio(form.pcon,"Persona de Contacto");
        alerta += vobligatorio(form.obs,"Observaciones");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

        document.act.submit();
}

function Form_Asuntos(form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.nom,"Nombre");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

        document.act.submit();
}
function cerrar(){
        window.close();
        window.opener.history.go(0);
}

//Deshabilitar campos innecesarios
function des_ccc1(valor){

         if(valor=='Otro')
            xDisplay('capaexpansion', 'block')
         else
            xDisplay('capaexpansion', 'none')

         if(valor!='Cliente'){
            document.act.ccc.value = ""
            document.act.ccc.disabled = true
            document.act.prot.disabled = false
            document.act.nch.disabled = false
            if(valor!='Proveedor'){
              document.act.est.value = "Procesado"
              document.act.prot.disabled = false
              document.act.nch.disabled = false
            }
         }
         else {
            document.act.ccc.disabled = false
            document.act.est.value = ""
            document.act.prot.disabled = true
            document.act.nch.disabled = true
         }
         return true;

}

function expandir_formulario(){
       if (document.f1.expandir.checked){
              xDisplay('capaexpansion', 'block')
       }else{
              xDisplay('capaexpansion', 'none')
       }
}
function expandir_form1(){
       if (document.act.seg.value=="SI"){
              xDisplay('capaexpansion', 'block')
       }else{
              xDisplay('capaexpansion', 'none')
       }
}

function Intro_Pago(form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.imp,"Importe");
        alerta += vobligatorio(form.est,"Estado");

        alerta += vobligatorio(form.ccc,"CCC Cliente");
        alerta += vobligatorio(form.fec,"Fecha pago");

        alerta += vobligatorio(form.con,"Concepto");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

        //document.act.submit();

}
function Intro_Cobro(form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.imp,"Importe");
        alerta += vobligatorio(form.tipo,"Tipo Cobro");
        alerta += vobligatorio(form.est,"Estado");

        alerta += vobligatorio(form.ccc,"CCC Cliente");
        alerta += vobligatorio(form.fec,"Fecha pago");

        alerta += vobligatorio(form.con,"Concepto");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

        //document.act.submit();

}

function des_tipo_cobro(valor,ide){


         if(valor=='Provision Inicial'){
            document.act.con.value = "S/Pago Provision Inicial Expte. " + ide;
         }
         else if(valor=='Honorarios'){
            document.act.con.value = "S/Pago Honorarios Expte. " + ide;
         }
         else if(valor=='Liquidacion Final'){
            document.act.con.value = "S/Pago Liq. Final Expte. " + ide;
         }
         return true;

}

//Funciones comprobacion formularios alabaranes/facturas
function actualizar_albaran(form){

        document.fact.action="factura_agrario.php?op=crear_albaran"
        document.fact.submit()
}
function guardar_albaran(form){

         //Desactivamos boton del submit
        form.guardar.disabled = true; // desactivar botón
        setTimeout(function(){form.guardar.disabled = false;},3*1000)

        var alerta="";

        alerta+=vobligatorio(form.chon,"Concepto Servicios Prestados");
        alerta+=vobligatorio(form.totalhonorarios,"Importe Servicios Prestados");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

        document.fact.action="factura_agrario.php?op=guardar_albaran"
        document.fact.submit()
}

function actualizar_factura(form){

        document.fact.action="factura_agrario.php?op=actualizar_factura"
        document.fact.submit()
}
function guardar_factura(form){

       /*

         //Desactivamos boton del submit
        form.guardar.disabled = true; // desactivar botón
        setTimeout(function(){form.guardar.disabled = false;},3*1000)

        var alerta="";

        alerta+=vobligatorio(form.chon,"Concepto Servicios Prestados");
        alerta+=vobligatorio(form.totalhonorarios,"Importe Servicios Prestados");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }
         */
        document.fact.action="factura_agrario.php?op=guardar_factura"
        document.fact.submit()
}

function Form_CambiosEstado (form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.fecha,"Fecha");

        alerta += vobligatorio(form.est,"Estado");

        alerta += vobligatorio(form.ubi,"Ubicación");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

}

function Form_Seguimiento (form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.fven,"Fecha Vencimiento");

        alerta += vobligatorio(form.descapl,"Motivo aplazamiento");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

}

function Form_Contactar (form){

        var alerta="";

         //Desactivamos boton del submit
        for (var b=0;b<form.elements.length;b++){ // por cada elemento del form
             var formEl = form.elements[b];
             // si el elemento es un botón de submit
             if ((formEl.tagName == "INPUT") && (formEl.getAttribute("type") != null) && ((formEl.getAttribute("type").toLowerCase() == "submit") )) {
                  var boton = form.elements[b];
                  boton.disabled = true; // desactivar botón
                  setTimeout(function(){boton.disabled = false;},3*1000);
             }
        }

        alerta += vobligatorio(form.nom,"Nombre");

        alerta += vemail(form.ema,"Email");

        alerta += vobligatorio(form.tel,"Teléfono");

        alerta += vobligatorio(form.dir,"Dirección");

        alerta += vobligatorio(form.loc,"Localidad");

        alerta += vobligatorio(form.des,"Descripcion");

        if(alerta!=""){
           alert(alerta);
           return (false);
        }

}