Îðãàíàéçåð

 


<SCRIPT LANGUAGE="JavaScript">
<!--
// Alex Alexandrov wrote:
// This scrpt was taken from a book called "Learn Advanced Java Script" Chapter 14.
// The guys who wrote that book wanted us to leave a copyright. So here it goes:
//      THIS SCRPIT IS COPYRIGHTED//
//      Be AWARE TO PUT IT ON YOUR PAGE//
// Boolean variable specified if alert should be displayed if cookie exceeds 4KB
var caution = false
// name - name of the cookie
// value - value of the cookie
// [expires] - expiration date of the cookie (defaults to end of current session)
// [path] - path for which the cookie is valid (defaults to path of calling document)
// [domain] - domain for which the cookie is valid (defaults to domain of calling document)
// [secure] - Boolean value indicating if the cookie transmission requires a secure transmission
// * an argument defaults when it is assigned null as a placeholder
// * a null placeholder is not required for trailing omitted arguments
function setCookie(name, value, expires, path, domain, secure) {
        var curCookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + expires.toGMTString() : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "")
        if (!caution || (name + "=" + escape(value)).length <= 4000)
                document.cookie = curCookie
        else
                if (confirm("Cookie ïðåâûøàåò 4KB è áóäåò âûðåçàí !"))
                        document.cookie = curCookie
}

// name - name of the desired cookie
// * return string containing value of specified cookie or null if cookie does not exist
function getCookie(name) {
        var prefix = name + "="
        var cookieStartIndex = document.cookie.indexOf(prefix)
        if (cookieStartIndex == -1)
                return null
        var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
        if (cookieEndIndex == -1)
                cookieEndIndex = document.cookie.length
        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}

// name - name of the cookie
// [path] - path of the cookie (must be same as path used to create cookie)
// [domain] - domain of the cookie (must be same as domain used to create cookie)
// * path and domain default if assigned null or omitted if no explicit argument proceeds
function deleteCookie(name, path, domain) {
        if (getCookie(name)) {
                document.cookie = name + "=" +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT"
        }
}

function fixDate(date) {
        var base = new Date(0)
        var skew = base.getTime()
        if (skew > 0)
                date.setTime(date.getTime() - skew)
}

function initCookie(monthName) {
        // initializes cookie with the following format:
        // ^1^^2^^3^^4^...^30^^31^

        // initialize accumulative variable
        var text = ""
        for (var i = 1; i <= 31; ++i)
{ text+=






       "^" + i + "^" }
var now =








    new Date() fixDate(now) //
        set time  to one month(31 days) in the
                future now.setTime(now.getTime() + 1000* 60 * 60 * 24
                * 31) setCookie(monthName +"Calendar", text, now) } function getSpecificReminder(num,
                monthName) { var prefix=

             "^"+ num + "^" var
                totalCookie =

                    getCookie(monthName + "Calendar") var
                        startIndex =




 totalCookie.indexOf(prefix, 0)
        var startData =  totalCookie.indexOf("^", startIndex+
        1) +  1
        if (num =

          =
         31)  var
                endData =









                totalCookie.length  else var endData=
                 totalCookie.indexOf("^", startData) returntotalCookie.substring(startData, endData) } function setSpecificReminder(num, monthName,
                newValue) { var prefix= "^" + num + "^"
                var totalCookie=



getCookie(monthName + "Calendar")
        var startIndex =
         totalCookie.indexOf(prefix,  0)
        var startData =





        totalCookie.indexOf("^", startIndex

        + 1) + 1
                if (num =
           = 31) var endData=  totalCookie.length else
                var endData=     totalCookie.indexOf("^",
        startData)

        var now =








   new
        Date() fixDate(now)  // set time to one
        month (31  days) in the
        future now.setTime(now.getTime()  + 1000
        * 60  * 60 * 24 * 31)
        setCookie(monthName +  "Calendar",
                totalCookie.substring(0, startData)  +
        newValue
                + totalCookie.substring(endData,  totalCookie.length), now)}

        function getInput(num, monthName)
{

if (!getCookie(monthName + "Calendar")) initCookie(monthName)
        var newValue =     prompt("Ââåäèòå
        çàïèñü ñîîòâåòñòâóþùåé  äàííîé äàòå:", getSpecificReminder(num,
        monthName)) if  (newValue) //
        user did  not cancel setSpecificReminder(num, monthName, newValue) }
                function getTime()  {
                // initialize  time-related
        variables
                with current  time settings
        var now =









           new
                Date()
        var hour =





               now.getHours()
        var minute =
        now.getMinutes() now =
         null  var
        ampm =
         ""  //

        validate hour values and        set value of ampm if
        (hour > = 12) {
                hour -= 12
                ampm = "PM"
        } else
                ampm = "AM"
        hour = (hour == 0) ? 12 : hour

        // add zero digit to a one digit minute
        if (minute < 10)
                minute = "0" + minute // do not parse this number!

        // return time string
        return hour + ":" + minute + " " + ampm
}

function leapYear(year) {
        if (year % 4 == 0) // basic rule
                return true // is leap year
        return false // is not leap year
}

function getDays(month, year) {
        // create array to hold number of days in each month
        var ar = new Array(12)
        ar[0] = 31 // January
        ar[1] = (leapYear(year)) ? 29 : 28 // February
        ar[2] = 31 // March
        ar[3] = 30 // April
        ar[4] = 31 // May
        ar[5] = 30 // June
        ar[6] = 31 // July
        ar[7] = 31 // August
        ar[8] = 30 // September
        ar[9] = 31 // October
        ar[10] = 30 // November
        ar[11] = 31 // December

        // return number of days in the specified month (parameter)
        return ar[month]
}

