var whitespace = " \t\n\r"
var defaultEmptyOK = false
var dtCh= "/";
var minYear=1980;
var maxYear=2100;
var mensajeenteros = "Vr InVálido. Escriba solo los numeros sin utilizar puntos o comas.\nSi no desea ver más este mensaje corrija el error o deje en blanco el campo"



function email()
{
 var f= document.registrousuarios;
 if(f.u_login.value!="")
  {
    f.u_email.value=f.u_login.value+"@ingeniopichichi.com";
	f.u_emailh.value=f.u_email.value;
	f.u_email.disabled=true;
  }
}

function descripcion()
{
 var f= document.registrousuarios;
 if(f.u_login.value!="")
  {
    f.u_email.value=f.u_login.value;
	f.valor=f.u_login.value;
  }
}


//descripcion

function verificar_ingreso(aform) {

        // validar que no esten vacios los campos
        if (aform.u_login.value == "") {
                alert("Por favor escriba su Login");
                aform.u_login.focus();
                return false;
        }
		
		if (aform.u_passwordn.value == "") {
                alert("El Password nuevo esta en blanco");
                aform.u_passwordn.focus();
                return false;
        }
		if(aform.tipo[aform.tipo.selectedIndex].value==1)
		if (aform.u_passwordvj.value == "") {
                alert("El Password actual esta en blanco");
                aform.u_passwordvj.focus();
                return false;}
		if (aform.u_passwordn2.value == "") {
                alert("El debe repetir el nuevo Password");
                aform.u_passwordn2.focus();
                return false;
        }
        if (aform.u_passwordn.value != aform.u_passwordn2.value) {
                alert("Los Passwords nuevos son diferente");
                aform.u_passwordn.focus();
                return false;
        }
	    aform.txttipo.value=aform.tipo[aform.tipo.selectedIndex].value;
		aform.u_passwordvj.disabled=false;
        return true;
}


function password(f)
{
 if(f.u_password.value!=f.u_password2.value){
 alert("Los passwords son diferentes");
  f.u_password2.focus();
  f.u_password2.select();
  return false;
 }
}


function ValidaCheck(frm,ob){
    var arSelected = new Array();
	//ob=al obejeto tipo chekc box
	//frm= el nombre del formulario
	//alert("ob.lentht " +ob.length);
	if(ob.length==undefined){
	   ob.length=1;
	   if (ob.checked){
		   arSelected.push(ob.value);
	   }
	 }
    else{
		for (var i=0; i<ob.length; i++){
	    	if (ob[i].checked){
		   		arSelected.push(ob[i].value);
    		 }
    	}
	}
		 frm.oculto.value=arSelected;
		// alert("lo que tengo es "+frm.oculto.value);
		 return true;
  }

 function validarnombre(u_nombre){
     if(u_nombre.value=="")
          return false;
     else{
	    if(EsLetra(u_nombre.value))
              return true;
	     else return false;				
     }   
}

function validaregistrousuario()
{

 frm=document.registrousuarios;
	if (frm.u_login.value=='')
	{
		alert ("Usted debe digitar un login");   frm.u_login.focus();
	     return false;
		
	}
	if (frm.u_password.value=='')
	{
		alert ("Usted debe digitar un password");   frm.u_password.focus();
	     return false;		
	}
	if (frm.u_password2.value=='')
	{
		alert ("Usted debe digitar la repetición del password");   frm.u_password2.focus();
	     return false;		
	}
	if (frm.u_password.value!=frm.u_password2.value)
	{
		alert ("Los passwords son diferentes");   frm.u_password2.focus();
	     return false;		
	}
    if(frm.u_nombre.value=='')
	{
	 	alert("Digite el nombre del usuario");
		frm.u_nombre.focus();		
		return false;}
	
	if(frm.codigo_perfil.options[frm.codigo_perfil.selectedIndex].value==0){
	 	alert("Seleccione el perfil del usuario ");
		frm.codigo_perfil.focus();		
		return false;} 										

  return true;
}
















