


function isDueDateValid (dueDateStr)
{
var errMsg="";

var aMonth=getMonth(dueDateStr);
var aDay=getDay(dueDateStr);
var aYear=getYear(dueDateStr);

var dueDate = new Date();
dueDate.setFullYear(aYear,aMonth,aDay);				        // year, month, date
var dueDateStr=formatDate(dueDate)
//alert(dueDateStr);

var thirtyDaysB4firstTriBegin=new Date(aYear,aMonth,aDay-300);         // set the firstTriBegin based on the due date
//firstTriBegin.setDate(dueDate.getDay()-270); 
var thirtyDaysB4firstTriBeginStr=formatDate(thirtyDaysB4firstTriBegin)
//alert(thirtyDaysB4firstTriBeginStr);


var firstTriBegin=new Date(aYear,aMonth,aDay-270);         // set the firstTriBegin based on the due date
//firstTriBegin.setDate(dueDate.getDay()-270); 
var firstTriBeginStr=formatDate(firstTriBegin)
//alert(firstTriBeginStr);

var secondTriBegin=new Date(aYear,aMonth,aDay-180);        // set the secondTriBegin based on the due date
//secondTriBegin.setDate(dueDate.getDay()-180); 
var secondTriBeginStr=formatDate(secondTriBegin)


var thirdTriBegin=new Date(aYear,aMonth,aDay-90);          // set the thirdTriBegin based on the due date
//thirdTriBegin.setDate(dueDate.getDay()-90);
var thirdTriBeginStr=formatDate(thirdTriBegin)


//firstTriBegin.setDate(dueDate.getDay()-270); 
var firstTriBeginStr=formatDate(firstTriBegin)

var secondTriBegin=new Date(aYear,aMonth,aDay-180);        // set the secondTriBegin based on the due date
//secondTriBegin.setDate(dueDate.getDay()-180); 
var secondTriBeginStr=formatDate(secondTriBegin)


var thirdTriBegin=new Date(aYear,aMonth,aDay-90);          // set the thirdTriBegin based on the due date
//thirdTriBegin.setDate(dueDate.getDay()-90);
var thirdTriBeginStr=formatDate(thirdTriBegin)



var today = new Date();  // temp
//var today = new Date(2007,3.8);   //4/9/07 for due date 2/3/08

/*
if (today <= firstTriBegin){							  
trimesterStage=0;
//alert("trimesterStage=0");
errMsg +=  "You are not currently in any trimester stage of pregnancy based on your entered due date. Your pregnancy trimester stages begin on or about " + firstTriBeginStr + " and end on or about " + dueDateStr + "."
}
*/

if (today < thirtyDaysB4firstTriBegin){				 
trimesterStage=0;
//alert(thirtyDaysB4firstTriBeginStr);
errMsg +=  "Please enter the date your baby is due.  Your current entry is not in the valid range, which is from today until 9 months from today."
}


if (today < secondTriBegin && today >= firstTriBegin){	  
trimesterStage=1;
//alert("trimesterStage=1");
}

if (today >= secondTriBegin &&  today < thirdTriBegin) {     
trimesterStage=2;
//alert ("trimesterStage=2");
}

if (today >= thirdTriBegin && today <= dueDate){								// display 3rd trimester plan
trimesterStage=3;
//alert("trimesterStage=3");
}

if (today > dueDate){										// display no trimester plan ?
trimesterStage=4;
//alert("trimesterStage=4");
//errMsg +=  "You are not currently in any trimester stage of pregnancy based on your entered due date. Your pregnancy trimester stages begin on or about " + firstTriBeginStr + " and end on or about " + dueDateStr + "."
errMsg +=  "Please enter the date your baby is due.  Your current entry is not in the valid range, which is from today until 9 months from today."
}
//alert("errMsg="+errMsg);
return errMsg;
}






