//var args = window.dialogArguments;
var WeekTitles=new Array('M','Tu','W','Th','F','Sa','Su')
function showallweektitles()
    {
    var i, answer="  <tr>\n"
    for(i=0;i<WeekTitles.length;i++) answer+="    <th  class=\"calendarth\">"+WeekTitles[i]+"</th>\n"
    answer+="  </tr>\n"
    return answer
    }
function calendar_show(m, d, y,calendar,param)
    {
    var sdate= new Date(m+'/1/'+y);
    var mdate= new Date(m+'/'+d+'/'+y);
    var todaydate= new Date();
    var days=dayonmonth(m,y)
    var iday=0, day, answer=''
    var month_of_year = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
    if(d.toString().length==1)
        d='0'+d;
    if(m.toString().length==1)
        m='0'+m;
    answer+='<div style=\"position:absolute; background-color:#FCFCFC;\"><table border=0 width="200">'
    answer+='  <tr>'
    answer+='      <th colspan=7 style="border: 1px dotted #000000;">'
    answer+='        <table width="100%" border=0 cellpadding=0 cellspacing=0 height="100%">'
    answer+='              <tr>'
    answer+='                <td width="33%"><table onClick="calendar_move(\'-\',\'y\','+m+','+d+','+y+',\''+calendar+'\',\''+param+'\');" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td class="calendar" style="cursor: pointer; text-align: center;"><<</td></tr></table></td>'
    answer+='                <td align="center" width="33%" class="calendar">'+y+'</td>'
    answer+='               <td width="33%"><table onClick="calendar_move(\'+\',\'y\','+m+','+d+','+y+',\''+calendar+'\',\''+param+'\')" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td class="calendar" style="cursor: pointer; text-align: center;">>></td></tr></table></td>'
    answer+='              </tr>'
    answer+='        </table>'
    answer+='    </th>'                                                                 
    answer+='  </tr>'
    answer+='  <tr>'
    answer+='      <th colspan=7 style="border: 1px dotted #000000;">'    
    answer+='       <table border=0 cellpadding=0 cellspacing=0 width="100%" height="100%">'
    answer+='           <tr>'
    answer+='               <td width="33%"><table border="0" onClick="calendar_move(\'-\',\'m\','+m+','+d+','+y+',\''+calendar+'\',\''+param+'\')" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td class="calendar" style="cursor: pointer; text-align: center;"><</td></tr></table></td>'
    answer+='               <td width="33%" align="center" class="calendar">'+month_of_year[m-1]+'</td>'
    answer+='               <td width="33%"><table border="0" onClick="calendar_move(\'+\',\'m\','+m+','+d+','+y+',\''+calendar+'\',\''+param+'\')" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td class="calendar" style="cursor: pointer; text-align: center;">></td></tr></table></td>'
    answer+='           </tr>'
    answer+='       </table>' 
    answer+='    </th>'
    answer+='  </tr>'
    answer+='  <tr>'
    answer+=showallweektitles()
    for(day=0;day<((sdate.getDay()+6)%7);day++)
        {
        iday++
        answer+="    <td></td>"
        }
    for(day=1;day<=days;day++)
        {
        var tmp=day;
        if(day.toString().length==1)
            day='0'+day;
        iday++;
        if((todaydate.getMonth()+1)==m && todaydate.getDate()==day && todaydate.getFullYear()==y)
            answer+="    <td onClick=\"document.getElementsByName('"+param+"')[0].value='"+day+"."+m+"."+y+"';document.getElementsByName('"+param+"2')[0].value='"+day+"."+m+"."+y+"';document.getElementById('"+calendar+"').innerHTML='';\" style=\"border: 1px dotted #000000; cursor: pointer;\"><table border=0 cellpadding=0 cellspacing=0 width=\"100%\" height=\"100%\"><tr><td align=\"center\" class=\"calendar\"><b>"+day+"</b></td></tr></table></td>"
        else
            answer+="    <td onClick=\"document.getElementsByName('"+param+"')[0].value='"+day+"."+m+"."+y+"';document.getElementsByName('"+param+"2')[0].value='"+day+"."+m+"."+y+"';document.getElementById('"+calendar+"').innerHTML='';\" style=\"border: 1px dotted #000000; cursor: pointer;\"><table border=0 cellpadding=0 cellspacing=0 width=\"100%\" height=\"100%\"><tr><td align=\"center\" class=\"calendar\">"+day+"</td></tr></table></td>"
        if(iday==7)
            {
            answer+="</tr><tr>"
            iday=0
            }
        day=tmp;
        }
    answer+="  </tr>"
    answer+='</table></div>'
    //self.calendar.innerHTML=answer
    document.getElementById(calendar).innerHTML=answer;
    }
function dayonmonth(m, y)
    { // Функция, для определения количества дней в месяце
    var answer
    if(m!=2)
        { // Если не "Февраль"
        var date1=new Date(m+'/31/'+y)
        var mm=(m<12)?(m+1):1;
        var yy=(m<12)?y:(y+1);
        var date2=new Date(mm+'/1/'+yy)
        answer=(date1.getDay()==date2.getDay())?'30':'31';
        }
    else
        {
        var date1=new Date(m+'/29/'+y)
        var mm=(m<12)?(m+1):1;
        var yy=(m<12)?y:(y+1);
        var date2=new Date(mm+'/1/'+yy)
        answer=(date1.getDay()==date2.getDay())?'28':'29';
        }
    return answer
    }
function calendar_move(to, index, m, d, y,calendar,param)
    {
    switch(to)
        {
        case('-'):
            switch(index)
                {
                case('m'):
                    if(m>1)
                        {
                        m--
                        }
                    else
                        {
                        m=12
                        y--
                        }
                    break
                case('d'):
                    var mm=(m>1)?--m:1
                    var yy=(m>1)?y:--y
                    var days=dayonmonth(mm, yy)
                    if(d>1)
                        {
                        d--
                        }
                    else
                        {
                        d=days
                        m=mm
                        y=yy
                        }
                    break
                case('y'):
                    y--
                    break
                }
            break
        case('+'):
            switch(index)
                {
                case('m'):
                    if(m<12)
                        {
                        m++
                        }
                    else
                        {
                        m=1
                        y++
                        }
                    
                    break
                case('d'):
                    var mm=(m<12)?++m:1
                    var yy=(m<12)?y:++y
                    var days=dayonmonth(m, y)
                    if(d<days)
                        {
                        d++
                        }
                    else
                        {
                        d=1
                        m=mm
                        y=yy
                        }

                    break
                case('y'):
                    y++
                    break
                }
            break
        }
    calendar_show(m, d, y, calendar, param)
    }