function dualNumber(source) {
    var days = new Array('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31');
    return days[source];
}

function soulNumber(source) {
    var soulNumber = String(source);
    if(soulNumber.substr(0, 1) == "0") { return soulNumber.substr(1, 1); }
    else { return source; }
}

function ChangeA(element, link, content, color) {
    var obj = document.getElementById('calendar').getElementsByTagName('a');
    obj[element].href = link;
    obj[element].innerHTML = content;
//    obj[element].textContent = content;
    obj[element].style.backgroundColor = color;
}

function ViewYear(element, content) {
    var obj = document.getElementById('calendar').getElementsByTagName('span');
    obj[element].innerHTML = content;
}

function SetWeek(element, content, color) {
    var obj = document.getElementById('calendar').getElementsByTagName('a');
    obj[element].innerHTML = content;
    obj[element].style.backgroundColor = color;
}

function SimpleCalendar(day, change_month) {
    var days_of_month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var month_of_year = new Array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
    var day_of_weekDay = new Array('Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб');
    var mono_day = new Array('&nbsp;1', '&nbsp;2', '&nbsp;3', '&nbsp;4', '&nbsp;5', '&nbsp;6', '&nbsp;7', '&nbsp;8', '&nbsp;9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31');
    var offset = 2+7+7; // смещение от (строки с годом и месяцем + строка с днями недели)

    month = month + Number(change_month);
    if(month == 12) { year = year + 1; month = 0; } else if(month == -1) { year = year - 1; month = 11; }
    //alert(year+':'+month);
    today = new Date();
    //if(year > today.getFullYear()) return false;
    //if(year < 2008) return false; //2008 - наименьший год опубликования статьи
    today.setFullYear(year);
    today.setMonth(month);
    today.setDate(1);
    var days = days_of_month[month];
    var weekDay = Number(today.getDay());
    if(year%4 == 0 && month == 1) days = 29;
    ViewYear('0', String(year)+' '+month_of_year[month]);

    for(var i=0; i<14; i++) {
        var color = 'white';
        if(i%7 == 0) color = '#f5ada5'; //'#DE9899';
        SetWeek((i+2), day_of_weekDay[i], color);
    }

    for(i=0; i<=36; i++) { ChangeA((i+offset), '#', '&nbsp;&nbsp;', ''); } // (...., 'white') <-- Цвет фона. Этой строкой очищаются ячейки таблицы.
    for(i=0; i<days; i++) {
             var gday = dualNumber(i+1);
             var gmonth = dualNumber(month+1);
             //ChangeA((i+weekDay+offset), "main.php?date="+year+"-"+gmonth+"-"+gday+"&tags="+tag, mono_day[i], null);
             ChangeA((i+weekDay+offset), root+year+"-"+gmonth+"-"+gday+"/"+tag, mono_day[i], ''); // mod_rewrite
    }
    if(day != 0) { ChangeA((Number(day)+weekDay+offset-1), '#', mono_day[Number(day)-1], '#b2c4e8'); }
}

    var DateString = new String(date); //переменная date передается из php программы
    var split = DateString.split("-");
    var year = Number(split[0]);
    var month = (Number(soulNumber(split[1]))-1);
    SimpleCalendar(soulNumber(split[2]), '0');

