function isNumeric(x) {
	var RegExp = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;
	var result = x.match(RegExp);
	if (result == null)
		result = false;
	return result;
}

function isPhoneNumber(sText) {
	var ValidChars = "0123456789x";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}

function isEmail(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false;
	 }

	 if (str.indexOf(" ")!=-1){
		return false;
	 }

	 return true;
}

function goToPage(pageName) {
	window.location = pageName;
}

// MENU SETTINGS //
var menuwidth='165px'; //default menu width
var menubgcolor='#ddeeee';  //menu bgcolor
var disappeardelay=250;  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes"; //hide menu when user clicks within menu?

//Contents for About Us menu
var menuAbout_Us=new Array();
//menuAbout_Us[0]='<a href="' + siteURL + '/about_us.asp">Who We Are</a>';
//menuAbout_Us[1]='<a href="' + siteURL + '/disclosures.asp">Disclosures</a>';
//menuAbout_Us[2]='<a href="' + siteURL + '/sample_issues.asp">Sample Issues</a>';
menuAbout_Us[0]='<a href="' + siteURL + '/closed_trades.asp">Closed Trades</a>';

//Contents for Education menu
var menuEducation=new Array();
//menuEducation[0]='<a href="' + siteURL + '/education.asp">Overview</a>';
menuEducation[1]='<a href="' + siteURL + '/strategy.asp">Strategy Corner</a>';
menuEducation[2]='<a href="' + siteURL + '/glossary.asp">Glossary</a>';
menuEducation[3]='<a href="' + siteURL + '/trading_manual.asp">Trading Manual<br>&nbsp;(members only)</a>';

//Contents for Members menu
var menuMembers=new Array();
menuMembers[0]='<a name="new_members"><b>New Members</b>';
//menuMembers[0]+='<span style="width: 100%;" onclick="window.location=\'' + siteURL + '/welcome_letter.asp\';">Welcome Letter</span>';
menuMembers[0]+='<span style="width: 100%;" onclick="window.location=\'' + siteURL + '/whitelist_us.asp\';">Whitelist Us</span></a>';
menuMembers[1]='<a href="' + siteURL + '/current_alert.asp">Current Alert</a>';
menuMembers[2]='<a href="' + siteURL + '/current_update.asp">Current Update</a>';
menuMembers[3]='<a href="' + siteURL + '/alert_archives.asp">Alert Archives</a>';
menuMembers[4]='<a href="' + siteURL + '/update_archives.asp">Update Archives</a>';
menuMembers[5]='<a href="' + siteURL + '/open_trades.asp">Open Trades</a>';
menuMembers[6]='<a href="' + siteURL + '/closed_trades.asp">Closed Trades</a>';
//menuMembers[7]='<a href="' + siteURL + '/trading_manual.asp">Trading Manual</a>';
//menuMembers[8]='<a href="' + siteURL + '/strategy.asp">Strategy Corner</a>';
menuMembers[7]='<a href="' + secureSiteURL + '/profile.asp">My Profile</a>';

//menuMembers[0]='<a href="' + siteURL + '/performance_data.asp">Performance Data</a>';
//menuMembers[0]='<a href="' + siteURL + '/members.asp">Member Home</a>';
//menuMembers[0]='<a href="' + siteURL + '/faqs.asp">FAQs</a>';

//Contents for Subscribe menu
var menuSubscribe=new Array();
menuSubscribe[0]='<a href="' + siteURL + '/subscribe.asp">Subscription Types</a>';
menuSubscribe[1]='<a href="' + secureSiteURL + '/subscribe_now.asp">Subscribe Now</a>';

//Contents for Contact Us menu
var menuContact_Us=new Array();
menuContact_Us[0]='<a href="' + siteURL + '/contact_us.asp">Contact Information</a>';
menuContact_Us[1]='<a href="' + siteURL + '/whitelist_us.asp">Whitelist Us</a>';

//Contents for Search menu
var menuSearch=new Array();
menuSearch[0]='<a href="' + siteURL + '/search.asp">Advanced Search</a>';
menuSearch[1]='<a href="' + siteURL + '/basic_search.asp">Basic Search</a>';

