function _v_test_sub(condition,fld,msg) {
  if (condition) return (true);
  if (fld != null) fld.focus();
  alert(msg);
  return (false);
}

function _v_test_sub2(condition,fld) {
  if (condition) return (true);
  return (false);
}

function _v_retest_sub(re,fld,msg,required) {
  if (!required && /^\s*$/.test(fld.value)) return (true);
  if (required && /^\s*$/.test(fld.value)) return (_v_test_sub(false,fld,msg));
  return (_v_test_sub(re.test(fld.value),fld,msg));
}

function _v_retest_subWComma(re,val,fld,msg,required) {
  if (!required && /^\s*$/.test(val)) return (true);
  if (required && /^\s*$/.test(val)) return (_v_test_sub(false,fld,msg));
  return (_v_test_sub(re.test(val),fld,msg));
}

function v_iscondition(fld,msg,condition) { return (_v_test_sub(condition,fld,msg)); }
function v_isre(fld,msg,re) { return (_v_test_sub(re.test(fld.value),fld,msg)); }
function v_isnotempty(fld,msg) { return (_v_test_sub(/\S/.test(fld.value),fld,msg)); }
function v_isnotempty2(fld) { return (_v_test_sub2(/\S/.test(fld.value),fld)); }
function v_isselected(fld,msg) { return (_v_test_sub(fld.selectedIndex != 0,fld,msg)); }
function v_isint(fld,msg,required) { return (_v_retest_sub(/^\d+$/,fld,msg,required)); }
function v_isnonzeroint(fld,msg,required) { return (_v_retest_sub(/^0*[1-9]\d*$/,fld,msg,required)); }
function v_issignedint(fld,msg,required) { return (_v_retest_sub(/^[+-]?\d+$/,fld,msg,required)); }
function v_isreal(fld,msg,required) { return (_v_retest_sub(/^\.\d+$|^\d+(\.\d*)?$/,fld,msg,required)); }
function v_issignedreal(fld,msg,required) { return (_v_retest_sub(/^[+-]?\.\d+$|^[+-]?\d+(\.\d*)?$/,fld,msg,required)); }
function v_iscurrency(fld,msg,required) { return (_v_retest_sub(/^(\$ *)?\.\d{1,2}$|^(\$ *)?\d+(\.\d{0,2})?$/,fld,msg,required)); }
function v_iszipcode(fld,msg,required) { return (_v_retest_sub(/^\d{5}([- ]?\d{4})?$/,fld,msg,required)); }
function v_isphoneac(fld,msg,required) { return (_v_retest_sub(/^\(?\d{3}\)?$/,fld,msg,required)); }
function v_isphoneprefix(fld,msg,required) { return (_v_retest_sub(/^\d{3}$/,fld,msg,required)); }
function v_isphone4(fld,msg,required) { return (_v_retest_sub(/^\d{4}$/,fld,msg,required)); }
function v_isphone(fld,msg,required) { return (_v_retest_sub(/^\d{3}[-. ]?\d{4}$/,fld,msg,required)); }
function v_isacphone(fld,msg,required) { return (_v_retest_sub(/^\(?\d{3}[).-]? ?\d{3}[-. ]?\d{4}$/,fld,msg,required)); }

function v_isemailaddress(fld,msg,required) {
  var valid = "[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]";
  return (_v_retest_sub(new RegExp("^" + valid + "+(\\." + valid + "+)*@" + valid + "+(\\." + valid + "+)+$"),fld,msg,required));
}

function v_isemailaddressWComma(fld,msg,required) {
  var valid = "[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]";
  var vals  = fld.value;
  var eml_array = vals.split(",");
	for(i=0;i<eml_array.length;i++){
	var s   = eml_array[i];
	var val = s.replace(" ","");
	//alert(val);
	var test = (_v_retest_subWComma(new RegExp("^" + valid + "+(\\." + valid + "+)*@" + valid + "+(\\." + valid + "+)+$"),val,fld,msg,required));
	//alert(test);
	if(test==false){
	  fld.focus;
	  return(false);
	 }
	}
	return(true);
}

function v_radiochecked(fld,msg) {
  var i;
  for (i = 0; i < fld.length; i++)
    if (fld[i].checked)
      return (true);
  return (_v_test_sub(false,fld[0],msg));
}


function v_SWF() {
	var oVal = $('#a02_Email_Address').val();
	var oValVerify = $('#a04_Friend_Email_Address').val();
	var emailFilter = /^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/;
	var err=false;
	if($('#a01_First_Name').val() == "* Your First Name" || $('#a01_First_Name').val() == "") {
		$('#fname').fadeIn('slow'); err=true;
	}else{
		$('#fname').fadeOut('slow');
	}

	if($('#a03_First_Name').val() == "* Your Friend's First Name" || $('#a03_First_Name').val() == "") {
		$('#frname').fadeIn('slow'); err=true;
	}else{$('#frname').fadeOut('slow'); }

	if($('#a02_Email_Address').val() == "* Your Email" || $('#a02_Email_Address').val() == "") {
		$('#email').fadeIn('slow'); err=true;
		//document.getElementById('a09_Email_Address').focus();
	}
	else if( !emailFilter.test(oVal)) {
		$('#emailerr').fadeIn('slow'); err=true;
		$('#email').fadeOut('slow');
	}
	else{
		$('#emailerr').fadeOut('slow');
		$('#email').fadeOut('slow'); 
		
	}

	if($('#a04_Friend_Email_Address').val() == "* Your Friend's Email" || $('#a04_Friend_Email_Address').val() == "") {
		$('#email1').fadeIn('slow'); err=true;
		//document.getElementById('a10_Email_Address_Verify').focus();
	}
	else if($('#a04_Friend_Email_Address').val() != "* Your Friend's Email" || $('#a04_Friend_Email_Address').val() != ""){
		if( !emailFilter.test(oValVerify)) {
			$('#emailerr1').fadeIn('slow'); err=true;
			$('#email1').fadeOut('slow');
		}
	
	
		else{
			$('#emailerr1').fadeOut('slow');
			$('#email1').fadeOut('slow');
			
		}
	}
	if(err)
		return false;
	else{
		// this call must be made before form submits
		lst_trackPage("/share-with-friends/submit");

		return true;
		//pageTracker._linkByPost(document.getElementById('sharewithfriends'));
	}
}
