



//
// Funcion que reviza si esta vacio un campo
// Uso : onclick="isEmpty(findObj('campo0'), 'El campo no puede estar vacio')"
function isEmpty(field){
  if ((field.value == null) || (field.value.length == 0) || (field.value=="")) {
    return true;
  }
  return false;
}

//
// Funcion que verifica que un campo sea numerico
//Uso : onclick="isNumeric(findObj('campo0'), 'Solo Numeros')"
function isNumericFloat(field){
  //var numericExpression = /^[0-9]+$/;
  var numericExpression = /^[0-9]+(\.[0-9]+)?$/;
  if(field.value.match(numericExpression)){
    return true;
  }else{
    return false;
  }
}

//
//Funcion que verifica que un campo sea numerico
//Uso : onclick="isNumeric(findObj('campo0'), 'Solo Numeros')"
function isNumericInt(field){
var numericExpression = /^[0-9]+$/;
if(field.value.match(numericExpression)){
 return true;
}else{
 return false;
}
}

//
// Funcion que verifica que un campo sea fecha
//Uso : onclick="isDate(findObj('campo0'), 'Solo Fechas')"
function isDate(field){
  var dateExp = /^[0-9]+\/[0-9]+\/[0-9]+$/;
  if(field.value.match(dateExp)){
    return true;
  }else{
    return false;
  }
}

//
// Funcion que verifica que un campo sean solo letras
// Uso : onclick="isAlphabet(findObj('campo0'), 'Solo Caracteres')"
function isAlphabet(field){
  var alphaExp = /^[a-zA-Z]+$/;
  if(field.value.match(alphaExp)){
    return true;
  }else{
    return false;
  }
}

