<!--
// Vana'diel Clock Script
////////////////////////////////////////////////////////////////////////////////
// Copyrights:
//  Readapted Scripting by RevolutionFinale.com and InnerSoulFederation.com
//  Originals from...
//   ffxi.xenoveritas.org/tools/vanaclock/time.shtml
//   www.pyogenes.com
//   mithrapride.figarocastle.org/vana_time/index.html
//   www.ffxi-sars.com/ballista/ballistamate.html
//   www.phoenixphiles.com
//   www.onlinemike.com/timer/crafttimer.html
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// baseDate: Converts RealTime to VanadielTime
baseDateMini = new Date();
baseDateMini.setUTCFullYear(2002, 5, 23); 		// Set date to 2002-06-23
baseDateMini.setUTCHours(15, 0, 0, 0);    		// Set time to 15:00:00.0000
// Arrays and Variables
earthDayArrayMini = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
vanaDayArrayMini = new Array("Firesday", "Earthsday", "Watersday", "Windsday", "Iceday", "Lightningday", "Lightsday", "Darksday");
monthArrayMini = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
monthShortArrayMini = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nove", "Dec");
msRealDayMini = (24 * 60 * 60 * 1000);			// ms in a real day

////////////////////////////////////////////////////////////////////////////////
// Public Functions to Get Date/Times
function getLocalTimeMini(selectFormat) {
	return getEarthTimeMini(selectFormat);
}
function getVanadielTimeMini(selectFormat) {
	return getVanadielTimeMini(selectFormat);
}

////////////////////////////////////////////////////////////////////////////////
// Retrieves Earth Time
function getEarthTimeMini(showDay) {
	var now = new Date();
	return formatDateEarthMini(now.getTime(), showDay);
}
// Formats the Earth Time String
function formatDateEarthMini(varTime, showDay) {
	// Take a TimeStandard and Convert to a String. yyyy-mm-dd day hh-mn-ss
	var varDate = new Date(varTime);
	var yyyy = varDate.getFullYear();
	var mm = varDate.getMonth() + 1;
	if (mm < 10) {
		mm = "0" + mm;
	}
	var dd = varDate.getDate();
	if (showDay != 3) {
		if (dd < 10) {
			dd = "0" + dd;
		}
	}
	var day = varDate.getDay();
	var hh = varDate.getHours();
	var mn = varDate.getMinutes();
	if (mn < 10) {
		mn = "0" + mn;
	}
	var ss = varDate.getSeconds();
	if (ss < 10) {
		ss = "0" + ss;
	}
	
	if (showDay == 1)  {	// "Thursday, April 01, 2006 @ 23:59:59"
		dateString = earthDayArrayMini[day] + ", " + monthArrayMini[mm-1] + " " + dd + ", " + yyyy + " @ " + hh + ":" + mn + ":" + ss;
	} else if (showDay == 2)  {	// "April 01, 23:59:59"
		dateString = monthArrayMini[mm-1] + " " + dd + ",  " + hh + ":" + mn + ":" + ss;
	} else if (showDay == 3)  {	// "Thursday, April 1, 2006 - 0:00am"
		if (hh > 12) {
			hh = hh - 12;
			ampmtoggle = "pm";
		} else if (hh == 12) {
			ampmtoggle = "pm";
		} else if (hh == 0) {
			hh = 12;
			ampmtoggle = "am";
		} else {
			ampmtoggle = "am";
		}
		dateString = earthDayArrayMini[day] + ", " + monthArrayMini[mm-1] + " " + dd + ", " + yyyy + " - " + hh + ":" + mn + ampmtoggle;
	} else if (showDay == 4) {	// "Thursday, April 01, 2006 @ 12:00:00am"
		if (hh > 12) {
			hh = hh - 12;
			ampmtoggle = "pm";
		} else if (hh == 12) {
			ampmtoggle = "pm";
		} else if (hh == 0) {
			hh = 12;
			ampmtoggle = "am";
		} else {
			ampmtoggle = "am";
		}
		dateString = earthDayArrayMini[day] + ", " + monthArrayMini[mm-1] + " " + dd + ", " + yyyy + " @ " + hh + ":" + mn + ":" + ss + ampmtoggle;
	} else if (showDay == 5) {	// "April 01, 12:00:00am"
		if (hh > 12) {
			hh = hh - 12;
			ampmtoggle = "pm";
		} else if (hh == 12) {
			ampmtoggle = "pm";
		} else if (hh == 0) {
			hh = 12;
			ampmtoggle = "am";
		} else {
			ampmtoggle = "am";
		}
		dateString = monthArrayMini[mm-1] + " " + dd + ",  " + hh + ":" + mn + ":" + ss + ampmtoggle;
	} else if (showDay == 6) {	// "Apr 01, 12:00am"
		if (hh > 12) {
			hh = hh - 12;
			ampmtoggle = "pm";
		} else if (hh == 12) {
			ampmtoggle = "pm";
		} else if (hh == 0) {
			hh = 12;
			ampmtoggle = "am";
		} else {
			ampmtoggle = "am";
		}
		dateString = monthShortArrayMini[mm-1] + " " + dd + ", " + hh + ":" + mn + ampmtoggle;
	} else {	// "Thursday, April 01, 2006 @ 23:59:59"
		dateString = earthDayArrayMini[day] + ", " + monthArrayMini[mm-1] + " " + dd + ", " + yyyy + " @ " + hh + ":" + mn + ":" + ss;
	}
	return dateString;
}