function validamodificacion()
{
 frm=document.modificausuarios;
		
    if(!validarnombre(frm.nombre_usuario)){
	 	alert("Digite el nombre del usuario");
		frm.nombre_usuario.focus();		
		return false;}
    if(!validarnombre(frm.apellido_usuario)){
	 	alert("Digite el apellido del usuario");
		frm.apellido_usuario.focus();		
		return false;} 
	 if(frm.codigousuario.value==''){
			alert("Digite el código del usuario");
			frm.codigousuario.focus();		
			return false;}		
	  if(!Esnumero (frm.codigousuario.value)){
           frm.codigousuario.focus();		  		
        	return false;}
      	
 check=frm.servicio
 if(!ValidaCheck(frm,check))
   return false;

  return true;
}


function isFloat (s)

{   var i,numeroflotante;
   
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (!EsDigito(c) && c != '.') return false;
        if (c=='.') numeroflotante=1
    }
    return true;
}



function EsAlphanumerico (s)
{   var i;

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number or letter.
        var c = s.charAt(i);

        if (! (EsLetra(c) || EsDigito(c) || EsEspacio(c) || c == '-' || c == 'ñ' || c == 'Ñ')) 
        {
            alert('El Caracter-Letra o simbolo    ' + c + '      no se puede colocar en este campo por favor cambielo!'); 
            return false;
        }
    }

    return true;
}

function EsAlphanumericodos (s)
{   var i;

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number or letter.
        var c = s.charAt(i);

        if (! (EsLetra(c) || EsEspacio(c) || c == '-' || c == 'ñ' || c == 'Ñ')) 
        {
            alert('Solamente se aceptan letras no digitos...'); 
            return false;
        }
    }

    return true;
}



function EsEspacio (s)

{   var i;

    if (EsVacio(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}

function EsVacio(s)
{   return ((s == null) || (s.length == 0))
}

function EsEntero(v){ 

    v= parseInt(v) 

    if (isNaN(v)) { 
      alert('Ingrese un valor numérico para continuar...');
    }else{ 
       return true;
    } 
}


function validarmail(email)
{
var re  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!re.test(email)) {
    alert ('Dirección de email Inválida');
    return false;
}
return true;
}

function EsLetra (c)
{   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
}


function EsDigito (c)
{   return ((c >= 0) && (c <= 9))
}



function Esnumero (s)
{   var i;

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number or letter.
        var c = s.charAt(i);

        if (! (EsDigito(c))) 
        {
            alert('Es un campo de valor NUMERICO'); 
            return false;
        }
    }

    return true;
}

function validarcodigo(codigousuario)
{
  var ban;
  if(codigousuario.value=="")
  {
    alert('Digite el número del Codigo para continuar...');
	codigousuario.focus()
	 ban=true;
  }
  else
	{
     if(EsCedula(codigousuario.value))
      {
         ban=false;
	  }
	 else
	 {
		  codigousuario.value=""
	     codigousuario.focus()
		   ban=true;
	 }
   }
	return ban;
}


function validarpassword(u_password)
{
 var ban;
  if(u_password.value=="")
  {
    alert('Digite el Password para continuar...');
	u_password.focus()
	ban=true;
  }
  else
	{
     if(EsAlphanumerico(u_password.value))
      {
        ban=false;
	  }
	 else
	 {
  	   u_password.value=""
	   u_password.focus()
		ban=true;
	 }
	}
	return ban;
}

function validarnickname(u_login)
{
  var ban;
  if(u_login.value=="")
  {
    alert('Digite el Nickname para continuar...');
	u_login.focus()
	ban=true;
  }
  else
	{
     if(EsAlphanumerico(u_login.value))
      {
        ban=false;
	  }
	 else
	 {
		  u_login.value=""
 	      u_login.focus()
		  ban=true;
	 }
	}
	return ban;
}



