// JavaScript Document
/*function isEmail(who) {

	function isEmpty(who) {

		var testArr=who.split("");

		if(testArr.length==0)

			return true;

		var toggle=0;

		for(var i=0; i<testArr.length; i++) {

			if(testArr[i]==" ") {

				toggle=1;

				break;

			}

		}

		if(toggle)

			return true;

		return false;

	}



	function isValid(who) {

		var invalidChars=new Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",","\"","'","|","{","}","\\","/","<",">","?");

		var testArr=who.split("");

		for(var i=0; i<testArr.length; i++) {

			for(var j=0; j<invalidChars.length; j++) {

				if(testArr[i]==invalidChars[j]) {

					return false;

				}

			}

		}

		return true;

	}



	function isfl(who) {

		var invalidChars=new Array("-","_",".");

		var testArr=who.split("");

		which=0;

		for(var i=0; i<2; i++) {

			for(var j=0; j<invalidChars.length; j++) {

				if(testArr[which]==invalidChars[j]) {

					return false;

				}

			}

			which=testArr.length-1;

		}

		return true;

	}



	function isDomain(who) {

		var invalidChars=new Array("-","_",".");

		var testArr=who.split("");

		if(testArr.length<2||testArr.length>4) {

			return false;

		}

		for(var i=0; i<testArr.length; i++) {

			for(var j=0; j<invalidChars.length; j++) {

				if(testArr[i]==invalidChars[j]) {

					return false;

				}

			}

		}

		return true;

	}





	var testArr=who.split("@");

	if(testArr.length<=1||testArr.length>2) {

		return false;

	}

	else {

		if(isValid(testArr[0])&&isfl(testArr[0])&&isValid(testArr[1])) {

			if(!isEmpty(testArr[testArr.length-1])&&!isEmpty(testArr[0])) {

				var testArr2=testArr[testArr.length-1].split(".");

				if(testArr2.length>=2) {

					var toggle=1;

					for(var i=0; i<testArr2.length; i++) {

						if(isEmpty(testArr2[i])||!isfl(testArr2[i])) {

							toggle=0;

							break;

						}

					}

					if(toggle&&isDomain(testArr2[testArr2.length-1]))

						return true;

					return false;

				}

				return false;

			}

		}

	}

}*/


/** FUNCIONES DE LA VERSION 2 **/

/**/
function eliminarElemento(){
	var elemCelda = this.parentNode;
	var elemFila = elemCelda.parentNode;
	var elemTabla = elemFila.parentNode;
	
	elemTabla.removeChild(elemFila);
	
}

function abrirVentanaCargarArchivo(url, tituVentana){
	var winPop = 
		dhtmlmodal.open(
			"modalVentanaAviso", 
			"iframe", 
			url, 
			tituVentana, 
			"width=800px,height=500px,center=1,resize=0,scrolling=0,btnClose=0"
		); 
	return (winPop);
}

/** CONTADOR DE CARACTERES **/
function textCounter(field,cntfield,maxlimit)
{
    /* si el contenido es mayor que maxlimit entonces cortas el texto a la
     * longitud máxima permitida. */
    if (field.value.length > maxlimit)
    {
        field.value = field.value.substring(0, maxlimit);
    }
    /* sino, entonces se actualiza el contador */
    else
    {
        cntfield.value = maxlimit - field.value.length;
    }
}

/** CREADOR DE SUBSELECTS **/
function subselect(opt1,opt2)
{
    var options = {};
    var sel2=document.getElementById(opt2);
    var OpcionesArray = new Array();
    switch(opt1.value)
    {
        //    1="Aprobaci&oacute;n de Compras"
        //    2="Aprobaci&oacute;n de Contrato de Servicio"
        //    3="Autorizaci&oacute;n de Dominios"
        //    4="Consultor&iacute;a"
        case '1':
            borrarLista(opt2);
            OpcionesArray=["Software","Redes","Telecomunicaciones","Hardware","Consumibles"];
            llenaselect(sel2,OpcionesArray);
            $( "#"+opt2 ).show( 'blind', options, 1000 );
        break;
        case '2':
            borrarLista(opt2);
            OpcionesArray=["Internet","Telecomunicaciones","Circuitos de Datos","Mantenimiento"];
            llenaselect(sel2,OpcionesArray);
            $( "#"+opt2 ).show( 'blind', options, 1000 );
        break;
        default:
        $( "#"+opt2 ).hide( );
        $( "#avisosderecha" ).hide();
        $("#derechainterna").html('');
        borrarLista(opt2);
        OpcionesArray=[""];
    }
}