function validateDueDate(sender, args)
{
var dueDate = document.getElementById("txtDueDate");
var charDigitPos = dueDate.value.search("[^0-9\/]");   // Search non-digit: return -1 if blank,number,/ 
var validFormat=checkDateFormat("/", dueDate.value);

//if args.Text.trim.length() = 0 then
//args.isvalid = false

	//alert("chkFormat"+validFormat );
	if (charDigitPos  >= 0)
	{
	 //alert("Error");
	 cvDueDate.errormessage="Please enter the date your baby is due. Your current entry is not valid."
	 args.IsValid= false;
	}
	else 
	if (validFormat==false)
	{
	 cvDueDate.errormessage="Please enter a valid date format."
	 args.IsValid= false;
	}
	else 
	{    
	    var dueDateFormatStr=formatInputDate(dueDate.value);   // format user input from "m/d/yy" into "mm/dd/yyyy
	    var isDateErr=isDate(dueDateFormatStr); 
	    var isDueDateErr=isDueDateValid(dueDateFormatStr);
	    //alert(isDateErr);
	    //alert("dueDate"+isDueDateErr);
	    if (isDateErr != "")
	        {
	        cvDueDate.errormessage=isDateErr;
	        args.IsValid= false;
	        }
	    else  // it's a date, now we can use valid date to determine the current stage for informative information
	        if (isDueDateErr != "") 
	            {
	            cvDueDate.errormessage=isDueDateErr;
	            args.IsValid= false;
	            }
	 
	        else
	        args.IsValid=true;
	 
	 }
	
	
}

function isBirthDateValid(birthDateStr)
{
var errMsg="";
var aMonth=getMonth(birthDateStr);
var aDay=getDay(birthDateStr);
var aYear=getYear(birthDateStr);

var birthDate = new Date();
birthDate.setFullYear(aYear,aMonth,aDay);                // year, month, date
var birthDateStr=formatDate(birthDate)
//alert("birthdate:" + birthDateStr);

var firstSixMonthDOB = new Date(aYear,aMonth+6,aDay);   // second six month from DOB
var firstSixMonthDOBstr=formatDate(firstSixMonthDOB);
//alert("firstSixMonthDOBstr:" + firstSixMonthDOBstr);

var yearAfterDOB = new Date(aYear + 1,aMonth,aDay);   // second six month from DOB
var yearAfterDOBStr=formatDate(yearAfterDOB);
//alert("yearAfterDOBStr:" + yearAfterDOBStr);

var today = new Date();  // temp
//var today = new Date(2007,8.30); 

//DOB   firstSixMonthDOB  AyearAfterDOB

if (today < birthDate ){								   // display 1st, 2nd stage plan
breastfeedStage=0;
//errMsg +=  "You are not currently in the stage of the first-year breastfeeding after birth based on your entered birth date. The recommended breastfeeding plans begin on " + birthDateStr + " and end on " + yearAfterDOBStr + "."
errMsg +=  "Please enter the date your baby was born.  Your current entry is not in the valid range, which is from one year ago through today.";

//alert("breastfeedStage=0");
}

if (today <= firstSixMonthDOB && today >= birthDate ){								   // display 1st, 2nd stage plan
breastfeedStage=1;
//alert("breastfeedStage=1");
}

if (today > firstSixMonthDOB &&  today <= yearAfterDOB){     // display 2nd stage plan
breastfeedStage=2;
//alert ("breastfeedStage=2");
}

if (today > yearAfterDOB){										// display no trimester plan ?
breastfeedStage=3;
errMsg +=  "Please enter the date your baby was born.  Your current entry is not in the valid range, which is from one year ago through today.";
}
return errMsg;
}