function validardepartamento(depto)
{
var ban;
 if(depto.value=="")
  {
    alert('Elija un Departamento para continuar...');
	depto.focus()
	ban=true;
  }
  else
	{
     ban=false;
	}
 return ban;	

}

function validarcargo(cargo)
{
 var ban;
 if(cargo.value=="")
  {
    alert('Elija un Cargo para continuar...');
	cargo.focus()
	ban=true;
  }
  else
	{
     ban=false;
	}
 return ban;	

}


function validartodo()
{
 x=document.registrousuarios;
 if(!(!(validarnombre(x.u_login))&&!(validarpassword(x.u_password))&&
	  !(validarnombre(x.u_nombre))&&!(validarapellido(x.u_apellido))&&
    !(validarcodigo(x.u_codigousuario))&&!(validarnickname(x.nicusu))
	))
     x.submit();
};

function CambiaDivision (F)
{
	
	var division;
	division=F.div_codigo[F.div_codigo.selectedIndex].value;
	
	if(division!='0'){
		codigos=eval("Cdivision_"+division);
		txtdivi=eval("division_"+division);
		lgt=codigos.length;
		F.depa.length= lgt+1;
		for(i=1;i<=lgt;i++){
			F.depa.options[i].value=codigos[i-1];
			F.depa.options[i].text=txtdivi[i-1];
		}
	}
	else
		F.depa.length=1;
	F.depa.options[0].selected=true;
};

function CambiaLinea (F)
{
	
	var division;
	division=F.div_codigo[F.div_codigo.selectedIndex].value;
	
	if(division!='0'){
		
		codigos=eval("Cdivision_"+division);
		
		txtdivi=eval("division_"+division);
		lgt=codigos.length;
		
		F.vendedor.length= lgt+1;
		for(i=1;i<=lgt;i++){
			F.vendedor.options[i].value=codigos[i-1];
			F.vendedor.options[i].text=txtdivi[i-1];
		}
	}
	else
		F.vendedor.length=1;
	F.vendedor.options[0].selected=true;
};

function CambiaItem (F)
{
	var division;
	division=F.proceso[F.proceso.selectedIndex].value;

	if(division!=0)
		{
	
		codigos=eval("Cproceso_"+division);
		txtdivi=eval("proceso_"+division);


		lgt=codigos.length;
		
		F.items.length= lgt+1;
		for(i=1;i<=lgt;i++){
			F.items.options[i].value=codigos[i-1];
			F.items.options[i].text=txtdivi[i-1];
		}
	}
	else
		F.items=1;
	F.items.options[0].selected=true;
};

function CambiaMotivo(F)
{
	
	var division;
	division=F.conformidad[F.conformidad.selectedIndex].value;
	
	if(division!=0)
		{
	
		codigos=eval("Cproceso_"+division);
		txtdivi=eval("proceso_"+division);


		lgt=codigos.length;
		
		F.motivo.length= lgt+1;
		for(i=1;i<=lgt;i++){
			F.motivo.options[i].value=codigos[i-1];
			F.motivo.options[i].text=txtdivi[i-1];
		}
	}
	else
		F.motivo=1;
	F.motivo.options[0].selected=true;
};

function Cambiaorigen (F)
{
	var division;
	division=F.tipo[F.tipo.selectedIndex].value;
 	if(division!=0)
		{
	
		codigos=eval("Ctipo_"+division);
		txtdivi=eval("tipo_"+division);
		
		lgt=codigos.length;
		
		F.tipoorigen.length= lgt+1;
		
		for(i=1;i<=lgt;i++){
			
			F.tipoorigen.options[i].value=codigos[i-1];
		    F.tipoorigen.options[i].text=txtdivi[i-1];
			
		}
	}
	else
		F.tipoorigen=1;
		F.tipoorigen.options[0].selected=true;
};

