/*****************************************************************************/
/*                           Funciones de Validar                            */
/*****************************************************************************/
function validarSorteoSuscribirse(Formulario) {
	if(isNameOK(Formulario.ApellidoYNombre, 'Ingresa aquí tu apellido y nombre') == false) {
		return false;
	}
	if(isEMailOK(Formulario.EMail) == false) {
		return false;
	}
	if(isDocumentOK(Formulario.TipoDocumento, Formulario.NroDocumento) == false) {
		return false;
	}
	if(isSexOK(Formulario.TipoSexo) == false) {
		return false;
	}
	if(isBirthDateOK(Formulario.DiaNacimiento, Formulario.MesNacimiento, Formulario.AnioNacimiento) == false) {
		return false;
	}
	if(isCountryOK(Formulario.Pais) == false) {
		return false;
	}
	if(isProvinciaOK(Formulario.Provincia) == false) {
		return false;
	}	
	if(isCalleOK(Formulario.Calle, 'Ingresa aquí tu calle') == false) {
		return false;
	}
	if(isNumeroCalleOK(Formulario.Numero, 'Ingresa aquí tu número') == false) {
		return false;
	}
	if(isLocalidadOK(Formulario.Localidad, 'Ingresa aquí tu localidad') == false) {
		return false;
	}
	if(isCodPostalOK(Formulario.CodPostal, 'Ingresa aquí tu código postal') == false) {
		return false;
	}
	if(isTelPrefijoOK(Formulario.TelPrefijo) == false) {
		return false;
	}
	
	if(Formulario.Telefono.value != "") {
		if(isPhoneOK(Formulario.Telefono, Formulario.TelPrefijo, Formulario.CodAreaTel) == false) {
			return false;
		}
	} else if(Formulario.Celular.value != "") {
		if(isCellPhoneOK(Formulario.Celular, Formulario.OpCelular, Formulario.CodAreaCel) == false) {
			return false;
		}
	} else {
		alert('Tenés que ingresar un telefono/celular.');
		Formulario.Telefono.focus();
		return false;
	}
	
	
	if(isChecked(Formulario.TerminosYCondiciones) == false) {
		return false;
	}
}

/*****************************************************************************/
/*                             Funciones de isOK                             */
/*****************************************************************************/

function isNameOK(Name,Default) {
	var ValidChars = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ áéíóúÁÉÍÓÚ,";
	var IsValid = true;
	var Char;
	if((Name.value == "") || (Name.value == Default)) {
		alert('Tenés que ingresar tu nombre.');
		Name.focus();
		return false;
	}
	if(Name.value.length < 3) {
		alert('El nombre debe tener más de 2 caracteres.');
		Name.focus();
		return false;
	}
	for (i = 0; i < Name.value.length && IsValid == true; i++) { 
		Char = Name.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert(Char+', no es un caracter válido para el nombre.');
			Name.value = "";
			Name.focus();
			return false;
		}
	}
}

function isEMailOK(EMail) {
	var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_.-@";
	var IsValid = true;
	var Char;
	if(EMail.value == "") {
		alert('Tenés que ingresar una dire de e-mail.');
		EMail.focus();
		return false;
	}
	if((EMail.value.indexOf('@') == -1) || (EMail.value.indexOf('.') == -1)) {
		alert("Tenés que ingresar un e-mail válido.");
		EMail.focus();
		return false;
	}
	for (i = 0; i < EMail.value.length && IsValid == true; i++) { 
		Char = EMail.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert(Char+', no es un caracter válido para el e-mail.');
			EMail.value = "";
			EMail.focus();
			return false;
		}
	}
}

function isSexOK(Sex) {
	if(Sex.value == "") {
		alert('Tenés que elegir un sexo.');
		Sex.focus();
		return false;
	}
}

function isCountryOK(Country) {
	if(Country.value == "") {
		alert('Tenés que elegir un país.');
		Country.focus();
		return false;
	}
}

function isProvinciaOK(Provincia) {
	if(Provincia.value == "0") {
		alert('Tenés que elegir una provincia.');
		Provincia.focus();
		return false;
	}
}

function isTelPrefijoOK(Prefijo) {
	if(Prefijo.value == "0") {
		alert('Tenés que elegir un prefijo.');
		Prefijo.focus();
		return false;
	}
}

function isBirthDateOK(Day,Month,Year) {
	if(Day.value == "") {
		alert('Tenés que elegir un día.');
		Day.focus();
		return false;
	}
	if(Month.value == "") {
		alert('Tenés que elegir un mes.');
		Month.focus();
		return false;
	}
	if(Year.value == "") {
		alert('Tenés que elegir un año.');
		Year.focus();
		return false;
	}
}

