//Inicio de validación para los campos de newsletters

//Define los tipor de validacuin aplicables seguin el tipo de campo que se desea validar.
function validate(mode, str, required) {
	var rule;
	switch (mode) {
		case "N": rule = "^[a-zA-Z \\-\\.']+$" ; break;// name
		case "E": rule = "^[\\w\\+\\-_]+(\\.[\\w\\+\\-_]+)*@[\\w\\-_]+(\\.[\\w\\-\\_]+)*\\.[a-zA-Z]{2,3}$" ; break; //email
		case "S": rule = "^[a-zA-Z0-9\\%\\?\\!\\@\\$\\*\\=\\ \\-\\/\\.\\&\\#\\,]+$" ; break; //something
		case "P": rule = "^[0-9\ \-]+$" ; break; //phone		
		case "#": rule = "^[0-9 \. \,]+$" ; break; //phone		
	}
	var r = new RegExp(rule, "i");
	return ((!required && (str.length==0)) || r.test(str));
}


//Validación para el formulario de la página index.html
function checkNewsletter(){
	var myform = document.forms[0];
	if (myform.nombre_completo.value == "") {
		alert ("Full name field required!");
		myform.nombre_completo.focus();
		return false; ///detiene el submit del form
	} else {
		if (myform.email.value == "") {  //if field is left empty
			alert ("Email field required!");
			myform.email.focus();
			return false; ///detiene el submit del form
		} else {
			if (!validate("E",myform.email.value, true)){
				retValue = false;
				alert ("Email field required. Example: user@domain.com");
				myform.email.focus();
				return false; ///detiene el submit del form
			} else {
				myform.action = 'newsletter.php';
				myform.submit();
			}
		}
	}
}
//fin de validación para los campor de newsletters	


function checkMail(){
	var myform = document.forms[0];
	if (myform.email.value == "") {  //if field is left empty
		alert ("Email field required!");
		myform.email.focus();
		return false; ///detiene el submit del form
	} else {
		if (!validate("E",myform.email.value, true)){
			retValue = false;
			alert ("Email field required. Example: user@domain.com");
			myform.email.focus();
			return false; ///detiene el submit del form
		} else {
			myform.action = 'send_news_to_a_friend.php';
			myform.submit();
		}
	}
}



//Validación para el formulario de la página events.php
function CheckEventForm(){
	var myform = document.forms[0];
	if (myform.quantity.value == "") {
		alert ("Quantity field required!");
		myform.quantity.focus();
		return false; ///detiene el submit del form
	} else {
		if (!validate("#",myform.quantity.value, true)) {
			retValue = false;
			alert ("Quantity field is only for numeric values!");
			myform.quantity.focus();
			return false; ///detiene el submit del form
		} else {
			if (myform.price.value == "0") {
				alert ("You have to select a price option!");
				myform.price.focus();
				return false; ///detiene el submit del form
			} else {	
				if (myform.firstName.value == "") {
					alert ("First name field required!");
					myform.firstName.focus();
					return false; ///detiene el submit del form
				} else {
					if (myform.lastName.value == "") {
						alert ("Last name field required!");
						myform.lastName.focus();
						return false; ///detiene el submit del form
					} else {
						if (myform.shipAddress.value == "") {
							alert ("Shipping Address field required!");
							myform.shipAddress.focus();
							return false; ///detiene el submit del form
						} else {
							if (myform.city.value == "") {
								alert ("City field required!");
								myform.city.focus();
								return false; ///detiene el submit del form
							} else {
								if (myform.state.value == "") {
									alert ("State field required!");
									myform.state.focus();
									return false; ///detiene el submit del form
								} else {
									if (myform.zipCode.value == "") {
										alert ("Zip Code field required!");
										myform.zipCode.focus();
										return false; ///detiene el submit del form
									} else {
										if (!validate("P",myform.zipCode.value, true)) {
											retValue = false;
											alert ("Zip Code field is only for numeric values!");
											myform.zipCode.focus();
											return false; ///detiene el submit del form
										} else {
											if (myform.phone.value == "") {
												alert ("Phone field required!");
												myform.phone.focus();
												return false; ///detiene el submit del form
											} else {	
												if (!validate("#",myform.phone.value, true)) {
													retValue = false;
													alert ("The phone number you entered is not valid.\r\nPlease enter a phone number with the format XXX XXX XXXX");
													myform.phone.focus();
													return false; ///detiene el submit del form
												} else {			
													if (myform.email.value == "") {
														alert ("Email field required!");
														myform.email.focus();
														return false; ///detiene el submit del form
													} else {
														if (!validate("E",myform.email.value, true)) {
															retValue = false;
															alert ("Email field required. Example: user@domain.com");
															myform.email.focus();
															return false; ///detiene el submit del form
														} else {
															if (myform.security_code.value == "") {
																alert ("Security code field required!");
																myform.security_code.focus();
																return false; ///detiene el submit del form	
															} else {
																myform.action = 'security_code_validator.php';
																myform.submit();
															}
														}	
													}
												}
											}
										}		
									}
								}
							}
						}
					}
				}
			}
		}
	}
}