// Definizione dell'oggetto Regioni che gestisce
// le regione su Shop Point of sale

var Regioni = {

	ElencoRegioni: [],
	ElencoNegozi: [],
	ElencoIndirizziNegozi: [],
	empty: true,
	
	StartRegioni: function()
	{
		this.ElencoRegioni = [];
		this.ElencoNegozi = [];
		this.ElencoIndirizziNegozi = [];
		Regioni.ElencaRegioni();
		this.empty = false;
	},
	
	ElencaNegozi: function(regione)
	{
		var JSONRequest = '{ "regione":"' + regione + '"}';
		$('pointofsale').set('text',regione);
		$('elenconegozi').empty();
		$('elenconegozi2').empty();
		var myRequest = new Request({method: 'get',
									 url: 'php/regione.php',
									 onSuccess: function(responseText, responseXML)
										{									
										var myResponse = JSON.decode(responseText);
										if (myResponse.result)
											{
												for (i=0;i<myResponse.dati.length;i++)
													{
													Regioni.ElencoNegozi[i] = new Element('div',{'id': myResponse.dati[i].Nome,'text':myResponse.dati[i].Nome,'class':'nome_negozio'});
													
													Regioni.ElencoIndirizziNegozi[i] = new Element('div',{'id': myResponse.dati[i].Indirizzo,'text': myResponse.dati[i].Indirizzo + " - " + myResponse.dati[i].Citta ,'class':'indirizzo_negozio'});
													if (i<6)
														{
														Regioni.ElencoNegozi[i].inject('elenconegozi');
														Regioni.ElencoIndirizziNegozi[i].inject('elenconegozi');										
														}
													else
														{
														Regioni.ElencoNegozi[i].inject('elenconegozi2');
														Regioni.ElencoIndirizziNegozi[i].inject('elenconegozi2');												
														}
													}
											}
										else
											{
												Regioni.ErroreDB();
											}
										},
									 onFailure: function(xhr)
										{
										Regioni.ErroreDB();
										},
									 onCancel: function()
										{
										Regioni.ErroreDB();
										}
									});
									
		myRequest.send('regione='+escape(JSONRequest));
	},
	
	ElencaRegioni: function()
	{
		var JSONRequest = '{"elenco":"elenco"}';
		var myRequest = new Request({method: 'get',
										 url: 'php/regione.php',
										 onSuccess: function(responseText, responseXML)
											{
											$('elencoregioni').empty();
											var myResponse = JSON.decode(responseText);
											if (myResponse.result)
												{
													for (i=0;i<myResponse.dati.length;i++)
														{
														Regioni.ElencoRegioni[i] = new Element('div',{'id': myResponse.dati[i].nome,'text':myResponse.dati[i].nome,'class':'regione'});
														Regioni.ElencoRegioni[i].inject('elencoregioni');
														if (myResponse.dati[i].Totale > 0)
															{
															Regioni.ElencoRegioni[i].addEvents({
																				click:function()
																					{
																					Regioni.ElencaNegozi(this.id);
																					//Sito.CambiaColore();
																					}
																				});	
															Regioni.ElencoRegioni[i].addClass('regione_cliccabile');
															}
														}
												}
											else
												{
													Regioni.ErroreDB();
												}						
											},
										 onFailure: function(xhr)
											{
												Regioni.ErroreDB();
											},
										 onCancel: function()
											{
												Regioni.ErroreDB();
											}
									});
									
		myRequest.send('elenco='+escape(JSONRequest));
	},
	
	ErroreDB: function()
	{
		alert('Error occurred. Please try refreshing the page.');
	},
	
	CloseRegioni: function()
	{
		if (!this.empty)
			{
			try
				{
				delete this.ElencoRegioni;
				delete this.ElencoNegozi;
				delete this.ElencoIndirizziNegozi;
				this.empty = true;
				}
			catch(e)
				{
				alert(e.message);
				}
			}
	}
};