// MENU FUNCTIONS //
var ie4=document.all;
var ns6=document.getElementById&&!document.all;

if (ie4||ns6)
	document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>');

function getposOffset(what, offsettype) {
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth) {
	if (ie4||ns6)
		dropmenuobj.style.left=dropmenuobj.style.top="-500px";
	if (menuwidth!="") {
		dropmenuobj.widthobj=dropmenuobj.style;
		dropmenuobj.widthobj.width=menuwidth;
	}
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
		obj.visibility=visible;
	else if (e.type=="click")
		obj.visibility=hidden;
}

function iecompattest() {
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function clearbrowseredge(obj, whichedge) {
	var edgeoffset=0;
	if (whichedge=="rightedge") {
		var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;
	} else {
		var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset;
		var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) { //move up?
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
			if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
				edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge;
		}
	}
	return edgeoffset;
}

function populatemenu(what) {
	if (ie4||ns6)
		dropmenuobj.innerHTML=what.join("");
}


function dropdownmenu(obj, e, menucontents, menuwidth) {
	if (window.event)
		event.cancelBubble=true;
	else if (e.stopPropagation)
		e.stopPropagation();
	clearhidemenu();
	dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv;
	populatemenu(menucontents);

	if (ie4||ns6) {
		showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth);
		dropmenuobj.x=getposOffset(obj, "left");
		dropmenuobj.y=getposOffset(obj, "top");
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px";
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px";
	}

	return clickreturnvalue()
}

function clickreturnvalue() {
	if (ie4||ns6)
		return false;
	else
		return true;
}

function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;

	return false;
}

function dynamichide(e) {
	if (ie4&&!dropmenuobj.contains(e.toElement))
		delayhidemenu();
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
		delayhidemenu();
}

function hidemenu(e) {
	if (typeof dropmenuobj!="undefined"){
		if (ie4||ns6)
			dropmenuobj.style.visibility="hidden";
	}
}

function delayhidemenu() {
	if (ie4||ns6)
		delayhide=setTimeout("hidemenu()",disappeardelay);
}

function clearhidemenu() {
	if (typeof delayhide!="undefined")
		clearTimeout(delayhide);
}

if (hidemenu_onclick=="yes")
	document.onclick=hidemenu;

// END MENU FUNCTIONS //

