Day Controller
by kuonyuu
JavaScript
var f = {};
var tf = {};
var dm = alert;
// init
f.currentYear = 648;
f.currentMonth = 3;
f.currentDay = 1;
// basic setting
// week setting
f.maxWeekDay = 8;
f.weekName = ["Zero", "Onn", "Twiz", "Thre", "Fuer", "Fife", "Sat", "Seve"];
f.startDayWeekDay = 4;
// day setting
f.maxDay = 38;
// month setting
f.maxMonth = 10;
f.monthName = ["One", "2", "三", "肆", "V", "110", "7", "2^3", "3*3", "12-2"];
function getLastWeekDay(startWeekDay, day, weekDay) {
// something wrong
//dm(startWeekDay);
if ( startWeekDay < weekDay / 2 ) {
startWeekDay = Math.abs( day % weekDay + startWeekDay - 1);
}
else {
startWeekDay = Math.abs( day % weekDay - weekDay + startWeekDay - 1);
}
dm("getLastWeekDay " + startWeekDay);
return startWeekDay;
}
//getLastWeekDay(1, 38, 8);
getLastWeekDay(7, 2, 8); // day, start day, week day
// =============================================================================================
function getMonthLastDay (month, preMonthFirstDay, max) {
tf.fDay = preMonthFirstDay;
// preMonthFirstDay = f.startDayWeekDay;
// pre mnoth last week day + 1 = cur month week day
for ( tf.i = 2; tf.i < month; tf.i++) {
tf.fDay = getLastWeekDay(tf.fDay);
tf.fDay = dateChangeCheck(1, tf.fDay, f.maxDay);
}
return tf.fDay;
}
function getCurrentWeekDay ( name ) {
tf.temp = Math.abs(f.currentDay % f.maxWeekDay - f.maxWeekDay + f.startDayWeekDay - 1);
/* - = ↑same as = -
tf.temp = f.currentDay % f.weekDay + (f.startDayWeekDay - 1);
if ( tf.temp >= f.weekDay ) { tf.temp -= f.weekDay; }
*/
if ( f.currentMonth > 1 ) {
// get pre month first day
tf.tempPreStarWeekDay = getMonthLastDay(f.currentMonth, f.startDayWeekDay, f.maxDay);
dm("tf.tempPreStarWeekDay : " + tf.tempPreStarWeekDay);
//tf.temp = Math.abs(f.currentDay % f.maxWeekDay - f.maxWeekDay + tf.tempPreStarWeekDay - 1);
//dm("Week is: " +...