﻿// JScript 파일
// 캘린더 자바 스크립트.      
var ns6=document.getElementById&&!document.all
        
var Selected_Month;
var Selected_Year;
var Selected_Day;

var type;
var id;
var sermonth;
var serday;
var seryear; 
var divPath;

var Current_Date = new Date();

var Days_in_Month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var Month_Label = new Array('1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월');

  
//Header 
function Header(Year, Month) 
{
       if (Month == 1) 
       {
            Days_in_Month[1] = ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 !=0))) ? 29 : 28;
       }
       
   var Header_String = Year + '년 ' + Month_Label[Month];
   return Header_String;
}


// 제한된 달력
function LimitCalendar(Year, Month, Day, ID, divPath, sermonth, serday, seryear, limitMonth, limitDay, limitYear) 
{
 //alert ("serDate : " + sermonth + "/" + serday + "/" + seryear);
 //alert ("limitDate : " + limitMonth + "/" + limitDay + "/" + limitYear); 
    if (limitMonth > 12)
       {
        limitMonth = parseInt(limitMonth) - 12;
        limitYear = parseInt(limitYear) + 1;
       }

    if (Month == "")
    {   
       Month = 1;
       Day = 1;
    }  
   var Month = Month - 1;
   var First_Date = new Date(Year, Month, 1);
   var Heading = Header(Year, Month);
   var First_Day = First_Date.getDay()+1;
   
       if (((Days_in_Month[Month] == 31) && (First_Day >= 6)) ||
           ((Days_in_Month[Month] == 30) && (First_Day == 7))) {
          var Rows = 6;
       }
       else if ((Days_in_Month[Month] == 28) && (First_Day == 1)) {
          var Rows = 4;
       }
       else {
          var Rows = 5;
       }      
      
       
   var HTML_String = "<table border='0' cellpadding='0' cellspacing='1' width='161' height='130' bgcolor='#2463AB'><tr bgcolor='#FFFFFF'><td align='center' valign='middle'>";
   
   HTML_String += "<table border='0' cellpadding='0' cellspacing='0' width='161' height='130'><tr bgcolor='#4BB8FD' height='25'>";

    if (((parseInt(Month) + 1) != limitMonth) && (seryear == limitYear))
    {
        HTML_String += "<td align='left' valign='middle' width='23'><a href=javascript:LimitCalSkip('-','" + ID + "','" + divPath +"','" + sermonth + "','" + serday + "','" + seryear + "','" + limitMonth + "','" + limitDay + "','" + limitYear + "'); border='0'><img src='/images/IBX_bt_calendar_barrow_prev_bt.gif' border='0' hspace='5'></a></td><td align='center' valign='middle' width='115' colspan='5'><font color='#FFFFFF'><B>" + Heading + "</B></font></td>";        
    }
    else 
    {
        HTML_String += "<td align='left' valign='middle' width='23'><img src='/images/IBX_bt_calendar_barrow_prev_bt.gif' border='0' hspace='5'></td><td align='center' valign='middle' width='115' colspan='5'><font color='#FFFFFF'><B>" + Heading + "</B></font></td>";    
    }
    
    HTML_String += "<td align='right' valign='middle' width='23'><a href=javascript:LimitCalSkip('+','" + ID +"','" + divPath + "','" + sermonth + "','" + serday + "','" + seryear + "','" + limitMonth + "','" + limitDay + "','" + limitYear + "'); border='0'><img src='/images/IBX_bt_calendar_barrow_next_bt.gif' border='0' hspace='5'></a></td></tr>";   

    HTML_String += "<tr><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>일</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>월</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>화</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>수</th>";

    HTML_String += "<th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>목</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>금</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>토</th></tr>";

    var Day_Counter = 1;
    var Loop_Counter = 1;
   
   
   for (var j = 1; j <= Rows; j++) {
      
      HTML_String += "<tr height='21'>";
      
      for (var i = 1; i < 8; i++) {
         
         if ((Loop_Counter >= First_Day) && (Day_Counter <= Days_in_Month[Month])) 
        {  
        
                if ((Day_Counter < limitDay) && (Year == limitYear) && ((parseInt(Month) +1) == limitMonth)) 
                {
                    HTML_String += "<td align='center' valign='middle' width='23'><font color='#B1B1B1'><B>" + Day_Counter + "</B></font></a></td>";        // 선택
                }            
                
                else if ((Day_Counter == serday) && (Year == seryear) && (Month == sermonth-1))
                {
                   HTML_String += "<td align='center' valign='middle' width='23'><a href=javascript:SelDate('" + Year +"','" +  Month + "','"+ Day_Counter + "','" + ID + "');close('" + divPath + "');><font color='orange'><B>" + Day_Counter + "</B></font></a></td>"; // 해당일.
                }
                
                else if (i == 1)
                {
                    HTML_String += "<td align='center' valign='middle' width='23'><a href=javascript:SelDate('" + Year +"','" +  Month + "','"+ Day_Counter + "','" + ID + "');close('" + divPath + "');><font color='#C62101'><B>" + Day_Counter + "</B></font></a></td>"; // 일요일.
                }
                else 
                {
                   HTML_String += "<td align='center' valign='middle' width='23'><font color='#6C9824'><B><a href=javascript:SelDate('"+ Year + "','" +  Month + "','" + Day_Counter + "','" + ID + "');close('" + divPath + "');>" + Day_Counter + "</a></B></font></td>";
                }
                
                Day_Counter++;   
                
         }
         else 
         {
            HTML_String += "<td BORDERCOLOR='C0C0C0'> </td>";
         }
         Loop_Counter++;
      }
      HTML_String += "</tr>";
   }
   HTML_String += "</td></tr></table>"; 
   HTML_String += "<table><tr><td align='center'><a href=javascript:close('" + divPath + "');>닫기</a></td></tr></table>"; 
   
   cross_el=ns6? document.getElementById(divPath) : document.all[divPath];
   
   cross_el.innerHTML = HTML_String;
}

