// JavaScript Document

var dayIndex = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
function DayOfWeek( day )
{
	var index = 0;
	if ( typeof day == "object" ) { // assume its a date
	   day = day.getDay()+""; // to string now
	}
	else	   
   	if ( typeof day == "string" && day.length == 1 ) {
	   	index = parseInt( day, 10 );
   	}
		else 
		   if ( typeof day != "number" )
			   return "error";
		   else
			   index = day;
		
   if ( index < 0 || index > 6 )
	   return;
	return dayIndex[ index ];

}
function daysInMonth(iMonth, iYear)
{
   return 32 - new Date(iYear, iMonth, 32).getDate();
}


function makeTime( hours, minutes, seconds )
{
	if ( typeof hours == "string" ) {
		var t = hours.split(":");
		hours = t[0];
		minutes = t[1];
		seconds = t[2];
	}
	if ( typeof hours == "object" ) {
		return hours;
	}
	d = new Date();
	d.setHours( hours );
	d.setMinutes( minutes );
	d.setSeconds( seconds );
	return d;
}


function addMinutes( time, addM )
{
  var mins = time.getHours() * 60 + ( parseInt(addM) + time.getMinutes() );

  var hours = parseInt( mins / 60 );
  var mins = mins % 60;
  var secs = 0;
  
  return makeTime( hours, mins, secs );
  
}

function dateParse(s) { //turns a date into ms.
var d = new Date;
d.setTime(Date.parse(s));
return d.toUTCString();
}


function isDateLess( a, b ){ 
  
  return (a.toUTCString().value < b.toUTCString().value) ;
}

function isDateEqual( a, b ){ 
  
  return (a.toUTCString().value == b.toUTCString().value) ;
}

function getTimeDiff( a, b ) {
  return  (makeTime(a).getTime() - makeTime(b).getTime());
}

function leadZero( v )
{
	v = v+"";
	if ( v.length == 1 )
	   return "0"+v;
	return v;
}

function formatDate( date, fordb )
{
	var m = leadZero( date.getMonth()+1 );
	var d = leadZero( date.getDate() );
	var y = date.getYear();
	if ( y < 2000 )
	   y += 1900;
	y = leadZero( y );
	if ( typeof fordb == "undefined" || fordb == false )
   	return "{0}/{1}/{2}".format( m, d, y );
   return "{0}-{1}-{2}".format( y, m, d );
}

/*  format time takes a time value or a string and converts it to an am pm format (no seconds)
*/
function formatTime( t, secs, military )
{
	if ( typeof t == "string" ) {
		// put the string in an array 
		t = makeTime( t );
		// build a time object
	}
	var h = t.getHours();
	var m = t.getMinutes();
	
	var ampm = "";
	if ( typeof military == "undefined" || military == false ) {
		var ampm = "am";
		if ( h >= 12 ) {
			if ( h > 12 )
				h -= 12;
			ampm = "pm";
		}
	}
	var s = t.getSeconds();
	if ( s < 10 ) {
		s = "0"+s;
	}
	if ( typeof secs == "undefined" ) {
		s = "";
	}
	else 
	   s = ":"+s;
	return "{0}:{1}{2}{3}".format( h, (m < 9) ? "0"+m : m, s, ampm);
}