function validarFormulario(data){
			//alert(data+" "+data.length);
			var campos = Array();
			var error = Array();
			var lastErrorId = '';
			var firstErrorForFocus = '';
			var typeFocus = '';
			campos = data;
		
			for (i=0; i<campos.length; i++){
				errArray = validarCampo(campos[i][0],campos[i][1],campos[i][2]);
				error[i] = errArray[0];
				if(firstErrorForFocus=='' && errArray[0]!='ok') {
					firstErrorForFocus = errArray[1];
					typeFocus = campos[i][1];
				}
			}
			
			var cantidadErrores = 0;
			var mensajeError = '';
			for(j=0; j<error.length; j++){
				if(error[j] != 'ok') { 
				cantidadErrores++;
				mensajeError +=  error[j]+'\n';
				}
			}

			if (cantidadErrores>0){
				alert(mensajeError);
				if(typeFocus == 'radio' || typeFocus == 'custom'){
				}else{
					firstErrorForFocus.focus();
				}
				return false;
			} else {
				return true;
			}
}
		
function validarCampo(idCampo,tipoValidacion,nombreCampo,numeroCampos){
			var errorForFocus = '';
			if (tipoValidacion != 'radio' && tipoValidacion != 'custom'){
				var idObject = document.getElementById(idCampo);
				var idContenido = trim(idObject.value," ");
			}
			
			//-----------------------------------------------------------------
			//-----------------------------------------------------------------			
			if (tipoValidacion == 'texto'){
				if (idContenido == ''){
					var mensaje = 'El campo '+nombreCampo+' no puede quedar vacío\n';
					lastErrorId = idCampo;
					errorForFocus = idObject;
					response = Array(mensaje,errorForFocus);
					return response;
				} else {
					var mensaje = 'ok';
					response = Array(mensaje,'');
					return response;
				}
			} else if(tipoValidacion == 'numero'){
				if (idContenido == ''){
					var mensaje = 'El campo '+nombreCampo+' no puede quedar vacío\n';
					lastErrorId = idCampo;
					errorForFocus = idObject;
					response = Array(mensaje,errorForFocus);
					return response;
				} else {
					if (isNaN(idContenido)){
						var mensaje = 'El campo '+nombreCampo+' debe contener un número\n';
						lastErrorId = idCampo;
						errorForFocus = idObject;
						response = Array(mensaje,errorForFocus);
						return response;
					} else {
						var mensaje = 'ok';
						response = Array(mensaje,'');
						return response;
					}
				}
			} else if(tipoValidacion == 'combo'){
				var seleccion = idObject.options[idObject.selectedIndex].value;
				if(seleccion == 0){
					var mensaje = 'Debe elegir una opción en el campo '+nombreCampo+'\n';
					lastErrorId = idCampo;
					errorForFocus = idObject;
					response = Array(mensaje,errorForFocus);
					return response;
				} else {
					var mensaje = 'ok';
					response = Array(mensaje,'');
					return response;
				}
			} else if(tipoValidacion == 'radio') {
					var mensaje = 'Debe elegir una opción en el campo '+nombreCampo+'\n';
					response = Array(mensaje,'');
					return response;
			} else if(tipoValidacion == 'email'){
					var regexpX = /^[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*@[A-Za-z0-9-_]+(\.[A-Za-z0-9-_]+)+$/;
					if (regexpX.test(idContenido)){
						var mensaje = 'ok';
						response = Array(mensaje,'');
						return response;
					}else{
						var mensaje = 'Ingrese una dirección de correo válida\n';
						lastErrorId = idCampo;
						errorForFocus = idObject;
						response = Array(mensaje,errorForFocus);
						return response;
					}
			}else if(tipoValidacion=='curp'){
				var regexp = /^[a-zA-Z]{4}\d{6}[H|M][a-zA-Z]{2}[a-zA-Z]{3}\w\d$/;
				var resultado = '';
				if(!idContenido.match(regexp)){
					var mensaje = 'La CURP ingresada no parece ser correcta, por favor verifíquela\n';
					lastErrorId = idCampo;
					errorForFocus = idObject;
					response = Array(mensaje,errorForFocus);
					return response;
				}else{
					var mensaje = 'ok';
					response = Array(mensaje,'');
					return response;
				}
			}else if(tipoValidacion=='custom'){
					var mensaje = nombreCampo+'\n';
					response = Array(mensaje,'');
					return response;
			}
}
function reemplazarString(indice){
			indiceObjeto = document.getElementById(indice);
			indiceValor = indiceObjeto.value;
			

			var nuevoValor = indiceValor.toLowerCase(indiceValor);//todo a minúsculas
			nuevoValor = nuevoValor.replace(/á/g, "a");//cambiar caracteres especiales (acentos y ñ)
			nuevoValor = nuevoValor.replace(/é/g, "e");
			nuevoValor = nuevoValor.replace(/í/g, "i");
			nuevoValor = nuevoValor.replace(/ó/g, "o");
			nuevoValor = nuevoValor.replace(/ú/g, "u");
			nuevoValor = nuevoValor.replace(/ñ/g, "ni");
			nuevoValor = nuevoValor.replace(/'/g, "");
			nuevoValor = nuevoValor.replace(/´/g, "");

			nuevoValor = nuevoValor.replace(/\s/g, "-");//cambiar espacios por guiones
			
			
			indiceObjeto.value=nuevoValor;
}
function acentos(texto){
			var nuevoValor = texto;
			nuevoValor = nuevoValor.replace(/á/g, "\u00e1");
			nuevoValor = nuevoValor.replace(/é/g, "\u00e9");
			nuevoValor = nuevoValor.replace(/í/g, "\u00ed");
			nuevoValor = nuevoValor.replace(/ó/g, "\u00f3");
			nuevoValor = nuevoValor.replace(/ú/g, "\u00fa");
			nuevoValor = nuevoValor.replace(/ñ/g, "\u00f1");
		
			nuevoValor = nuevoValor.replace(/Á/g, "\u00c1");//cambiar caracteres especiales (acentos y ñ)
			nuevoValor = nuevoValor.replace(/É/g, "\u00c9");
			nuevoValor = nuevoValor.replace(/Í/g, "\u00cd");
			nuevoValor = nuevoValor.replace(/Ó/g, "\u00d3");
			nuevoValor = nuevoValor.replace(/Ú/g, "\u00da");
			nuevoValor = nuevoValor.replace(/Ñ/g, "\u00d1");
			return nuevoValor;
}
function mayusculas(id){
			var indiceObjeto = document.getElementById(id);
			var indiceValor = indiceObjeto.value;
			
			var nuevoValor = indiceValor.toUpperCase(indiceValor);
			indiceObjeto.value = nuevoValor;
}
