/** Note: this script is locale specific **/
var lMonths=new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 
var s34Months=new Array("Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"); 
var s3Months=new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); 
var ampm=new Array("AM", "PM");
var dFormats=new Array("Month d, yyyy", "Mmm d, yyyy", "Mmmm d, yyyy", "m/d/yyyy", "yyyy-m-d");
var tFormats = new Array("hh:mm", "hh:mm:ss", "h:mm" , "h:mm:ss");
function fillDate(timeStamp, dateFormat, timeFormat) {
	document.write(formatDate(timeStamp, dateFormat, timeFormat));
}
function formatDate(timeStamp, dateFormat, timeFormat) {
	var d = new Date(timeStamp);
	var dfIdx=getIdx(dFormats, dateFormat);
	if (dfIdx==-1) return d.toLocaleString();
	var r="";
	var year=d.getFullYear();
	var mon=d.getMonth();
	var day=d.getDate();
	if (dfIdx==0) r+=lMonths[mon]+" "+day+", "+year;
	else if (dfIdx==1) r+=s3Months[mon]+" "+day+", "+year;
	else if (dfIdx==2) r+=s34Months[mon]+" "+day+", "+year;
	else if (dfIdx==4) r+=year+"-"+(++mon)+"-"+day;
	
	else r+=(++mon)+"/"+day+"/"+year;
	if (!timeFormat) return r;
	var tfIdx=getIdx(tFormats, timeFormat);
	if (tfIdx==-1) return r;
	r+=" ";
	var ap = "";
	var h=d.getHours();
	var min=d.getMinutes();
	var sec=d.getSeconds();
	if (tfIdx>1) {
		ap=ampm[0];
		if (h==0) h=12;
		else if (h==12) ap=ampm[1];
		else if (h>12) {ap=ampm[1];h=h-12;}
	}
	if (min<10) min="0"+min;
	if (sec<10) sec="0"+sec;
	r+=h+":"+min;
	if (tfIdx==1||tfIdx==3) r+=":"+sec;
	if (tfIdx>1) r+=" "+ap;
	return r;
}
function getIdx(array, obj) {
	if (!array || !array.length) return -1;
	for (var i=0; i<array.length; i++) if (array[i] == obj) return i;
	return -1;
}