function getDays(year, month, objDay){
	intDaysInMonth = 32 - new Date(year, month-1, 32).getDate();
	objDay.options.length = 0;
	for(var i=0; i<intDaysInMonth; i++){
		objDay.options[i] = new Option(i+1,i+1);
	}
}

function getYears(objSelect, intStartYear, intEndYear){
	objSelect.options.length = 0;
	for(var i = 0, year = intEndYear; year >= intStartYear; i++, year--){
		objSelect.options[i] = new Option(year, year);
	}
}

function checkForm(){
	aligxilo = document.getElementById('aliĝilo');
	
	if(aligxilo.persona_nomo.value==""
		|| aligxilo.familia_nomo.value==""
		|| aligxilo.kromnomo.value==""
		|| (aligxilo.sekso[0].checked == false && aligxilo.sekso[1].checked == false)
		|| aligxilo.lando.value==""
		|| aligxilo.urbo.value==""
		|| aligxilo.posxtkodo.value==""
		|| aligxilo.adreso.value==""
		|| (aligxilo.mangxo[0].checked == false && aligxilo.mangxo[1].checked == false && aligxilo.mangxo[2].checked == false)
		|| (aligxilo.logxado[0].checked == false && aligxilo.logxado[1].checked == false && aligxilo.logxado[2].checked == false)
		|| (aligxilo.v_invitletero[0].checked
			&& (aligxilo.v_persona_nomo.value==""
				|| aligxilo.v_familia_nomo.value==""
				|| aligxilo.v_pasportnumero.value==""
				|| aligxilo.v_pas_eldonis.value==""
			)
		)
	){
		aligxilo.elements['aliĝu!'].disabled = true;
	} else {
		aligxilo.elements['aliĝu!'].disabled = false;
	}
	
	if(aligxilo.partopreno[0].checked){
		aligxilo.partopreno_de.value   = "2008-12-27";
		aligxilo.partopreno_gxis.value = "2009-01-04";
		aligxilo.partopreno_de.disabled = true;
		aligxilo.partopreno_gxis.disabled = true;
	/*
	} else if(aligxilo.partopreno[1].checked){
		aligxilo.partopreno_de.value   = "2008-12-27";
		aligxilo.partopreno_gxis.value = "2009-01-04";
		aligxilo.partopreno_de.disabled = true;
		aligxilo.partopreno_gxis.disabled = true;
	} else if(aligxilo.partopreno[2].checked){
		aligxilo.partopreno_de.value   = "2009-01-02";
		aligxilo.partopreno_gxis.value = "2009-01-04";
		aligxilo.partopreno_de.disabled = true;
		aligxilo.partopreno_gxis.disabled = true;
	*/
	} else {
		var j, length, limit;
		length = aligxilo.partopreno_de.length;
		limit = aligxilo.partopreno_de.selectedIndex;
		for(j=0; j<length; j++) aligxilo.partopreno_gxis.options[j].disabled=(j<limit);
		limit = aligxilo.partopreno_gxis.selectedIndex;
		for(j=0; j<length; j++) aligxilo.partopreno_de.options[j].disabled=(j>limit);
		aligxilo.partopreno_de.disabled = false;
		aligxilo.partopreno_gxis.disabled = false;
	}
	
	if(aligxilo.v_invitletero[0].checked){
		aligxilo.v_persona_nomo.disabled = false;
		aligxilo.v_familia_nomo.disabled = false;
		aligxilo.v_pasportnumero.disabled = false;
		aligxilo.v_pas_de_jaro.disabled = false;
		aligxilo.v_pas_de_monato.disabled = false;
		aligxilo.v_pas_de_tago.disabled = false;
		aligxilo.v_pas_gxis_jaro.disabled = false;
		aligxilo.v_pas_gxis_monato.disabled = false;
		aligxilo.v_pas_gxis_tago.disabled = false;
		aligxilo.v_pas_eldonis.disabled = false;
	} else {
		aligxilo.v_persona_nomo.disabled = true;
		aligxilo.v_familia_nomo.disabled = true;
		aligxilo.v_pasportnumero.disabled = true;
		aligxilo.v_pas_de_jaro.disabled = true;
		aligxilo.v_pas_de_monato.disabled = true;
		aligxilo.v_pas_de_tago.disabled = true;
		aligxilo.v_pas_gxis_jaro.disabled = true;
		aligxilo.v_pas_gxis_monato.disabled = true;
		aligxilo.v_pas_gxis_tago.disabled = true;
		aligxilo.v_pas_eldonis.disabled = true;
	}
}