function checkRegistrationForm() {
	var errMsg = "";
	var errField = "";
	var currentTime = new Date()
	document.getElementById('phone').value = document.getElementById('phone').value.replace(/-|,| |\(|\)/g,"");
	document.getElementById('phone_2').value = document.getElementById('phone_2').value.replace(/-|,| |\(|\)/g,"");
	document.getElementById('fax').value = document.getElementById('fax').value.replace(/-|,| |\(|\)/g,"");
	document.getElementById('fax_2').value = document.getElementById('fax_2').value.replace(/-|,| |\(|\)/g,"");
	document.getElementById('cc_phone').value = document.getElementById('cc_phone').value.replace(/-|,| |\(|\)/g,"");

	document.getElementById('username').value = document.getElementById('username').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('password').value = document.getElementById('password').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('password2').value = document.getElementById('password2').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('first_name').value = document.getElementById('first_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('last_name').value = document.getElementById('last_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('address_1').value = document.getElementById('address_1').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('city').value = document.getElementById('city').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('state').value = document.getElementById('state').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('zip').value = document.getElementById('zip').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('country').value = document.getElementById('country').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('email').value = document.getElementById('email').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('card_number').value = document.getElementById('card_number').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('card_exp_month').value = document.getElementById('card_exp_month').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('card_exp_year').value = document.getElementById('card_exp_year').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_first_name').value = document.getElementById('cc_first_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_last_name').value = document.getElementById('cc_last_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_address_1').value = document.getElementById('cc_address_1').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_city').value = document.getElementById('cc_city').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_state').value = document.getElementById('cc_state').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_zip').value = document.getElementById('cc_zip').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_country').value = document.getElementById('cc_country').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_phone').value = document.getElementById('cc_phone').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('cc_email').value = document.getElementById('cc_email').value.replace(/[ \t\r\n\v\f]*$/i,"");

	document.getElementById('username').value = document.getElementById('username').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('password').value = document.getElementById('password').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('password2').value = document.getElementById('password2').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('first_name').value = document.getElementById('first_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('last_name').value = document.getElementById('last_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('address_1').value = document.getElementById('address_1').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('city').value = document.getElementById('city').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('state').value = document.getElementById('state').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('zip').value = document.getElementById('zip').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('country').value = document.getElementById('country').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('email').value = document.getElementById('email').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('card_number').value = document.getElementById('card_number').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('card_exp_month').value = document.getElementById('card_exp_month').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('card_exp_year').value = document.getElementById('card_exp_year').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_first_name').value = document.getElementById('cc_first_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_last_name').value = document.getElementById('cc_last_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_address_1').value = document.getElementById('cc_address_1').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_city').value = document.getElementById('cc_city').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_state').value = document.getElementById('cc_state').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_zip').value = document.getElementById('cc_zip').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_country').value = document.getElementById('cc_country').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_phone').value = document.getElementById('cc_phone').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('cc_email').value = document.getElementById('cc_email').value.replace(/^[ \t\r\n\v\f]*/i,"");

	if (document.getElementById('card_number').value.length == 0) {
		errMsg = "You must enter a credit card number.";
		errField = "card_number";
	} else if (document.getElementById('card_number').value.length < 15 || document.getElementById('card_number').value.length > 16) {
		errMsg = "You must enter a valid credit card number.";
		errField = "card_number";
	} else if (document.getElementById('card_exp_month').value.length == 0) {
		errMsg = "You must enter a credit card expiration month.";
		errField = "card_exp_month";
	} else if (document.getElementById('card_exp_year').value.length == 0) {
		errMsg = "You must enter a credit card expiration year.";
		errField = "card_exp_year";
	} else if (!isNumeric(document.getElementById('card_number').value)) {
		errMsg = "You must enter a valid credit card number.";
		errField = "card_number";
	} else if (!isNumeric(document.getElementById('card_exp_month').value)) {
		errMsg = "You must enter a valid credit card expiration month.";
		errField = "card_exp_month";
	} else if (!isNumeric(document.getElementById('card_exp_year').value)) {
		errMsg = "You must enter a valid credit card expiration year.";
		errField = "card_exp_year";
	} else if (document.getElementById('card_exp_month').value.length != 2 || document.getElementById('card_exp_year').value.length != 4) {
		errMsg = "You must enter a credit card expiration in the format of MM/YYYY.";
		errField = "card_exp_month";
	} else if (parseFloat(document.getElementById('card_exp_month').value) < 1 || parseFloat(document.getElementById('card_exp_month').value) > 12) {
		errMsg = "You must enter a credit card expiration month that is valid.";
		errField = "card_exp_month";
	} else if (parseFloat(document.getElementById('card_exp_year').value) < currentTime.getFullYear()) {
		errMsg = "You must enter a credit card expiration year that is the current year or later.";
		errField = "card_exp_year";
	}


	if (document.getElementById('sub_ID').value.length == 0) {
		errMsg = "You must selection a subscription type.";
		errField = "sub_ID";
	} else if (document.getElementById('username').value.length == 0) {
		errMsg = "You must enter a username.";
		errField = "username";
	} else if (document.getElementById('password').value.length == 0) {
		errMsg = "You must enter a password.";
		errField = "password";
	} else if (document.getElementById('password2').value.length == 0) {
		errMsg = "You must reenter a password.";
		errField = "password2";
	} else if (document.getElementById('password').value.toLowerCase() != document.getElementById('password2').value.toLowerCase()) {
		errMsg = "Your passwords do not match.";
		errField = "password";
	} else if (document.getElementById('password').value.toLowerCase() == document.getElementById('username').value.toLowerCase()) {
		errMsg = "Your username and password must not be the same.";
		errField = "username";
	} else if (document.getElementById('first_name').value.length == 0) {
		errMsg = "You must enter a first name.";
		errField = "first_name";
	} else if (document.getElementById('last_name').value.length == 0) {
		errMsg = "You must enter a last name.";
		errField = "last_name";
	} else if (document.getElementById('address_1').value.length == 0) {
		errMsg = "You must enter an address.";
		errField = "address_1";
	} else if (document.getElementById('city').value.length == 0) {
		errMsg = "You must enter a city.";
		errField = "city";
	} else if (document.getElementById('state').value.length == 0) {
		errMsg = "You must enter a state.";
		errField = "state";
	} else if (document.getElementById('zip').value.length == 0) {
		errMsg = "You must enter a zip code.";
		errField = "zip";
	} else if (document.getElementById('country').value.length == 0) {
		errMsg = "You must enter a country.";
		errField = "country";
	} else if (document.getElementById('phone').value.length == 0) {
		errMsg = "You must enter a phone number.";
		errField = "phone";
	} else if (!isPhoneNumber(document.getElementById('phone').value)) {
		errMsg = "You must enter a valid phone number with only numbers.";
		errField = "phone";
	} else if (document.getElementById('phone_2').value.length > 0 && !isPhoneNumber(document.getElementById('phone_2').value)) {
		errMsg = "The second phone number must only be numbers.";
		errField = "phone_2";
	} else if (document.getElementById('fax').value.length > 0 && !isPhoneNumber(document.getElementById('fax').value)) {
		errMsg = "The fax number must only be numbers.";
		errField = "fax";
	} else if (document.getElementById('fax_2').value.length > 0 && !isPhoneNumber(document.getElementById('fax_2').value)) {
		errMsg = "The second fax number must only be numbers.";
		errField = "fax_2";
	} else if (document.getElementById('email').value.length == 0) {
		errMsg = "You must enter an email address.";
		errField = "email";
	} else if (!isEmail(document.getElementById('email').value)) {
		errMsg = "You must enter a valid email address.";
		errField = "email";
	} else if (document.getElementById('cc_first_name').value.length == 0) {
		errMsg = "You must enter a credit card first name.";
		errField = "cc_first_name";
	} else if (document.getElementById('cc_last_name').value.length == 0) {
		errMsg = "You must enter a credit card last name.";
		errField = "cc_last_name";
	} else if (document.getElementById('cc_address_1').value.length == 0) {
		errMsg = "You must enter a credit card address.";
		errField = "cc_address_1";
	} else if (document.getElementById('cc_city').value.length == 0) {
		errMsg = "You must enter a credit card city.";
		errField = "cc_city";
	} else if (document.getElementById('cc_state').value.length == 0) {
		errMsg = "You must enter a credit card state.";
		errField = "cc_state";
	} else if (document.getElementById('cc_zip').value.length == 0) {
		errMsg = "You must enter a credit card zip code.";
		errField = "cc_zip";
	} else if (document.getElementById('cc_country').value.length == 0) {
		errMsg = "You must enter a credit card country.";
		errField = "cc_country";
	} else if (document.getElementById('cc_phone').value.length == 0) {
		errMsg = "You must enter a credit card phone number.";
		errField = "cc_phone";
	} else if (!isPhoneNumber(document.getElementById('cc_phone').value)) {
		errMsg = "You must enter a valid credit card phone number with only numbers.";
		errField = "cc_phone";
	} else if (document.getElementById('cc_email').value.length == 0) {
		errMsg = "You must enter a credit card email address.";
		errField = "cc_email";
	} else if (!isEmail(document.getElementById('cc_email').value)) {
		errMsg = "You must enter a valid credit card email address.";
		errField = "cc_email";
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		alert("Your payment will be processed when you click OK unless this is a free trial subscription. Please do not navigate away from this page by using the back, stop, or reload buttons, or clicking the register button again.");
		document.getElementById('registration_form').submit();
	}
}

