var jMensaje = "";
function FvalidarClave(objPassword,objParam1,objParam2,objParam3,objParam4,objParam5,objParam6)
{
	/*
	objParam1 = Identifica la cantidad de caracteres numericos
	objParam2 = Identifica la cantidad de carcateres alfabeticos
	objParam3 = Identifica cuantos caracteres debe tener como minimo la clave
	objParam4 = Identifica cuantos caracteres como maximo debe tener la clave
	objParam5 = Identifica cuantos caracteres va a verificar de la clave
	objParam6 = Identifica si esta repetida la palabra encontrada en la clave
	*/
	FvalidarMaxMinCaracteres(objPassword,objParam3,objParam4);
	FvalidarCantCaracteresNum(objPassword,objParam1);
	FvalidarCantCaracteresAlf(objPassword,objParam2);
	FvalidarCaracRepetidos(objPassword,objParam5,objParam6);
	return Fmensaje(objPassword,jMensaje);
}
//Valida el maximo y el minimo de caracteres 
function FvalidarMaxMinCaracteres(objPassword,objMin,objMax)
{
		jvarTamano = objPassword.value.length;
		if(Number(jvarTamano) < Number(objMin) || Number(jvarTamano) > Number(objMax))
		{
			jMensaje = jMensaje + 'El minimo de caracteres de la clave debe ser de ' + Number(objMin) + '\nEl maximo de caracteres de la clave debe ser de ' + Number(objMax) + '\n';
			return jMensaje;
		}
}
//Valida la cantidad de caracteres numericos que debe tener la clave
function FvalidarCantCaracteresNum(objPassword,objParam1)
{
	jvarPassword = objPassword.value;
	jvarPassword = jvarPassword.toString();
	jvarTamano = Number(objPassword.value.length) - 1;
	var patron = new RegExp("[0-9]");
	var jContador = 0;
	
	for(var jiConteo=0;jiConteo<=jvarTamano;jiConteo++)
	{
		var jValor = jvarPassword.substr(jiConteo,1);
		if(Number(jValor.search(patron))==0)
		{
			jContador ++;
		}
	}
	
	if(Number(jContador)<objParam1)
	{
		jMensaje = jMensaje + 'La clave debe tener como minimo ' + Number(objParam1) + ' caracteres Numericos' + '\n';
		return jMensaje;
	}
}
//Valida la cantidad de caracteres alfabeticos que debe tener la clave
function FvalidarCantCaracteresAlf(objPassword,objParam2)
{
	jvarPassword = objPassword.value;
	jvarPassword = jvarPassword.toString();
	jvarTamano = Number(objPassword.value.length) - 1;
	var patron = new RegExp("[^0-9]");
	var jContador = 0;
	
	for(var jiConteo=0;jiConteo<=jvarTamano;jiConteo++)
	{
		var jValor = jvarPassword.substr(jiConteo,1);
		if(Number(jValor.search(patron))==0)
		{
			jContador ++;
		}
	}
	
	if(Number(jContador)<objParam2)
	{
		jMensaje = jMensaje + 'La clave debe tener como minimo ' + Number(objParam2) + ' caracteres Alfabeticos' + '\n';
		return jMensaje;
	}
}
//Valida la cantidad de caracteres repetidos en la clave
function FvalidarCaracRepetidos(objPassword,objParam5,objParam6)
{
	jvarPassword = objPassword.value;
	jvarPassword = jvarPassword.toString();
	jvarTamano = Number(objPassword.value.length) - Number(objParam5);
	var ArrayDatos = new Array;
	var jContador = 0;
	var jDato = "";
	
	for(jiConteo=0;jiConteo<=Number(jvarTamano);jiConteo++)
	{
		var jValor = jvarPassword.substr(jiConteo,Number(objParam5));
		
		for(var jiConteo2=0;jiConteo2<ArrayDatos.length;jiConteo2++)
		{
			if(jValor==ArrayDatos[jiConteo2])
			{
				jContador ++;
				jDato = jDato + jValor + ','
			}
		}
		ArrayDatos[jiConteo] = jValor;
	}

	if(Number(jContador)>=objParam6)
	{
		jMensaje = jMensaje + 'La(s) palabra(s) ' + jDato + ' se encuentra(n) repetida(s) mas de ' + Number(objParam6) + ' en la clave' + '\n';
		return jMensaje;
	}
}
//Imprime los mensajes validacionde claves
function Fmensaje(objPassword,objMensaje)
{
	if(objMensaje!="")
	{
		alert('ADVERTENCIA:\n\n' + objMensaje + '\n\nIntente de nuevo.');
		objPassword.value = '';
		objPassword.focus();
		jMensaje = "";
		return false;
	}
	else
	{
		jMensaje = "";
		return true;
	}
}

//Verifica la contraseña
function verificarContrasena(formulario,objValue,objVerificate)
{
	var jNewPass = formulario[objVerificate].value;
	var jNewPassConf = objValue.value;
	
	if(jNewPassConf!=jNewPass)
	{
		alert('ADVERTENCIA:\n\nLa confirmación de la contraseña no coincide con la nueva contraseña.\n\nIntente de nuevo.');
		objValue.value = '';
		objValue.focus();
		return false;
	}
	else
	{
		return true;
	}
}

//Validar Campos del formulario
function validarCampos(formulario,objListValidate, objListValidateName)
{
	var jMensaje2 = '';
	var jElementos = formulario.elements;
	var ArrayCheckBox = '';
	var jListCampos = objListValidate.split('|')
	var jListCamposName = objListValidateName.split('|')
	var jPaso = 0;
	var jName = '';
	
	for (x=0; x < jElementos.length; x++) 
	{
		jPaso = 0;
		jName = '';
		for(var iLista=0;iLista<=jListCampos.length;iLista++)
		{
			if(jListCampos[iLista]==jElementos[x].name)
			{
				jName = jListCamposName[iLista]
				jPaso++;
			}
		}
		if(jPaso>0)
		{
			//Elementos Tipo CheckBox, Rdio
			if(jElementos[x].type=='checkbox' || jElementos[x].type=='radio')
			{
				c = 0
				jValor = formulario[jElementos[x].name];
				for(var iConteo=0;iConteo<jValor.length;iConteo++)
				{
					if(jValor[iConteo].checked==true)
					{ 
						c++;
					}
				}
				if(c<=0 && ArrayCheckBox != jElementos[x].name) 
				{
					jMensaje2 = jMensaje2 + 'El campo ' + jName + ' es OBLIGATORIO\n';
				}
				ArrayCheckBox = jElementos[x].name;
			}
			//Elementos Tipo Text, Password
			if(jElementos[x].type=='text' || jElementos[x].type=='password')
			{
				jValor = formulario[jElementos[x].name];
				
				if(jValor.value=='')
				{
					jMensaje2 = jMensaje2 + 'El campo ' + jName + ' es OBLIGATORIO\n';
					jValor.focus();
				}
			}
		}
	}
	if(jMensaje2!='')
	{
		alert('ADVERTENCIA:\n\n' + jMensaje2 + '\n\nIntente de nuevo.');
		return false;
	}
	else
	{
		return true;
	}
}

function validarEmail(objValue) {
	valor = objValue.value;

  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
   //alert("La dirección de email " + valor    + " es correcta.") 
   return (true)
  } else {
   alert("La dirección de email " + valor + " es incorrecta.");
   objValue.focus();
   return (false);
  }
 }








