function isValidDate(dateStr) {
// Date validation function courtesty of 
// Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY

var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year

var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert("Date is not in a valid format.")
return false;
}
month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}
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;
}





function dispDate(dateObj) {
month = dateObj.getMonth()+1;
month = (month < 10) ? "0" + month : month;

day   = dateObj.getDate();
day = (day < 10) ? "0" + day : day;

year  = dateObj.getYear();
if (year < 2000) year += 1900;

return (month + "/" + day + "/" + year);
}





function pregnancyCalc(pregform) {
pregform.fetalage.value=""
  pregform.stage.value="" 
  var fetalage=""



menstrual = new Date(); // creates new date objects
conception = new Date();
gddate = new Date();
gd2date = new Date();
expdate = new Date();
exp2date = new Date();


duedate = new Date();
today = new Date();
if(pregform.menstrual.value=="" && pregform.duedate.value=="")
{ 
return false; }



if(pregform.menstrual.value!="" && pregform.duedate.value=="")
{ 

if (isValidDate(pregform.menstrual.value)) { // Validates menstual date 
menstrualinput = new Date(pregform.menstrual.value);
menstrual.setTime(menstrualinput.getTime())
}
else return false; // otherwise exits
// sets due date to ovulation date plus 280 days
duedate.setTime(menstrual.getTime() + 280*86400000);
pregform.duedate.value = dispDate(duedate);




}







if(pregform.menstrual.value=="" && pregform.duedate.value!=""){
if (isValidDate(pregform.duedate.value)) { // Validates due date 
duedate = new Date(pregform.duedate.value);
duedate.setTime(duedate.getTime())
}
else return false; // otherwise exits






// sets menstrual date to ovulation date minus 280 days
menstrual.setTime(duedate.getTime() - 280*86400000);
pregform.menstrual.value = dispDate(menstrual);








}

// sets fetal age to 14 + 280 (pregnancy time) - time left
var fetalage = 280 - ((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;

var gfetalage = 266 - ((duedate - today) / 86400000);
gweeks = parseInt(gfetalage / 7); // sets weeks to whole number of weeks
gdays = Math.floor(gfetalage % 7); // sets days to the whole number remainder
 gfetalage = gweeks + " week" + (gweeks > 1 ? "s" : "") + ", " + gdays + " days";
   pregform.gfetalage.value = gfetalage;

var fetalage = 280 - ((duedate - today) / 86400000);
pregform.stage.value = fetalage;


expdate.setTime(duedate.getTime() - 175*86400000);
pregform.expdate.value = dispDate(expdate);

exp2date.setTime(duedate.getTime() - 140*86400000);
pregform.exp2date.value = dispDate(exp2date);

gddate.setTime(duedate.getTime() - 112*86400000);
pregform.gddate.value = dispDate(gddate);

gd2date.setTime(duedate.getTime() - 84*86400000);
pregform.gd2date.value = dispDate(gd2date);

conception.setTime(duedate.getTime() - 266*86400000);
pregform.conception.value = dispDate(conception);






win = window.open("","results","width=660,height=450,left=50,top=10,menubar=yes")



 



 



	 win.document.writeln ( "<html><head><title>Development</title></head>" ) 

	

 win.document.writeln ('<body>')
 win.document.writeln('<FONT SIZE=+1><FONT FACE=ARIAL>You are ' + pregform.fetalage.value + ' past the first day of your LMP.</FONT></FONT>')
  	win.document.writeln('<TABLE BORDER=0 CELLPADDING=10 CELLSPACING=10 WIDTH="600">');
	
	 
	 if(pregform.stage.value>1 && pregform.stage.value <=7 ){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Conception has not occurred.</FONT></FONT></TD><TD></TD></TR>');
	 }
	
	 if(pregform.stage.value>7 && pregform.stage.value <=15){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Conception has not occurred.</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>15 && pregform.stage.value <=21){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length less than: 0.2 inch <br>Average weight: less than .05 ounce.</FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>21 && pregform.stage.value <=28){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length less than: 0.2 inch <br>Average weight: less than .05 ounce.</FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>28 && pregform.stage.value <=35){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length less than: 0.2 inch <br>Average weight: less than .05 ounce.</FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 }  
	  
	  if(pregform.stage.value>35 && pregform.stage.value <=42){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length less than: 0.2 inch <br>Average weight: less than .05 ounce.</FONT></FONT></TD><TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 }
	 
	 if(pregform.stage.value>42 && pregform.stage.value <=49 ){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length: 0.2 inch <br>Average weight: less than .05 ounce.<br></FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 }
	
	 if(pregform.stage.value>49 && pregform.stage.value <=56){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length: 0.4 inch <br>Average weight: less than .05 ounce. <br></FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 }

	 if(pregform.stage.value>56 && pregform.stage.value <=63){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length: inches 0.6 inches <br>Average weight: about .05 ounce. <br></FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>63 && pregform.stage.value <=70){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  0.9 inches <br>Average weight: about .07 ounce.<br></FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>70 && pregform.stage.value <=77){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length: 1.3 inches <br>Average weight: about .14 ounce.<br></FONT></FONT></TD><TD VALIGN=TOP WIDTH="300"></TD></TR>');
	 }  
	  
	  if(pregform.stage.value>77 && pregform.stage.value <=84){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  1.7 inches <br>Average weight: about .25 ounce.</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>84 && pregform.stage.value <=91 ){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  2.1 inches <br>Average weight: about 0.5 ounce.</FONT></FONT></TD><TD></TD></TR>');
	 }
	
	 if(pregform.stage.value>91 && pregform.stage.value <=98){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby ' + pregform.gfetalage.value + '  old.<br>Average length:  2.7 inches <br>Average weight: about 1 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>98 && pregform.stage.value <=105){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  5.5 inches <br>Average weight: about 1.5 ounces.</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>105 && pregform.stage.value <=112){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  6.3 inches <br>Average weight: about 2.5 ounces.</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>112 && pregform.stage.value <=119){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  7 inches <br>Average weight: about 3 ounces.</FONT></FONT></TD><TD></TD></TR>');
	 }  
	  
	  if(pregform.stage.value>119 && pregform.stage.value <=126){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  7.4 inches <br>Average weight: about 5 ounces.</FONT></FONT></TD><TD></TD></TR>');
	 }
	 if(pregform.stage.value>126 && pregform.stage.value <=133 ){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  8.1 inches <br>Average weight: about 7 ounces.</FONT></FONT></TD><TD></TD></TR>');
	 }
	
	 if(pregform.stage.value>133 && pregform.stage.value <=140){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  9.4 inches <br>Average weight: about 8 ounces.</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>140 && pregform.stage.value <=147){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  10.2 inches <br>Average weight: about 15 ounces.</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>147 && pregform.stage.value <=154){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  10.6 inches <br>Average weight: about 1 pound</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>154 && pregform.stage.value <=161){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  11.4 inches <br>Average weight: about 1 pound 1 ounce</FONT></FONT></TD><TD></TD></TR>');
	 }  
	  
	  if(pregform.stage.value>161 && pregform.stage.value <=168){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  11.8 inches <br>Average weight: about 1 pound 4 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>168 && pregform.stage.value <=175 ){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  12.6 inches <br>Average weight: about 1 pound 8 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }
	
	 if(pregform.stage.value>175 && pregform.stage.value <=182){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  13 inches <br>Average weight: about 1 pounds 11 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>182 && pregform.stage.value <=189){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  13.8 inches <br>Average weight: about 2 pounds</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>189 && pregform.stage.value <=196){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  14.2 inches <br>Average weight: about 2 pounds 4 ounces</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>196 && pregform.stage.value <=203){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  15 inches <br>Average weight: about 2 pounds 10 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }  
	  
	  if(pregform.stage.value>203 && pregform.stage.value <=210){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  15.4 inches <br>Average weight: about 3 pounds 1 ounce</FONT></FONT></TD><TD></TD></TR>');
	 }

	  if(pregform.stage.value>210 && pregform.stage.value <=217 ){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  15.7 inches <br>Average weight: about 3 pounds 5 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }
	
	 if(pregform.stage.value>217 && pregform.stage.value <=224){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  16.5 inches <br>Average weight: about 3 pounds 10 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>224 && pregform.stage.value <=231){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  17 inches <br>Average weight: about 4 pounds 4 ounces</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>231 && pregform.stage.value <=238){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  17.3 inches <br>Average weight: about 4 pounds 14 ounces</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>238 && pregform.stage.value <=245){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  17.7 inches <br>Average weight: about 5 pounds 7 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }  
	  
	  if(pregform.stage.value>245 && pregform.stage.value <=252){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  18 inches <br>Average weight: about 5 pounds 14 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }

	  if(pregform.stage.value>252 && pregform.stage.value <=259 ){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  18.5 inches <br>Average weight: about 6 pounds 4 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }
	
	 if(pregform.stage.value>259 && pregform.stage.value <=266){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  18.9 inches <br>Average weight: about 6 pounds 9 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }

	 if(pregform.stage.value>266 && pregform.stage.value <=273){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  19.3 inches <br>Average weight: about 6 pounds 14 ounces</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>273 && pregform.stage.value <=280){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  19.3 inches <br>Average weight: about 7 pounds 8 ounces</FONT></FONT></TD><TD></TD></TR>');
	 } 
	  
	 if(pregform.stage.value>280 && pregform.stage.value <=287){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  20 inches <br>Average weight: about 7 pounds 11 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }  
	  
	 if(pregform.stage.value>287 && pregform.stage.value <=294){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is ' + pregform.gfetalage.value + '  old.<br>Average length:  20.5 inches <br>Average weight: about 7 pounds 12 ounces</FONT></FONT></TD><TD></TD></TR>');
	 }  
	  
	 if(pregform.stage.value>294){
	 win.document.writeln('<TR><TD VALIGN=TOP WIDTH="300"><P><FONT SIZE=+1><FONT FACE=ARIAL>Your baby is post dates</FONT></FONT></TD><TD></TD></TR>');
	 }  
	 


	
	
	









	  
	  
	  
	  
	  win.document.writeln('</TABLE>');
	  win.document.writeln('<FONT SIZE=+1><FONT FACE=ARIAL><br>First day of last menstrual: '+ pregform.menstrual.value+' .</FONT></FONT>');
	  win.document.writeln('<FONT SIZE=+1><FONT FACE=ARIAL><br>Date of conception: '+ pregform.conception.value+' .</FONT></FONT>');
	  win.document.writeln('<FONT SIZE=+1><FONT FACE=ARIAL><br>Due date: '+ pregform.duedate.value+' .</FONT></FONT>');
	 win.document.writeln('<FONT SIZE=+1><FONT FACE=ARIAL><p>Your AFP should be drawn between '+ pregform.expdate.value+' and '+ pregform.exp2date.value+' .</FONT></FONT>');
	 win.document.writeln('<FONT SIZE=+1><FONT FACE=ARIAL><br>Your glucose tolerance screen should be drawn between '+ pregform.gddate.value+' and '+ pregform.gd2date.value+' .</FONT></FONT>');
	
	
	
	win.document.writeln('')
	  
	
	
   	

	win.document.writeln ( "</body></html>" )



  
  





 



 



 win.document.close() 


pregform.duedate.value=""

pregform.menstrual.value=""









return false; // form should never submit, returns false


 

}









