﻿function semana(d,m,a){
    var dd=parseInt(d);
    var mm=parseInt(m);
    var aa=parseInt(a);
    
    var f = aa + dd + 3 * (mm - 1) - 1;
    if(mm < 3){
        f += parseInt((aa-1)/4) - parseInt(((aa-1)/100 + 1) * 0.75);
    } else {
        f -= parseInt(0.4 * mm + 2.3);
	f += parseInt(aa/4) - parseInt((aa/100 + 1) * 0.75);
    };
    return (f%7)+1;
}
function copia(data,urlDestino){
    document.location.href=urlDestino + "?dt=" + data;
}

function montaMes(numMes,numAno,urlDestino){
    var mesesAno=new Array("Zero","Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");
    var diasSemana=new Array("Zero","Dom","Seg","Ter","Qua","Qui","Sex","Sab");
    var diasMes=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
    var hoje=new Date();
    var blnInicio=new Boolean(false);
    var dia=1;
    var ct=0;
    
    if(numAno < 100) numAno=1900+eval(numAno);
    if(numAno < 1900 || numAno > 2010) numAno=1900;
    var ano=numAno;
    if(isNaN(ano)){
	ano=hoje.getYear();
	if(ano < 100) ano+=1900;
    }
    if(ano%4==0 && ano%100 || ano%400==0) diasMes[2]=29;

    if(numMes > 12 || numMes < 1) numMes=hoje.getMonth();
    var mes=numMes;
    ano1=parseInt(ano)+1;
    ano2=parseInt(ano)+2;

    lstAno="<select name='mySelect1' id='mySelect1' class='width_80' onchange='montaMes(document.cal.mySelect2.value,this.value,\"" + urlDestino + "\")'>\n<option value='" + parseInt(ano-2) + "'>" + parseInt(ano-2) + "</option>\n<option value='" + (ano-1) + "'>" + (ano-1) + "</option>\n<option selected value='" + ano + "'>" + ano + "</option>\n<option value='" + ano1 + "'>" + ano1 + "</option>\n<option value='" + ano2 + "'>" + ano2 + "</option>\n</select>";
    lstMes="<select name='mySelect2' id='mySelect2' class='width_80' onchange='montaMes(this.value,document.cal.mySelect1.value,\"" + urlDestino + "\")'>\n";
    for(i=1;i < 13;i++){
    	ct+=1;
	temp=(mes==i) ? " selected" : "";
        lstMes+="<option" + temp + " value='" + ct + "'>" + mesesAno[i] + "</option>\n";
    };
    lstMes+="</select>\n";
    
    resultado="<form name='cal' id='cal' class='niceform'>\n";
    resultado+= lstMes + "\n" + lstAno + "\n";
    resultado+="<table>\n<tr>";
    for(i=1; i < 8; i++) resultado+="<th>" + diasSemana[i] + "</th>\n";	
    resultado+="</tr>\n";
    
    primeiroDia=semana(1,mes,ano);
    for(i=1; i <= 6; i++){
        if(dia <= diasMes[mes]){
            resultado+="<tr>\n";
            for(j=1; j <= 7; j++){
	        if(j==1){temp=" id='ddom'"} else {temp=" id='dmes'"};
                if((blnInicio==true) && (dia > diasMes[mes])){resultado+="<td" + temp + ">&nbsp;</td>\n";}
                if((blnInicio==true) && (dia <= diasMes[mes])){resultado+="<td" + temp + " align='right'><a href=" + unescape("%22") + "JavaScript:copia('" + dia + "/" + mes + "/" + ano + "','" + urlDestino + "')" + unescape("%22") + ">" + dia + "</a></td>\n";dia+=1;}
                if(blnInicio==false && primeiroDia==j){ blnInicio=true; resultado+="<td" + temp + " align='right'><a href=" + unescape("%22") + "JavaScript:copia('" + dia + "/" + mes + "/" + ano + "','" + urlDestino + "')" + unescape("%22") + ">" + dia + "</a></td>\n"; dia+=1}
                if(blnInicio==false && primeiroDia!=j){ resultado+="<td" + temp + ">&nbsp;</td>\n";}
            }
	    resultado+="</tr>\n";
        }
    }
    resultado+="</table>\n</form>";
    resultado = document.getElementById("calendario").innerHTML = resultado;
}

function makeCalendar() {
	document.getElementById('calendario').style.display = 'none';
	var btn = document.getElementById('calendario_btn');
	btn.onclick = function() {
		if (document.getElementById('calendario').style.display == 'none') {
			document.getElementById('calendario').style.display = 'block';
		}
		 else {
			document.getElementById('calendario').style.display = 'none';
		}
		return false;
	}
	//formcal.onmouseout=function() {
	//	document.getElementById('cal').style.display = 'none';
	//}
}