function llenaselect(destino,origen)
{
   for(i=0;i<origen.length;i++)
    {
        destino.options[i]=new Option (origen[i],origen[i]);
    }
    //destino.selectedIndex = --i;
    destino.selectedIndex = 1;  //se cambió de --i a 1 porque se cambió el orden.

}

//createWindow('', 400, '#CCCCCC', 1, 0, 25, 25);

function subselectaction(opt)
{
    var options = {};
    switch(opt.value)
    {
        case 'Hardware':
            $("#avisosderecha" ).show('blind', options, 1000 );
            $("#derechainterna").html('<strong>Hardware</strong><p>Si las especificaciones técnicas publicadas en los anexos del documento de la Autoridad'+
                ' Nacional para la Innovación Gubernamental ( www.innovacion.gob.pa ), para la compra de '+
                'equipos básicos de informática, cubren las necesidades requeridas por los ministerios e '+
                'instituciones. El sistema otorgará una certificación de evaluación '+
                'automática, avalada por la AIG para esta compra, siempre y cuando el gestor llene la '+
                'solicitud de evaluación.</p>'+
                '<p>Indicar en el campo "descripción", el tipo o modelo de equipo requerido '+
                'según los anexos, así como la cantidad total de cada uno de estos que serán'+
                ' adquiridos. Ejemplo: Estación de Trabajo Tipo-1 (5), Servidor básico Modelos 2 (1)'+
                ', Impresora Láser a color Modelo 1 (2) y Cámara digital (2)</p> <p>  Recordar que para '+
                'solicitar las cotizaciones, se deben adjuntar exactamente las especificaciones de '+
                'los anexos, de lo contrario la aprobación quedará invalidada.</p> <p>En el caso de '+
                'que alguno de los artículos no está detallado en los anexos o las especificaciones '+
                'requeridas sean diferentes a las públicas, cierre la ventana y seleccione el '+
                'renglón adecuado "hardware, software, etc." para proseguir con el proceso de '+
                'evaluación. En cuyo caso es necesario enviar adjunto al requerimiento: las especificaciones'+
                ' técnicas, funciones a cubrir, precio aproximado, así como los beneficios que espera obtener'+
                ' el ministerio o institución de estos equipos o servicios.</p>');            
            document.formulario.flag_consum.value=2;
        break;
        case 'Consumibles':
            $("#avisosderecha" ).show('blind', options, 1000 );
            $("#derechainterna").html('<strong>Consumibles</strong>  <br> Listado de elementos definidos como consumibles por la Autoridad Nacional para la Innovación Gubernamental.'+
                '<ol><li>Abanicos de Gabinetes</li><li>Abanicos de Servidores</li><li>Adaptador AC/DC de Laptop (Cargador)</li>'+
                '<li>Antena para Radios Portatiles</li><li>Audifonos</li><li>Bandeja para Rack</li><li>Bateria de Radios portatiles</li>'+
                '<li>Batería para Video Filmadora</li><li>Baterías de Laptop</li><li>Baterías para UPS</li>'+
                '<li>Bocina</li><li>Cable (UTP, Teléfono)</li><li>Cable SCSI para Jukebox</li><li>Cables de Impresoras</li>'+
                '<li>Cables para Direccionador de Datos (dataswitch)</li><li>Cajillas</li><li>Caratula de Cd</li>'+
                '<li>Case tipo torre con fuente de poder incluida</li><li>CD-R</li><li>CD-RW</li><li>Cintas para Backup</li>'+
                '<li>Conectores (RJ45, RJ15)</li><li>Direccionador de Datos Inteligente (dataswitch)</li><li>Disco Duro</li>'+
                '<li>Disco Duro Externo</li><li>Discos USB</li><li>Disquete</li><li>Docking Station o accesorio parecido</li>'+
                '<li>DVD RW interno</li><li>DVD-R</li><li>DVD-RW</li><li>Etiquetas de Cd</li><li>Firewall Básico (No mayor de B/. 1000.00)</li>'+
                '<li>Fuente de Poder</li><li>Gabinete de pared para equipos de red</li><li>Gabinete de piso para equipos de red</li>'+
                '<li>Herramientas LAN</li><li>Kit de Fusor para impresora láser</li><li>Lamparas de Proyector</li><li>Memoria</li>'+
                '<li>Monitor</li><li>Motherboard (con Video, Sonido y LAN incorporado)</li><li>Mouse</li><li>Procesador</li>'+
                '<li>Suministros de Impresion (Tonner, Tintas o parecido)</li><li>Swicth KVM</li><li>Tarjeta de Red 10/100/1000</li>'+
                '<li>Tarjeta de red inalámbrica</li><li>Tarjeta de red inhalámbrica</li><li>Tarjeta de video AGP / PCI</li>'+
                '<li>Teclado</li><li>Teléfono individuales</li><li>Unidad de CD-ROM</li><li>Unidad de CD-Writer</li><li>Unidad de DVD-ROM</li>'+
                '<li>Unidad de Floppy</li><li>Unidad Fotoconductores para Copiadoras (DRUM)</li><li>Unidades de Zip</li>'+
                '<li>Unidades Floppy</li><li>Wireless Access Point</li></ol>');
            document.formulario.flag_consum.value=1;
        break;
        default:
             $( "#avisosderecha" ).hide();
             $("#derechainterna").html('');
              
               
            
            document.formulario.flag_consum.value=0;
    }
}

