/*Funzioni per il funzionamento del calendario*/

var moy = new Array(
  'Gennaio','Febbraio','Marzo',
  'Aprile','Maggio','Giugno','Luglio',
  'Agosto','Settembre','Ottobre',
  'Novembre','Dicembre'
);

var daysOfMonth = new Array(
  31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
);

var daysOfMonthLY = new Array(
  31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
);

var dow = new Array('Dom','Lun','Mar','Mer','Gio','Ven','Sab',
                    'Dom','Lun','Mar','Mer','Gio','Ven');

var size = 'width="50" height="30"';
var border = 'border="1"';

function isLeapYear(num) {
  if (((num % 4 == 0) && (num % 100 != 0)) || (num % 400 == 0))
    return true;
  return false;
}

function CalendarSelect(Month,Year, offset) {
  if (offset == null) offset = 0;

  if (window.changeMonth) { }
  else {
    alert('A changeMonth() function has not been defined');
    return '';
  }

  if (window.changeYear) { }
  else {
    alert('A changeYear() function has not been defined');
    return '';
  }

  if (window.changeDay) { }
  else {
    alert('A changeDay() function has not been defined');
    return '';
  }

  var output = '';

  output += '<form name="Cal">';
  output += CalendarHead(Month,Year,true);
  output += CalendarMonth(Month,Year,offset);
  output += '</form>';
  
  return output;
}

function CalendarHead(Month,Year,Select) {
  var output = '';

  output +=
    '<table class="border" cellspacing="0">' +
    '<tr><td class="titolo_caption" width="100%">' +
    moy[Month-1] + ' ' + Year +
    '</td>';
    
  if (Select) {
    
    output += '<td width="50%">' +
    '<select name="Month" onChange="CalMonth()">';

    for (var month=1; month<=12; month++) {
      output += '<option value="' + month + '"';
      if (month == Month) output += ' selected';
      output += '>' + moy[month-1] + '</option>';
    }

    output += '</select>' +
      '<select name="Year" onChange="CalYear();">';

    for (var year=1900; year<=2100; year++) {
      output += '<option value="' + year + '"';
      if (year == Year) output += ' selected';
      output += '>' + year + '</option>';
    }

    output += '</select>';
  }
  
  output += '</td></tr></table>';
  
  return output;
}

function CalendarMonth(M,Y,offset) {
  M--;
  if (offset == null) offset = 0;

  firstDay = new Date(Y,M,1);
  startDay = firstDay.getDay();

  if (startDay < offset) startDay += 7;

  var days = daysOfMonth;
  if (isLeapYear(Y)) days = daysOfMonthLY;

  var output = '';

  output +=
    '<table cellpadding="0" class="border"><tr>';

  for (var i=0; i<7; i++)
    output += '<td ' + size + ' class="border evidenziazione_report">' +
      dow[i + offset] + '</td>';

  output += '</tr><tr>';

  var column = 0;
  var lastM = M - 1;
  if (lastM == -1) lastM = 11;

  for (var i=0+offset; i<startDay; i++, column++)
    output += '<td ' + size + ' class="table_disclaimer">' +
      (days[lastM]-startDay+i+1) + '</td>';

  for (var i=1; i<=days[M]; i++, column++) {
    var style = ' class="links"';
    
    
//    if (day == i && month == M+1 && year == Y)
//      style = ' class="today"';
    if (entries[i] != '')
      style = ' class="xxx"';
    if (window.changeDay)
        {
          //  '<a href="javascript:CalDay('+i+','+(M+1)+','+Y+')"' +
        //style + '>' + i + '</a></td>'
          
	    output += '<td ' + size + 'class="border">' +
            '<a href="news_detail.asp?data='+(M+1)+'/'+i+'/'+Y+'"' + 
        style + '>' + i + '</a></td>';
        }
    else
      output += '<td ' + size + style + '>' + i + '</td>';

    if (column == 6) {
      output += '</tr><tr>';
      column = -1;
    }
  }

  if (column > 0) {
    for (var i=1; column<7; i++, column++)
      output += '<td ' + size + ' class="table_disclaimer">' + i + '</td>';
  }

  output += '</tr></table>';

  return output;
}

function getAnOptionValue(what) {
  return what.options[what.options.selectedIndex].value;
}

function CalMonth() {
  CalendarMonth = getAnOptionValue(document.Cal.Month) - 0;
  changeMonth(CalendarMonth);
}

function CalYear() {
  CalendarYear = getAnOptionValue(document.Cal.Year) - 0;
  changeYear(CalendarYear);
}

function CalDay(day,month,year) {
  var date;
  CalendarDay = day;
  CalendarMonth = month;
  CalendarYear = year;
  date = day + '/'+ month +'/'+ year;
  return (date);
  //onclick=window.navigate("lettera iavarone.htm?date="date);
  //changeDay(CalendarDay,CalendarMonth,CalendarYear);  
}





var CalendarMonth;
var CalendarYear;
var CalendarDay;


/*Funzioni necessarie al calendario, non incluse nel file principali*/
function pad(num, size) {
  num = '' + num;
  while (num.length < size) num = '0' + num;
  return num;
}

function y2k(num) {
  return (num < 1000) ? num + 1900 : num;
}

function getNthParm(string,parm,nth) {
  if (!string) return '';
  var count = 1;
  var startPos = 0 + string.indexOf(parm + '=');
  while (startPos > -1) {
    startPos = startPos + parm.length + 1;
    var endPos = 0 + string.indexOf('&',startPos);
    if (endPos == -1)
      endPos = string.length;
    if (count == nth)
      return unescape(string.substring(startPos,endPos));
    startPos = 0 + string.indexOf(parm + '=',endPos);
    count++;
  }
  return '';
}

var entries = new Array(31);

function getPersonal(year,month) {
  var monthValue;

  if (window.Cookie)
    monthValue = getCookie(year + pad(month,2));

  if (monthValue == null) monthValue = '';
  var dayValue;

  for (var i=1; i<=31; i++) {
    var start = monthValue.indexOf('@@' + i + '=');
    var len = start + ('@@' + i + '=').length;
    if (start == -1) dayValue = '';
    else {
      var end = monthValue.indexOf('@@',len);
      if (end == -1) end = monthValue.length;
      dayValue = monthValue.substring(len, end)
    }
    entries[i] = dayValue;
  }
}

function changeMonth() {
  location.href =
    'news.asp?year=' + year + '&month=' + CalendarMonth;
}

function changeYear() {
  location.href =
    'news.asp?year=' + CalendarYear + '&month=' + month;
}

function changeDay() {
  if (window.Cookie) {
    day = CalendarDay;

    var popupCookie =
      window.open('cookie.htm','cookie','width=200,height=150');

    if (popupCookie.opener == null)
      popupCookie.opener = self;
  }
}



