var ajaxProvince=false;
var ajaxLocalita=false;
var ajaxRisultati=false;

function getAjaxName() {
	var data = new Date();
	data = data.getTime()+'_'+Math.floor(Math.random()*1000);
	return data;
}

function regioneSelezionata(e) {
	ajax_name=getAjaxName();
	ajaxProvince=ajax_name;
	ajaxRisultati=ajax_name;
	$('provincia').update("<option value='0'>provincia</option>");
	$('localita').update("<option value='0'>localit&agrave;</option>");
	mostraRisultati(ajax_name);
	v=Event.element(e).value;
	if(v!=='0'){
		new Ajax.Request( ajax_url+'/get_province/'+escape(v),{
			onCreate: function(){
				$('trova_negozi_spinner').show();
			},
			onComplete: function(requester){
				if(ajaxProvince==ajax_name){
					if(requester.responseText){
						$('provincia').update("<option value='0' selected='selected'>provincia</option>"+requester.responseText);
					}
					ajaxProvince=false;
					if(!ajaxProvince && !ajaxLocalita && !ajaxRisultati){$('trova_negozi_spinner').hide();}
				}
			}
		});
	}
}

function provinciaSelezionata(e) {
	ajax_name=getAjaxName();
	ajaxLocalita=ajax_name;
	ajaxRisultati=ajax_name;
	$('localita').update("<option value='0'>localit&agrave;</option>");
	mostraRisultati(ajax_name);
	r=$('regione').value;
	p=Event.element(e).value;
	if(p!=='0'){
		new Ajax.Request( ajax_url+'/get_localita/'+escape(r)+'/'+escape(p),{
			onCreate: function(){
				$('trova_negozi_spinner').show();
			},
			onComplete: function(requester){
				if(ajaxLocalita==ajax_name){
					if(requester.responseText){
						$('localita').update("<option value='0' selected='selected'>localit&agrave;</option>"+requester.responseText);
					}
					ajaxLocalita=false;
					if(!ajaxProvince && !ajaxLocalita && !ajaxRisultati){$('trova_negozi_spinner').hide();}
				}
			}
		});
	}
}

function localitaSelezionata(e) {
	ajax_name=getAjaxName();
	ajaxRisultati=ajax_name;
	mostraRisultati(ajax_name);
}
function mostraRisultati(ajax_name) {
	if($('regione').value){
		r=$('regione').value;
		p=$('provincia').value;
		l=$('localita').value.replace('\'', '~');
		if(r && p && l){
			url=ajax_url+'/get_shops/'+escape(r)+'/'+escape(p)+'/'+escape(l);
		}else if(r && p){
			url=ajax_url+'/get_shops/'+escape(r)+'/'+escape(p);
		}else{
			url=ajax_url+'/get_shops/'+escape(r);
		}
		new Ajax.Request( url,{
			onCreate: function(){
				$('trova_negozi_spinner').show();
			},
			onComplete: function(requester){
				if(ajaxRisultati==ajax_name){
					if(requester.responseText){
						$('risultati').update(requester.responseText);
					}
					ajaxRisultati=false;
					if(!ajaxProvince && !ajaxLocalita && !ajaxRisultati){$('trova_negozi_spinner').hide();}
				}
			}
		});
	}
}

function cambioPagina(offset) {
	ajax_name=getAjaxName();
	ajaxRisultati=ajax_name;
	r=$('regione').value;
	p=$('provincia').value;
	l=$('localita').value.replace('\'', '~');
	if(r!=='0'){
		new Ajax.Request( ajax_url+'/get_shops/'+escape(r)+'/'+escape(p)+'/'+escape(l)+'/'+escape(offset),{
			onCreate: function(){
				$('trova_negozi_spinner').show();
			},
			onComplete: function(requester){
				if(ajaxRisultati==ajax_name){
					if(requester.responseText){
						$('risultati').update(requester.responseText);
					}
					ajaxRisultati=false;
					if(!ajaxProvince && !ajaxLocalita && !ajaxRisultati){$('trova_negozi_spinner').hide();}
				}
			}
		});
	}
}

function stopForm(e) {
	Event.stop(e);
}

function scrollLoghi() {
	if($$('.trova_negozi_partner_img').length>5){
		Effect.SlideUp($$('.trova_negozi_partner_img')[0], {
			afterFinish: function(){
				$('trova_negozi_partner').insert($$('.trova_negozi_partner_img')[0]);
				$$('.trova_negozi_partner_img').last().show();
				window.setTimeout("scrollLoghi()", 500);
			}
		});
	}
}//scrollLoghi

function inizio(){
	cerca_rollover();
	Event.observe($$('#trova_negozi form')[0], 'submit', stopForm);
	Event.observe($('regione'), 'change', regioneSelezionata);
	Event.observe($('provincia'), 'change', provinciaSelezionata);
	Event.observe($('localita'), 'change', localitaSelezionata);
	if($('trova_negozi_partner')){window.setTimeout("scrollLoghi()", 500);}
}//inizio

Event.observe(window, 'load', inizio);