function copyBillingInfo(bolChecked) {
	if (bolChecked) {
		document.getElementById('cc_first_name').value = document.getElementById('first_name').value;
		document.getElementById('cc_last_name').value = document.getElementById('last_name').value;
		document.getElementById('cc_address_1').value = document.getElementById('address_1').value;
		document.getElementById('cc_address_2').value = document.getElementById('address_2').value;
		document.getElementById('cc_city').value = document.getElementById('city').value;
		document.getElementById('cc_state').value = document.getElementById('state').value;
		document.getElementById('cc_zip').value = document.getElementById('zip').value;
		document.getElementById('cc_country').value = document.getElementById('country').value;
		document.getElementById('cc_phone').value = document.getElementById('phone').value;
		document.getElementById('cc_email').value = document.getElementById('email').value;
	} else {
		document.getElementById('cc_first_name').value = "";
		document.getElementById('cc_last_name').value = "";
		document.getElementById('cc_address_1').value = "";
		document.getElementById('cc_address_2').value = "";
		document.getElementById('cc_city').value = "";
		document.getElementById('cc_state').value = "";
		document.getElementById('cc_zip').value = "";
		document.getElementById('cc_country').value = "";
		document.getElementById('cc_phone').value = "";
		document.getElementById('cc_email').value = "";
	}
}

