var today = new Date();
var currentDateTime = today.getTime();
var month = today.getMonth() + 1;
var day = today.getDate();
var year = today.getFullYear();
var monthsClock = new Array();
var days = 1000 * 60 * 60 * 24;
var week = 1000 * 60 * 60 * 24 * 7;
monthsClock[1] = "Jan";
monthsClock[2] = "Feb";
monthsClock[3] = "Mar";
monthsClock[4] = "Apr";
monthsClock[5] = "May";
monthsClock[6] = "Jun";
monthsClock[7] = "Jul";
monthsClock[8] = "Aug";
monthsClock[9] = "Sep";
monthsClock[10] = "Oct";
monthsClock[11] = "Nov";
monthsClock[12] = "Dec";

function displayDate(){
	document.getElementById("calendarDay").innerHTML = day;
	document.getElementById("calendarMonth").innerHTML = monthsClock[month];
	document.getElementById("calendarYear").innerHTML = year;
}

function displayCountdownClock(dueDate){
	birthTime = dueDate; 
	
	// CURRENT DATE AND TIME
	todaysTime = new Date();

	if(todaysTime > birthTime) {
		diffMonth = 0;
		diffDays = 0;
		finalDate = 0;
	} else {
		
		
		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 displayDueDate(dueDate){
	var dueDateMonth = dueDate.getMonth() + 1;
	var dueDateDay = dueDate.getDate();
	var dueDateTime = dueDate.getTime();
	
	//UPDATE DUE DATE DISPLAY
	document.getElementById("dueDateDay").innerHTML = dueDateDay + ', ';
	document.getElementById("dueDateMonth").innerHTML = monthsClock[dueDateMonth] + ' ';
	document.getElementById("dueDateYear").innerHTML = dueDate.getFullYear();
}

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){
	monthNum = monthNum - 0;
	if(monthNum > 10) monthNum = 10;
	if(monthNum < 1) monthNum = 1;

	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 += '<span class="smallWhiteText">Browse Fetal Facts</span>&nbsp;&nbsp;&nbsp;';
	arrowsHTML += '<a href="#" onClick="updateCalendarQuotePrevious(' + monthNum + ')';
	arrowsHTML += '"><img src="images/calendarPreviousArrow.gif" border="0">';
	arrowsHTML += '</a>';
	arrowsHTML += '<a href="#" onClick="updateCalendarQuoteNext(' + monthNum + ')';
	arrowsHTML += '"><img src="images/calendarNextArrow.gif" border="0">';
	arrowsHTML += '</a>';
	

	//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 = '<a href="http://www.duematernity.com/expectantsee.html" target="_new"><img src="images/month' + monthNum + '.jpg" border="0"></a>';
	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];
	}
}