//
// Funcion que verifica que un campo sea alphanumerico
// Uso : onclick="isAlphanumeric(findObj('campo0'), 'Solo Caracteres Alfanumericos')"
function isAlphanumeric(field){
//  var alphaExp = /^[0-9a-zA-Z]+$/;
 // var alphaExp = /^[0-9a-zA-Z ,_\/.\nn-Ñ]+$/;
 
  var alphaExp = /^[0-9a-zA-Z- ,n-Ñ*=().ñÑ#_\/.\n]+$/;
  //var alphaExp = /^[0-9a-zA-Z- ,_\/.\n]+$/;
  if(field.value.match(alphaExp)){
    return true;
  }else{
	  if(field.value==""){
		 return true;
	  }
    return false;
  }
}
//
// Funcion que verifica tamaÃ±o de campo
// Uso:  onclick="lengthRestriction(findObj('campo'), 6, 8)"
function lengthRestriction(field, min, max){
  var uInput = field.value;
  if(parseInt(uInput.length) >= min && parseInt(uInput.length) <= max){
    return true;
  }else{
    return false;
  }
}

//
// Funcion que valida una seleccion
// onclick="madeSelection(findObj('campo0'),'Texto default de seleccion', 'Tienes que seleccionar una opcion')"
function madeSelection(field,txtSeleccion){
  if(field.value == txtSeleccion){
    return false;
  }else{
    return true;
  }
}

//
// Funcion que valida que un campo sea de tipo e-mail
// Uso: onclick="emailValidator(findObj('email'), 'Email no valido!')"
// obligatorio = true; no obligatorio = false;
function emailValidator(field, obligatorio){
  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
  
  if((obligatorio==false)&&(isEmpty(field))){
	  return true;
  }
  
  if(field.value.match(emailExp)){
    return true;
  }else{
    return false;
  }
  
}

/*
var key_num=new Array(48,49,50,51,52,53,54,55,56,57);
function parseNumInt(key){
	var _a;
	for(_a in key_num){
		if( key ==  key_num[_a] ){
			return _a;
		}
	}
	return 0;
		
}

//FUNCION QUE VALIDA NUMEROS SIN PUNTO Y EN RANGO
function IsNumberRange(evt,txt, min, max){
 var key = (document.all) ? evt.keyCode : evt.which;
 
 if(key>=48 && key <=57){
	 var aux= parseNumInt(key);
	 	alert(aux);
	 	if(txt.value!="" && txt.value!=null){
	 		aux=txt.value+""+aux;
	 	}
	 	alert(aux);

	 
	 if(parseInt(aux) >= min && parseInt(aux) <= max){
		 return (key <= 13 || (key >= 48 && key <= 57));
	 }
	 return false;
 }
 
 return (key <= 13 || (key >= 48 && key <= 57));
}*/

//FUNCION QUE VALIDA NUMEROS SIN PUNTO
//var nav4 = window.Event ? true : false;

function IsNumber(evt){
   var key = (document.all) ? evt.keyCode : evt.which;
   return (key <= 13 || (key >= 48 && key <= 57));
}
	
var decimales=0;
//FUNCION QUE VALIDA NUMEROS Y SOLO ADMITE UN PUNTO DECIMAL
function _validarPuntoDecimal(e,txt) {
	tecla = (document.all) ? e.keyCode : e.which;
	if (tecla<=13) return true;

	if (txt.indexOf('.') != -1) {
		if(tecla==46){
			return false;
		}
		patron = /[\d\.]/;
		te = String.fromCharCode(tecla);
		return patron.test(te);
	}
	else{
		patron = /[\d\.]/;
		te = String.fromCharCode(tecla);
		return patron.test(te);
	}
}

/**
 * field: campo
 * min: minimo de caracteres
 * max: maximo de caracteres
 * obligatorio: true  o false
 * tipo:  1-enteros 2-decimales 3-alfanumerico 4-solo letras 5- todo
 * 
 */
function validaText(field, min, max, obligatorio, tipo){
	
	if((obligatorio==false)&&(isEmpty(field))){
		  return true;
	  }
	
	if(isEmpty(field)==true){
		return false;
	}
	
	if(lengthRestriction(field, min, max)){
		if((tipo==1)&&(isNumericInt(field))){
			return true;
		}
		if((tipo==2)&&(isNumericFloat(field))){
			return true;
		}
		if((tipo==3)&&(isAlphanumeric(field))){
			return true;
		}
		if((tipo==4)&&(isAlphabet(field))){
			return true;
		}
		if(tipo==5){
			return true;
		}
	}
	
	return false;
	
}


/**
 * id: id
 * min: minimo de caracteres
 * max: maximo de caracteres
 * tipo:  1-enteros 2-decimales 3-alfanumerico 4-solo letras 5- todo
 * 
 */
function validaTextId(id, min, max,  tipo){
	var field=document.getElementById(id);
	
	if((min==0)&&(isEmpty(field))){
		  return true;
	  }
	if(isEmpty(field)==true){
		field.focus();
		return false;
	}

	if(lengthRestriction(field, min, max)){
		if((tipo==1)&&(isNumericInt(field))){
			return true;
		}
		if((tipo==2)&&(isNumericFloat(field))){
			return true;
		}
		if((tipo==3)&&(isAlphanumeric(field))){
			return true;
		}
		if((tipo==4)&&(isAlphabet(field))){
			return true;
		}
		if(tipo==5){
			return true;
		}
	}
	field.focus();
	return false;
	
}


//
//Funcion que valida que un campo sea de tipo e-mail
//Uso: onclick="emailValidator(findObj('email'), 'Email no valido!')"
//obligatorio = true; no obligatorio = false;
function emailValidatorId(id, obligatorio){
	var field=document.getElementById(id);
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

if((obligatorio==false)&&(isEmpty(field))){
	  return true;
}

if(field.value.match(emailExp)){
 return true;
}else{
 return false;
}

}



//
//Funcion que valida una seleccion
//onclick="madeSelection(findObj('campo0'),'Texto default de seleccion', 'Tienes que seleccionar una opcion')"
function madeSelection(id,txtSeleccion){
	var field=document.getElementById(id);
	if(field.value == txtSeleccion){
		return false;
	}else{
		return true;
	}
}

//
//Funcion que valida el rango de los campos.
//
function enRango(id, min, max){
	var campo = document.getElementById(id);
	if( (parseFloat(campo.value)>= min) && (parseFloat(campo.value)<=max) ){
		return true;
	}
	campo.focus();
	return false;
}

//
//Funcion que ajusta la longitud de una cadena
//
function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
}