function init(){
	aligxilo = document.getElementById('aliĝilo');
	
	getYears(aligxilo.naskigxjaro, 1900, 2007);
	getDays(aligxilo.naskigxjaro.value, aligxilo.naskigxmonato.value, aligxilo.naskigxtago)
	
	aligxilo.persona_nomo.onchange      = checkForm;
	aligxilo.familia_nomo.onchange      = checkForm;
	aligxilo.kromnomo.onchange          = checkForm;
	aligxilo.sekso[0].onchange          = checkForm;
	aligxilo.sekso[1].onchange          = checkForm;
	aligxilo.lando.onchange             = checkForm;
	aligxilo.urbo.onchange              = checkForm;
	aligxilo.posxtkodo.onchange         = checkForm;
	aligxilo.adreso.onchange            = checkForm;
	aligxilo.partopreno[0].onchange     = checkForm;
	aligxilo.partopreno[1].onchange     = checkForm;
	/*
	aligxilo.partopreno[2].onchange     = checkForm;
	aligxilo.partopreno[3].onchange     = checkForm;
	*/
	aligxilo.partopreno_de.onchange     = checkForm;
	aligxilo.partopreno_gxis.onchange   = checkForm;
	aligxilo.naskigxjaro.onchange       = function(){getDays(this.form.naskigxjaro.value,this.form.naskigxmonato.value,this.form.naskigxtago); checkForm();};
	aligxilo.naskigxmonato.onchange     = function(){getDays(this.form.naskigxjaro.value,this.form.naskigxmonato.value,this.form.naskigxtago); checkForm();};
	aligxilo.mangxo[0].onchange         = checkForm;
	aligxilo.mangxo[1].onchange         = checkForm;
	aligxilo.mangxo[2].onchange         = checkForm;
	aligxilo.logxado[0].onchange        = checkForm;
	aligxilo.logxado[1].onchange        = checkForm;
	aligxilo.logxado[2].onchange        = checkForm;
	aligxilo.v_invitletero[0].onchange  = checkForm;
	aligxilo.v_invitletero[1].onchange  = checkForm;
	aligxilo.v_persona_nomo.onchange    = checkForm;
	aligxilo.v_familia_nomo.onchange    = checkForm;
	aligxilo.v_pasportnumero.onchange   = checkForm;
	aligxilo.v_pas_de_jaro.onchange     = function(){getDays(this.form.v_pas_de_jaro.value,this.form.v_pas_de_monato.value,this.form.v_pas_de_tago); checkForm();};
	aligxilo.v_pas_de_monato.onchange   = function(){getDays(this.form.v_pas_de_jaro.value,this.form.v_pas_de_monato.value,this.form.v_pas_de_tago); checkForm();};
	aligxilo.v_pas_de_tago.onchange     = checkForm;
	aligxilo.v_pas_gxis_jaro.onchange   = function(){getDays(this.form.v_pas_gxis_jaro.value,this.form.v_pas_gxis_monato.value,this.form.v_pas_gxis_tago); checkForm();};
	aligxilo.v_pas_gxis_monato.onchange = function(){getDays(this.form.v_pas_gxis_jaro.value,this.form.v_pas_gxis_monato.value,this.form.v_pas_gxis_tago); checkForm();};
	aligxilo.v_pas_gxis_tago.onchange   = checkForm;
	aligxilo.v_pas_eldonis.onchange     = checkForm;
	
	checkForm();
}

window.onload = init;

