// Marco Bevilacqua - 20080124
// Strutture di controllo
PColArticolo = function(idColore, idTaglia, idArticolo, prezzoFormattato, disponibile, previstoArrivo) {
	this.IdColore = idColore;
	this.IdTaglia = idTaglia;
	this.IdArticolo = idArticolo;
	this.PrezzoFormattato = prezzoFormattato;
	this.Disponibile = disponibile;
	this.PrevistoArrivo = previstoArrivo;
}

PColVariante = function(id, descrizione) {
	this.Id = id;
	this.Descrizione = descrizione;
}

// Gestione pannello colori/taglie
PannelloColori = function(id, setArticoloHandler) {
		this.Id = id;
		this.Colori = new Array();
		this.Taglie = new Array();
		this.Articoli = new Array();
		
		this.onsetarticolo = setArticoloHandler;		
		this.IdColoreSelezionato = null;
		this.IdTagliaSelezionata = null;
		
		// Combinazione impostata per default
		this.IdColoreDefault = null;
		this.IdTagliaDefault = null;
}

PannelloColori.prototype.GetArticolo = function(idColore, idTaglia) {
	var x;
	var articolo = null;
	for (x = 0; x < this.Articoli.length; x++) {
		if ((this.Articoli[x].IdColore == idColore) && (this.Articoli[x].IdTaglia == idTaglia)) {
				articolo = this.Articoli[x];
				break;
		}
	}
	return articolo;
}

// Inizializzazione del pannello
PannelloColori.prototype.Init = function() {

// Impostazione della combinazione iniziale
	if ((this.IdColoreDefault == null) || (this.IdTagliaDefault == null)) {
			this.IdColoreDefault = this.Articoli[0].IdColore;
			this.IdTagliaDefault = this.Articoli[0].IdTaglia;
	}
	
	// Aggancio alla tendina delle taglie del gestore 
	var x;	
	for (x = 0; x < this.Colori.length; x++)
	{
		jQuery('#' + this.Id + '_' + this.Colori[x].Id).attr('index', x);
		jQuery('#' + this.Id + '_' + this.Colori[x].Id).click(ColoreClickHandler);
	}		

	// Simulo il clik del colore di default
	jQuery('#' + this.Id + '_' + this.IdColoreDefault).click();

}

SelezionaTaglia = function(tendina, valore) {

}

DeselezionaTaglia = function(tendina, valore) {

}

ColoreClickHandler = function() {
	var pannelloColori = eval("panColori_" + this.id.substring(0, this.id.indexOf('_')));
	
	if (pannelloColori.IdColoreSelezionato != null) {
			// Deselezione del vecchio colore
			DeselezionaColore(jQuery('#' + pannelloColori.Id + '_' + pannelloColori.IdColoreSelezionato)[0]);
	}

	// Selezione del nuovo colore
	pannelloColori.IdColoreSelezionato = Number(this.id.substring(this.id.indexOf('_') + 1, this.id.length));
	SelezionaColore(jQuery('#' + pannelloColori.Id + '_' + pannelloColori.IdColoreSelezionato)[0]);

	// Popolo la tendina delle taglie
	var tendina_taglie = jQuery('#' + pannelloColori.Id + '_IdTaglia');
	tendina_taglie.empty();
	tendina_taglie.change(TagliaClickHandler);
	
	jQuery.each(pannelloColori.Taglie, function(index, value) {
		if (pannelloColori.GetArticolo(pannelloColori.IdColoreSelezionato, value.Id) != null) {
			// Taglia esistente per il colore selezionato => aggiungo la taglia
			tendina_taglie.append(jQuery("<option />").val(value.Id).text(value.Descrizione));

		}
	});
	
	// Imposto la taglia di default
	tendina_taglie.val(pannelloColori.IdTagliaSelezionata);
	tendina_taglie.change();
	
	return true;
}

TagliaClickHandler = function() {
	var pannelloColori = eval("panColori_" + this.id.substring(0, this.id.indexOf('_')));
	
	if (pannelloColori.IdTagliaSelezionata != null) {
		// Deselezione della vecchia taglia
		DeselezionaTaglia(this, pannelloColori.IdTagliaSelezionata);
	}
	
	// Selezione delle nuova taglia
	pannelloColori.IdTagliaSelezionata = this.value;
	
	SelezionaTaglia(this, pannelloColori.IdTagliaSelezionata);
	
	// Impostazione dell'articolo selezionato
	pannelloColori.onsetarticolo(pannelloColori.Id, pannelloColori.GetArticolo(pannelloColori.IdColoreSelezionato, pannelloColori.IdTagliaSelezionata));

	return true;

}
