
// Definition de la classe 'ConfigProgressBar'
// NB: L'ordre des methodes est important
function ConfigProgressBar(id)
{
	// Proprietes publiques et événements
	this.Id = id;
	this.HtmlObject = $("#" + id);
	
	// Champs et methodes privees
	var _this = this;
	var _metadatas = eval("configProgressBar_" + id + "_datas");
	
	var GetMetadatas = function(itemId)
	{
		if (_metadatas && itemId)
			for (var i = 0; i < _metadatas.length; i++)
			{
				var metas = _metadatas[i];
				if (metas.Id == itemId)
					return metas;
			}
		return null;
	}
	
	// Désactive toutes les étapes ultérieures
	this.ResetUrls = function()
	{
		var pass = false;
		_this.HtmlObject.find(".TopRow td[id^='item_']").each(function()
		{
			var itemId = $(this).attr("id").substring(5);
			var datas = GetMetadatas(itemId);
			if (datas != null)
				$(this).find("a").attr("href", datas.CleanUrl);

			if (pass == false)
			{
				if ($(this).attr("class") == "Current")
					pass = true;
			}
			else if ($(this).attr("class") == "Enabled")
			{
				$(this).attr("class", "Disabled");
				$(this).find("a").attr("href", "#");
			}
		});
	}
	
	this.SetParameter = function(name, value)
	{
		_this.HtmlObject.find(".TopRow .Enabled").each(function()
		{
			var link = $(this).find("a");
		
			var url = link.attr("href");
			var parts = url.split('?');
			var urlRoot = parts[0];
			var queryString = parts[1];
			
			var params = Tools_GetQueryParams(queryString);
			params[name] = value;
			url = Tools_GetUrl(urlRoot, params);
			link.attr("href", url);
		});
	}
	
	var ResizeFirst = function()
	{
		var width = _this.HtmlObject.find(".TopRow img:first").width();
		_this.HtmlObject.find("td.First").next().css("width", width + "px");
	}
	
	this.OnLoad = function()
	{
		$(window).load(ResizeFirst);
	}
}

