/*
Función para validar el formato del número introducido se lanzará en
el evento onkeyup del número a validar usando este formato onkeyup="javascript:noChar('this',_parámetros_);". 
Los parámetros que necesita son:
  obj: es el objeto que se valida siempre será "this". 
  menos: es boolean, con true acepta el menos. 
  decimal : es boolean con true el número es decimal.
  charDecimal : es el caracter decimal que usaremos en el número, por defecto",".
si se quiere que acepten el signo menos se mandará un parámetro más que será un 
boolean a true onkeyup="javascript:noChar(this,true);" si no sólo aceptará valores positivos.
*/

function noChar(obj,menos,decimal,charDecimal){ // menos = true => Acepta el menos 
  if (document.all)
    if(event.keyCode == 9 || event.keyCode == 16 ||(event.keyCode > 36 && event.keyCode < 41))
      return false;
 
  var negativo = false; 
  aux = new Array(obj.value.length);
  
  var aceptarcoma = true;
  var coma =',';
  if (!decimal) aceptarcoma = false;
  if (charDecimal) coma = charDecimal;
  for (var i=0; i < obj.value.length; i++)  
    aux[i] = obj.value.substr(i,1);
    
  if (aux[0]=='-' && menos) negativo = true; 
  
  for (var i=0; i < aux.length; i++){
    if(aux[i] == coma){
      if (aceptarcoma){
        aceptarcoma = false;
      }else
        aux[i]= ''; 
    }else if (!parseInt(aux[i]) && aux[i] !== '0')
      aux[i]= '';  
  }
  
  var valor = '';
  for (var i=0; i < aux.length; i++)
     valor = valor + aux[i];
  
  if (negativo && menos) obj.value =  '-' + valor;
  else obj.value = valor;
}

/*
Función para rellenar los ceros y poner en mayusculas los caracteres del locata de forma automático
cuando salimos de él, se colocará en el evento onblur de la siguiente manera onblur="javascript:completaLocata(this)"
*/ 
function completaLocata(obj,longitud){
  var longi = 7;
  if (longitud) longi = longitud;
  if (obj.value !=''){ 
    obj.value = obj.value.toUpperCase();
    while (obj.value.length < longi) 
      obj.value = '0'+ obj.value;
  }
}

/*
Función para cambiar el atributo readOnly de true a false en varios elementos al unisono.
*/
function activar(objsIds,activar,delimitador,objId){
  var separador = ',';
  if (delimitador) separador = delimitador;
    
  if (document.getElementById(objsIds)){
    if (activar == 'N') document.getElementById(objsIds).readOnly = true;
    else if (activar == 'S') document.getElementById(objsIds).readOnly = false;
  }else {
    for(i = 0; i < objsIds.split(separador).length; i++)
      if (activar == 'N') document.getElementById(objsIds.split(separador)[i]).readOnly = true;
      else if (activar == 'S') document.getElementById(objsIds.split(separador)[i]).readOnly = false;
  }
    
  if (activar == 'S'){
    if (objId) document.getElementById(objId).focus();
    else { 
      if (document.getElementById(objsIds)) document.getElementById(objsIds).focus();
      else document.getElementById(objsIds.split(separador)[0]).focus();
    }
  }else if (activar == 'N'){
    if (objId) document.getElementById(objId).focus();
    else document.body.focus();
  }
}

