function Cambiaorigencalidad (F)
{
	
	 var division;
	division=1;
	//division=F.tipo[F.tipo.selectedIndex].value;

	if(division!=0)
		{
	
		codigos=eval("Ctipo_"+division);
		txtdivi=eval("tipo_"+division);
		
		lgt=codigos.length;
		
		F.tipoorigen.length= lgt+1;
		alert(lgt);
		for(i=1;i<=lgt;i++){
			
			F.tipoorigen.options[i].value=codigos[i-1];
		    F.tipoorigen.options[i].text=txtdivi[i-1];
			
		}
	}
	else
		F.tipoorigen=1;
		F.tipoorigen.options[0].selected=true;
};

function CambiaControl (F)
{
	var division;
	division=F.itemverificacion[F.itemverificacion.selectedIndex].value;

	if(division!=0)
		{
	
		codigos=eval("Cproceso_"+division);
		txtdivi=eval("proceso_"+division);


		lgt=codigos.length;
		
		F.idvariable.length= lgt+1;
		for(i=1;i<=lgt;i++){
			F.idvariable.options[i].value=codigos[i-1];
			F.idvariable.options[i].text=txtdivi[i-1];
		}
	}
	else
		F.idvariable=1;
	F.idvariable.options[0].selected=true;
};

function CambiaTipo(F){
	var tipo;
	tipo=F.tipo[F.tipo.selectedIndex].value
	if(tipo==1){
		F.serie_cpu.disabled=false;
		F.tipoEquipo[0].selected=true;
		F.tipoEquipo.disabled=true;
		F.serie_monitor.value='';
		F.serie_monitor.disabled=true;
		F.codigo.disabled=false;		
		F.codigo.value='';}
	if(tipo==2){
		F.tipoEquipo[0].selected=true;
		F.tipoEquipo.disabled=true;
		F.codigo.value='';
		F.codigo.disabled=false;
		F.serie_cpu.value='';
		F.serie_cpu.disabled=true;
		F.serie_monitor.disabled=false;		}		
	if(tipo==3){
		F.serie_cpu.disabled=false;
		F.serie_monitor.disabled=false;
		F.tipoEquipo.disabled=false;
		F.codigo.disabled=false;}	
}

function ValidaRadio(F,url,accion,ban){
	var ln=F.ModElim.length;
	var flag=false;
	F.btn.value=accion;
	for(i=0;i<ln;i++){
		if(F.ModElim[i].checked)
			flag=true;
	}
	if(!flag){
		alert("Debe seleccionar un equipo");
		return false;}
	else{
		F.submit();}
}

/*VALIDACIONES PARA ADICIONAR SOFTWARE*/

function getpos(rs)
 {
 var cont=0;
  for (var i = 0; i < rs.options.length; i++)
   if (rs.options[i].text!='')
     cont=cont+1;

  return cont;
 }

/*******************************************************************************************
	funcion: organizar
	recibe: un select multiple
	proposito: organiza las opciones existentes en un select multipe (usado en personal)
********************************************************************************************/
 function organizar(rs){
  var ban;
  for (var i = 0; i < rs.options.length; i++)
  if (rs.options[i].text=="")
   {
     ban=i;
	 for (var k = i; k < rs.options.length; k++)
	   if(k!=rs.options.length-1)
		{
           if(rs.options[k+1].text!="")
		   {
		    rs.options[ban].text=rs.options[k+1].text;
 	        rs.options[ban].value=rs.options[k+1].value;
			rs.options[k+1].text="";
 	        rs.options[k+1].value="";
  			ban=ban+1;
	       }//cierra el if (rs.options[k+1].text!="")
		}//cierra el if (k!=rs.options.length-1)
	i=rs.options.length;
  }//cierra el if (rs.options[i].text=="")
}
 /*******************************************************************************************
	funcion: add Select
	recibe: un select multiple que correspnde a las opciones existentes, y otro que corresponde
	        a las opciones elegidas
	proposito: adiciones opciones de un select a otro
********************************************************************************************/
function AddSelect(ob,ob2){
  while (ob.selectedIndex != -1) { 
   k=getpos(ob2);
   ob2.options[k].value=ob.options[ob.selectedIndex].value;
	ob2.options[k].text=ob.options[ob.selectedIndex].text;
	ob.options[ob.selectedIndex].text = ""; 
	ob.options[ob.selectedIndex].selected = false; 
   }
   	   organizar(ob);  
  }
 /*******************************************************************************************
	funcion: add all
	recibe: un select multiple que correspnde a las opciones existentes, y otro que corresponde
	        a las opciones elegidas
	proposito: adiciones todas las opciones de un select a otro
********************************************************************************************/
function AddAll(ob,ob2){
   for (var i = 0; i < ob.options.length; i++){ 
	   if(ob.options[i].text!=''){
	    k=getpos(ob2);
	    ob2.options[k].value=ob.options[i].value;
		ob2.options[k].text=ob.options[i].text;
		ob.options[i].text = ""; 
	}
   }
  }
  
