//..............STORE ...................................
function isValidFanProfileForm(oForm){

	var result = true;
	if (result) { result = isValidRequired(oForm.email, "Your email address"); }
	if (result) { result = isValidEmailAddress(oForm.email.value, "email address"); }
	if (result) { result = isValidRequired(oForm.pw, "A password"); }
	if (result) { result = isValidAlphanumeric(oForm.pw.value, 5, 20, "password"); } 
	if (result) { result = isValidRequired(oForm.nickname, "A nickname"); }
	if (result) { result = isValidFanNickname(oForm.nickname.value, 5, 20, "nickname"); } 
	return result;
}

function isValidEmailAFriendForm(oForm){

	var result = true;
	if (result) { result = isValidRequired(oForm.from_name, "Your name"); }
	if (result) { result = isValidRequired(oForm.from, "Your email address"); }
	if (result) { result = isValidEmailAddress(oForm.from.value, "email address for yourself"); }
	if (result) { result = isValidRequired(oForm.to_name, "Your friend's name"); }
	if (result) { result = isValidRequired(oForm.to, "Your friend's email address"); }
	if (result) { result = isValidEmailAddress(oForm.to.value, "email address for your friend"); }
	return result;
}

function isValidContactForm(oForm){

	var result = true;
	if (result) { result = isValidRequired(oForm.name, "Your name"); }
	if (result) { result = isValidRequired(oForm.email, "Your email address"); }
	if (result) { result = isValidEmailAddress(oForm.email.value, "email address"); }
	if (result) { result = isValidRequired(oForm.message, "Message text"); }
	return result;
}


//--------- Utility Functions ----------/
function isValidEmailAddress(value, label) {
  var reg = new RegExp("^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$");
  if (reg.test(value)) {
    return true;
  } else {
    alert("Please enter a valid " + label + ".");
		return false;
  }
}

function Trim(TRIM_VALUE){
	if(TRIM_VALUE.length < 1){
		return"";
	}
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE==""){
		return "";
	}else{
		return TRIM_VALUE;
	}
} //End Function

function RTrim(VALUE){
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	if(v_length < 0){
		return"";
	}
	var iTemp = v_length -1;

	while(iTemp > -1){
		if(VALUE.charAt(iTemp) == w_space){
		}else{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;
	} //End While
	return strTemp;
} //End Function

function LTrim(VALUE){
	var w_space = String.fromCharCode(32);
	if(v_length < 1){
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;

	while(iTemp < v_length){
		if(VALUE.charAt(iTemp) == w_space){
		}else{
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	} //End While
	return strTemp;
} //End Function

function isValidRequired(oElement, fieldName){
	var isValid = true;
	if (Trim(oElement.value) == ""){ isValid = false; }
	if (isValid == false){
		alert(fieldName + " is required.");
		oElement.focus();
	}
	return isValid;
}