function createDate(month,day,year,hour,min,ampm) {
 //edited by: markg on 12/13/2006
 //added default Month, Day and Year
 //old code is hardcoded like the hour, min and ampm
 var today = new Date();
 if (month==""||month==null) month=today.getMonth() + 1;
 if (day==""||day==null) day=today.getDate();
 if (year==""||year==null) year=today.getFullYear();
 if (hour==""||hour==null) hour="01";
 if (min==""||min==null) min="00";
 if (ampm==""||ampm==null) ampm="AM";
 
 time=month+"/"+day+"/"+year+" "+hour+":"+min+" "+ampm;

 return(new Date(time));
}

//created by: markg on 12/13/2006
function addDays(date,noOfDays)
{
	date.setDate(date.getDate() + noOfDays);
	return date;
}
//created by: markg on 12/13/2006
function addWeeks(date,noOfWeeks)
{
	date.setDate(date.getDate() + (noOfWeeks * 7));
	return date;
}

//created by: markg on 12/13/2006
function compareTime(date,timeFormat)
{
	var arrayTime = toArrayTime(timeFormat);
	mytime = new Date((date.getMonth() + 1) +"/"+date.getDate()+"/"+date.getFullYear()+" "+arrayTime["hour"]+":"+arrayTime["minute"]+":"+arrayTime["second"]+" "+arrayTime["ampm"]);
	if(date < mytime) 
		return -1;
	if(date > mytime) 
		return 1;
	if(date == mytime) 	
		return 0;
	
}

function isValidTime(timeStr) 
{
// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.
// return timevalue in milliseconds
	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
	var matchArray = timeStr.match(timePat);
	if (matchArray == null) 
	{
		alert("Time is not in a valid format.");
		return false;
	}	
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];
	
	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }
	
	if (hour < 0  || hour > 23) 
	{
		alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
		return false;
	}
	if (hour <= 12 && ampm == null) 
	{
		if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) 
		{
			alert("You must specify AM or PM.");
			return false;
		}
	}
	if  (hour > 12 && ampm != null) 
	{
		alert("You can't specify AM or PM for military time.");
		return false;
	}
	if (minute<0 || minute > 59) 
	{
		alert ("Minute must be between 0 and 59.");
		return false;
	}
	if (second != null && (second < 0 || second > 59)) 
	{
		alert ("Second must be between 0 and 59.");
		return false;
	}
	return true;
	
}

function toArrayTime(arrayStr)
{
	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
	var matchArray = arrayStr.match(timePat);
	if (matchArray == null) 
	{
		alert("Time is not in a valid format.");
		return false;
	}	
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];
	
	if (second=="" || second == null) { second = 0; }
	if (ampm==null) { ampm = ""; }
	
	var arrayTime = new Array(4);
	arrayTime["hour"] = hour;
	arrayTime["minute"] = minute;
	arrayTime["second"] = second;
	arrayTime["ampm"] = ampm;			
	return arrayTime;
	
}

//created by markg: 12/20/2006
//retrieve time in AM/PM format
function getTime(datetime)
{
	var hours = datetime.getHours()
	var minutes = datetime.getMinutes()
	var AMPM = "AM";
	if (minutes < 10)
		minutes = "0" + minutes
	if (hours >= 12)
	{
		AMPM = "PM";
		if(hours > 12)
			hours -= 12;
	}	
	return hours + ":" + minutes + " " + AMPM;
}



	

