// JavaScript Document

function show_hide(tblid, show) {
	if (tbl = document.getElementById(tblid)) {
		if (null == show) show = tbl.style.display == 'none';
		tbl.style.display = (show ? '' : 'none');
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function placeFocus() {
	if (document.forms.length > 0) {
		var field = document.forms[0];
		for (i = 0; i < field.length; i++) {
			if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
				document.forms[0].elements[i].focus();
				break;
         	}
      	}
   	}
}

function isEmailAddr(email) {
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0) {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel) {
	var result = true;
	if (formField.value == "") {
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	return result;
}

function valDrop(val) {
	var result = true;
	if(val == '')
		result = false;
	return result;
}

function allDigits(str) {
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset) {
	var result = true;
	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)	{
			result = false;
			break;
		}
	return result;
}

function validEmail(formField,fieldLabel,required) {
	var result = true;
	if (required && !validRequired(formField,fieldLabel))
		result = false;
	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.value = "";
		formField.focus();
		result = false;
	}
  return result;
}

function validNum(formField,fieldLabel,required) {
	var result = true;
	if (required && !validRequired(formField,fieldLabel))
		result = false;
 	if (result)	{
 		if (!allDigits(formField.value)) {
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.value = "";
			formField.focus();		
			result = false;
		}
	} 
	return result;
}

function validDrop(formField,fieldLabel,required)  {
	var result = true;
	if (required && !validRequired(formField,fieldLabel))
		result = false;
	if (result) {
		if (formField.selectedIndex == 0) {
			alert('Please make a selection for the "' + fieldLabel +'" field.');
			formField.focus();
			result = false;
		}
	}
	return result;
}

function validInt(formField,fieldLabel,required) {
	var result = true;
	if (required && !validRequired(formField,fieldLabel))
		result = false;
 	if (result) {
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))	{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.value = "";
			formField.focus();		
			result = false;
		}
	} 
	return result;
}

function buttonSelected(formField,fieldLabel,required) {
	var result = true;
	if (required && !validRequired(formField,fieldLabel))
		result = false;
	if (result) {
		var radioSelected = false;
		for (i=0;i<formField.length;i++) {
			if (formField[i].checked) radioSelected = true;
		}
		if (!radioSelected) {
			alert("Please select one of the '" + fieldLabel + "' options.");
			result = false;
		}
	}
	return result;
}

function matchPasswords(formField1,formField2,fieldLabel,required) {
	var result = true;
	if (required && !validRequired(formField1,fieldLabel))
		result = false;
	if (result) {
		if (formField1.value != formField2.value) {
			alert('The passwords entered do not match');
			formField1.value = "";
			formField2.value = "";
			formField1.focus();
			return false;
		}
	}
	return result;
}

// Form validation functions
function validateFormMetabolism4(theForm) {
	if (!validDrop(theForm.bodytype,"Body Type",true)) return false;
	if (!validDrop(theForm.weighttype,"Weight Type",true)) return false;
	if (!validRequired(theForm.bodyfat,"Body Fat %",true)) return false;
	if (!validDrop(theForm.bodyfattype,"Body Fat % Type",true)) return false;
	if (!validRequired(theForm.bodywater,"Total Body Water",true)) return false;
	if (!validRequired(theForm.musclemass,"Muscle Mass",true)) return false;
	if (!validNum(theForm.bmr,"BMR",true)) return false;
	if (!validNum(theForm.metabolicage,"Metabolic Age",true)) return false;
	if (!validDrop(theForm.visceral,"Visceral Fat",true)) return false;
	if (!validRequired(theForm.bonemass,"Bone Mass",true)) return false;
	if (!validDrop(theForm.physique,"Physique",true)) return false;
	if (!validDrop(theForm.mealplan,"Meal Plan",true)) return false;
	
	return true;
}

function NewWindow(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function targetopener(mylink, closeme, closeonly)
{
	if (! (window.focus && window.opener))return true;
	window.opener.focus();
	if (! closeonly)window.opener.location.href=mylink.href;
	if (closeme)window.close();
	return false;
}

function validateFormRegister(theForm) {
	if (!validRequired(theForm.firstname,"First Name",true)) return false;
	if (!validRequired(theForm.lastname,"Last Name",true)) return false;
	if (!validEmail(theForm.email,"Email",true)) return false;
	if (!matchPasswords(theForm.password,theForm.confirmpassword,"Passwords",true)) return false;
	if (!validDrop(theForm.question,"Security Question",true)) return false;
	if (!validRequired(theForm.answer,"Security Answer",true)) return false;
}

function validateFormCountryRegister(theForm) {
	if (!validRequired(theForm.firstname,"First Name",true)) return false;
	if (!validRequired(theForm.lastname,"Last Name",true)) return false;
	if (!validEmail(theForm.email,"Email",true)) return false;
	if (!validNum(theForm.phone1,"Phone Area Code",true)) return false;
	if (!validNum(theForm.phone2,"Phone Number",true)) return false;
	if (!validNum(theForm.phone3,"Phone Number",true)) return false;
	if (!validNum(theForm.zip,"Zip Code",true)) return false;
	if (!validRequired(theForm.occupation,"Occupation",true)) return false;
	if (!validNum(theForm.age,"Age",true)) return false;
	if (!validNum(theForm.weight,"Weight",true)) return false;
	if (!validNum(theForm.poundstolose,"Pounds To Lose",true)) return false;
	if (!validRequired(theForm.program,"Current Exercise Program",true)) return false;
	if (!validDrop(theForm.married,"Married?",true)) return false;
	if (!validRequired(theForm.children,"Children?",true)) return false;
	if (!validDrop(theForm.classify,"Weight Classification",true)) return false;
}

function validateNewevalinsert(theForm) {
	if (!validRequired(theForm.firstname,"First Name",true)) return false;
	if (!validRequired(theForm.lastname,"Last Name",true)) return false;
	if (!validDrop(theForm.insurance,"Insurance",true)) return false;
	if (!validRequired(theForm.startdate,"Start Date",true)) return false;
	if (!buttonSelected(theForm.keptfirst,"Kept First",true)) return false;
	
	if(theForm.keptfirst[1].checked) {
		if (!buttonSelected(theForm.reschedule,"Reschedule",true)) return false;
		if(theForm.reschedule[0].checked) {
			if (!buttonSelected(theForm.keptreschedule,"Kept Reschedule",true)) return false;
		}
	}
	if (!validDrop(theForm.clinic,"Clinic",true)) return false;
	if (!validDrop(theForm.intake,"Intake Person",true)) return false;
}
//-->