Breaking News

Calendário com lembretes (agenda) - javascript -

O script abaixo faz uso de cookies
<html>
<body>
<head>
 

<!- começa aqui->
<script LANGUAGE="JavaScript">
<!--
function encode (str) {

  var dest = "";
  var len = str.length;
  var index = 0;
  var code = null;
  for (var i = 0; i < len; i++) {
    var ch = str.charAt(i);
    if (ch == " ") code = "%20";
    else if (ch == "%") code = "%25";
    else if (ch == ",") code = "%2C";
    else if (ch == ";") code = "%3B";
    else if (ch == "\b") code = "%08";
    else if (ch == "\t") code = "%09";
    else if (ch == "\n") code = "%0A";
    else if (ch == "\f") code = "%0C";
    else if (ch == "\r") code = "%0D";
    if (code != null) {
      dest += str.substring(index,i) + code;
      index = i + 1;
      code = null;
    }
  }
  if (index < len)
    dest += str.substring(index, len);
  return dest;
}
 

function decode (str) {
  var dest = "";
  var len = str.length;
  var index = 0;
  var code = null;
  var i = 0;
  while (i < len) {
    i = str.indexOf ("%", i);
    if (i == -1)
      break;
    if (index < i)
      dest += str.substring(index, i);
    code = str.substring (i+1,i+3);
    i += 3;
    index = i;
    if (code == "20") dest += " ";
    else if (code == "25") dest += "%";
    else if (code == "2C") dest += ",";
    else if (code == "3B") dest += ";";
    else if (code == "08") dest += "\b";
    else if (code == "09") dest += "\t";
    else if (code == "0A") dest += "\n";
    else if (code == "0C") dest += "\f";
    else if (code == "0D") dest += "\r";
    else {
      i -= 2;
      index -= 3;
    }
  }
  if (index < len)
    dest += str.substring(index, len);
  return dest;
}
 

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return decode(document.cookie.substring(offset, endstr));
}
 

function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}
 

function SetCookie (name, value, expires) {
  document.cookie = name + "=" + encode(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString()));
}
 

function DeleteCookie (name) {
  var exp = new Date();
  var cval = GetCookie (name);
  document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
 

function arrayOfDaysInMonths(isLeapYear)
{
   this[0] = 31;
   this[1] = 28;
   if (isLeapYear)
                this[1] = 29;
   this[2] = 31;
   this[3] = 30;
   this[4] = 31;
   this[5] = 30;
   this[6] = 31;
   this[7] = 31;
   this[8] = 30;
   this[9] = 31;
   this[10] = 30;
   this[11] = 31;
}
function daysInMonth(month, year)
{
 
 

   var isLeapYear = (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));
   var monthDays  = new arrayOfDaysInMonths(isLeapYear);
   return monthDays[month];
}
function calendar()
{
   var monthNames = "JanFevMarAbrMaiJunJulAgoSetOutNovDez";
   var today      = new Date();
   var day        = today.getDate();
   var month      = today.getMonth();
   var year       = today.getYear();
 

   var numDays    = daysInMonth(month, year+1);
   var firstDay   = today;
       firstDay.setDate(2);
   var startDay = firstDay.getDay();
   var column = 0;
   document.write("<CENTER>");
   document.write("<TABLE BORDER=0 bgcolor=#f8f8f8>");
   document.write("<TR><TH COLSPAN=7><Font face=verdana size=1>");
   document.write(monthNames.substring(3*month, 3*(month + 1)) + " " + year);
   document.write("<TR><TH><Font face=verdana size=1>Dom<TH><Font face=verdana size=1>Seg<TH><Font face=verdana size=1>Ter<TH><Font face=verdana size=1>Qua<TH><Font face=verdana size=1>Qui<TH><Font face=verdana size=1>Sex<TH><Font face=verdana size=1>Sab");
   document.write("<TR>");
   for (i=1; i < startDay; i++)
   {
      document.write("<TD><Font face=verdana size=1>");
      column++;
   }
   for (i=1; i <= numDays; i++)
   {
      var s = "" + i;
      if ((GetCookie("d"+i) != null))
        s = s.fontcolor("#FF0000");
      s = s.link("javascript:dayClick(" + i + ")")
          document.write("<TD>" + s);
      if (++column == 7)
      {
         document.write("<TR>");
         column = 0;
      }
   }
   document.write("</TABLE>");
   document.writeln("</CENTER>");
}
 

function dayClick(day)
{
        var expdate = new Date ();
            expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000));
        var prefix                = "d";
        var theCookieName         = prefix + day;
        var theDayclickedReminder = GetCookie(theCookieName);
    if (theDayclickedReminder != null) {
// seu alerta aqui
        alert("O lembrete para o dia " + day + " é:"  + theDayclickedReminder);
 

    }
// você coloca sua mensagem aqui
        if (confirm("Você deseja colocar um lembrete para o dia " + day + " deste mês?"))
        {
                x = prompt("Coloque seu lembrete para o dia "+ day + " deste mês", theDayclickedReminder);
        SetCookie (theCookieName, x, expdate);
    }
}
// -->
</SCRIPT>

<style>A:link {
 COLOR: #000000; TEXT-DECORATION: none
}
A:visited {
 COLOR: #000000; TEXT-DECORATION: none
}
A:active {
 COLOR: #000000; TEXT-DECORATION: none
}
A:hover {
 COLOR: #000000; TEXT-DECORATION: underline
}
</STYLE>
</head>

<script language="JavaScript">
<!--
calendar();
// -->
</script>

clique nos dias para colocar lembretes
</body>
</html>

Nenhum comentário