﻿var toDay = new Date();
var year = toDay.getFullYear();
var month = toDay.getMonth();
var day = toDay.getDate();
var b_Attributes = '';
var tb_rows = 0;
var isClicked = false;

function SelYear(year)
{
    document.getElementById("sel_yearV").innerHTML = year;
    BuilderCalendarHtml(year, document.getElementById("sel_monthV").innerHTML, 0);
    isClicked = true;
}

function SelMonth(month)
{
    document.getElementById("sel_monthV").innerHTML = month;
    BuilderCalendarHtml(document.getElementById("sel_yearV").innerHTML, month, 0)
    isClicked = true;
}

function CalShow(obj)
{
    document.getElementById(obj).style.display = (document.getElementById(obj).style.display == 'block') ? 'none' : 'block';
}

function WriteCalendarHtml()
{
    var i;
    var CalendarHtml = '<div class="sel_pd_item sel_pd_month" onclick="CalShow(\'sel_month\')">'
                                + '<p class="sel_pd_title" id="sel_monthV"></p>'
                                + '<ul class="sel_pd sel_month" id="sel_month">';
    for(i = 1;i <= 12;i++)
        CalendarHtml += '<li><a href="javascript:" onclick="SelMonth(' + i + ');">' + i + '</a></li>';
    CalendarHtml += '</ul></div>'
                                + '<div class="sel_pd_item sel_pd_year" onclick="CalShow(\'sel_year\')">'
                                + '<p class="sel_pd_title" id="sel_yearV"></p>'
                                + '<ul class="sel_pd sel_year" id="sel_year">';
    for(i = minYear;i <= maxYear;i++)
        CalendarHtml += '<li><a href="javascript:" onclick="SelYear(' + i + ');">' + i + '</a></li>';
    CalendarHtml += '</ul></div>';
    if (LANGUAGE_STR == "big" || LANGUAGE_STR == "gb")
    {
        CalendarHtml += '<ul class="ld_w clear">'
                                    + '<li>日</li>'
                                    + '<li>一</li>'
                                    + '<li>二</li>'
                                    + '<li>三</li>'
                                    + '<li>四</li>'
                                    + '<li>五</li>'
                                    + '<li>六</li>'
                                + '</ul>';
    }
    else
    {
        CalendarHtml += '<ul class="ld_w clear">'
                                    + '<li>S</li>'
                                    + '<li>M</li>'
                                    + '<li>T</li>'
                                    + '<li>W</li>'
                                    + '<li>T</li>'
                                    + '<li>F</li>'
                                    + '<li>S</li>'
                                + '</ul>';
    }
    CalendarHtml += '<div id="CalendarContent"></div>';
    document.getElementById("calendar").innerHTML = CalendarHtml;
    setToDay();
}

function GetDayInMonth(iYear, iMonth)
{
    var getCalendar = new Date(iYear, iMonth, 0);
    return getCalendar.getDate();
}

function SetCalendar(iYear, iMonth)
{
    var getCalendar = new Date(iYear, iMonth-1, 1);
    var get_Day = getCalendar.getDay();
    var maxDate = GetDayInMonth(iYear, iMonth);
    var currentDate = 1;
    var i, row, col;
    var CalendarArray = new Array(6);
    CalendarArray[0] = new Array(7);
    CalendarArray[1] = new Array(7);
    CalendarArray[2] = new Array(7);
    CalendarArray[3] = new Array(7);
    CalendarArray[4] = new Array(7);
    CalendarArray[5] = new Array(7);
    for (i = get_Day;i < 7;i++)
    {
        CalendarArray[0][i] = currentDate;
        currentDate++;
    }

    for (row = 1;row < 6;row++)
    {
        for (col = 0;col < 7;col++)
            if (currentDate <= maxDate)
            {
                CalendarArray[row][col] = currentDate;
                currentDate++;
                tb_rows = row;
            }
    }
    return CalendarArray;
}

function BuilderCalendarHtml(iYear, iMonth, iDate)
{
    var CalendarHtml = '<ul class="ld_d clear">';
    var getCalendar = SetCalendar(iYear, iMonth);
    var row, col;
    for (row = 0;row < tb_rows+1; row++)
    {
        for (col = 0;col < 7;col++)
        {
            var gDate = getCalendar[row][col];
            if (!isNaN(gDate))
            {
                if (iDate == gDate)
                {
                    document.getElementById("currdate2").innerHTML = document.getElementById("currdate").innerHTML = DATEFORMAT.replace("y", iYear).replace("m", iMonth).replace("d", iDate);
                }
                CalendarHtml += '<li' + (iDate == gDate ? ' class="ld_d_sel"' : ((iYear + '' +FormatNum(iMonth) + '' +FormatNum(gDate)) == today ? ' class="ld_d_td"' : '')) + '>';
                if (typeof(hvD[iYear+ '' + FormatNum(iMonth)]) != "undefined" && hvD[iYear +'' +FormatNum(iMonth)].indexOf('|' + gDate + '|') != -1)
                    CalendarHtml += '<a href="' + location.pathname + '?ord=' + Request("ord") + '&date=' + iYear + '' +FormatNum(iMonth) + '' +FormatNum(gDate) + '&pk=' + Request("pk") + '" target="_top">' + FormatNum(gDate) + '</a>';
                else
                    CalendarHtml += FormatNum(gDate);
                CalendarHtml += '</li>';
            }
            else
            {
                CalendarHtml += '<li>&nbsp;</li>';
            }
        }
    }
    CalendarHtml += '</ul>';
    document.getElementById("CalendarContent").innerHTML = CalendarHtml;
}

function setToDay()
{
    if (typeof(today) != "undefined")
    {
        moveToDay(today.substr(0,4), today.substr(4,2), today.substr(6.2));
    }
    else
    {
        var toDay = new Date();
        document.getElementById("sel_yearV").innerHTML = toDay.getFullYear();
        document.getElementById("sel_monthV").innerHTML = toDay.getMonth()+1;
        BuilderCalendarHtml(document.getElementById("sel_yearV").innerHTML, document.getElementById("sel_monthV").innerHTML, toDay.getDate());
    }
}

function moveToDay(iYear, iMonth, iDate)
{
    document.getElementById("sel_yearV").innerHTML = iYear;
    document.getElementById("sel_monthV").innerHTML = iMonth;
    BuilderCalendarHtml(iYear, iMonth, iDate);
}    

function FormatNum(v)
{
    if (v.toString().length == 1)
        return '0' + v;
    else
        return v;
}
