//creado por diana E
function validarCamposBlank(validacionCamposBlank) {
	
// Requiere vector de validacion [validacionCamposBlank] donde estan los id de los campos que no pueden pasar vacios
// Ejemplo : 
//           var validacionCamposBlank = new Array("idcampo1","idcampo2","idcampo3");
//           validarCamposBlank(validacionCamposBlank);
alert("entro a validar");
 var doAction = true;
  for(i=0;i<validacionCamposBlank.length;i++) {
	  e=document.getElementById(validacionCamposBlank[i]);
	  if(e.value.length<=0) {
		 alert("Falta llenar el campo [" + e.tag + "]") ;
		 doAction=false;
         //eval(func); 
		 e.focus();
		 break;
	 }
  }
  if(doAction)
    return true;
}

///creado por diana E

function validarAlfaNumerico(tecla, type) {
  num=false;
  ascii=codigoascii(tecla);
  if( (ascii>=48 && ascii<=57) || (ascii>=65 && ascii<=90) || (ascii>=97 && ascii<=122) || (ascii==32) )
    if((ascii != 13)) {
 	   if(type=="UPPER") uppercase(); 		
 	   if(type=="LOWER") lowercase(); 			   
  	   num = String.fromCharCode(ascii);
	}
  return num;
}




/* Funcion para seleccionar un item específico para cualquier control <SELECT> */
function SelectFormItem(sel,val) {
	for ( i=0; i<sel.length; i++ ) {
		if ( sel[i].value  == val ) {
			sel.selectedIndex = i;
		}
	}
	return;
}

function jstest() {
	alert("probando JS");
}

function ventana( url, name, width, height ) {
	obs=window.open( url , name , 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,menubar=no,width='+width+',height='+height);	
}

function esEmail(str) {

	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);

	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.\\_]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");

	return (!r1.test(str) && r2.test(str));
}



function resetInput(input) {
	input.className="texto";
}
function resetInput2(input) {
	input.className="textarea";
}
function resetInput3(input) {
	input.className="texto_peq_centrado";
}
function marcaError(input) {
	input.className="textoerror";
}
function marcaError2(input) {
	input.className="textoerror2";
}
function resetRadioInput(radio) {
	for (i=0; i<radio.length; i++){
		radio[i].className="texto";
	}
}
function marcaErrorRadio(radio) {
		for (i=0; i<radio.length; i++){
		radio[i].className="textoerror";
	}
}

/* Funciones de Validación */ 

/* Función para validar que un <SELECT> fue seleccionado */
function Seleccionado( sel ) {
	return ( sel.value!='0');
}
function Seleccionado2( sel ) {
	return ( sel.value!='' );
}

function valorRadio(radio) {
	var returnValue = "";
	for (i=0; i<radio.length; i++){
		if ( radio[i].checked ){
			returnValue = radio[i].value;
		}
	}
	return returnValue;
}


function radioSeleccionado(radio) {
	var returnValue = false;
	for (i=0; i<radio.length; i++){
		if ( radio[i].checked ){
			returnValue = true;
		}
	}
	return returnValue;
}

/* Retorna TRUE si el texto es vacío o solo contiene espacios */
function esTextoVacio( texto ) {
	var soloespacios = /^\s+$/;
	return ( soloespacios.test(texto) || texto=="" );
}

/* Retorna TRUE si es un Numero entero */
function esNumeroEntero( num ) {
	var solonumeros = /^[\d-]\d*$/;
	return ( solonumeros.test(num) );
}

/* Retorna TRUE si es un Texto Valido*/
function esTextoValido( texto ) {
	var soloValido = /[a-z\-\A-Z\d-]\d*$/;
	return ( soloValido.test(texto) );
} 


/* Retorna TRUE si es un Numero entero */
function estaEnRango( num, liminf, limsup ) {
	if ( num < liminf || num > limsup) {
		return false;
	}
	return true;
}

function esTextoControl (texto) {
	var control = false;
	if (texto==""){	control = true;	}
	return control;
}


/*permite que un radio button se pueda deseleccionar*/
function cambiaRadio(control){ 
	control.checked=false;
} 


function esCorreo(txt){
	var correo =/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/
	return correo.test(txt)
}

function esCodigo( texto) {
	var tel = /^\w\W\d{4}$/
		if(!tel.test(texto)) { 
		return false;
	}  
 return true;
}

/************************************************************************************************************
Nombre: validarDate
Obj: Valida los campos de una fecha para saber silos datos ingresados son validos. 
y que al menos un horario sea ingresado
dia: dia de la fecha a validar
mes: mes de la fecha a validar
anio: anio de la fecha a validar
************************************************************************************************************/	
function validarDate(dia, mes, anio){
	var valor = true;

	var dias = Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if (anio==""){
		anio = new Date().getFullYear();
	}
	if ((anio % 4 == 0) && (( anio % 100 != 0) || (anio % 400 ==0))){
		dias[1] = 29;
	}
	if(	dias[mes-1]<dia ){
		valor = false;
	}
	return valor;
}

/************************************************************************************************************
Nombre: habilitar
Obj: Habilita o desabilita nametx dependiendo de la opcion que se seleccione en nameslc 
numero: opcion con la que se desabilita el campo
nameslc: valor seleccionado en el campo
nametx: campo a cambiar de estado
************************************************************************************************************/	
function habilitar(numero,nameslc,nametx){
	if (nameslc == numero){
		nametx.disabled = false;
	}else{
		nametx.value = "";
		nametx.disabled = true;
	}
}


function handleEnter(obj, e) {
	//alert("fsdfd");
  tecla=(document.all) ? e.keyCode : e.which;
  if(tecla!=13) return;
  frm=obj.form;
  for(i=0;i<frm.elements.length;i++)
    if(frm.elements[i]==obj) {
      if (i==frm.elements.length-1) i=-1;
      break }
  frm.elements[i+1].focus();
  return false;
}