// JavaScript Document
<!-- Original:  Ronnie T. Moore, Editor -->
<!-- Modified:  American Pregnancy Association -->
<!-- Modified:  Bauweb.net Studio - www.bauweb.net -->
<!-- Begin
function isValidDate(dateStr) {

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn't have 31 days!")
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("February " + year + " doesn't have " + day + " days!");
return false;
   }
}
return true;
}
var menstrual=new Date();
var ovulation=new Date();
var ovstart=new Date();
var ovend=new Date();
var duedate=new Date();
var today=new Date();
	
function pregnancyCalc(pregform,direction){
	cycle=pregform.cycle.value;
	if(direction){
		menstrual.setDate(pregform.menstrual_d.value);
		menstrual.setMonth(pregform.menstrual_m.value);
		menstrual.setFullYear(pregform.menstrual_y.value);
	
		ovulation.setTime(menstrual.getTime()+(cycle-13)*86400000);
	
		// sets due date to ovulation date plus 266 days
		duedate.setTime(ovulation.getTime()+266*86400000);
		
		pregform.duedate_m.value=duedate.getMonth();
		pregform.duedate_d.value=duedate.getDate();
		pregform.duedate_y.value=duedate.getFullYear();
	}else{
		duedate.setDate(pregform.duedate_d.value);
		duedate.setMonth(pregform.duedate_m.value);
		duedate.setFullYear(pregform.duedate_y.value);
	
		ovulation.setTime(duedate.getTime()-266*86400000);
		
		menstrual.setTime(ovulation.getTime()-(cycle-13)*86400000);
		
		pregform.menstrual_m.value=menstrual.getMonth();
		pregform.menstrual_d.value=menstrual.getDate();
		pregform.menstrual_y.value=menstrual.getFullYear();
	}
	pregform.conception.value=ovulation.toDateString(ovulation);
	
	ovstart.setTime(ovulation.getTime()-(5*86400000));
	ovend.setTime(ovulation.getTime()+(5*86400000));
	pregform.fertility.value=ovstart.toDateString(ovstart)+' to '+ovend.toDateString(ovend);

	// sets fetal age to 14 + 266 (pregnancy time) - time left
	var fetalage=14+266-((duedate-today)/86400000);
	weeks=parseInt(fetalage/7); // sets weeks to whole number of weeks
	days=Math.floor(fetalage%7); // sets days to the whole number remainder
	// fetal age message, automatically includes 's' on week and day if necessary
	fetalage=weeks+' week'+(weeks>1?'s':'')+' '+days+' days';
	pregform.fetalage.value=fetalage;
}
window.onload=function(){
	pregform.menstrual_y.value=today.getFullYear();
	pregform.duedate_y.value=today.getFullYear()+1;
}
//  End -->
