/*****************************************************************
 *	File:		functions.js
 *	Purpose:	Javascript file for bafd.org - new design
 *
 *	Author:		Rajesh Wadhwani
 *	Created:	28-11-2008
 *	Modified:	28-11-2008, 02-12-2008, 04-12-2008, 02-01-2009
 *	Copyright:	Room 101 Limited, 2008
 ****************************************************************/

// Function to validate the input field for numeric value
function validateInteger(ele) {
	var valueFilter=/^[0-9]{1,4}$/;
	
	if(valueFilter.test(ele.value) == false) {
		alert("Please enter a numeric value!");
		ele.value = 1;
		ele.focus();
	}

}

/**
 * Function to check 2 passwords for different values
 * @param form - the form name
 * @param ele1 - Password1
 * @param ele2 - Password2
 */
function checkRetypePasswords() {
	if (document.frm_edit_members.member_passwd2.value != document.frm_edit_members.member_passwd1.value) {
		alert ("Passwords does not match! Please try again.");
		document.frm_edit_members.member_passwd2.select();
	}
}

/**
 * Function to validate the form (Edit Membership form)
 * @param form - the form
 */
function validateEditMember(form) {	
	if (document.frm_edit_members.member_passwd2.value != document.frm_edit_members.member_passwd1.value) {
		document.frm_edit_members.member_passwd2.select();
		return false;
	} else {
		// Prompt user to entered the confirmation (current) password before they continue
		if (form.confirm_password.value == "") {
			alert("Please enter current password for confirmation!");
			form.confirm_password.focus();
			return false;
		}
	}
	
	return true;
}

/**
 * Function to validate the form (Registration form)
 * @param form - the form
 */
function validateNewMember(form) {
	// Validate email address
	return checkEmail(form.member_email);
}

// Function to validate the email address and return true if valid email or return false
function checkEmail(email) {
	var emailFilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
	if (emailFilter.test(email.value) == false) {
		alert("Please enter a valid email address!");
		email.select();
		return false;
	}
	return true;
}

// Function to display appropriate input field or drop-down list on member search
function displaySearchOption(selectedOption) {
	if (selectedOption.value == "member") {
		document.getElementById('member_search').style.visibility = "visible";
		document.getElementById('member_search').style.display = "block";
		document.getElementById('region_search').style.visibility = "hidden";
		document.getElementById('region_search').style.display = "none";
		document.getElementById('supplier_search').style.visibility = "hidden";
		document.getElementById('supplier_search').style.display = "none";
		
	} else if (selectedOption.value == "region") {
		document.getElementById('member_search').style.visibility = "hidden";
		document.getElementById('member_search').style.display = "none";
		document.getElementById('region_search').style.visibility = "visible";
		document.getElementById('region_search').style.display = "block";
		document.getElementById('supplier_search').style.visibility = "hidden";
		document.getElementById('supplier_search').style.display = "none";
	} else {
		document.getElementById('member_search').style.visibility = "hidden";
		document.getElementById('member_search').style.display = "none";
		document.getElementById('region_search').style.visibility = "hidden";
		document.getElementById('region_search').style.display = "none";
		document.getElementById('supplier_search').style.visibility = "visible";
		document.getElementById('supplier_search').style.display = "block";
	}
}

/**
 *	Function to show element - display: block;
 *	@param	eleID	Element ID to show
 */
function showElement(eleID) {
	document.getElementById(eleID).style.display = "block";
}

/**
 *	Function to hide element - display: none;
 *	@param	eleID	Element ID to hide
 */
function hideElement(eleID) {
	document.getElementById(eleID).style.display = "none";
}

// Function to return true/false based on user decision - confirm box
function confirmDelete() {
	var del = confirm("Are you sure you want to delete this member?");
	if (del == true)
		return true;
	else
		return false;
}