// JavaScript Document

form_data = function($dia, $mes, $ano, $form, $diaPadrao, $mesPadrao, $anoPadrao, $anoInicio, $anoFim, $mesNum) {
	data = new Date();
	if(!$diaPadrao) $diaPadrao = data.getDate();
	if(!$mesPadrao) $mesPadrao = data.getMonth()+1;
	if(!$anoPadrao) {
		$anoPadrao = data.getFullYear();
		if($anoInicio) $anoPadrao -= $anoInicio;
	}
	
	$anoInicio = data.getFullYear() - ($anoInicio ? $anoInicio : 3);
	$anoFim = data.getFullYear() + ($anoFim ? $anoFim : 3);
	
	if(!$form) $form='form1';
    
	$meses = ($mesNum) ? ['01','02','03','04','05','06','07','08','09','10','11','12'] : ['janeiro','fevereiro','março','abril','maio','junho','julho','agosto','setembro','outubro','novembro','dezembro'];
	
	if($dia) {
		document.write('<select name="dia" size="1">');
		for($i=1;$i<32;$i++) {
			if($i<10) $i = ('0'+$i).toString();
      if ($i == $diaPadrao) document.write('  <option value="'+$i+'" selected>'+$i+'</option>');
      else document.write('  <option value="'+$i+'">'+$i+'</option>');
		}
		document.write('</select>');
	}
	
	if($mes) {
		if($dia) document.write('&nbsp;/&nbsp;');      
		document.write('<select name="mes" size="1" onChange="checaMes(\''+$form+'\')">');		
		for($i=1;$i<13;$i++) {
			if($i<10) $i = ('0'+$i).toString();
  		if ($i == $mesPadrao) document.write('  <option value="'+$i+'" selected>'+$meses[($i-1)]+'</option>');
      else document.write('  <option value="'+$i+'">'+$meses[($i-1)]+'</option>');
    }
		document.write('</select>');
	}

	if($ano) {
		if($mes || $dia) document.write('&nbsp;/&nbsp;');      
		document.write('<select name="ano" size="1" onChange="checaAno(\''+$form+'\')">');
		for($i=$anoInicio; $i<$anoFim; $i++) {
      if ($i == $anoPadrao) document.write('  <option value="'+$i+'" selected>'+$i+'</option>');
      else document.write('  <option value="'+$i+'">'+$i+'</option>');
		}
		document.write('</select>');
	}

	var bissexto = true;
	checaAno = function(form) {
		ano = eval('document.'+form+'.ano.value');
		bissexto = ((ano%400 == 0) || ((ano%4 == 0) && (ano%100 != 0)));
		if (eval('document.'+ form +'.dia') != undefined) geraDias(form);
	}
	
	geraDias = function(form) {
		selecionado = eval('document.'+form+'.dia.selectedIndex');
		mes = eval('document.'+form+'.mes.value');
		if(mes==2) {
			bissexto ? limite = 29 : limite = 28;
		} else {
			if(mes < 8) (mes%2) ? limite = 31 : limite = 30;
			else (mes%2) ? limite = 30 : limite = 31;
		}
		while(eval('document.'+form+'.dia').length>0) eval('document.'+form+'.dia').options[0] = null;
		for(i=1;i<=limite;i++) eval('document.'+form+'.dia').options[i-1] = i>9 ? new Option(i,i) : new Option("0"+i,"0"+i);
		eval('document.'+form+'.dia').selectedIndex = (selecionado>(limite-1)) ? limite-1 : selecionado;
	}
	
	checaMes = function(form) {
		($ano) ? checaAno(form) : geraDias(form);
	}

	$ano ? checaAno($form) : geraDias($form);
}
