
var _categoriesXMLElt = new Array();
var _categoriesValue = new Array();

function initCategories()
{
	if( _categoriesXMLElt.length>0)
		return;
	new Request(
	{
		url:contextPath+'/category/listxml/',
		method: 'get',
		encoding:'ISO-8859-1',
		onFailure:manageCategoriesListErrors,
		onSuccess:processCategoriesList
	}).send();
}

function processCategoriesList(e,xml) {
	
	var debug = false;
	if (debug) {console.info("[CategoryTools.js] [processCategoriesList] Starting... ");}
	
	_categoriesXMLElt = new Array();
	_categoriesXMLElt = xml.documentElement.getElementsByTagName("category");
	
	for (var i = 0; i < _categoriesXMLElt.length; i++) {
		var category = _categoriesXMLElt[i];
		var id = category.getAttribute("id");
		var name = category.getAttribute("name");
		_categoriesValue[id] = name;
	}
	
	if (debug) {console.info("[CategoryTools.js] [processCategoriesList] End ");}
}


function manageCategoriesListErrors()
{
	
}

function updateCategories( select_elt, id)
{
	var a = function(e,xml)
	{
		_categoriesXMLElt = new Array();
		_categoriesXMLElt = xml.documentElement.getElementsByTagName("category");
		
		var previousName = '';
		
		$(select_elt).options.length =0;	
		var j=0;
		for( var i=0; i< _categoriesXMLElt.length; i++) {
			var category = _categoriesXMLElt[i];
			var id = category.getAttribute("id");
			var name = category.getAttribute("name");
			if( previousName != name)
				$(select_elt).options[j++] = new Option( name, id);
			previousName = name;
		}
	}
	
	new Request(
	{
		url:contextPath+'/category/listxml/'+id,
		method: 'get',
		encoding:'ISO-8859-1',
		onFailure:manageCategoriesListErrors,
		onSuccess:a
	}).send();
	
}