var today = new Date();
var currentDateTime = today.getTime();
var month = today.getMonth() + 1;
var day = today.getDate();
var year = today.getFullYear();
var days = 1000 * 60 * 60 * 24;
var week = 1000 * 60 * 60 * 24 * 7;
var suffix;

var months = new Array();
months[1] = "January";
months[2] = "February";
months[3] = "March";
months[4] = "April";
months[5] = "May";
months[6] = "June";
months[7] = "July";
months[8] = "August";
months[9] = "September";
months[10] = "October";
months[11] = "November";
months[12] = "December";

if (day==1) suffix=("st");
else if (day==2) suffix=("nd");
else if (day==3) suffix=("rd");
else if (day==21) suffix=("st");
else if (day==22) suffix=("nd");
else if (day==23) suffix=("rd");
else if (day==31) suffix=("st");
else suffix=("th");


function displayDate(){
	var dateString = "<b>" + months[month] + " " + day + "</b><small>" + suffix + "</small><b>, " + year + "</b>";
	document.getElementById("date").innerHTML = dateString;
}

function displayCountdownClock(dueDate){
	birthTime = dueDate ; 
	
	// CURRENT DATE AND TIME
	todaysTime = new Date();
	todaysHour = 0;
	todaysMinute = 0;
	todaysSecond = 0;
	todaysYear = todaysTime.getFullYear();
	todaysMonth = todaysTime.getMonth();
	todaysDate = todaysTime.getDate();
	birthYear = birthTime.getFullYear();
	birthMonth = birthTime.getMonth();
	birthDate = birthTime.getDate();
	birthHour = 0;
	birthMinute = 0;
	birthSecond = 0;
	
	// ADJUST FOR LEAP YEAR
	if ((birthYear / 4) == (Math.round(birthYear / 4))) {
		countLeap = 29;
	}else{
		countLeap = 28;
	}
	
	// CALCULATE DAYS OF THE MONTH
	if (birthMonth == 2) {
	   countMonth = countLeap;
	   }else {
	     if (birthMonth == 4) {
	        countMonth = 30}
	     else {
	        if (birthMonth == 6) {
	           countMonth = 30}
	        else {
	           if (birthMonth == 9) {
	              countMonth = 30}
	           else {
	              if (birthMonth == 11) {
	                 countMonth = 30}
	              else {
	                 countMonth = 31}}}}}
	
	// DO SUBTRACTIONS
	if (birthMinute > todaysMinute){
	   diffMinute = birthMinute - todaysMinute;
	   calcHour = 0;
	}else{
	   diffMinute = birthMinute + 60 - todaysMinute;
	   calcHour = -1;
	}
	if (birthHour > todaysHour) {
	   diffHour = birthHour - todaysHour + calcHour;
	   calcDate = 0;
	 }else{
	   diffHour = birthHour + 24 - todaysHour  + calcHour;
	   calcDate = -1;
	}
	if (birthDate > todaysDate) {
	   diffDate = birthDate - todaysDate + calcDate;
	   calcMonth = 0;
	 }else{
	   diffDate = birthDate + countMonth - todaysDate  + calcDate;
	   calcMonth = -1;
	 }
	if (birthMonth < todaysMonth){
	    calcMonth = calcMonth +12
	}
	diffMonth = birthMonth - todaysMonth + calcMonth;
	
	// CHECK CALCULATIONS
	if (diffMinute == 60){
	   diffMinute = 0
	   diffHour = diffHour + 1
	}
	if (diffHour == 24) {
	   diffHour = 0
	   diffDate = diffDate + 1
	}
	if (diffDate == countMonth) {
	   diffDate = 0
	   diffMonth = diffMonth + 1
	 }
	
	// CALCULATE WEEKS
	diffDays = Math.floor(diffDate);
	diffWeek = Math.floor(diffDate / 7);
	finalDate = (diffDate - (diffWeek * 7));

	// UPDATE DISPLAY
   if(diffMonth < 0){
    document.getElementById("dueDateMonthsLeft").innerHTML  = "0";
    document.getElementById("dueDateDaysLeft").innerHTML  = "0";
    document.getElementById("dueDateHoursLeft").innerHTML  = "0";   
   } else {
    document.getElementById("dueDateMonthsLeft").innerHTML  = diffMonth;
    document.getElementById("dueDateDaysLeft").innerHTML  = diffDays;
    document.getElementById("dueDateHoursLeft").innerHTML  = finalDate;
   }
}

function takeYear(theDate){
	x = theDate.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}