////////////////////////////////////////////////////////////////////////////////
// Retrieves Vana'diel Time
function getVanadielTimeMini(secondsToggle) {
	var vanaTime;
	var now = new Date();
	vanaDate =  ((898 * 360 + 30) * msRealDayMini) + (now.getTime() - baseDateMini.getTime()) * 25;
	
	vYear = Math.floor(vanaDate / (360 * msRealDayMini));
	vMon  = Math.floor((vanaDate % (360 * msRealDayMini)) / (30 * msRealDayMini)) + 1;
	vDate = Math.floor((vanaDate % (30 * msRealDayMini)) / (msRealDayMini)) + 1;
	vHour = Math.floor((vanaDate % (msRealDayMini)) / (60 * 60 * 1000));
	vMin  = Math.floor((vanaDate % (60 * 60 * 1000)) / (60 * 1000));
	vSec  = Math.floor((vanaDate % (60 * 1000)) / 1000);
	vDay  = Math.floor((vanaDate % (8 * msRealDayMini)) / (msRealDayMini));
	
	if (secondsToggle != 3) {
		if (vYear < 1000) { VanaYear = "0" + vYear; } else { VanaYear = vYear; }
		if (vMon  < 10)   { VanaMon  = "0" + vMon; }  else { VanaMon  = vMon; }
		if (vDate < 10)   { VanaDate = "0" + vDate; } else { VanaDate = vDate; }
		if (vHour < 10)   { VanaHour = "0" + vHour; } else { VanaHour = vHour; }
		if (vMin  < 10)   { VanaMin  = "0" + vMin; }  else { VanaMin  = vMin; }
		if (vSec  < 10)   { VanaSec  = "0" + vSec; }  else { VanaSec  = vSec; }
	} else if (secondsToggle == 3) {
		if (vYear < 1000) { VanaYear = "0" + vYear; } else { VanaYear = vYear; }
		VanaMon  = vMon;
		VanaDate = vDate;
		VanaHour = vHour;
		if (vMin  < 10)   { VanaMin  = "0" + vMin; }  else { VanaMin  = vMin; }
	}
	
	if (secondsToggle == 1) {	// "Firesday, Month 00 Day 00, 0000 @ 00:00"
		vanaTime = vanaDayArrayMini[vDay] + ", Month " + VanaMon + " Day " + VanaDate + ", " + VanaYear + " @ " + VanaHour + ":" + VanaMin;
	} else if (secondsToggle == 2) {	// "Firesday, 0000 - 00 - 00 @ 00:00:00"
		vanaTime = vanaDayArrayMini[vDay] + ", " + VanaYear + "-" + VanaMon + "-" + VanaDate + " @ " + VanaHour + ":" + VanaMin + ":" + VanaSec;
	} else if (secondsToggle == 3) {	// "Firesday, Month 0 Day 0, 0000 - 0:00"
		vanaTime = vanaDayArrayMini[vDay] + ", Month " + VanaMon + " Day " + VanaDate + ", " + VanaYear + " - " + VanaHour + ":" + VanaMin;
	} else {	// "Firesday, 0000 - 00 - 00 @ 00:00"
		vanaTime = vanaDayArrayMini[vDay] + ", " + VanaYear + "-" + VanaMon + "-" + VanaDate + " @ " + VanaHour + ":" + VanaMin;
	}
	return vanaTime;
}
// -->