Показать сообщение отдельно
  #1 (permalink)  
Старый 20.06.2010, 16:42
Новичок на форуме
Отправить личное сообщение для FoMurJIom Посмотреть профиль Найти все сообщения от FoMurJIom
 
Регистрация: 20.06.2010
Сообщений: 2

Помогите разобраться с календарем
Ладно перефразирую я хочу разместить календарь к себе на сайт как вот здесь
Скирпт есть вот он:
/**************************************************
*   Формирование календаря.
*   Параметры:
*       redWeekN - первая красная неделя в году
*       servDate - текущая дата (с сервера)
*       
**************************************************/
function calendar(redWeekN, servDate)
{
    //текущие:
    var today = new Date();
    var nowDay = today.getDay();    //день недели
    var nowDate = today.getDate();  //день месяца;
    var nowMonth = today.getMonth();  //месяц
    var nowYear = today.getFullYear();  //год
    var dayCount = 1; //количество дней в месяце
    var nowMonthText;  //текстовый вариант месяца
    var maxDayCount = 30;
    switch (nowMonth)
    {
        case 0: case 2: case 4: case 6: case 7: case 9: case 11: maxDayCount = 31; break;
        case 1: maxDayCount = (isLeapYear(nowYear) ? 29 : 28); break;
    }; 
    num = 0;
    week = new Array(6 * 7);
    //1. Первая неделя
    for(i = 0; i<7; i++) 
    {
        //вычисляем номер дня недели для числа
        var someday = new Date(nowYear, nowMonth, dayCount);
        var dayofweek = someday.getDay();
        //сдвигаем начало американской недели на понедельник
        dayofweek = dayofweek - 1;
        if(dayofweek == -1) dayofweek = 6;
        if(dayofweek == i)
        {
            //если дни недели совпадают, заполняем массив week числами месяца
            week[i + num * 7] = dayCount;
            dayCount++;
        }
        else
        {
            week[i + num * 7] = '';
        }
    };
//2. Последующие недели месяца
    while(true)
    {
        num++;
        for(i = 0; i < 7; i++)
        {
            week[i + num * 7] = dayCount;
            dayCount++;
            //если достигли конца месяца, выходим из цикла
            if(dayCount > maxDayCount) break;
        };
        //если достигли конца месяца, выходим из цикла
        if(dayCount > maxDayCount) break;
    };
    //прописываем русские названия месяца
    switch(nowMonth)
    {
        case 0: nowMonthText = 'январь'; break;
        case 1: nowMonthText = 'февраль'; break;
        case 2: nowMonthText = 'март'; break;
        case 3: nowMonthText = 'апрель'; break;
        case 4: nowMonthText = 'май'; break;
        case 5: nowMonthText = 'июнь'; break;
        case 6: nowMonthText = 'июль'; break;
        case 7: nowMonthText = 'август'; break;
        case 8: nowMonthText = 'сентябрь'; break;
        case 9: nowMonthText = 'октябрь'; break;
        case 10: nowMonthText = 'ноябрь'; break;
        case 11: nowMonthText = 'декабрь'; break;
    };
    //выводим все на экран
    document.getElementById('nowMonthYear').innerHTML = nowMonthText + ' ' + nowYear;
    document.getElementById('calendar').innerHTML = '<TR class="day"><TD>ПН</TD><TD>ВТ</TD><TD>СР</TD><TD>ЧТ</TD><TD>ПТ</TD><TD>СБ</TD><TD>ВС</TD></TR>';   
    allWeeks = '';      
    for (i = 0; i < 6; i++)
    {
        buf = '';
        for(j = 0; j < 7; j++)
        {
            if(week[j + i * 7])
            {
                if(week[j + i * 7] != nowDate)
                {
                    b = '<TD>' + week[j + i * 7] + '</TD>';
                }
                else
                {
                    b = '<TD id="curdate">' + week[j + i * 7] + '</TD>';
                }
            }
            else
            {
                b = '<TD>&nbsp;</TD>';
            };
            buf = buf + b;
        };
        oneWeek = '<TR class="dateBlue">' + buf + '</TR>';
        allWeeks = allWeeks + oneWeek;
    };
    document.getElementById('calendar').innerHTML += allWeeks;
}
/**************************************************
*   Определение високосности года.
*   Параметры:
*       y - год
*       
**************************************************/
function isLeapYear(y)
{
    return(y % 4 == 0 && (y % 100 != 0 || y % 400 == 0));
}


так же есть css файл со стилем к этому календарю
.calendar {
    text-align: left;
    border-left: 0px solid #9DA2A6;
    margin: 0px 0px 5px 0px;
    font-size: 10pt;
}

.calendar td {
    padding: 1px 3px;
    margin: 0px;
}

tr.day {
    border-left: 1px solid #9DA2A6;
}

tr.day td {
    text-align: center;
    border: 1px solid #9DA2A6;
    color: #000000;
    background: #EDEEF0;
}

.dateRed {
    COLOR: #AF0000; 
}

.dateRed TD {
    border-width: 0px 1px 1px 0px;
    border-color: #EDEEF0;
    border-style: solid;
    text-align: center;
}

.dateBlue {
    COLOR: #3D6883;
}

.dateBlue TD {
    border-width: 0px 1px 1px 0px;
    border-color: #EDEEF0;
    border-style: solid;
    text-align: center;
}

.date  TD {
    border-width: 0px 1px 1px 0px;
    border-color: #EDEEF0;
    border-style: solid;
}

td.exc {
    border: 1px solid #EDEEF0;
    border-top: none;
    text-align: left;
}

#curdate {
    color: #ffffff;
    background: #9DA2A6;


Очень нужна помощь знающего человека!!! Как сделать так что бы был такой же календарь тут весь код который нужен или чего то не хватает подскажите пожалуйста!!!

Последний раз редактировалось FoMurJIom, 21.06.2010 в 16:52. Причина: Ни кто не помогает =)
Ответить с цитированием