function displayDueDate(dueDate){
	var dueDateMonth = dueDate.getMonth() + 1;
	var dueDateDay = dueDate.getDate();
	var dueDateTime = dueDate.getTime();
	var dueDateYear = takeYear(dueDate);
	var dueDateSuffix = "th";

	if(dueDateDay==1){dueDateSuffix=("st");}
	else if(dueDateDay==2){dueDateSuffix=("nd");}
	else if(dueDateDay==3){dueDateSuffix=("rd");}
	else if(dueDateDay==21){dueDateSuffix=("st");}
	else if(dueDateDay==22){dueDateSuffix=("nd");}
	else if(dueDateDay==23){dueDateSuffix=("rd");}
	else if(dueDateDay==31){dueDateSuffix=("st");}

 	//UPDATE DUE DATE DISPLAY
	document.getElementById("dueDateMonth").innerHTML = months[dueDateMonth] + ' ';
	document.getElementById("dueDateDay").innerHTML = dueDateDay;
	document.getElementById("dueDateSuffix").innerHTML = dueDateSuffix + ', ';
	document.getElementById("dueDateYear").innerHTML = dueDateYear;
}

function displayCalendarContent(dueDate){
 	var dueDateTime = dueDate.getTime();
	var timeLeft = dueDateTime - currentDateTime;
	var weeksLeft = Math.floor(timeLeft / week);
	var weeksIntoPregnancy = 40 - weeksLeft;
	var monthsIntoPregnancy = weeksIntoPregnancy / 4;
	var roundMonthsIntoPregnancy = Math.round(monthsIntoPregnancy);
	//UPDATE CALENDAR DISPLAY
	updateCalendarContentDisplay(roundMonthsIntoPregnancy);	
}

function updateCalendarContentDisplay(monthNum){
	var monthQuotesArray = eval('month' + monthNum);
	//GENERATE NEXT AND PREVIOUS ARROWS / FETAL HTML
	var fetalMonthHTML = '<span class="calendarMonthNum"><b>Month ' + monthNum + '</b></span> - ';
	var arrowsHTML = '';
	arrowsHTML += '<table border="0" cellpadding="0" cellspacing="0"><tr><td>';
	arrowsHTML += '<a href="#" onClick="updateCalendarQuotePrevious(' + monthNum + ')';
	arrowsHTML += '"><img src="images/browseL.gif" border="0">';
	arrowsHTML += '</a></td><td>';
	arrowsHTML += '<img src="images/browseFacts.gif" border="0">';
	arrowsHTML += '</td><td><a href="#" onClick="updateCalendarQuoteNext(' + monthNum + ')';
	arrowsHTML += '"><img src="images/browseR.gif" border="0">';
	arrowsHTML += '</a></td></tr></table>';
	

	//UPDATE DISPLAY
	//RANDOM QUOTE document.getElementById("calendarQuote").innerHTML = monthQuotesArray[Math.round(Math.random () * (monthQuotesArray.length - 1))];
	document.getElementById("calendarQuote").innerHTML = monthQuotesArray[0];
	document.getElementById("fetusImage").innerHTML = '<img src="images/month' + monthNum + '.gif" border="0">';
	document.getElementById("calendarArrows").innerHTML = arrowsHTML;
}

function updateCalendarQuotePrevious(monthNum){
	var fetalMonthHTML = '<span class="calendarMonthNum"><b>Month ' + monthNum + '</b></span> - ';
	var quoteNum = document.getElementById("calendarQuoteNum").innerHTML - 0;
	var monthQuotesArray = eval('month' + monthNum);
	//alert(quoteNum);
	if(quoteNum == 0){
		document.getElementById("calendarQuoteNum").innerHTML = monthQuotesArray.length - 1;
		document.getElementById("calendarQuote").innerHTML = monthQuotesArray[monthQuotesArray.length - 1];	
	}else{
		document.getElementById("calendarQuoteNum").innerHTML = quoteNum - 1;
		document.getElementById("calendarQuote").innerHTML = monthQuotesArray[quoteNum - 1];
	}
}

function updateCalendarQuoteNext(monthNum){
	var fetalMonthHTML = '<span class="calendarMonthNum"><b>Month ' + monthNum + '</b></span> - ';
	var quoteNum = document.getElementById("calendarQuoteNum").innerHTML - 0;
	var monthQuotesArray = eval('month' + monthNum);
	//alert(quoteNum);
	if(quoteNum + 2 > monthQuotesArray.length){
		document.getElementById("calendarQuoteNum").innerHTML = 0;
		document.getElementById("calendarQuote").innerHTML = monthQuotesArray[0];	
	}else{
		document.getElementById("calendarQuoteNum").innerHTML = quoteNum + 1;
		document.getElementById("calendarQuote").innerHTML = monthQuotesArray[quoteNum + 1];
	}
}