function validateBirthDate(sender, args)
{
//alert("validateBirthDate");
var birthDate = document.getElementById("txtBirthDate");
var charDigitPos = birthDate.value.search("[^0-9\/]");   // Search non-digit: return -1 if blank,number,/ 
var validFormat=checkDateFormat("/", birthDate.value);
	
	//alert("chkFormat"+validFormat );
	if (charDigitPos  >= 0)
	{
	 //alert("Error");
	 cvBirthDate.errormessage="Please enter the date your baby is due. Your current entry is not valid."
	 args.IsValid= false;
	}
	else 
	if (validFormat==false)
	{
	 cvBirthDate.errormessage="Please enter the date your baby is due. Your current entry is not valid."
	 args.IsValid= false;
	}
	else 
	{    
	    var birthDateFormatStr=formatInputDate(birthDate.value);   // format user input from "m/d/yy" into "mm/dd/yyyy
	    //alert("birthDateFormatstr="+birthDateFormatStr);
	    var isDateErr=isDate(birthDateFormatStr); 
	    var isBirthDateErr=isBirthDateValid(birthDateFormatStr);
	    //alert(isBirthDateErr);
	    ////alert(isDateErr);
	    ////alert("birthDate"+isBirthDateErr);
	    if (isDateErr != "")
	        {
	        cvBirthDate.errormessage=isDateErr;
	        args.IsValid= false;
	        }
	    else  //// it's a date, now we can use valid date to determine the current stage for informative information
	        if (isBirthDateErr != "") 
	            {
	            cvBirthDate.errormessage=isBirthDateErr;
	            args.IsValid= false;
	            }
	 
	        else
	        args.IsValid=true;
	 
	 }
	
	
}




function selectBrstMilkFormula(sender, args)
{
	var bmf1 = document.getElementById("bmf1");
	var bmf2 = document.getElementById("bmf2");
	var bmf3 = document.getElementById("bmf3");
	if ((bmf1.checked == true) || (bmf2.checked == true) || (bmf3.checked == true))
		{
			args.IsValid = true;
		}
		else
		{
			args.IsValid = false;
	}
}

function validateAge(sender, args)
{
	var age = document.getElementById("age");
	var charpos = age.value.search("[^0-9]");    // search non-digit 
	var cvage = document.getElementById("cvAge");
	if(age.value.length < 0 || age.value.length > 3 ||  charpos >= 0) 
	{ 
		cvage.errormessage = "Please enter your age.  Your current entry is not valid.";
		args.IsValid = false;
	}
	else
	{
		if (age.value < 14 || age.value > 50)
		{
			cvage.errormessage = "Someone your age who is pregnant or breastfeeding may face special health risks. Check with your health care provider for advice about what to eat and your health.";
			args.IsValid = false;
		}
		else
		{
			args.IsValid = true;
		}
	}
}


function validateWeight_p(sender, args) 
{
	var weight = document.getElementById("txtPrePregWeight");
	charpos = weight.value.search("[^0-9]");   // Search non-digit: return -1 if blank/number, return 0 for alph
	var cvPrePregWeight = document.getElementById("cvPrePregWeight");
	if (weight.value.length <= 0 )
	{
	        cvPrePregWeight.errormessage = "Please enter your prepregnancy weight.";
		args.IsValid = false;
	}
	else
	{
		if (  charpos >= 0  )    //non-digit found
		{ 
		   	cvPrePregWeight.errormessage = "Please enter your prepregnancy weight. Your current entry is not valid.";
		    	args.IsValid = false;  
		}
		else
		{
		
		    if (weight.value < 60 || weight.value > 400)    
		    {
			    cvPrePregWeight.errormessage = "Please enter your weight. Your current weight entry is not in the valid range."
			    args.IsValid = false;
		    }
		    else
		    {
			    args.IsValid = true;
		    }
		
		}
	}

}

