/**
* Calendar >> ½ÇÇà°á°ú html ¹®¼·Î ¹Ýȯ
*/
var calendar = {
target:null,
panel:null,
html:'',
open: function(obj,handler,panel)
{
var now = obj.value.split('-');
this.target = obj;
this.handler = $(handler);
this.panel = $(panel);
if (now.length == 3)
{
this.getCal(now[0],now[1],now[2]);
}
else
{
now = new Date();
this.getCal(now.getFullYear(), now.getMonth()+1, now.getDate());
}
return this.html;
},
getCal: function(yyyy,mm,dd)
{
this.html='';
var Months_day = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31)
var Weekday_name = new Array("S", "M", "T", "W", "T", "F", "S");
var intThisYear = new Number(), intThisMonth = new Number(), intThisDay = new Number();
datToday = new Date();
intThisYear = Number(yyyy);
intThisMonth = Number(mm);
intThisDay = Number(dd);
if (intThisYear == 0) intThisYear = datToday.getFullYear();
if (intThisMonth == 0) intThisMonth = parseInt(datToday.getMonth())+1;
if (intThisDay == 0) intThisDay = datToday.getDate();
switch(intThisMonth) {
case 1:
intPrevYear = intThisYear -1;
intPrevMonth = 12;
intNextYear = intThisYear;
intNextMonth = 2;
break;
case 12:
intPrevYear = intThisYear;
intPrevMonth = 11;
intNextYear = intThisYear + 1;
intNextMonth = 1;
break;
default:
intPrevYear = intThisYear;
intPrevMonth = parseInt(intThisMonth) - 1;
intNextYear = intThisYear;
intNextMonth = parseInt(intThisMonth) + 1;
break;
}
NowThisYear = datToday.getFullYear();
NowThisMonth = datToday.getMonth()+1;
NowThisDay = datToday.getDate();
datFirstDay = new Date(intThisYear, intThisMonth-1, 1);
intFirstWeekday = datFirstDay.getDay();
intSecondWeekday = intFirstWeekday;
intThirdWeekday = intFirstWeekday;
datThisDay = new Date(intThisYear, intThisMonth, intThisDay);
intThisWeekday = datThisDay.getDay();
varThisWeekday = Weekday_name[intThisWeekday];
intPrintDay = 1;
secondPrintDay = 1;
thirdPrintDay = 1;
Stop_Flag = 0;
if ((intThisYear % 4)==0) {
if ((intThisYear % 100) == 0) {
if ((intThisYear % 400) == 0) {
Months_day[2] = 29;
}
} else {
Months_day[2] = 29;
}
}
intLastDay = Months_day[intThisMonth];
Stop_flag = 0;
this.html = "
";
this.html += " ";
this.html += ""+this.getYearinfo(intThisYear,intThisMonth,intThisDay)+"³â "+this.getMonthinfo(intThisYear,intThisMonth,intThisDay)+"¿ù ";
this.html += "  |
"
this.html += "| ÀÏ | ¿ù | È | ¼ö | ¸ñ | ±Ý | Åä |
";
for (intLoopWeek=1; intLoopWeek < 7; intLoopWeek++) {
this.html += ""
for (intLoopDay=1; intLoopDay <= 7; intLoopDay++) {
if (intThirdWeekday > 0) {
this.html += "| ";
intThirdWeekday--;
} else {
if (thirdPrintDay > intLastDay) {
this.html += " | ";
} else {
this.html += " | "+thirdPrintDay;
}
thirdPrintDay++;
if (thirdPrintDay > intLastDay) {
Stop_Flag = 1;
}
}
this.html += " | ";
}
this.html += "
";
if (Stop_Flag==1) break;
}
this.html += "
";
},
getYearinfo: function(yyyy,mm,dd)
{
var min = parseInt(yyyy) - 100;
var max = parseInt(yyyy) + 10;
var i = new Number();
var str = new String();
str = "";
return str;
},
getMonthinfo: function(yyyy,mm,dd)
{
var i = new Number();
var str = new String();
str = "";
return str;
},
day2: function(d)
{
var str = new String();
if (parseInt(d) < 10) {
str = "0" + parseInt(d);
} else {
str = "" + parseInt(d);
}
return str;
},
doOver: function(evt)
{
if (typeof evt == 'undefined') {
var evt = window.event;
}
if (typeof evt.target != 'undefined') {
var el = evt.target;
} else if (typeof evt.srcElement != 'undefined') {
var el = evt.srcElement;
}
var cal_Day = el.title;
if (cal_Day.length > 7)
{
el.style.borderTopColor = el.style.borderLeftColor = '#FFFFFF';
el.style.borderRightColor = el.style.borderBottomColor = '#4C4C4C';
el.style.backgroundColor = '#FFFF99';
}
},
doOut: function(evt) {
if (typeof evt == 'undefined') { // IE
var evt = window.event;
}
el = evt.srcElement || evt.target;
/*
if (typeof evt.target != 'undefined') { // FF,Opera
var el = evt.target;
} else if (typeof evt.srcElement != 'undefined') { // IE,Opera
var el = evt.srcElement;
}
*/
var cal_Day = el.title;
if (cal_Day.length > 7) {
el.style.borderColor = 'white';
el.style.backgroundColor = '#F5F5F5';
}
},
doClick: function(evt,obj)
{
if (typeof evt == 'undefined') {
var evt = window.event;
}
if (typeof evt.target != 'undefined') { // FF,Opera
var el = evt.target;
} else if (typeof evt.srcElement != 'undefined') { // IE,Opera
var el = evt.srcElement;
}
var cal_Day = el.title;
el.style.borderColor ='red';
if (cal_Day.length > 7) {
this.target.value=cal_Day;
}
this.handler.setStyle({display:'none'});
},
renewalCal: function(yyyy,mm,dd)
{
this.getCal(yyyy,mm,dd);
this.panel.innerHTML = this.html;
}
};