function LimitCalSkip(Direction, ID, divPath, sermonth, serday, seryear, limitMonth, limitDay, limitYear) {
   if (Direction == '+') {
      if (Selected_Month == 12) {
         Selected_Month = 0;
         Selected_Year++;
      }
      else {
         Selected_Month++;
      }
   }
   else {
      if (Selected_Month == 0) {
         Selected_Month = 12;
         Selected_Year--;
      }
      else {
         Selected_Month--;
      }
   }
 
   LimitCalendar(Selected_Year, Selected_Month, Selected_Day, ID, divPath, sermonth, serday, seryear, limitMonth, limitDay, limitYear);
}


// From Date를 반영한 달력
function ReflectFromDateCal(Year, Month, Day, ID, divPath, sermonth, serday, seryear) {
  
    if (Month == "")
    {   
       Month = 1;
       Day = 1;
    }  
   var Month = Month - 1;
   var First_Date = new Date(Year, Month, 1);
   var Heading = Header(Year, Month);
   var First_Day = First_Date.getDay()+1;
   
       if (((Days_in_Month[Month] == 31) && (First_Day >= 6)) ||
           ((Days_in_Month[Month] == 30) && (First_Day == 7))) {
          var Rows = 6;
       }
       else if ((Days_in_Month[Month] == 28) && (First_Day == 1)) {
          var Rows = 4;
       }
       else {
          var Rows = 5;
       }

   var HTML_String = "<table border='0' cellpadding='0' cellspacing='1' width='161' height='130' bgcolor='#2463AB'><tr bgcolor='#FFFFFF'><td align='center' valign='middle'>";
   
   HTML_String += "<table border='0' cellpadding='0' cellspacing='0' width='161' height='130'><tr bgcolor='#4BB8FD' height='25'>";

    
    if ((Month <= sermonth-1) && (Year == seryear))
    {
        HTML_String += "<td align='left' valign='middle' width='23'><img src='/images/IBX_bt_calendar_barrow_prev_bt.gif' border='0' hspace='5'></td><td align='center' valign='middle' width='115' colspan='5'><font color='#FFFFFF'><B>" + Heading + "</B></font></td>";    
    }
    else 
    {
        HTML_String += "<td align='left' valign='middle' width='23'><a href=javascript:ReflectFromDateCalSkip('-','" + ID + "','" + divPath +"','" + sermonth + "','" + serday +"','" + seryear + "'); border=0><img src='/images/IBX_bt_calendar_barrow_prev_bt.gif' border='0' hspace='5'></a></td><td align='center' valign='middle' width='115' colspan='5'><font color='#FFFFFF'><B>" + Heading + "</B></font></td>";
    }
   
    
   
   HTML_String += "<td align='right' valign='middle' width='23'><a href=javascript:ReflectFromDateCalSkip('+','" + ID +"','" + divPath + "','" + sermonth + "','" + serday + "','" + seryear + "'); border='0'><img src='/images/IBX_bt_calendar_barrow_next_bt.gif' border='0' hspace='5'></a></td></tr>";

   HTML_String += "<tr height='22'><th ALIGN='CENTER' valign='middle'  BGCOLOR='FFFFFF' BORDERCOLOR='000000'>일</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>월</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>화</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>수</th>";

   HTML_String += "<th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>목</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>금</th><th ALIGN='CENTER' BGCOLOR='FFFFFF' BORDERCOLOR='000000'>토</th></tr>";

   var Day_Counter = 1;
   var Loop_Counter = 1;
   
   
   for (var j = 1; j <= Rows; j++) {
      
      HTML_String += "<tr height='21'>";
      
      for (var i = 1; i < 8; i++) {
         
         if ((Loop_Counter >= First_Day) && (Day_Counter <= Days_in_Month[Month])) 
         {
               
            if ((Day_Counter < serday) && (Year == seryear) && (Month == sermonth-1)) {
                HTML_String += "<td align='center' valign='middle' width='23'><font color='#B1B1B1'><B>" + Day_Counter + "</B></font></a></td>";
                }            
            
            else if ((Day_Counter == serday) && (Year == seryear) && (Month == sermonth-1) || (i == 1)) {
               HTML_String += "<td align='center' valign='middle' width='23'><a href=javascript:SelDate('" + Year +"','" +  Month + "','"+ Day_Counter + "','" + ID + "');close('" + divPath + "');><font color='#C62101'><B>" + Day_Counter + "</B></font></a></td>";
            }
            else {
               HTML_String += "<td align='center' valign='middle' width='23'><font color='#6C9824'><B><a href=javascript:SelDate('"+ Year + "','" +  Month + "','" + Day_Counter + "','" + ID + "');close('" + divPath + "');>" + Day_Counter + "</a></B></font></td>";
            }
            Day_Counter++; 
                      
         }
         else 
         {
            HTML_String += "<td BORDERCOLOR='C0C0C0'> </td>";
         }
         Loop_Counter++;
      }
      HTML_String += "</tr>";
   }
   HTML_String += "</td></tr></table>"; 
   HTML_String += "<table><tr><td align='center'><a href=javascript:close('" + divPath + "');>닫기</a></td></tr></table>"; 
   
   cross_el=ns6? document.getElementById(divPath) : document.all[divPath];
   
   cross_el.innerHTML = HTML_String;
}

function ReflectFromDateCalSkip(Direction, ID, divPath, sermonth, serday, seryear) {
   if (Direction == '+') {
      if (Selected_Month == 12) {
         Selected_Month = 0;
         Selected_Year++;
      }
      else {
         Selected_Month++;
      }
   }
   else {
      if (Selected_Month == 0) {
         Selected_Month = 12;
         Selected_Year--;
      }
      else {
         Selected_Month--;
      }
   }
 
   ReflectFromDateCal(Selected_Year, Selected_Month, Selected_Day, ID, divPath, sermonth, serday, seryear);
}