function apagar (opt,tiempo)
{
    setTimeout(function() {$( "#"+opt+":visible" ).removeAttr( "style" ).fadeOut();}, tiempo );
}

function borrarLista(opt)
{
  var elSel = document.getElementById(opt);
  var i;
  for (i = elSel.length - 1; i>=0; i--)
  {
          elSel.remove(i);
  }
}

function uploadfilewindow()
{
    var options = {};
     
     htmlobj=$.ajax({url:"nuevo_adjunto.php",type:"POST",cache:false,success:function(html){$( "#archivosadjuntos" ).append(html)}});
      $( "#archivosadjuntos" ).show( 'blind', options, 1000 ).html(htmlobj.responseText);
//     $( "#avisosderecha" ).load('../nuevo_adjunto.php').show( 'blind', options, 1000 );
}

function grabarnuevoadjunto()
{    
      var options = {};
     htmlobj=$.ajax({url:"nuevo_adjunto.php",type:"POST",data:"archivo="+$(archivo).val(),cache:false,success:function(html){$( "#archivosadjuntos" ).html(html.responseText)}});
      $( "#archivosadjuntos" ).show( 'blind', options, 1000 ).html(htmlobj.responseText);
}


function verificatel()
{
    var rege = /^([0-9]{3,4}\-?[0-9]{4})?$/;
    result = true;
    for(i=2;i<=4;i++)
    {
        if(!rege.test($('#tel'+i).val()))
        {
            $('#verificatel'+i).html("*Revisar.");
           result=false;
        }
        else
        {
            $('#verificatel'+i).html("&nbsp;");
        }
    }
    return result;
}

function verificaema()
{
    var rege = /^([a-z0-9]+([-._]?[a-z0-9]+)*@[a-z0-9]+([-._]?[a-z0-9]+)*\.(com|net|info|name|gov|mil|edu|org|[a-z]{2})+)?$/;
    result=true;
    for(j=2;j<=3;j++)
    {
        if(!rege.test($('#ema'+j).val()))
        {
            $('#verificaema'+j).html("*Revisar. Correo err&oacute;neo.");
            result=false;
        }
        else
        {
            $('#verificaema'+j).html("&nbsp;");
        }
    }
    return result;
}

function verificaNUusuario()
{
    var rege = /^[a-z0-9]+([-._]?[a-z0-9]+)*@[a-z0-9]+([-._]?[a-z0-9]+)*\.(com|net|info|name|gov|mil|edu|org|[a-z]{2})+$/;
    result=true;
    if(!rege.test($('usuario').val())) {$('#verificaNUusuario').html("*Revisar. Correo err&oacute;neo.");result=false;}
    else {$('#verificaNUusuario').html("&nbsp;");}
    return result;
}

