
function manageCriteria()
{
	checkBox = Array('Prov', 'Com', 'Occ', 'Int');
	
	this.provincia = $('provincia')
	this.comune = $('citta');
	this.occupazione = $('occupazione');
	this.interesse = $('interesse');
	this.divCom = $('divCom');
	
	
	this.provincia.onclick = populate.bindAsEventListener(this);
	this.provincia.options[0] = null;
	
	checkBox.each(function(chk){
		$('chk'+chk).onclick = enableSelect.bindAsEventListener(this);
	})
	
	oThis = this;
	function populate()
	{
		var sel = new Array();
		options = $A(this.provincia.options);
		options.each(function(opt){
			if (opt.selected)
			{
				sel.push(opt.value);
			}	
		})
		
		function populateComune(r)
		{
			var json_data = r.responseText;
			try
			{
				eval("var jsonObject = ("+json_data+")");
				while(this.comune.hasChildNodes() == true)
				{
					this.comune.removeChild( this.comune.childNodes[0] );
				}
				
				current = jsonObject.bindings.pop();
				
				for (var i=0; i < jsonObject.bindings.length; i++)
				{
					var childObj = jsonObject.bindings[i];
					var opt = document.createElement("option");
					opt.innerHTML = childObj.comune;
					opt.value = childObj.comune_seek;
					if (current.selected ==  childObj.comune_seek) opt.selected = true;
					this.comune.appendChild(opt);
				}
				
				this.divCom.style.visibility = 'visible';
			}
			catch(e)
			{
				alert("Errore sul Server:"+e);
			}
		}
		
		var ajax = new Ajax.Request( PG.URL, {
			onSuccess: populateComune.bind(this),
			method: 'get', 
			parameters: 'pgkey=getCOMListSms&pgvalue='+escape(sel.join("','"))
		});
	}
	
	function enableSelect(e)
	{
		elem = Event.element(e);
		isProv = false;
		switch (elem.id)
		{
			case 'chkProv': tg = oThis.provincia; isProv = true; break;
			case 'chkCom' : tg = oThis.comune; break;
			case 'chkOcc' : tg = oThis.occupazione; break;
			case 'chkInt' : tg = oThis.interesse; break;
		}
		
		ver = elem.checked;
		if (ver)
		{
			disable(tg);
			if (isProv)
			{
				disable(oThis.comune);
				oThis.divCom.style.visibility = 'hidden';
			}
		}
		else
		{
			tg.disabled = false;
		}
	}
	
	function disable(select)
	{
		$A(select.options).each(function(opt){
				opt.selected = false;	
			})
		select.disabled = true;
	}
};


manageCriteria.prototype.getDataSelect = function(select)
{
	var name = select.name;
	var txt = '';
	
	$A(select.options).each(function(opt){
		if (opt.selected)
			txt +='&'+name+'='+opt.value;		
	})
	
	return txt;
}


manageCriteria.prototype.getData = function()
{
	var oThis = this;
	return oThis.getDataSelect(oThis.provincia);
	
}



function loadComune(obj, comune)
{
	a = obj.childNodes[obj.selectedIndex + 1].value
	
	if (a == 0)return;

	$("citta").disabled = true;
	
	var populateComune= function(response)
	{
		var json_data = response.responseText;
		eval("var jsonObject = ("+json_data+")");
		var micro = $("citta");
	
		while(micro.hasChildNodes() == true){
			micro.removeChild( micro.childNodes[0] );
		}
		current = jsonObject.bindings.pop();
			
		for(var i=0; i < jsonObject.bindings.length; i++){
			var childObj = jsonObject.bindings[i];
			var opt = document.createElement("option");
			opt.innerHTML = childObj.comune;
			opt.value = childObj.comune_seek;
			if( current.selected ==  childObj.comune_seek) opt.selected = true;
				micro.appendChild( opt );
		}
		micro.disabled= false;
	}
	
	
	var ajax = new Ajax.Request( PG.URL, {
			onSuccess: populateComune.bind(this),
			method: 'get', 
			parameters: 'comune='+comune+'&pgkey=getCOMList&pgvalue='+a
		});
}


/*
function populateComune( response ){
	
	var json_data = response.responseText;
	eval("var jsonObject = ("+json_data+")");
	var micro = $("citta");

	while( micro.hasChildNodes() == true){
		micro.removeChild( micro.childNodes[0] );
	}
	current = jsonObject.bindings.pop();
		
	for(var i=0; i < jsonObject.bindings.length; i++){
		var childObj = jsonObject.bindings[i];
		var opt = document.createElement("option");
		opt.innerHTML = childObj.comune;
		opt.value = childObj.comune_seek;
		if( current.selected ==  childObj.comune_seek) opt.selected = true;
			micro.appendChild( opt );
	}
	
	micro.disabled= false;
}
*/

