function makeDate(d) {
	date_array = d.split('/');
	new_date = new Date(date_array[2],(date_array[1]-1),date_array[0],0,0,0,0);
	return new_date;
}

function y2k(number) { return (number < 100) ? number + 1900 : number; }

function daysElapsed(date1,date2) {
	difference =
        Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0,0)
      - Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0,0);
    return difference/1000/60/60/24;
}

function DateEx(yy,mm,dd) {
	var x=new Date(yy,mm,dd,0,0,0,0);
	x.addDays=dot;
	return x;
}

function dot(days) {
	msecInDay=1000*60*60*24;
	days=days*msecInDay
	this.setTime(this.getTime()+days)
}

function addZero(vNumber) {
	return ((vNumber < 10) ? "0" : "") + vNumber 
} 
        
function formatDate(vDate, vFormat) { 
	var vDay = addZero(vDate.getDate()); 
	var vMonth = addZero(vDate.getMonth()+1); 
	var vYearLong = addZero(vDate.getFullYear()); 
	var vYearShort = addZero(vDate.getFullYear().toString().substring(3,4)); 
	var vYear = (vFormat.indexOf("yyyy")>-1?vYearLong:vYearShort);
	var vHour = addZero(vDate.getHours()); 
	var vMinute = addZero(vDate.getMinutes()); 
	var vSecond = addZero(vDate.getSeconds()); 
	var vDateString = vFormat.replace(/dd/g, vDay).replace(/MM/g, vMonth).replace(/y{1,4}/g, vYear);
	vDateString = vDateString.replace(/hh/g, vHour).replace(/mm/g, vMinute).replace(/ss/g, vSecond);
	return vDateString;
} 

function MakeArray(n) {
	this.length=n;   
	for (var i=1; i<=n; i++) this[i]=0;   
}

days_long=new MakeArray(7);
	days_long[0]="Sunday"; 
	days_long[1]="Monday";
	days_long[2]="Tuesday"; 
	days_long[3]="Wednesday"; 
	days_long[4]="Thursday";
	days_long[5]="Friday";
	days_long[6]="Saturday"; 

days_short=new MakeArray(7);
	days_short[0]="Sun"; 
	days_short[1]="Mon";
	days_short[2]="Tue"; 
	days_short[3]="Wed"; 
	days_short[4]="Thu";
	days_short[5]="Fri";
	days_short[6]="Sat"; 

months=new MakeArray(12);
	months[1]="January";   months[2]="February"; 
	months[3]="March";     months[4]="April";
	months[5]="May";       months[6]="June";
	months[7]="July";      months[8]="August";
	months[9]="September"; months[10]="October";
	months[11]="November"; months[12]="December";

function getDayOfWeekAsString(d, short) {
//	day = getDayOfWeek(d);
	day = d.getDay();
	if (day>=0 && day<=6) {
		if(short) return days_short[day];
		else return days_long[day];
	}
	else return "";
}

function createCFTimeStamp(d) {
// {ts 'YYYY-MM-DD 00:00:00'}
	t = "{ts '" + d.getYear() + "-" + addZero(eval(d.getMonth()+1)) + "-" + addZero(d.getDate()) + " 00:00:00'}"
	return t;
}


function getDayOfWeek(d) {
	var mtend = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var y = d.getFullYear();
	var m = d.getMonth();
	var d = d.getDay();
	var hlpr = mtend[m];
	if (d < mtend[m] + 1) {
		if (m == 1 && y % 4 == 0) { hlpr++; }
		var c = new Date(y,m,d);
		var dayOfWeek = c.getDay();
		return dayOfWeek;
	}
}


