
function validateMemberFormDetails() {

	var f = document.forms['form_member_details'];

	
	if (f.operation.value == "insert") { 
		if ( isBlank(getInputValue(f.member_username)) ||
			 isBlank(getInputValue(f.member_password)) ||
			 isBlank(getInputValue(f.member_password_repeat)) || 
			 isBlank(getInputValue(f.member_email)) || 
			 isBlank(getInputValue(f.member_gender)) || 
			 isBlank(getInputValue(f.member_firstname)) || 
			 isBlank(getInputValue(f.member_lastname)) || 
			 isBlank(getInputValue(f.member_address)) || 
			 isBlank(getInputValue(f.member_city)) || 
			 isBlank(getInputValue(f.member_zip)) || 
			 isBlank(getInputValue(f.member_country)) || 
			 isBlank(getInputValue(f.member_phone)) || 
			 isBlank(getInputValue(f.member_occupation)) || 
			 isBlank(getInputValue(f.member_date_of_birth)) ||
			 isBlank(getInputValue(f.member_tos_accept))   
			) {
			alert("Please fill in all the requied fields.");
			return;
		}
	} else {
		if ( isBlank(getInputValue(f.member_email)) || 
			 isBlank(getInputValue(f.member_gender)) || 
			 isBlank(getInputValue(f.member_firstname)) || 
			 isBlank(getInputValue(f.member_lastname)) || 
			 isBlank(getInputValue(f.member_address)) || 
			 isBlank(getInputValue(f.member_city)) || 
			 isBlank(getInputValue(f.member_zip)) || 
			 isBlank(getInputValue(f.member_country)) || 
			 isBlank(getInputValue(f.member_phone)) || 
			 isBlank(getInputValue(f.member_occupation)) || 
			 isBlank(getInputValue(f.member_date_of_birth))   
			) {
			alert("Please fill in all the requied fields.");
			return;
		}	
	}

	if (f.operation.value == "insert") { 
		var usernamePattern = /^[A-Za-z0-9]{5,32}$/;
		if (!(usernamePattern.test(f.member_username.value ))) {
			alert("Invalid Username \n [minimum 5 characters] \n [maximum 32 characters] \n [use latin letters and numbers]");
			return;
		}
	}
		
	if (f.operation.value == "insert" || (f.operation.value == "update" && !isBlank(getInputValue(f.member_password)))) {
		var passwordPattern = /^[A-Za-z0-9]{5,32}$/;
		if (!(passwordPattern.test(f.member_password.value ))) {
			alert("Invalid Password \n [minimum 5 characters] \n [maximum 32 characters] \n [use latin letters and numbers]");
			return;
		}
		
		if (f.member_password.value != f.member_password_repeat.value) {
			alert("The passwords you provided do not match.");
			return;
		}		
	}
	
	var emailPattern = /[\w-]+@([\w-]+\.)+[\w-]+/; 
	if (!(emailPattern.test(f.member_email.value ))) {
		alert("Invalid Email address - please correct.");
		return;
	}
	

	var datePattern = /^[0123][0-9]\/[01][0-9]\/[0-9]{4}$/;
	if (!(datePattern.test(f.member_date_of_birth.value ))) {
		alert("Invalid Date of Birth - please correct.");
		return;
	}
	
	if (f.member_tipster_date_verified) {
		if (!isBlank(getInputValue(f.member_tipster_date_verified))) {
			var datePattern = /^[0123][0-9]\/[01][0-9]\/[0-9]{4}$/;
			if (!(datePattern.test(f.member_tipster_date_verified.value ))) {
				alert("Invalid 'Verified Since' Date - please correct.");
				return;
			}
		}
	}
	

	if (!isBlank(getInputValue(f.member_tipster_website))) {
		var urlPattern = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
		if (!(urlPattern.test(f.member_tipster_website.value ))) {
			alert("Invalid Website - please correct.");
			return;
		}	
	}

	
	f.submit();
	
}


function validateClientLogin() {

	var f = document.form_client_login;
	
	if (f.username.value == "" || f.password.value == "") {
		alert("Please fill in your Username and Password to access the Client Area.");
		return;
	}
	
	f.submit();
	
}