function validateWeight_b(sender, args) 
{
	var weight = document.getElementById("txtPostPregWeight");
	charpos = weight.value.search("[^0-9]"); 
	var cvPostPregWeight = document.getElementById("cvPostPregWeight");
	if (weight.value.length <= 0 )
	{
		cvPostPregWeight.errormessage = "Please enter your weight.";
		args.IsValid = false;
	}
	else   // invalid weight
	{
		if (  charpos >= 0  )    //non-digit found
		{ 
		   
		        cvPostPregWeight.errormessage = "Please enter your weight. Your current entry is not valid.";  
			args.IsValid = false;  
			
		}
		else
		{
			if (weight.value < 60 || weight.value > 400)    
			{
			    cvPostPregWeight.errormessage = "Please enter your weight. Your current weight entry is not in the valid range.";
			    args.IsValid = false;
			}
			else
			{
			    args.IsValid = true;
			}		  
		}
	}
}



function selectPyramidPlan(sender, args)
{
	var preg = document.getElementById("select1");
	var brst = document.getElementById("select2");
	if ((preg.checked == true) || (brst.checked == true))
	{
		args.IsValid = true;
	}
	else
	{
		args.IsValid = false;
	}
}

function selectHeight_p(sender, args)
{

var cvHeight = document.getElementById("cvHeight_p");

	if (document.getElementById("pheightfeet").selectedIndex > 0 && document.getElementById("pheightinch").selectedIndex > 0)
	{
		args.IsValid = true;
	}
	
	else
	{

		args.IsValid = false;
	}
	
}

function selectHeight_b(sender, args)
{
    if (document.getElementById("bheightfeet").selectedIndex > 0 && document.getElementById("bheightinch").selectedIndex > 0)
	{
		args.IsValid = true;
	}
	
	else
	{
	
		args.IsValid = false;
	}
	
}


function selectPhysicalActivity(sender, args)
{
	if (document.getElementById("listPhysicalActivity").selectedIndex > 0)
	{
		args.IsValid = true;
		
	}
	else
	{
		args.IsValid = false;
	}
	
}


// HIDE AND SHOW FORMS ON SELECTION SCRIPT

function dependencyAgeCategory()
{

	WebForm_OnSubmit();
	if (Page_ClientValidate(''))
	{
		var age = document.getElementById("age");
		var preg = document.getElementById("select1");
		var brst = document.getElementById("select2");


		if (preg.checked == true)
		{
			toggle_visibility('next');
			toggle_visibility('note');
			toggle_visibility('pregnant');
			toggle_visibility('bbut2');
			toggle_visibility('all');
			toggle_visibility('startover_p');
			toggle_visibility('imgP');

			document.getElementById("rfDueDate").enabled = true;
			document.getElementById("cvDueDate").enabled = true;
			//document.getElementById("rfPrePregWeight").enabled = true;
			//document.getElementById("rgPrePregWeight").enabled = true;
			document.getElementById("cvPrePregWeight").enabled = true;
			document.getElementById("cvHeight_p").enabled = true;
			document.getElementById("cvPhysicalActivity").enabled = true;

		}
		if (brst.checked == true)
		{
			toggle_visibility('next');
			toggle_visibility('note');
			toggle_visibility('breastfeeding');
			toggle_visibility('pbut1');
			toggle_visibility('all');
			toggle_visibility('startover_b');
			toggle_visibility('imgB');
			
			document.getElementById("rfBirthDate").enabled = true;
			document.getElementById("cvBirthDate").enabled = true;
			document.getElementById("cvBMF").enabled = true;
			document.getElementById("cvHeight_b").enabled = true;
			document.getElementById("cvPostPregWeight").enabled = true;
			//document.getElementById("rfPostPregWeight").enabled = true;
			//document.getElementById("rgPostPregWeight").enabled = true;
			document.getElementById("cvPhysicalActivity").enabled = true;
		}
	}
	
	
}

function resetPregValidators()
{
	document.getElementById("rfDueDate").enabled = false;
	document.getElementById("cvDueDate").enabled = false;
	//document.getElementById("rfPrePregWeight").enabled = false;
	document.getElementById("cvPrePregWeight").enabled = false;
	//document.getElementById("rgPrePregWeight").enabled = false;
	document.getElementById("cvHeight_p").enabled = false;
	document.getElementById("cvPhysicalActivity").enabled = false;
	
	toggle_visibility('imgP');
	
	WebForm_OnSubmit();
	Page_ClientValidate('');
}