function verificaNUalfa()
{
    var rege = /^[a-zA-ZñÑáéíóú]+$/;
    result=true;
    if(!rege.test($('nombre').val())) {$('#verificaNUnombre').html("*Revisar. Nombre incorrecto.");result=false;}
    else {$('#verificaNUnombre').html("&nbsp;");}

    if(!rege.test($('apellido').val())) {$('#verificaNUapellido').html("*Revisar. Apellido incorrecto.");result=false;}
    else {$('#verificaNUapellido').html("&nbsp;");}
    return result;
}

function verificaNUtel()
{
    var rege = /^([0-9]{3,4}\-?[0-9]{4})?$/;
    result=true;
    if(!rege.test($('telefono').val())) {$('#verificaNUtel').html("*Revisar. Tel&eacute;fono mal escrito.");result=false;}
    else {$('#verificaNUtel').html("&nbsp;");}
    return result;
}


function verificaNU()
{
    var vu=false; //email
    var vna=true; //nombre
    var vt=false; //telefono
    
    if(verificaNUalfa()) {vna=true;}
    if(verificaNUtel()) {vt=true;}
    if(verificaNUusuario()) {vu=true;}
    if(vu)
    {$('#botonEnviar').attr('class','ui-state-active ui-corner-all ui-widget ui-button').removeAttr('disabled');}
    else
    {$('#botonEnviar').attr('class','ui-corner-all ui-widget ui-button ui-state-disabled').attr('disabled','disabled');}
}



function verificafil()
{
    var rege = /^(.*\.(pdf|PDF))?$/;
    vacio=0;
    result=true; 
    for(j=1;j<=5;j++)
    {
        if(!rege.test($('#file'+j).val()))
        {
            $('#verificafile'+j).html("*Revisar. Archivo err&oacute;neo.");
            result=false;
        }
        else
        {
            $('#verificafile'+j).html("&nbsp;");
        }
        if($('#file'+j).val().length==0)
        {
            vacio++;
        }
    }
    if(vacio==5)
    {
        var regevercons=/^Consumibles$/
        if(!regevercons.test($('#tipo_sol2').val()))
        {
            return false; 
        }
        else
        {
            return true;
        }
    }
    else
    {return result;}
}

function verificamon()
{
    var rege = /^[0-9]{1,}(\.[0-9]{2})$/;
    var result = true;
    if(!rege.test($('#monto').val()))
    {
        $('#verificamont').html("*Revisar. Monto inv&aacute;lido.");
        result=false;
    }
    else
    {
        $('#verificamont').html("&nbsp;");
    }
    return result;
}

function verificaant()
{
//    var result = true;
//    if($('#relac2').val() == 'no')
//    {
//        $('#verificaant').html("&nbsp;");
//        $('#antecedente').val("");
//        result=false;
//    }
//    else
//    {
//        var rege = /^[0-9]+$/;
//        if(!rege.test($('#antecedente').val()))
//        {
//           $('#verificaant').html("*Revisar.  Sólo num&eacute;ricos.");
//           result=false;
//        }
//        else
//        {
//           $('#verificaant').html("&nbsp;");
//        }
//    }
//    return result;d
}

function verificadesc()
{
    var rege = /^[a-zA-Z0-9ñÑáéíóú:;&= ,\.()-_%?¿¡!\/]{1,250}$/;
    var result=true;
    if(!rege.test($('#descripcion_tipo_sol').val()))
    {
       $('#verificadesc').html("*Revisar.  No debe contener caracteres especiales y no puede estar vac&iacute;o.");
       result=false;
    }
    else
    {
       $('#verificadesc').html("&nbsp;");
    }
    return result;
}



function verificasolicitud()
{
    var vt=false; //telefono
    var ve=false; //email
    var vm=false; //monto
    var vd=false; //descripcion
    var vf=false; //file
    var va=false; //anterior
    if(verificatel())    {vt=true;}
    if(verificaema())    {ve=true;}
    if(verificamon())    {vm=true;}
    if(verificadesc())   {vd=true;}
    if(verificafil())    {vf=true;}
    if(vt&&ve&&vm&&vd&vf)
    {$('#botonEnviar').attr('class','ui-state-active ui-corner-all ui-widget ui-button').removeAttr('disabled');}
    else
    {$('#botonEnviar').attr('class','ui-corner-all ui-widget ui-button ui-state-disabled').attr('disabled','disabled');}
}