function isDocumentOK(DocumentType,Document) {
	var ValidChars = "1234567890.";
	var IsValid = true;
	var Char;
	if(DocumentType.value == "") {
		alert('Tenés que elegir un tipo de documento.');
		DocumentType.focus();
		return false;
	}
	if(Document.value == "") {
		alert('Tenés que ingresar un número de documento.');
		Document.focus();
		return false;
	}
	for (i = 0; i < Document.value.length && IsValid == true; i++) { 
		Char = Document.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert(Char+', no es un caracter válido para el documento.');
			Document.value = "";
			Document.focus();
			return false;
		}
	}
}

function isCalleOK(SecretQuestion,Default) {
	var ValidChars = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890áéíóúÁÉÍÓÚ!?.,-_ ";
	var IsValid = true;
	var Char;
	if((SecretQuestion.value == "") || (SecretQuestion.value == Default)) {
		alert('Tenés que ingresar una calle.');
		SecretQuestion.focus();
		return false;
	}
	for (i = 0; i < SecretQuestion.value.length && IsValid == true; i++) { 
		Char = SecretQuestion.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert(Char+', no es un caracter válido para la calle.');
			SecretQuestion.value = "";
			SecretQuestion.focus();
			return false;
		}
	}
}

function isNumeroCalleOK(SecretQuestion,Default) {
	if((SecretQuestion.value == "") || (SecretQuestion.value == Default)) {
		alert('Tenés que ingresar un número de calle.');
		SecretQuestion.focus();
		return false;
	}
}

function isLocalidadOK(SecretQuestion,Default) {
	var ValidChars = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890áéíóúÁÉÍÓÚ!?.,-_ ";
	var IsValid = true;
	var Char;
	if((SecretQuestion.value == "") || (SecretQuestion.value == Default)) {
		alert('Tenés que ingresar una localidad.');
		SecretQuestion.focus();
		return false;
	}
	for (i = 0; i < SecretQuestion.value.length && IsValid == true; i++) { 
		Char = SecretQuestion.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert(Char+', no es un caracter válido para la localidad.');
			SecretQuestion.value = "";
			SecretQuestion.focus();
			return false;
		}
	}
}

function isCodPostalOK(SecretQuestion,Default) {
	var ValidChars = "1234567890";
	var IsValid = true;
	var Char;
	if((SecretQuestion.value == "") || (SecretQuestion.value == Default)) {
		alert('Tenés que ingresar un código postal.');
		SecretQuestion.focus();
		return false;
	}
	for (i = 0; i < SecretQuestion.value.length && IsValid == true; i++) { 
		Char = SecretQuestion.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert(Char+', no es un caracter válido para el código postal.');
			SecretQuestion.value = "";
			SecretQuestion.focus();
			return false;
		}
	}
}

function isPhoneOK(Phone, CountryCode, AreaCode) {
	var ValidChars = "1234567890";
	var IsValid = true;
	var Char;

	if(Phone.value != "") {
		for (i = 0; i < Phone.value.length && IsValid == true; i++) { 
			Char = Phone.value.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				alert(Char+', no es un caracter válido para el telefono.');
				Phone.value = "";
				Phone.focus();
				return false;
			}
		}
		
		if(CountryCode.value == 0) {
			alert('Debés ingresar el código de tu país.');
			CountryCode.focus();
			return false;
		}

		if(AreaCode.value == "") {
			alert('Debés ingresar el código de area.');
			AreaCode.focus();
			return false;
		}
	}
}

function isCellPhoneOK(Phone, Operator, AreaCode) {
	var ValidChars = "1234567890";
	var IsValid = true;
	var Char;

	if(Phone.value != "") {
		for (i = 0; i < Phone.value.length && IsValid == true; i++) { 
			Char = Phone.value.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				alert(Char+', no es un caracter válido para el celular.');
				Phone.value = "";
				Phone.focus();
				return false;
			}
		}
		
		if(Operator.value == 0) {
			alert('Debés ingresar un operador.');
			Operator.focus();
			return false;
		}

		if(AreaCode.value == "") {
			alert('Debés ingresar el código de area.');
			AreaCode.focus();
			return false;
		}
	}
}

function isChecked(Acepto) {
	if(Acepto.checked != true) {
		alert('Tenés que leer y aceptar los Términos y Condiciones para poder continuar.');
		return false;
	}
}

/*****************************************************************************/
/*****************************************************************************/