/*******************************************************************************************
	funcion: enviar
	recibe: un select mùltiple donde estan las opciones elegidas, el nombre del campo oculto
            donde se pondran las opciones y el nombre del formlario
	proposito: pone en un solo campo todas las opcines elegidas separadas por ','
********************************************************************************************/
function Enviar(ob,campo,frm){
    var arSelected = new Array(); 
	var flag=false;
    for (var i = 0; i < ob.options.length; i++){ 
  	   if (ob.options[i].text!= ""){
	     flag=true;
		 arSelected.push(ob.options[i].value); 
	   }
	 } 
	 if(flag==false)
	  campo.value=0;
	 else
	  campo.value=arSelected.toString();
	//alert("entro a enviar");
  // alert(arSelected.toString());
  }

function ValidaRSoftware(F){
	Enviar(F.elegidas,F.soft,F);
	alert ("entro");
	return true;
}
function validaconEquipo(F){

return true;
}

function  modifica_cpu(F){
	Enviar(F.elegidas,F.soft,F);	
	return true;
}


/*
function verifica_depa(chk){
 alert ('entro'+chk[chk.selectedIndex].value); 
 var deptos= new  Array();
 //if(chk.selected) 
 	alert('seleccionado');
/* if(chk.selected
};
*/
//activa o desactiva un campo dle formulario de cambio de clave de usuario
function cambiatius(F){
	if(F.tipo[F.tipo.selectedIndex].value==1){
		F.u_passwordvj.disabled=false;
		F.submit.disabled=false;
	}
	else
	if(F.tipo[F.tipo.selectedIndex].value==2){
		F.u_passwordvj.value="";
		F.u_passwordvj.disabled=true;
		F.submit.disabled=false;
	}
	else{
		F.u_passwordvj.disabled=true;
		F.u_passwordvj.value="";
		F.submit.disabled=true;
	}
		
}


//metodo para validar el formulario de modificacion de usuario
function  ValidaFrmmodUsuario(F){
	if(!validarnombre(F.u_nombre)){
	 	alert("Digite el nombre del usuario");
		F.u_nombre.focus();		
		return false;}
	if(!validarnombre(F.u_apellido)){
	 	alert("Digite el apellido del usuario");
		F.u_apellido.focus();		
		return false;} 
	/*if(F.codigousuario.value==''){
	 	alert("Digite el codigo del usuario");
		F.codigousuario.focus();		
		return false;} 	*/
	if(F.div_codigo.options[F.div_codigo.selectedIndex].value==0){
	 	alert("Seleccione la division");
		F.div_codigo.focus();		
		return false;} 	
	if(F.depa.options[F.depa.selectedIndex].value==0){
	 	alert("Seleccione el departamento ");
		F.depa.focus();		
		return false;} 			
	if(F.codigo_perfil.options[F.codigo_perfil.selectedIndex].value==0){
	 	alert("Seleccione el perfil del usuario ");
		F.codigo_perfil.focus();		
		return false;} 		
	return true;						
}