function validateContactForm() {

	var f = document.form_contact;
	
	if (f.firstname.value == "" || f.lastname.value == "" || f.telephone.value == "" || f.comments.value == "") {
		alert("Please fill the fields 'Name', 'Surname', 'Company', 'Telephone' and 'Comments'.");
		return;
	}
	
	var telPattern = /^[\+]?[0-9]{10,13}$/;
	if (!(telPattern.test(f.telephone.value))) {
		alert("Invalid Telephone number - please correct.");
		return;
	}	
	
	if (f.email.value != "") { 
		var emailPattern = /[\w-]+@([\w-]+\.)+[\w-]+/;
		if (!(emailPattern.test(f.email.value ))) {
			alert("Invalid Email address - please correct.");
			return;
		}
	}	
		
	f.submit();
	
}


function validateJoinMailingList() {
	var m = document.getElementById('input_mailinglist_email').value;
	if (m == "" || m == "enter email address") {
		document.getElementById('input_mailinglist_email').value = "enter email address";
		return;
	} 
	
	var emailPattern = /[\w-]+@([\w-]+\.)+[\w-]+/;
	if (!(emailPattern.test(m))) {
		alert("Invalid Email address - please correct.");
		return;
	}
			
	location.href='mailing_list.php?email='+m;
	
}


function validateTipAdd() {

	var f = document.forms['form_tips_manage_add_edit'];

	var selectedCategory = f.tip_category_id.value;
	switch (selectedCategory) {
	
		case JS_VALUE_CODE_CATEGORY_COMBO :
			if ( isBlank(getInputValue(f.tip_category_id)) ||
				 isBlank(getInputValue(f.tip_subcategory_id)) ||
				 isBlank(getInputValue(f.tip_team1_combo)) || 
				 isBlank(getInputValue(f.tip_availability_date)) || 
				 isBlank(getInputValue(f.tip_availability_hour)) || 
				 isBlank(getInputValue(f.tip_availability_minute)) || 		 
				 isBlank(getInputValue(f.tip_pick_combo)) || 
				 isBlank(getInputValue(f.tip_odd)) || 
				 isBlank(getInputValue(f.tip_bookmaker_id)) || 
				 isBlank(getInputValue(f.tip_units)) || 
				 isBlank(getInputValue(f.tip_price)) 
			   ) {
				alert("Please fill in all the requied fields.");
				return;
			}	
			
			break;			
			
		default :
			if ( isBlank(getInputValue(f.tip_category_id)) ||
				 isBlank(getInputValue(f.tip_subcategory_id)) ||
				 isBlank(getInputValue(f.tip_team1)) || 
				 isBlank(getInputValue(f.tip_availability_date)) || 
				 isBlank(getInputValue(f.tip_availability_hour)) || 
				 isBlank(getInputValue(f.tip_availability_minute)) || 		 
				 isBlank(getInputValue(f.tip_pick)) || 
				 isBlank(getInputValue(f.tip_odd)) || 
				 isBlank(getInputValue(f.tip_bookmaker_id)) || 
				 isBlank(getInputValue(f.tip_units)) || 
				 isBlank(getInputValue(f.tip_price))    
			   ) {
				alert("Please fill in all the requied fields.");
				return;
			}	
			
			break;

	}
	 

	

	if (!isNumeric(f.tip_odd.value)) {
		alert("Odd must be a numeric value (integer or decimal) from 1.05 to 49.99");
		return;
	} else {
		if (f.tip_odd.value < 1.05 || f.tip_odd.value > 49.99) {
			alert("Wrong value for Odd - please enter a value from 1.05 to 49.99");
			return;
		}
	}
	
	var datePattern = /^[0123][0-9]\/[01][0-9]\/[0-9]{4}$/;
	if (!(datePattern.test(f.tip_availability_date.value ))) {
		alert("Invalid Availability Date - please correct.");
		return;
	}	
	
 
	if (!isInteger(f.tip_price.value)) {
		alert("Price must be an integer from 3 to 500.");
		return;
	} else {
		if (f.tip_price.value < 3 || f.tip_price.value > 500) {
			alert("Wrong value for Price - please enter a value from 3 to 500");
			return;
		}
	}		


	f.submit();
	


}
