﻿function calendario(ano,mes,div,input){
  this.data = new Date();
  this.dataUm = new Date(ano,mes,1);
  this.dia = ['D','S','T','Q','Q','S','S'];
  this.mes = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];
  this.dimMes = [31,28,31,30,31,30,31,31,30,31,30,31];

  this.criarCal = function(){
  	var conteiner = document.getElementById(div);
		
		var dInicio = this.dataUm.getDay();
		var iniMes = 42 - dInicio;
		
		var	n_mes = parseFloat(mes);
		n_mes = eval(n_mes+1);
		
		this.dimMes[1] = (this.dataUm.getFullYear()%4 == 0)? 29 : 28 ;
		var folha = '';
		
		
		folha += '<table><tr id="tD">';
		for(var i = 0; i<this.dia.length; i++){
			folha += '<td>'+this.dia[i]+'</td>';
		}
		folha += '</tr><tr>';
		for (i = 0; i<dInicio; i++){
			folha += '<td>&nbsp;</td>';
		 }
	 	for(i = 1 ; i<=this.dimMes[this.dataUm.getMonth()]; i++){
			td_id = (this.dataUm.getFullYear()).toString();
			td_id += (this.dataUm.getMonth()<9) ? "0"+(this.dataUm.getMonth()+1) : (this.dataUm.getMonth()+1);
			td_id += (i<10) ? "0" + i : i;
			
			folha += '<td id="'+ td_id +'" onclick="seleciona('+ano+','+n_mes+','+i+',\''+input+'\');">'+ i +'</td>'; //
			
			if( (i+dInicio)%7 == 0 ){
				folha +='</tr><tr>';
			}
		}
		folha += '</table>';
		conteiner.innerHTML = folha;
	}
}
function novoCal (ano,mes,div,input){
	if(ano != "" && mes != ""){
	  cl = new calendario(ano,mes,div,input);
	  cl.criarCal();
	}
}

function seleciona(ano,mes,dia,input){
	var ano2 = UTIL.GetObject("calc[dat_"+input+"_ano]");
	var tot_ano = ano2.length
	for(i=0;i<tot_ano;i++){
		if(ano2.options[i].value == ano)
			ano2.options[i].selected = true;
	}
	
	var mes2 = document.getElementById("calc[dat_"+input+"_mes]");
	var tot_mes = mes2.length
	for(i=0;i<tot_mes;i++){
		if(mes2.options[i].value == mes)
			mes2.options[i].selected = true;
	}
	
	var dia2 = document.getElementById("calc[dat_"+input+"_dia]");
	var tot_dia = dia2.length
	for(i=0;i<tot_dia;i++){
		if(dia2.options[i].value == dia)
			dia2.options[i].selected = true;
	}
	CALC.DifDATA();		
}
function deseleciona(input){
	var ano2 = UTIL.GetObject("calc[dat_"+input+"_ano]");
	ano2.options[0].selected = true;
	
	var mes2 = document.getElementById("calc[dat_"+input+"_mes]");
	mes2.options[0].selected = true;
	
	var dia2 = document.getElementById("calc[dat_"+input+"_dia]");
	dia2.options[0].selected = true;
}


function show_coords(event,div,mes)
{
	var ua = navigator.userAgent.toLowerCase();
	x=event.clientX;
	if (ua.indexOf('safari') != -1){
		y=event.pageY;
	}
	else{
		y=event.clientY;
	}
	z = document.documentElement.scrollTop;
	UTIL.GetObject('cal_div').style.marginTop = ((y + z)-20)+'px';
	UTIL.GetObject('cal_div').style.left = (x-5)+'px';
	UTIL.GetObject('cal_div').style.display ='block';
	form_select(div);
    novoCal(2009,mes-1,'calendarioR',div);
}
function hidden_coords(){
	UTIL.GetObject('cal_div').style.display ='none';
}


function form_select(div){
	var form = '<a onclick="hidden_coords();" style="cursor: pointer;">[fechar x]</a> <br /><br /><form name="calendario_frm">'
	   +'<select name="cal_month" id="cal_month" onchange="novoCal(document.calendario_frm.cal_year.value, document.calendario_frm.cal_month.value,\'calendarioR\',\''+div+'\');">'
	   +'<option value="0">- mês -</option>'
	   +'<option value="0">Jan</option>'
	   +'<option value="1">Fev</option>'
	   +'<option value="2">Mar</option>'
	   +'<option value="3">Abr</option>'
	   +'<option value="4">Mai</option>'
	   +'<option value="5">Jun</option>'
	   +'<option value="6">Jul</option>'
	   +'<option value="7">Ago</option>'
	   +'<option value="8">Set</option>'
	   +'<option value="9">Out</option>'
	   +'<option value="10">Nov</option>'
	   +'<option value="11">Dez</option>'
	  +'</select>'
	  +'<select name="cal_year" id="cal_year" class="form_calendario" onchange="novoCal(document.calendario_frm.cal_year.value, document.calendario_frm.cal_month.value,\'calendarioR\',\''+div+'\');">'
	   +'<option value="0">-- ano -- </option>'
	  +'<option value="2009" selected="selected">2009</option>'
	  +'<option value="2010">2010</option>'
	  +'<option value="2011">2011</option>'
	  +'<option value="2012">2012</option>'
	 +'</select>'
	+'</form>';
	UTIL.GetObject("select").innerHTML = form;
}