function checkUserName(strUsername) {
	frames['userCheckFrame'].location.href = "includes/inc_usercheck.asp?un=" + strUsername;
}

function checkProfileForm() {
	var errMsg = "";
	var errField = "";
	document.getElementById('phone').value = document.getElementById('phone').value.replace(/-|,| |\(|\)/g,"");
	document.getElementById('phone_2').value = document.getElementById('phone_2').value.replace(/-|,| |\(|\)/g,"");
	document.getElementById('fax').value = document.getElementById('fax').value.replace(/-|,| |\(|\)/g,"");
	document.getElementById('fax_2').value = document.getElementById('fax_2').value.replace(/-|,| |\(|\)/g,"");

	document.getElementById('password').value = document.getElementById('password').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('password2').value = document.getElementById('password2').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('first_name').value = document.getElementById('first_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('last_name').value = document.getElementById('last_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('address_1').value = document.getElementById('address_1').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('city').value = document.getElementById('city').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('state').value = document.getElementById('state').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('zip').value = document.getElementById('zip').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('country').value = document.getElementById('country').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('email').value = document.getElementById('email').value.replace(/[ \t\r\n\v\f]*$/i,"");

	document.getElementById('password').value = document.getElementById('password').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('password2').value = document.getElementById('password2').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('first_name').value = document.getElementById('first_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('last_name').value = document.getElementById('last_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('address_1').value = document.getElementById('address_1').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('city').value = document.getElementById('city').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('state').value = document.getElementById('state').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('zip').value = document.getElementById('zip').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('country').value = document.getElementById('country').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('email').value = document.getElementById('email').value.replace(/^[ \t\r\n\v\f]*/i,"");


	if (document.getElementById('password').value.toLowerCase() != document.getElementById('password2').value.toLowerCase()) {
		errMsg = "Your new passwords do not match.";
		errField = "password";
	} else if (document.getElementById('password').value.toLowerCase() == document.getElementById('username').value.toLowerCase()) {
		errMsg = "Your username and password must not be the same.";
		errField = "password";
	} else if (document.getElementById('first_name').value.length == 0) {
		errMsg = "You must enter a first name.";
		errField = "first_name";
	} else if (document.getElementById('last_name').value.length == 0) {
		errMsg = "You must enter a last name.";
		errField = "last_name";
	} else if (document.getElementById('address_1').value.length == 0) {
		errMsg = "You must enter an address.";
		errField = "address_1";
	} else if (document.getElementById('city').value.length == 0) {
		errMsg = "You must enter a city.";
		errField = "city";
	} else if (document.getElementById('state').value.length == 0) {
		errMsg = "You must enter a state.";
		errField = "state";
	} else if (document.getElementById('zip').value.length == 0) {
		errMsg = "You must enter a zip code.";
		errField = "zip";
	} else if (document.getElementById('country').value.length == 0) {
		errMsg = "You must enter a country.";
		errField = "country";
	} else if (document.getElementById('phone').value.length == 0) {
		errMsg = "You must enter a phone number.";
		errField = "phone";
	} else if (!isPhoneNumber(document.getElementById('phone').value)) {
		errMsg = "You must enter a valid phone number with only numbers.";
		errField = "phone";
	} else if (document.getElementById('phone_2').value.length > 0 && !isPhoneNumber(document.getElementById('phone_2').value)) {
		errMsg = "The second phone number must only be numbers.";
		errField = "phone_2";
	} else if (document.getElementById('fax').value.length > 0 && !isPhoneNumber(document.getElementById('fax').value)) {
		errMsg = "The fax number must only be numbers.";
		errField = "fax";
	} else if (document.getElementById('fax_2').value.length > 0 && !isPhoneNumber(document.getElementById('fax_2').value)) {
		errMsg = "The second fax number must only be numbers.";
		errField = "fax_2";
	} else if (document.getElementById('email').value.length == 0) {
		errMsg = "You must enter an email address.";
		errField = "email";
	} else if (!isEmail(document.getElementById('email').value)) {
		errMsg = "You must enter a valid email address.";
		errField = "email";
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		document.getElementById('profile_form').submit();
	}
}

function checkCreditCardAdminForm () {
	var errMsg = "";
	var errField = "";
	var currentTime = new Date()
	document.getElementById('phone').value = document.getElementById('phone').value.replace(/-|,| |\(|\)/g,"");

	document.getElementById('card_first_name').value = document.getElementById('card_first_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('card_last_name').value = document.getElementById('card_last_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('address_1').value = document.getElementById('address_1').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('city').value = document.getElementById('city').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('state').value = document.getElementById('state').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('zip').value = document.getElementById('zip').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('country').value = document.getElementById('country').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('email').value = document.getElementById('email').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('card_number').value = document.getElementById('card_number').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('card_exp_month').value = document.getElementById('card_exp_month').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('card_exp_year').value = document.getElementById('card_exp_year').value.replace(/[ \t\r\n\v\f]*$/i,"");

	document.getElementById('card_first_name').value = document.getElementById('card_first_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('card_last_name').value = document.getElementById('card_last_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('address_1').value = document.getElementById('address_1').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('city').value = document.getElementById('city').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('state').value = document.getElementById('state').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('zip').value = document.getElementById('zip').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('country').value = document.getElementById('country').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('email').value = document.getElementById('email').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('card_number').value = document.getElementById('card_number').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('card_exp_month').value = document.getElementById('card_exp_month').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('card_exp_year').value = document.getElementById('card_exp_year').value.replace(/^[ \t\r\n\v\f]*/i,"");

	if (document.getElementById('card_number').value.length == 0) {
		errMsg = "You must enter a credit card number.";
		errField = "card_number";
	} else if (document.getElementById('card_number').value.length < 15 || document.getElementById('card_number').value.length > 16) {
		errMsg = "You must enter a valid credit card number.";
		errField = "card_number";
	} else if (document.getElementById('card_exp_month').value.length == 0) {
		errMsg = "You must enter a credit card expiration month.";
		errField = "card_exp_month";
	} else if (document.getElementById('card_exp_year').value.length == 0) {
		errMsg = "You must enter a credit card expiration year.";
		errField = "card_exp_year";
	} else if (!isNumeric(document.getElementById('card_number').value)) {
		errMsg = "You must enter a valid credit card number.";
		errField = "card_number";
	} else if (!isNumeric(document.getElementById('card_exp_month').value)) {
		errMsg = "You must enter a valid credit card expiration month.";
		errField = "card_exp_month";
	} else if (!isNumeric(document.getElementById('card_exp_year').value)) {
		errMsg = "You must enter a valid credit card expiration year.";
		errField = "card_exp_year";
	} else if (document.getElementById('card_exp_month').value.length != 2 || document.getElementById('card_exp_year').value.length != 4) {
		errMsg = "You must enter a credit card expiration in the format of MM/YYYY.";
		errField = "card_exp_month";
	} else if (parseFloat(document.getElementById('card_exp_month').value) < 1 || parseFloat(document.getElementById('card_exp_month').value) > 12) {
		errMsg = "You must enter a credit card expiration month that is valid.";
		errField = "card_exp_month";
	} else if (parseFloat(document.getElementById('card_exp_year').value) < currentTime.getFullYear()) {
		errMsg = "You must enter a credit card expiration year that is the current year or later.";
		errField = "card_exp_year";
	} else if (document.getElementById('card_first_name').value.length == 0) {
		errMsg = "You must enter a first name.";
		errField = "card_first_name";
	} else if (document.getElementById('card_last_name').value.length == 0) {
		errMsg = "You must enter a last name.";
		errField = "card_last_name";
	} else if (document.getElementById('address_1').value.length == 0) {
		errMsg = "You must enter an address.";
		errField = "address_1";
	} else if (document.getElementById('city').value.length == 0) {
		errMsg = "You must enter a city.";
		errField = "city";
	} else if (document.getElementById('state').value.length == 0) {
		errMsg = "You must enter a state.";
		errField = "state";
	} else if (document.getElementById('zip').value.length == 0) {
		errMsg = "You must enter a zip code.";
		errField = "zip";
	} else if (document.getElementById('country').value.length == 0) {
		errMsg = "You must enter a country.";
		errField = "country";
	} else if (document.getElementById('phone').value.length == 0) {
		errMsg = "You must enter a phone number.";
		errField = "phone";
	} else if (!isPhoneNumber(document.getElementById('phone').value)) {
		errMsg = "You must enter a valid phone number with only numbers.";
		errField = "phone";
	} else if (document.getElementById('email').value.length == 0) {
		errMsg = "You must enter an email address.";
		errField = "email";
	} else if (!isEmail(document.getElementById('email').value)) {
		errMsg = "You must enter a valid email address.";
		errField = "email";
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		document.getElementById('credit_card_admin_form').submit();
	}
}

function checkNavBasicSearch() {
	var errMsg = "";
	var errField = "";
	if (document.getElementById('search_val_nav').value.length == 0) {
		errMsg = "You must enter a search value.";
		errField = "search_val_nav";
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		document.getElementById('nav_basic_search_form').submit();
	}
}

function checkBasicSearch() {
	var errMsg = "";
	var errField = "";
	if (document.getElementById('search_val').value.length == 0) {
		errMsg = "You must enter a search value.";
		errField = "search_val";
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		document.getElementById('basic_search_form').submit();
	}
}

function checkAdvancedSearch() {
	var errMsg = "";
	var errField = "";
	if (document.getElementById('search_val').value.length == 0) {
		errMsg = "You must enter a search value.";
		errField = "search_val";
	} else if (document.getElementById('search_box_1').checked == false &&
		document.getElementById('search_box_2').checked == false &&
		document.getElementById('search_box_3').checked == false &&
		document.getElementById('search_box_4').checked == false &&
		document.getElementById('search_box_5').checked == false &&
		document.getElementById('search_box_6').checked == false &&
		document.getElementById('search_box_7').checked == false &&
		document.getElementById('search_box_8').checked == false &&
		document.getElementById('search_box_11').checked == false &&
		document.getElementById('search_box_12').checked == false &&
		document.getElementById('search_box_14').checked == false &&
		document.getElementById('search_box_15').checked == false) {
		errMsg = "You must select at least one area to search.";
		errField = "search_val";
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		document.getElementById('advanced_search_form').submit();
	}
}

function checkContactForm() {
	var errMsg = "";
	var errField = "";
	if (document.getElementById('from').value.length == 0) {
		errMsg = "You must enter an email address.";
		errField = "from";
	} else if (!isEmail(document.getElementById('from').value)) {
		errMsg = "You must enter a valid email address.";
		errField = "from";
	} else if (document.getElementById('name').value.length == 0) {
		errMsg = "You must enter a name.";
		errField = "name";
	} else if (document.getElementById('message').value.length == 0) {
		errMsg = "You must enter a message.";
		errField = "message";
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		document.getElementById('contact_form').submit();
	}
}

function showHideAllComments(strIDs) {
	var arrIDs = strIDs.split(",");
	var i;
	var displayType;

	if (document.getElementById('show_all_comments_text').innerHTML == "Show All Comments") {
		document.getElementById('show_all_comments_text').innerHTML = "Hide All Comments";
		displayType = "inline";
	} else {
		document.getElementById('show_all_comments_text').innerHTML = "Show All Comments";
		displayType = "none";
	}

	for (i = 0; i < arrIDs.length; i++) {
		document.getElementById('comments_' + arrIDs[i]).style.display = displayType;
	}
}

function showHideDivName(strDivName) {
	if (document.getElementById(strDivName).style.display == 'inline') {
		document.getElementById(strDivName).style.display = 'none';
	} else {
		document.getElementById(strDivName).style.display = 'inline';
	}
}