var calObjdoc;
var calInput;
var calObj;
function hidecalendar()
{
if(calObj) calObj.style.display = "none";
}
function get_objectTop(obj){
if (obj.offsetParent == document.body) return obj.offsetTop;
else return obj.offsetTop + get_objectTop(obj.offsetParent);
}
function get_objectLeft(obj){
if (obj.offsetParent == document.body) return obj.offsetLeft;
else return obj.offsetLeft + get_objectLeft(obj.offsetParent);
}
function calendar(inputobj)
{
if (!document.getElementById('calObj')) calendar_init();
calInput = inputobj;
if(inputobj.value != "" && calendar_isvalid(inputobj.value)) {
var datevalue = inputobj.value.split("-");
calendar_setup(parseInt(datevalue[0], 10), parseInt(datevalue[1], 10) - 1);
}
var pos = getXY(inputobj);
var xpos = pos.left;
var ypos = pos.top + inputobj.clientHeight + 2;
/*
var xpos = calendar_get_objectLeft(calInput);
var ypos = calendar_get_objectTop(calInput) + calInput.offsetHeight + 2;
*/
calObj = document.getElementById('oCalBorder');
with(calObj.style)
{
left = xpos + "px";
top = ypos + "px";
zIndex = 100;
display = "block";
}
if(parseInt(calObj.style.left) + calObj.clientWidth > document.body.clientWidth) {
calObj.style.left = parseInt(calObj.style.left) - calObj.clientWidth + inputobj.clientWidth + "px";
}
$(document).click(function() {
hidecalendar();
});
// ZaddEvent(document.body, "click", hidecalendar);
}
function calendar_init()
{
var date = new Date;
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
var calStyle = "\
\
";
//var tmpHTML = "
" +
var tmpHTML = "
" +
"
" +
"
" +
"
";
//"
";
var oborder=document.createElement("DIV");
oborder.id = "oCalBorder";
with(oborder.style) {
display="none";
position="absolute";
left="0px";
top="0px";
zIndex:200000;
width="175px";
height="168px";
}
oborder.innerHTML = tmpHTML;
document.body.appendChild(oborder);
//oborder.outerHTML=tmpHTML;
delete tmpHTML;
var calLayout = "";
calLayout += "";
calLayout += " ";
calLayout += "
";
calLayout += "";
var ifrm = document.createElement("iframe");
ifrm.id = "calObj";
ifrm.frameBorder = 0;
ifrm.scroll = "no";
with (ifrm.style){
position = "absolute";
left = "0";
background = "#ffffff";
width = "100%";
height = "100%";
//z-index = "999";
}
document.getElementById("oCalender").appendChild(ifrm);
calObjdoc = document.getElementById('calObj').contentWindow.document;
calObjdoc.open();
calObjdoc.write(calStyle);
calObjdoc.write(calLayout);
calObjdoc.close();
calendar_setup(year, month);
}
var movestart = false;
function calMoveStop()
{
movestart = false;
}
function calMoveStart(flag)
{
movestart = true;
setTimeout("calMove(" + flag + ");", 400);
}
function calMove(flag)
{
if(movestart == true) {
calendar_move(flag);
setTimeout("calMove(" + flag + ");", 100);
}
}
function calendar_setup(year, month)
{
var objMonth = calObjdoc.frmCalendar.month;
for (i=0;i<12;i++) objMonth.options[i] = new Option(i+1+"¿ù",i);
calendar_update(year,month);
}
function calendar_update(year,month)
{
if (isNaN(year)){
year = calObjdoc.frmCalendar.year.value;
month = calObjdoc.frmCalendar.month.value;
}
year = parseInt(year);
var objYear = calObjdoc.frmCalendar.year;
var objMonth = calObjdoc.frmCalendar.month;
for (i=0;i<5;i++) objYear.options[i] = new Option(year+i-2+"³â",year+i-2);
objYear.selectedIndex = 2;
objMonth.selectedIndex = month;
calendar_inner(year,month);
}
function calendar_inner(year,month)
{
var date = new Date;
var Y = date.getFullYear();
var m = date.getMonth();
var d = date.getDate();
var firstDay = new Date(year,month);
firstDay = firstDay.getDay();
var lastDay = calendar_lastDay(year,month);
var obj = calObjdoc.getElementById('calInner');
for (i=obj.rows.length;i>1;i--) obj.deleteRow(i-1);
oTr = obj.insertRow(1);
var tmpyear = (month == 11)?year-1:year;
tmpyear=(month == 0)?year-1:tmpyear;
var tmpmonth = (month-1 < 0)?11:month-1;
var prevLastDay = calendar_lastDay(tmpyear,tmpmonth);
for (i=0;i