function resetBrstValidators()
{
	document.getElementById("rfBirthDate").enabled = false;
	document.getElementById("cvBirthDate").enabled = false;
	document.getElementById("cvBMF").enabled = false;
	document.getElementById("cvHeight_b").enabled = false;
	document.getElementById("cvPostPregWeight").enabled = false;
	//document.getElementById("rfPostPregWeight").enabled = false;
	//document.getElementById("rgPostPregWeight").enabled = false;
	document.getElementById("cvPhysicalActivity").enabled = false;
	
	toggle_visibility('imgB');

	WebForm_OnSubmit();
	Page_ClientValidate('');
}

function warningForPregnancyBMI()
{

	WebForm_OnSubmit();
	if (Page_ClientValidate(''))
	{
		var feet=document.getElementById("pheightfeet").value;
		var inch=document.getElementById("pheightinch").value;
		var weight=document.getElementById("txtPrePregWeight").value;
		var BMI=BMI2(feet,inch,weight);

		if (BMI>35)
		{
			document.forms[1].action = "warn.html";
			document.forms[1].method = "get";
			document.forms[1].submit();

			return false;
		}
		else 
		{
			document.forms[1].action = "results_p.html";
			document.forms[1].method = "get";
			document.forms[1].submit();	

			return true;
		}
	}
}

function warningForBreastFeedingBMI()
{
	WebForm_OnSubmit();
	if (Page_ClientValidate(''))
	{
		var feet=document.getElementById("bheightfeet").value;
		var inch=document.getElementById("bheightinch").value;
		var weight=document.getElementById("txtPostPregWeight").value;
		var BMI=BMI2(feet,inch,weight);

		if (BMI>35)
		{
			document.forms[1].action = "warn.html";
			document.forms[1].method = "get";
			document.forms[1].submit();
		}
		else 
		{
			document.forms[1].action = "results_b.html"
			document.forms[1].method = "get";
			document.forms[1].submit();

			return true;
		}
	}
}



































/*function validateWeight(sender, args)
{
	var weight = document.getElementById("txtPrePregWeight");
	charpos = weight.value.search("[^0-9]"); 
	var cvPrePregWeight = document.getElementById("cvPrePregWeight");
	if (weight.value.length <= 0)
	{
		cvPrePregWeight.errormessage = "Please enter your prepregnancy weight.";
		args.IsValid = false;
	}
	else
	{
		if (weight.value.length > 3 ||  charpos >= 0) 
		{ 
			cvPrePregWeight.errormessage = "Please enter your prepregnancy weight. Your current entry is not valid.";
			args.IsValid = false;
		}
		else
		{
			if (weight.value < 60 || weight.value > 400)
			{
				cvPrePregWeight.errormessage = "Please enter weight between 60 and 400 pounds.";
				args.IsValid = false;
			}
			else
			{
				args.IsValid = true;
			}
		}
	}
}


function validateWeight2(sender, args)
{
	var weight = document.getElementById("txtPostPregWeight");
	charpos = weight.value.search("[^0-9]"); 
	var cvPostPregWeight = document.getElementById("cvPostPregWeight");
	if (weight.value.length <= 0)
	{
		cvPostPregWeight.errormessage = "Please enter your prepregnancy weight.";
		args.IsValid = false;
	}
	else
	{
		if (weight.value.length > 3 ||  charpos >= 0) 
		{ 
			cvPostPregWeight.errormessage = "Please enter your prepregnancy weight. Your current entry is not valid.";
			args.IsValid = false;
		}
		else
		{
			if (weight.value < 60 || weight.value > 400)
			{
				cvPostPregWeight.errormessage = "Please enter weight between 60 and 400 pounds.";
				args.IsValid = false;
			}
			else
			{
				args.IsValid = true;
			}
		}
	}
}
*/
