
function getMeditationTimes(startDate, endDate) {
	var start = new Date();
	var startSeconds;
	
	if(!startDate) {
		startSeconds = (start.getTime() - 10*86400*1000) / 1000;
		start.setTime(startSeconds*1000);
	} else {
		startSeconds = startDate.getTime() / 1000;
		start.setTime(startSeconds*1000);
	}
	if(endDate) {
		end = endDate.getTime() / 1000.0;
	} else {
		end = startSeconds + 40 * 86400;
	}
	
	
	var start_hours = ((startSeconds) / 3600.0) + 25.0 - 7.0/60.0;
	
	var indTime = Math.floor(Math.floor((start_hours) / 25) * 25) * 3600 - 3600 - 9*3600;
	
	var secLeft = indTime - startSeconds;
	
	var isLongCycle = secLeft > (12 * 3600); 
	
	if(isLongCycle)
		indTime -= 12 * 3600;
	
	var days = 0;
	var a = [];
	while(indTime < end) {
		a.push(indTime);
		if(isLongCycle) {
			indTime += 12 * 3600;
		} else {
			indTime += 13 * 3600;
		}
		a.push(indTime);
		if(isLongCycle) {
			indTime += 13 * 3600;
		} else {
			indTime += 12 * 3600;
		}
		days++;
	}
	return a;

}

function twoDigit(d) {
	if(d < 10)
		return '0' + d;
	return d;
}
function TwelveHourDisplay(h) {
	if(h > 12) h -= 12;
	if(h == 0) return 12;
	return h;
}


function dateIsInDST(date) {
   var date1 = new Date(date.getFullYear(), 0, 1, 0, 0, 0, 0);
   var date2 = new Date(date.getFullYear(), 6, 1, 0, 0, 0, 0);
   var temp = date1.toGMTString();
   var date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   var temp = date2.toGMTString();
   var date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   var hoursDiffStdTime = (date1 - date3) / (1000 * 60 * 60);
   var hoursDiffDaylightTime = (date2 - date4) / (1000 * 60 * 60);
   if (hoursDiffDaylightTime == hoursDiffStdTime) {
	  return false;
   } else {
	   var date1 = new Date(date.getFullYear(), 0, 1, 0, 0, 0, 0);
	   var date2 = date;
	   var temp = date1.toGMTString();
	   var date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	   var temp = date2.toGMTString();
	   var date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	   var hoursDiffStdTime = (date1 - date3) / (1000 * 60 * 60);
	   var hoursDiffDaylightTime = (date2 - date4) / (1000 * 60 * 60);
      return hoursDiffDaylightTime != hoursDiffStdTime;
   }
}

// this returns how many hours difference between these two dates for the current browser
function dateDSTAdjust(date) {
	var now = new Date();
	
	now_dst = dateIsInDST(now);
	date_dst = dateIsInDST(date);
	if(now_dst && !date_dst)
		return -1;
	else if(!now_dst && date_dst)
		return 1;
	return 0;
}






























































