﻿var target; 
var temp; 
var BY; 
var BM; 
var BD; 
var today_year; 
var today_month; 
var today_day; 


function showCalendar(ymd) { 
        
        var tmp = ymd.split("-"); 
        var y = parseInt(tmp[0],10); 
        var m = parseInt(tmp[1],10); 
        var d = parseInt(tmp[2],10); 
        
        var text = '<span style="cursor:pointer;font-size:11px;" onclick="showCalendar(\''+(y-1)+'-'+m+'-'+d+'\')"> ◀◀</span>'; 
    text += '<span style="cursor:pointer;font-size:11px" onclick="showCalendar(\''+(m==1?(y-1)+'-'+12:y+'-'+(m-1))+'-'+d+'\')"> ◀ </span>'; 
    text += '<span style="font-size:13px;font-weight:bold;">[' + y + '/' + ((m < 10) ? ('0' + m) : m) + ']</span>'; 
    text += '<span style="cursor:pointer;font-size:11px" onclick="showCalendar(\''+(m==12?(y+1)+'-'+1:y+'-'+(m+1))+'-'+d+'\')"> ▶ </span>'; 
    text += '<span style="cursor:pointer;font-size:11px" onclick="showCalendar(\''+(y+1)+'-'+m+'-'+d+'\')">▶▶</span>'; 
        
        var text1 = '<table cellpadding="2" cellspacing="0" border="0">\n<tr><td colspan="7" style="text-align:center;font-size:12px;font-weight:bold;color:#0080FF;background-color:#DFEFFF;" valign="top">'; 
    text1 += y + ' / ' + ((m < 10) ? ('0' + m) : m); 

    text1 += '</td>'; 
    
    var d1 = (y+(y-y%4)/4-(y-y%100)/100+(y-y%400)/400 
          +m*2+(m*5-m*5%9)/9-(m<3?y%4||y%100==0&&y%400?2:3:4))%7; 
    for (i = 0; i < 42; i++) { 
      if (i%7==0) text1 += '</tr>\n<tr>'; 
            if((i+1-d1) == today_day && m==today_month && y==today_year){ 
                    text1 += '<td style="font-size:12px;cursor:pointer;text-align:right;font-weight:bold;background-color:#FFDFEF;font-family:verdana;' + (i%7?'':'color:#FF0000;') +'"'+ ' onClick="putDate(\''+y+'-'+ (m<10?'0'+m:m) +'-'+ ((i+1-d1)<10?('0'+(i+1-d1)):(i+1-d1)) +'\');nightchk();">' + (i+1-d1) + '</td>'; 
            }else{ 
              
              if (i < d1 || i >= d1+(m*9-m*9%8)/8%2+(m==2?y%4||y%100==0&&y%400?28:29:30)) { 
                  text1 += '<td> </td>'; 
              }else { 
                  text1 += '<td style="font-size:12px;cursor:pointer;text-align:right;font-family:verdana;color:#000000;' + (i%7?'':'color:#FF0000;') +'"'+ ' onClick="putDate(\''+y+'-'+ (m<10?'0'+m:m) +'-'+ ((i+1-d1)<10?('0'+(i+1-d1)):(i+1-d1)) +'\');nightchk();">' + (i+1-d1) + '</td>'; 
              } 
            
            } 
    } 
    text1 += '</tr>\n</table>'; 
    
        var m1 = m + 1; 
        var text2 = '<table cellpadding="2" cellspacing="0" border="0">\n<tr><td colspan=7 style="text-align:center;font-size:12px;font-weight:bold;color:#0080FF;background-color:#DFEFFF;" valign="top">'; 
    text2 += (m==12?(y+1)+' / ' + '0'+1:y+' / '+ ((m1<10) ? ('0' + m1) : m1)); 
    text2 += '</td>'; 
    var d2 = (y+(y-y%4)/4-(y-y%100)/100+(y-y%400)/400 
          +m1*2+(m1*5-m1*5%9)/9-(m1<3?y%4||y%100==0&&y%400?2:3:4))%7; 
    for (i = 0; i < 42; i++) { 
        if (i%7==0) text2 += '</tr>\n<tr>'; 
        
        if((i+1-d2) == today_day && m1==today_month && y==today_year){ 
            text2 += '<td style="font-size:12px;cursor:pointer;text-align:right;font-weight:bold;background-color:#FFDFEF;font-family:verdana;' + (i%7?'':'color:#FF0000;') +'"'+ ' onClick="putDate(\''+(m==12?(y+1):y)+'-'+((m==12)?'0'+1:m1<10?'0'+m1:m1) +'-' +((i+1-d2)<10?('0'+(i+1-d2)):(i+1-d2))+ '\');nightchk();">' + (i+1-d2) + '</td>'; 
          }else{ 
        
            if (i < d2 || i >= d2+(m1*9-m1*9%8)/8%2+(m1==2?y%4||y%100==0&&y%400?28:29:30)) 
                text2 += '<td> </td>'; 
            else 
                text2 += '<td style="font-size:12px;cursor:pointer;text-align:right;font-family:verdana;color:#000000;' + (i%7?'':'color:#FF0000;') +'"'+ ' onClick="putDate(\''+(m==12?(y+1):y)+'-'+((m==12)?'0'+1:m1<10?'0'+m1:m1) +'-' +((i+1-d2)<10?('0'+(i+1-d2)):(i+1-d2))+ '\');nightchk();">' + (i+1-d2) + '</td>'; 
          } 
    } 
    text2 += '</tr>\n</table>';    

        var m2 = m + 2; 
        var text3 = '<table cellpadding="2" cellspacing="0" border="0">\n<tr><td colspan=7 style="text-align:center;font-size:12px;font-weight:bold;color:#0080FF;background-color:#DFEFFF;" valign="top">'; 
    
    text3 += (m==12?(y+1)+' / ' +'0'+2: m==11?(y+1)+' / ' +'0'+1:y +' / ' +((m2 < 10) ? ('0' + m2) : m2)); 
    
    text3 += '</td>'; 
        if(m2==14){m2=2; y=y+1;} 
    var d3 = (y+(y-y%4)/4-(y-y%100)/100+(y-y%400)/400 
          +m2*2+(m2*5-m2*5%9)/9-(m2<3?y%4||y%100==0&&y%400?2:3:4))%7; 
    for (i = 0; i < 42; i++) { 
        if (i%7==0) text3 += '</tr>\n<tr>'; 
        
        if((i+1-d3) == today_day && m2==today_month && y==today_year){ 
            text3 += '<td style="font-size:12px;cursor:pointer;text-align:right;font-weight:bold;background-color:#FFDFEF;font-family:verdana;' + (i%7?'':'color:#FF0000;') +'"'+ ' onClick="putDate(\''+(m1==12?(y+1):m==11?(y+1):y)+'-'+ ((m==12)?'0'+2:(m==11)?'0'+1:m2<10?'0'+m2:m2)+'-'+((i+1-d3)<10?('0'+(i+1-d3)):(i+1-d3))+'\');nightchk();">' + (i+1-d3) + '</td>'; 
        }else{ 
            if (i < d3 || i >= d3+(m2*9-m2*9%8)/8%2+(m2==2?y%4||y%100==0&&y%400?28:29:30)) 
                  text3 += '<td> </td>'; 
            else 
                text3 += '<td style="font-size:12px;cursor:pointer;text-align:right;font-family:verdana;color:#000000;' + (i%7?'':'color:#FF0000;') +'"'+ ' onClick="putDate(\''+ (m1==12?(y+1):m==11?(y+1):y)+'-'+ ((m==12)?'0'+2:(m==11)?'0'+1:m2<10?'0'+m2:m2)+'-'+((i+1-d3)<10?('0'+(i+1-d3)):(i+1-d3)) +'\');nightchk();">' + (i+1-d3) + '</td>'; 
                } 
            
    } 
    text3 += '</tr>\n</table>'; 
    
    //달력조합
    textTotal = "<table cellspacing='0' cellpadding='0' border='0' width='100%' style='position: absolute;'>";
	textTotal += "<tr><td style='position: absolute' bgcolor='#ffffff'>";
	textTotal += "<table cellpadding='0' cellspacing='5' border='0' style='border:3px solid #80BFFF;'>";
    textTotal += "<tr><td colspan='3' align='center'>" + text + "</td></tr>";
    textTotal += "<tr><td style='font-family:verdana;border:1px solid #EFEFEF;' valign='top'>" + text1 + "</td>"
    textTotal += "<td style='font-family:verdana;border:1px solid #EFEFEF;' valign='top'>" + text2 +"</td>";
	textTotal += "<td style='font-family:verdana;border:1px solid #EFEFEF;' valign='top'>" + text3 + "</td></tr>";
	textTotal += "<tr><td align='center' colspan='3' style='font-size:11px;font-family:verdana;'>";
	textTotal += "<span style='cursor:pointer;font-weight:bold;' onClick='closeCal();'>[Close]</span></td></tr></table>"
    textTotal += "</td></tr></table>"
    
    document.getElementById("calendar").innerHTML = textTotal;
} 