function getMonthName(month) {
        // create array to hold name of each month
        var ar = new Array(12)
        ar[0] = "ßÍÂÀÐÜ"
        ar[1] = "ÔÅÂÐÀËÜ"
        ar[2] = "ÌÀÐÒ"
        ar[3] = "ÀÏÐÅËÜ"
        ar[4] = "ÌÀÉ"
        ar[5] = "ÈÞÍÜ"
        ar[6] = "ÈÞËÜ"
        ar[7] = "ÀÂÃÓÑÒ"
        ar[8] = "ÑÅÍÒßÁÐÜ"
        ar[9] = "ÎÊÒßÁÐÜ"
        ar[10] = "ÍÎßÁÐÜ"
        ar[11] = "ÄÅÊÀÁÐÜ"

        // return name of specified month (parameter)
        return ar[month]
}

function setCal() {
        // standard time attributes
        var now = new Date()
        var year = now.getYear()
        var month = now.getMonth()
        var monthName = getMonthName(month)
        var date = now.getDate()
        now = null

        // create instance of first day of month, and extract the day on which it occurs
        var firstDayInstance = new Date(year, month, 1)
        var firstDay = firstDayInstance.getDay()
        firstDayInstance = null

        // number of days in current month
        var days = getDays(month, year)

        // call function to draw calendar
        drawCal(firstDay + 1, days, date, monthName, 1900 + year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
        // constant table settings
        var headerHeight = 35 // height of the table's header cell
        var border = 0 // 3D height of table's border
        var cellspacing = 0 // width of table's border
        var headerColor = "00008b" // color of table's header
        var headerSize = "+2" // size of tables header font
        var colWidth = 45 // width of columns in table
        var dayCellHeight = 15 // height of cells containing days of the week
        var dayColor = "000000" // color of font representing week days
        var cellHeight = 25 // height of cells representing dates in the calendar
        var todayColor = "red" // color specifying today's date in the calendar
        var timeColor = "purple" // color of font representing current time
        var dayCellcolor="87ceda"
        var monthColor="6485ed"

        // create basic table structure
        var text = "" // initialize accumulative variable to empty string
        text += '<CENTER>'
        text += '<TABLE BORDER=' + border + ' CELLSPACING= ' + cellspacing +'>' // table settings
        text +=         '<TH COLSPAN=7 HEIGHT=' + headerHeight + ' BGCOLOR= '+ monthColor+'>' // create table header cell
        text +=                 '<FONT COLOR="' + headerColor + '" SIZE= ' + headerSize +'>' // set font for table header
        text +=                         monthName + ' ' + year
        text +=                 '</FONT>' // close table header's font settings
        text +=         '</TH>' // close header cell

        // variables to hold constant settings
        var openCol = '<TD align=right WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + ' BGCOLOR= '+ dayCellcolor+'>'
        openCol += '<FONT SIZE=-1 COLOR=  "' + dayColor+
        '">' var  closeCol='</FONT></TD>'

        // create array of abbreviated day names
        var weekDay = new Array(7)
        weekDay[0] = "Âñ"
        weekDay[1] = "Ïí"
        weekDay[2] = "Âò"
        weekDay[3] = "Ñð"
        weekDay[4] = "×ò"
        weekDay[5] = "Ïò"
        weekDay[6] = "Ñá"

        // create first row of table to set column width and specify week day
        text += '<TR ALIGN= "center"VALIGN="center">'
        for (var dayNum = 0; dayNum < 7; ++dayNum) {
                text += openCol + weekDay[dayNum] + closeCol
        }
        text += '</TR>'

        // declaration and initialization of two variables to help with tables
        var digit = 1
        var curCell = 1

        for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
                text += '<TR ALIGN= "right"VALIGN="top">'
                for (var col = 1; col <= 7; ++col) {
                        if (digit  >
                                lastDate)
                                break if (curCell < firstDay)
                                { text +='<TD></TD>';
                                curCell++
                        } else {
                                if (digit == date) { // current cell represent today's date
                                        text += '<TD HEIGHT= ' + cellHeight + 'BGCOLOR="#00FFFF">'
                                        text += '<FONT COLOR= "' + todayColor +'">'
                                        text += '<A HREF="javascript:getInput(' + digit + ', \'' + monthName + '\')" onMouseOver="window.status =  \'Çàïèñàòü èëè ïðî÷åñòü çàïèñü çà ' + monthName + ' ' + digit + '\'; returntrue">
<FONT SIZE=-1 COLOR=   "' +todayColor + '">' + digit+'</FONT></A>'
                                        text += '<BR>'
                                        text += '<FONT COLOR= "' + timeColor + '"SIZE=
                                        2>' text += '<CENTER>' + getTime() +'</CENTER>'
                                        text += '</FONT>'
                                        text += '</TD>'
                                } else
                                        text += '<TD HEIGHT= ' + cellHeight + 'BGCOLOR= "#C0C0C0"><FONTSIZE=-1><A HREF="javascript:getInput(' + digit + ', \'' + monthName + '\')" onMouseOver="window.status =     \'
Çàïèñàòü èëè ïðî÷åñòü çàïèñü çà ' + monthName + ' ' + digit+ '\'; return true">' +digit+'</A></FONT></TD>'
                                digit++
                        }
                }
                text += '</TR>'
        }

        // close all basic table tags
        text += '</TABLE>'
        text += '</CENTER>'

        // print accumulative HTML string
        document.write(text)
}

setCal()

// -->


Comments: info@citmgu.ru
Copyright © CIT