/*var events = new Array();
var event_time = new Array();
var event_count_padeg = new Array();
var days_of_week;
var months_of_year;
var day_showed = 0;
var when;

function InitializeCalendar()
{



    days_of_week = Array("пн","вт","ср",
    "чт","пт","<span class=\"weekday\">сб</span>","<span class=\"weekday\">нд</span>");
  
  
    months_of_year = Array("січень","лютий","березень","квітень","травень","червень","липень",
    "серпень","вересень","жовтень","листопад","грудень");

    months_of_year_padeg = Array("січня","лютого","березня","квітня","травня","червня","липня",
    "серпня","вересня","жовтня","листопада","грудня");

    event_time["past"] = "Події, що відбувалися";
    event_time["today"] = "Події, що відбуваються";
    event_time["future"] = "Події, що відбуватимуться";

    event_count_padeg["one"] = "подія";
    event_count_padeg["two"] = "події";
    event_count_padeg["five"] = "подій";
}*/

function CreateCalendar(elementid, month,year)
{
    if (month != 0)
    {
        if (month > 12)
        {
            month = 0;
            year++;
        }
        else if (month < 0)
        {
            month = 11;
            year--;
        }
    }

    // 

    
    // 
    var g_date = new Date();
    var cur_date = new Date();
	
    // today possible only in current month
	if((g_date.getMonth() == month && g_date.getFullYear() == year) || month==null)
    var today = g_date.getDate(); 

    if (month != null)
    {
        g_date = new Date(year, month, 1);
    }
    
    //       
    var febdays = 28;
    if (g_date.getFullYear() % 4 == 0 && g_date.getFullYear() % 100 != 0 && g_date.getFullYear() % 400 == 0)
    {
        febdays = 29;
    }
    
    //     
    var max_days_of_month = Array("31",febdays ,"31","30","31","30","31","31","30","31","30","31");
    
    //     
    var max_days_current = max_days_of_month[g_date.getMonth()];
    

   
    //  
    var curmonth = g_date.getMonth()+1;
    var curyear = g_date.getFullYear();
    if (curmonth.toString().length != 2 ) { curmonth = "0" + curmonth; }; 

    //  
    var first_day_of_month = new Date(g_date.getFullYear(),g_date.getMonth(), 1).getDay();
    first_day_of_month += 6; if (first_day_of_month > 6) first_day_of_month %= 7;
    
    /*   */

    var element = document.getElementById(elementid);
    
    //  
    var calendar = "<div id=\"calendar-outer\">";
    
    // 
    calendar += "<table id=\"calendar-inner\">";
    
    // 
    calendar += "<tr class=\"hat\">";
    
    calendar += "<td class=\"hat-cell\" colspan=\"7\"><table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr>";
    
    calendar += "<td><span onclick=\"CreateCalendar('" + elementid + "'," + (g_date.getMonth() - 1) + "," + g_date.getFullYear() + ");\" class=\"arrow\">&lt;</span></td>";
    
    calendar += "<td width=\"100%\"><span class=\"cur-month\">" + months_of_year[g_date.getMonth()] + "</span>";
    
    calendar += "&nbsp;&nbsp;<span class=\"cur-year\">" + g_date.getFullYear() + "</span></td>";
    
    calendar += "<td><span onclick=\"CreateCalendar('" + elementid + "'," + (g_date.getMonth() + 1) + "," + g_date.getFullYear() + ");\" class=\"arrow\">&gt;</span></td>";
    
    calendar += "</tr></table></td>";
    
    calendar += "</tr>";
    
    // 
    calendar += "<tr>";
    
    for (var i = 0; i < days_of_week.length; i++)
    {
        calendar += "<th>" + days_of_week[i] + "</th>";
    }
    
    calendar += "</tr><tr class=\"dayslist\">";
    
    // 
    var day = 1;
    
    var number_of_cells = parseInt(max_days_current) + parseInt(first_day_of_month) + 7 - (((parseInt(max_days_current) + parseInt(first_day_of_month))%7)?((parseInt(max_days_current) + parseInt(first_day_of_month))%7):(7));
    for (var i = 1; i <= number_of_cells; i++)
    {
    
        //draw a week line ,   
        if (i % 7 == 1 && i != 1)
        calendar += "</tr><tr class=\"dayslist\">";
        
        //     
        var currentclass = "day";
        var currentaction = "";
        
        //   - 
        if (i % 7 == 6 || i % 7 == 0)
        currentclass = "day weekday";
        
        //   - 
        if (day == today)
        currentclass += " today";
        
        //   -  
        if (events[day + "." + curmonth + "." + curyear] != null)
        {            
            if(cur_date.getDate()>day)
            when = "past";
            else if(cur_date.getDate()<day)
            when = "future";
            else
            when = "today";
            currentclass += " event";
            currentaction = "onmousemove=\"ShowTip('" + event_time[when] + "<span class=event-data> " +  day + "&nbsp;" + months_of_year_padeg[g_date.getMonth()] + ":</span><br/>" + events[day + "." + curmonth + "." + curyear] + "',event,"+day+")\"";
            currentaction += "onClick=\"SetCurDay(" +day +");ShowTip('" + event_time[when] + "<span class=event-data> " +  day + "&nbsp;" + months_of_year_padeg[g_date.getMonth()] + ":</span><br/>" + events[day + "." + curmonth + "." + curyear] + "',event,"+day+")\"";
            currentaction += "onmouseout=\"HideTip()\"";
        }

        if (events["0" + day + "." + curmonth + "." + curyear] != null)
        {            
            if(cur_date.getDate()>day)
            when = "past";
            else if(cur_date.getDate()<day)
            when = "future";
            else
            when = "today";
            currentclass += " event";
            currentaction = "onmousemove=\"ShowTip('" + event_time[when] + "<span class=event-data> 0" +  day + "&nbsp;" + months_of_year_padeg[g_date.getMonth()] + ":</span><br/>" + events["0" + day + "." + curmonth + "." + curyear] + "',event,"+day+")\"";
            currentaction += "onClick=\"SetCurDay(" +day +");ShowTip('" + event_time[when] + "<span class=event-data> 0" +  day + "&nbsp;" + months_of_year_padeg[g_date.getMonth()] + ":</span><br/>" + events["0" + day + "." + curmonth + "." + curyear] + "',event,"+day+")\"";
            currentaction += "onmouseout=\"HideTip()\"";
        }


        
        if (i > first_day_of_month && day <= max_days_current)
        {
           if(events[day + "." + curmonth + "." + curyear + "count"])
            {
            var str_day_events = (events[day + "." + curmonth + "." + curyear + "count"]).toString();
            var padeg;
            switch(str_day_events.charAt(str_day_events.lenght-1))
            {
            case "1" :
            padeg="one";
            break;
            case "2" :
            padeg="two";
            break;
            case "3" :
            padeg="two";
            break;
            case "4" :
            padeg="two";
            break;
            default :
            padeg="five";
            break;
            }
            calendar += "<td " + currentaction + " class=\"" + currentclass + "\"><b>" + day + "</b><br />(" + events[day + "." + curmonth + "." + curyear + "count"] +" "+ event_count_padeg[padeg] + ")</td>";
            }
           else
            if(events["0" + day + "." + curmonth + "." + curyear + "count"])
            {
            var str_day_events = (events["0" + day + "." + curmonth + "." + curyear + "count"]).toString();
            var padeg;
            switch(str_day_events.charAt(str_day_events.lenght-1))
            {
            case "1" :
            padeg="one";
            break;
            case "2" :
            padeg="two";
            break;
            case "3" :
            padeg="two";
            break;
            case "4" :
            padeg="two";
            break;
            default :
            padeg="five";
            break;
            }
            calendar += "<td " + currentaction + " class=\"" + currentclass + "\"><b>" + day + "</b><br />(" + events["0" + day + "." + curmonth + "." + curyear + "count"] +" "+ event_count_padeg[padeg] + ")</td>";
            }
           else
            calendar += "<td " + currentaction + " class=\"" + currentclass + "\">" + day +"</td>";
           day++;
        }
        else
        {
            calendar += "<td class=\"" + currentclass + "\">&nbsp;</td>";
        }

    }
    
    calendar += "</table>";
    // 
    
    //  
    calendar += "</div>";
    element.innerHTML = calendar;
}

function SetCurDay(hold_day)
{
if(day_showed==hold_day)
day_showed=0;
else
day_showed=hold_day;
}

function ShowTip(txt, ev, hold_day)
{
    if(day_showed==0 || day_showed == hold_day)
    {
    document.getElementById("tooltip").style.display = "block";
    document.getElementById("tooltip").innerHTML = txt;
    document.getElementById("tooltip").style.top = ev.clientY+10;
    document.getElementById("tooltip").style.left = ev.clientX+10;
    //document.getElementById("blue_border").style.height = document.getElementById("blue_border").style.height + document.getElementById("tooltip").style.height;
    }
}

function HideTip()
{
    if(day_showed==0)
    {
    document.getElementById("tooltip").style.display = "none";
    document.getElementById("tooltip").innerHTML = "";
    }
} 