function showCal(textboxId, top, left)
{ 
    if(top == null)
        top = -30;

    if(left == null || left == "")
        left = 0;

    target = document.getElementById(textboxId);
    
    var now_date   = new Date();
    today_year = now_date.getYear();
    
    if( today_year<1900) 
        today_year = today_year + 1900;
        
    today_month = return0(now_date.getMonth()+1);
    today_day = return0(now_date.getDate());  
    
    temp = target.value.split("-"); 
    
    if(target.value == "")
    {
        temp[0] = today_year;
        temp[1] = today_month;
        temp[2] = today_day; 
    }

    BY = temp[0]; 
    BM = temp[1]; 
    BD = temp[2]; 
        
    if(BM > 12)
        BM = 12;
        
    if(BD > 31)
        BD = 31;
        
    target.value = BY + "-" + BM + "-" + BD;
    
    //달력 생성 호출
    showCalendar(target.value); 
    
    //달력 위치 셋팅
    var st = getRealOffsetTop(target) + top;
    var sl = getRealOffsetLeft(target) + left;  

    document.getElementById("calendar").style.top = st; 
    document.getElementById("calendar").style.left = sl; 
    document.getElementById("calendar").style.display="block"; 
} 

function putDate(d){ 
    target.value = d; 
    closeCal(); 
} 
function closeCal(){ 
    document.getElementById("calendar").style.display="none"; 
} 

