/**
 *  sets deadlines and counters on deals page
 */

mcd.dom.ready(function(){
       if(!serverTime) return false;

       var deals = mcd.dom.getElementsByAttribute('class', 'deals',
'rewards-content', 'div', true);
       for(var i=0; i<deals.length; i++){

       // find updatable content
               var deadline = deals[i].getElementsByTagName('input')[0].value;
               var range = deals[i].getElementsByTagName('span')[0];
               var counter = deals[i].getElementsByTagName('span')[1];

               //check for bad date input
               var dateRE = /^\d{1,2}[\/]\d{1,2}[\/]\d{4}$/;
			   //skip if deadline date field value is null
			   if(deadline !=""){
               if(!dateRE.test(deadline)) return false;

       // find date infos
               var date = new Date(deadline);
               var today = new Date(serverTime);

               // check for outdated offer
               if(mcd.date.isBeforeDate(date,today)) return false;

               // format for 'now through...'
               var formattedDate = mcd.date.dateFormat(date, "mmmm dS");

               // format dates for comparison
               //var todayArray = mcd.date.dateToArray(today);
               //var deadlineArray = mcd.date.dateToArray(deadline);

       // find day differences
               var days = days_between(date, today);

               /*
               // if same month
               if (deadlineArray[1] == todayArray[1]) {
                       days = deadlineArray[2] - todayArray[2];
               }

               // if not, loop through months
               else {
                       for (var ii = todayArray[1]; ii <= deadlineArray[1]; ii++) {
                               var daysInMonth = mcd.date.getDaysInMonth(ii, todayArray[0]);
                               if (ii == todayArray[1]) {
                                       days = days + (daysInMonth - todayArray[2]);
                               }
                               else
                                       if (ii == deadlineArray[1]) {
                                               days = days + deadlineArray[2];
                                       }
                                       else {
                                               days = days + daysInMonth;
                                       }
                       }
               }
               */
               // remove a day to break into hours
               //days--;

               // find hours and minutes
               var hours = 24-today.getHours();

               // remove an hour to break into minutes
               hours--;

               var minutes = 60-today.getMinutes();

       // update content
               var rangeText = document.createTextNode('Now through ' + formattedDate);
               range.appendChild(rangeText);
               counter.innerHTML = 'This offer expires in <strong>' + days +
'</strong> days, <strong>' + hours + '</strong> hours and <strong>' +
minutes + '</strong> minutes';
       }
	   }
});

function days_between(date1, date2) {

       // The number of milliseconds in one day
       var ONE_DAY = 1000 * 60 * 60 * 24

       // Convert both dates to milliseconds
       var date1_ms = date1.getTime()
       var date2_ms = date2.getTime()

       // Calculate the difference in milliseconds
       var difference_ms = Math.abs(date1_ms - date2_ms)

       // Convert back to days and return
       return Math.floor(difference_ms/ONE_DAY)

}