﻿var hoje = new Date();
diaHoje = hoje.getDate();
mesHoje = hoje.getMonth();
hoje.setFullYear(hoje.getFullYear()-1);
anoHoje = hoje.getFullYear();
var mes = new Array('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
var mesAbreviado = new Array('Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez');

function show(div){
    if(document.getElementById(div).style.display=='')
        document.getElementById(div).style.display='none';
    else
        document.getElementById(div).style.display='';
}
function bissexto(ano) {
   if (ano % 4 == 0) // regra básica
        return true // se o ano é bissexto
       return false // se o ano não é bissexto
}

function MudaMes(dataInput,campo,d,m,a,t){
    if(m==mes.length){
        m=0;
    //    if(t="prox")
    //        a++;    
    }
    else if(m<0){
    //    if(m==-1)
   //     a--;
        m=mes.length+m;
    }
    for(aux=0;aux<mes.length;aux++){

        if(aux==m){
        m++;
            data=d+"/"+m+"/"+a;
            Calendario(dataInput,data,campo);
            return;
        }
    }
}

function MudaAno(dataInput,campo,data,ano)
{
    var data = data.split(",");
    var diaAtual=data[0];
    var mesAtual=data[1]-1;
    var anoAtual=ano;
   data = diaAtual+","+mesAtual+","+anoAtual;
    MontaMeses(dataInput,campo,data);
}
function MontaMeses(dataInput,campo,data)
{
    var data = data.split(",");
    var diaAtual=data[0];
    var mesAtual=data[1]-1;
    var anoAtual=data[2];
    anoAnterior=anoAtual-1;
    anoProximo=parseInt(anoAtual)+1;

    var table = "<table style='border:solid 1px #317082;background-color:#DDD;width:257px;' id='meses'>";
    table+="<tr bgcolor='#317082'><td colspan=4>";
    //table+="<div class='setames' title='"+anoAnterior+"' onClick=\"MudaAno('"+dataInput+"','"+campo+"','"+data+"','"+dataInput+"',"+anoAnterior+")\"> < </div>";
    table+="<div class='selectsAnodiv'>"+anoAtual+"</div>";
    //table+="<div class='setames' title='"+anoProximo+"' onClick=\"MudaAno('"+dataInput+"','"+campo+"','"+data+"','"+dataInput+"',"+anoProximo+")\"> > </div>";
    table+="</tr>";
    abretr=false;
    table+="<tr class='mesestr'>";  
    dataAux = document.getElementById(dataInput).value.split("/");
    if(dataAux=="")
        dataAux = diaHoje+"/"+mesHoje+"/"+anoHoje;
    for(x=1;x<=mesAbreviado.length;x++){
        if(abretr)
            table+="<tr class='mesestr'>";          
        d=dataAux[0];
        mesAtual = dataAux[1]-1;
        m=x-1;

        if(mesAtual==m)
        table+="<td class='selecionado'  onclick=\"MudaMes('"+dataInput+"','"+campo+"',"+d+","+m+","+anoAtual+",'');\">"+mesAbreviado[x-1]+"</td>";
        else
        table+="<td class='selecionar2'  onclick=\"MudaMes('"+dataInput+"','"+campo+"',"+d+","+m+","+anoAtual+",'');\">"+mesAbreviado[x-1]+"</td>";
        if(x % 4 == 0){
            table+="</tr>";
            abretr=true;
        }else
            abretr=false;
}
dataHoje=diaHoje+"/"+(mesHoje+1)+"/"+anoHoje;
//table+="<tr><td colspan=4 class='selecionarDataAtual' align='center' onclick=\"dataAtual('"+dataInput+"','"+campo+"','"+dataHoje+"','"+dataInput+"')\">Hoje é dia "+diaHoje+" de "+mes[mesHoje]+" de "+anoHoje+"</td>";
table+="</table>";

document.getElementById(campo).innerHTML=table;
}

function Calendario(dataInput,data,campo){
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
getDataInput=document.getElementById(dataInput).value;

if(!getDataInput.match(datePat)){
getDataInput = "00/"+mesHoje+"/"+anoHoje;
}

var getDataInput = getDataInput.split("/");
if(data=="")
   data = diaHoje+"/"+mesHoje+"/"+anoHoje;
var data = data.split("/");
var diaAtual=data[0];
var mesAtual=data[1]-1;
var anoAtual=data[2];
var diaInput=getDataInput[0];
var mesInput=getDataInput[1]-1;
var anoInput=getDataInput[2];

var bi = bissexto(anoAtual) ? 29 : 28;

var diasMes = [31,bi,31,30,31,30,31,31,30,31,30,31];
var diaSemana = new Array('Dom','Seg','Ter','Qua','Qui','Sex','Sáb');

var calendar = new Date();

var cal;

calendar.setDate(1);    // Comecar o calendario no dia '1'
calendar.setMonth(mesAtual);    // Comecar o calendario com o mes atual
calendar.setFullYear(anoAtual);
var year = calendar.getFullYear();	    // Retorna o ano
var month = calendar.getMonth();    // Retorna mes (0-11)
var today = calendar.getDate();    // Retorna dias (1-31)
var weekday = calendar.getDay();    // Retorna dias (1-31)

cal="<table style='border:solid 1px #317082;background-color:#DDD;'>";
mesAnterior=month-1;
mesProximo=month+1;
cal+="<tr><td colspan=7 bgcolor='#317082'>";
cal+="<div class='setames' title="+mes[mesAnterior]+" onclick=\"MudaMes('"+dataInput+"','"+campo+"',"+today+","+mesAnterior+","+year+",'ant')\"> < </div>";
cal+="<div class='selectsMes' id='SelectMes' onclick=\"MontaMeses('"+dataInput+"','"+campo+"','"+data+"');\">"+mes[mesAtual]+", "+year+"</div>";
cal+="<div class='setames' title='"+mes[mesProximo]+"' onclick=\"MudaMes('"+dataInput+"','"+campo+"',"+today+","+mesProximo+","+year+",'prox')\"> > </div></td></tr>";
cal+="<tr>";
for(i=0;i<diaSemana.length;i++)
    cal+="<td style='padding:0px 5px;background-color:#FFF;'>"+diaSemana[i]+"</td>";
"</tr>";
cal+="<tr>";
if (weekday == 0) increase = 0; else increase = 1;
var a=0;
abretr=false;
for(i=1;a<diasMes[mesAtual];i++)
{
    if(abretr)
        cal+="<tr>";        
    if(i < weekday+increase){
         cal+="<td class='ine'>&nbsp;</td>";
    }
    else{
        a++;
        if (a == diaInput && mesInput==month){
        cal+="<td class='selecionado'><b>"+a+"</b>   </td>";
        }
        else
        cal+="<td class='selecionar' id='"+mesProximo+"' onclick=\"dataAtual('"+dataInput+"','"+campo+"','"+a+"/"+mesProximo+"/"+year+"');\">"+a+"</td>";
    }
 if(i % 7 == 0){
    cal+="</tr>";
    abretr=true;
    }    
 else{
 td=i % 7;
 abretr=false;
 }
   
}
if(abretr==false)
{
    for(j=0;j<7-td;j++)
        cal+="<td class='ine'>&nbsp;</td>"; 
    cal+="</tr>"; 
}
    
    dataHoje=diaHoje+"/"+(mesHoje+1)+"/"+anoHoje;
//cal+="<tr><td colspan=7 class='selecionarDataAtual' align='center' onclick=\"dataAtual('"+dataInput+"','"+campo+"','"+dataHoje+"')\">Hoje é dia "+diaHoje+" de "+mes[mesHoje]+" de "+anoHoje+"</td>";
cal+="</tr></table>";
document.getElementById(campo).innerHTML=cal;

}
function dataAtual(dataInput,campo,data)
{
    document.getElementById(dataInput).value = data;
    Calendario(dataInput,data,campo);
    document.getElementById("divCalendario").style.display='none';
}