function return0(str)
{
	str=""+str;
	if (str.length==1) str="0"+str;
	return str;
}

function getRealOffsetTop(o) { return o ? o.offsetTop + getRealOffsetTop(o.offsetParent) : 0; } 
function getRealOffsetLeft(o) { return o ? o.offsetLeft + getRealOffsetLeft(o.offsetParent) : 0; } 
//달력만들기 끝



//그외 함수들
function nightchk()
{
    if(document.getElementsByName("checkInDate").value != "")
	    ValofcheckOutDate();
    else
	    alert("Select CheckIn Date.");
}

function ValofcheckOutDate()
{	
    var days = 1 ;
    
	var chkInDateVal= document.getElementsByName("checkInDate")[0];
	var checkOutDate= document.getElementsByName("checkOutDate")[0];	
	var night= document.getElementsByName("night")[0];	
	var daysobj= document.getElementsByName("days")[0];							

	checkOutDate.value=addDays(chkInDateVal,night.value);	
	days += (night.value) - 0;
	daysobj.value = days - 0;
}

function addDays(isoDate, noOfDays) 
{
	var aDate=cvtISOToDate(isoDate);
	if (!aDate) return "";
	var millis=86400000 * noOfDays;
	aDate=new Date(aDate.getTime()+millis);
	with (aDate) {
		var mm=getMonth()+1;
		if (mm<10) {mm='0'+mm;}
		var dd=getDate();
		if (dd<10) {dd='0'+dd;}
		return (getFullYear() + '-' + mm + '-' + dd);
	}
}

function cvtISOToDate(isoDate) 
{
	var atomDate= isoDate.value.split('-');
	var aDate=new Date(parseInt(atomDate[0],10),parseInt(atomDate[1],10)-1,parseInt(atomDate[2],10),6,0,0);
	return aDate;
}

function SetNum()
{
    document.getElementById("txtCheckIn").value = document.getElementById("txtCheckIn1").value;
    document.getElementById("txtCheckOut").value = document.getElementById("txtCheckOut1").value;
    document.getElementById("ddlDuration").value = document.getElementById("ddlDuration1").value;
}


