//------------------------------------------------------------------//
//													 				//
//					 	searchComboBox				 				//
//													 				//
//------------------------------------------------------------------//
// Date de création					: 19/05/2008					//
// Dernière modification 			: 19/05/2008					//
// Auteur 							: Johan Leche					//
// Propriétaire						: Keyrio SARL					//
// Contact							: j.leche@keyrio.fr				//
// Web								: http://www.keyrio.fr			//
//------------------------------------------------------------------//
//																	//
// Dépendances :			- prototype.js 		version 1.6			//
//																	//
//------------------------------------------------------------------//	
var searchComboBox = Class.create();

searchComboBox.prototype = 
{
	initialize: function(params)
	{
		this.m_asModels			= params.asModels;
		this.m_asBrands			= params.asBrands;
		this.m_asCG				= params.sCG;
		
		this.m_sIdComboBrands	= params.sIdComboBrands;
		this.m_sIdComboModels	= params.sIdComboModels;
		this.m_sIdComboCG		= params.sIdComboCG;
		
		// labels
		
		this.m_sLabel1			= params.sLabel1;
		this.m_sLabel2			= params.sLabel2;
		
		this.launchEvents();
		
	},
	
	
	launchEvents: function()
	{
		var self = this;
		
		Event.observe
		(
			self.m_sIdComboBrands,
			"change",
			function()
			{
				self.refreshModels();
			}
		);			
	},
	
	
	refreshModels: function()
	{
		var nBrandFK 		= $(this.m_sIdComboBrands).value;
		
		this.cleanModelsComboBox(nBrandFK);
		
		if (nBrandFK > 0)
		{
			var asModels 		= this.m_asModels[nBrandFK];
			var nCount 			= asModels.length;
			var oComboModels	= $(this.m_sIdComboModels);
			
			
			
			for(var i=0; i<nCount; i++)
			{
				var oElement = new Element('option', {value: asModels[i][0]}).update(asModels[i][1]);
				oComboModels.appendChild(oElement);
			}
		}	
	},
	
	
	cleanModelsComboBox: function(pnBrandFK)
	{
		var aoElement = $(this.m_sIdComboModels).childElements();
		var nCount = aoElement.length;
		
		for (var i=0; i<nCount; i++)
		{
			aoElement[i].remove();					
		}
		if (pnBrandFK > 0)
			var oElement = new Element('option', {value:0}).update('[' + this.m_sLabel2 + ']');
		else
			var oElement = new Element('option', {value:0}).update('[' + this.m_sLabel1 + ']');
			
		
		
		$(this.m_sIdComboModels).appendChild(oElement);
	}
}
//EOF	
