// Copyright 2004 - Chuck Wright Consulting, LLC
//
// $Id: time_ranges.js,v 1.4 2008-03-24 19:40:26 chuckles Exp $
//
// $Log: not supported by cvs2svn $
// Revision 1.3  2007/10/18 01:22:27  chuckles
// make current
//
// Revision 1.2  2004/10/22 16:24:40  cvs
// Updae Header
//
//
// JavaScript functions that generate various common time intervals.
// An interval is a two element array with a start time and an end time.
// the times are stored in Unix time format (secs since the epoch).
function getIntervalToday(){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), now.getMonth(), now.getDate())).getTime();
   interval[1] = now.getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalYesterday(){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1)).getTime();
   interval[1] = (new Date(now.getFullYear(), now.getMonth(), now.getDate())).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalPrevNHours(n){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours() - n, now.getMinutes(), now.getSeconds())).getTime();
   interval[1] = now.getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalPrevNDays(n){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), now.getMonth(), now.getDate() - n, now.getHours(), now.getMinutes())).getTime();
   interval[1] = (new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes())).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalPrevNMonths(n){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), now.getMonth() - n, now.getDate())).getTime();
   interval[1] = (new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1)).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalPrevNYears(n){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear() - n, now.getMonth(), now.getDate())).getTime();
   interval[1] = (new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1)).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalPrevMonth(){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), now.getMonth() - 1)).getTime();
   interval[1] = (new Date(now.getFullYear(), now.getMonth())).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalMonthToDate(){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), now.getMonth())).getTime();
   interval[1] = now.getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalYearToDate(){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(now.getFullYear(), 0)).getTime();
   interval[1] = now.getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalSpecifiedMonth(year, month){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(year, month - 1, 1)).getTime();
   interval[1] = (new Date(year, month, 1)).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalSpecifiedYear(year){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(year, 0, 1)).getTime();
   interval[1] = (new Date(year, 1, 1)).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function getIntervalSpecifiedDay(year, month, day){
   var now = new Date();
   var interval = new Array();
   interval[0] = (new Date(year, month - 1, day)).getTime();
   interval[1] = (new Date(year, month - 1, day + 1)).getTime();
   interval[0] = Math.round(interval[0] / 1000);
   interval[1] = Math.round(interval[1] / 1000);
   return(interval);
}

function showInterval(name, interval){
   start = interval[0];
   end = interval[1];
   document.write("<tr><td>" + name + "</td><td>");
   document.write(start.toLocaleString());
   document.write("</td><td>");
   document.write(end.toLocaleString());
   document.write("</td><td>");
   document.write(Math.round(end.getTime() / 1000));
   document.write("</td></tr>");
}