function borrarfile(i)
{
    $('#file'+i).attr('value','');
    verificasolicitud();
}

function verificausuarioregistro() 
{
    function alfa(tipo)
    {
        var control = null;
        var mensaje = null;
        var divmensaje = null;
        result = true;
        switch (tipo)
        {
               case 'n':
                   control="#nombre";
                   divmensaje="#verificaNUnombre";
                   mensaje="<strong>*Revisar.</strong> El Nombre contiene <strong>CARACTERES INV&Aacute;LIDOS O EST&Aacute; VAC&Iacute;O</strong>.";
                   break;
               case 'a':
                   control="#apellido";
                   divmensaje="#verificaNUapellido";
                   mensaje="<strong>*Revisar.</strong> El Apellido contiene <strong>CARACTERES INV&Aacute;LIDOS O EST&Aacute; VAC&Iacute;O</strong>.";
                   break;
               case 'c':
                   control="#cargo";
                   divmensaje="#verificaNUcargo";
                   mensaje="<strong>*Revisar.</strong>El Cargo contiene <strong>CARACTERES INV&Aacute;LIDOS O EST&Aacute; VAC&Iacute;O</strong>";
                   break;
        }
        var rege = /^[a-zA-ZñÑáéíóú ]+$/;
        if(!rege.test($(control).val())) {$(divmensaje).html(mensaje);result=false;}
        else {$(divmensaje).html("&nbsp;");}
        return result;
    }

    function email()
    {
        var rege = /^[a-z0-9]+([-._]?[a-z0-9]+)*@[a-z0-9]+([-._]?[a-z0-9]+)*\.(com|net|info|name|gov|mil|edu|org|[a-z]{2})+$/;
        
        result=true;
        if(!rege.test($('#usuario').val())){$('#verificaNUusuario').html("<strong>*Revisar.</strong> Escriba su <strong>CORREO ELECTR&Oacute;NICO. NO PUEDE ESTAR VAC&Iacute;O</strong>.");result=false;}
        else {$('#verificaNUusuario').html("&nbsp;");}
        return result;
    }

    function telefono()
    {
        var regea =/^[0-9]{3,4}\-[0-9]{4}$/ ;
        var regeb =/^([0-9]{3,4}\-[0-9]{4})?$/;
        var rege = /()/;
        var rege2 = /^([0-9]+)?$/;
        result=true;

        for(i=1;i<=3;i++)
        {
            if(i==1)
            {
                rege=regea;
            }
            else
            {
                rege=regeb;
            }
            if(!rege.test($('#telefono'+i).val())|!rege2.test($('#exttel'+i).val())) {$('#verificaNUtel'+i).html("<strong>*Revisar.</strong> Tel&eacute;fono y extensi&oacute; aceptan <strong>S&Oacute;LO D&Iacute;GITOS</strong> y debe seguir el formato <strong>###-####.</strong>");result=false;}
            else {$('#verificaNUtel'+i).html("&nbsp;");}
        }
        return result;
    }

    function contrasena()
    {
        if((document.getElementById('contrasena').value==document.getElementById('resena').value)&&
            document.getElementById('contrasena').value.length>=6)
        {
            $('#labelverificapassword').html('');
            return true;
        }
        else
        {
            $('#labelverificapassword').html('<strong>*Revisar.</strong> Las contrase&ntilde;as deben ser <strong>IGUALES</strong> y entre <strong>6 y 20</strong> caracteres.');
            return false;
        }
        

    }

    var vn=false; //nombre
    var va=false; //apellido
    var ve=false; //email
    var vt=false; //telefono
    var vc=false; //cargo
    var vx=false; //contrasena

    if(alfa('n'))    {vn=true;}
    if(alfa('a'))    {va=true;}
    if(alfa('c'))    {vc=true;}
    if(email())    {ve=true;}
    if(telefono())    {vt=true;}
    if(contrasena())   {vx=true;}

    if(vn&&va&&ve&&vt&vc&&vx)
    {$('#botonEnviar').attr('class','ui-state-active ui-corner-all ui-widget ui-button').removeAttr('disabled');}
    else
    {$('#botonEnviar').attr('class','ui-corner-all ui-widget ui-button ui-state-disabled').attr('disabled','disabled');}
}



