/**********************************************************************
* Funções JavaScript para o calendário
*
* Mário Pinto - 2009.03.22
*********************************************************************/

function bissexto(ano){
  if ( ((ano % 4 == 0) && (ano % 100 != 0) )||(ano % 400 == 0) )
    return true;
  else
    return false;
}

function dias_mes(mes,ano){
  var num_dias = 0;
  mes = Number(mes); // Tratar o mês como sendo um número
  switch (mes){
    case 4: case 6: case 9: case 11:num_dias = 30;break;
    case 2:num_dias = ( bissexto(ano) ) ? 29 : 28;break;
    default:num_dias = 31;break;
  }
  return num_dias;
}

function nome_mes(mes){
  var nome;
  mes = Number(mes);
  switch (mes){
    case 1:nome = 'Janeiro';break;
    case 2:nome = 'Fevereiro';break;
    case 3:nome = 'Mar&ccedil;o';break;
    case 4:nome = 'Abril';break;
    case 5:nome = 'Maio';break;
    case 6:nome = 'Junho';break;
    case 7:nome = 'Julho';break;
    case 8:nome = 'Agosto';break;
    case 9:nome = 'Setembro';break;
    case 10:nome = 'Outubro';break;
    case 11:nome = 'Novembro';break;
    case 12:nome = 'Dezembro';break;
    default:nome = 'Desconhecido';break;
  }
  return nome;
}

function draw_month(dia,mes,ano){
  var html = '';
  mes = Number(mes);
  ano = Number(ano);
  n_dias = dias_mes(mes,ano);
  
  var temp_data = new Date();
  temp_data.setFullYear(ano);
  temp_data.setMonth(mes-1,1);
  temp_var = 0; // Domingo = 0; 2ª- = 1; ...; Sábado = 6
  // criam-se células vazias até ao dia em questão
  html = '<div id="calendario"><table>';
  
  html += '<tr><td colspan="3">'+ano+'</td><td colspan="4">'+nome_mes(mes)+'</td></tr>';
  
  html += '<tr><td class="dias_semana">D</td><td class="dias_semana">S</td><td class="dias_semana">T</td><td class="dias_semana">Q</td><td class="dias_semana">Q</td><td class="dias_semana">S</td><td class="dias_semana">S</td></tr>';

  while (temp_var != temp_data.getDay()){
    html +='<td></td>';
    temp_var = ++temp_var % 7;
  }
  for (var i=1;i<=n_dias;i++)
  {
    temp_data.setDate(i);
    temp_dia_semana = temp_data.getDay();
    
    if (temp_dia_semana % 7 == 0)
      html +='<tr>';

    if (dia == i)
      html +='<td class="hoje" id="'+ano+'.'+mes+'.'+i+'">'+i+'</td>';
    else
      html +='<td class="calendario" id="'+ano+'.'+mes+'.'+i+'">'+i+' </td>';
    
    if (temp_dia_semana % 7 == 6)
      html +='</tr>';
  }
  html +='</tr></table></div>';
  return html;
}

function calendar_show(){
  var d = new Date();
  document.getElementById('div_month').innerHTML = draw_month(d.getDate(),d.getMonth()+1,d.getFullYear());
  //document.getElementById('div_month').innerHTML = draw_month(d.getDate(),4,d.getFullYear());
}

