// $Id: capabilitiesclient.js,v 1.11 2008/07/07 09:54:43 goncalves Exp $

/**
 * Ask for the layer list for the specified server
 */
function getWMSLayerList(serverUrl, buttonId) {
	var label = gMessages['js.message.loading.getWMSLayerList'] + " : " + serverUrl;
	var dijitLoader = dijit.byId("LoadingToaster");
	var mId = dijitLoader.addMessage(label);

	//grise le bouton
	dijit.byId(buttonId).setDisabled(true);

	// destroy the tree catalog oGC
	document.getElementById('ogcLayerListResults').innerHTML = gMessages['js.message.chargement'];
	// Build the request
	var request = 
		{
			method : "getLayersAsHTML", 
			serverUrl: encodeURIComponent(serverUrl)
		};
	
	// Send it to the server side
	dojo.xhrGet({
        url: "capabilitiesControler",
        content: request,
		load: function(response, ioArgs){
			getWMSLayerListHandler(serverUrl, response);
			dijitLoader.removeMessage(mId);
			dijit.byId(buttonId).setDisabled(false);
		},
		error: function(response, ioArgs){
			displayErrorMessage(gErrors["error.capabilities.no.server"]);
			dijitLoader.removeMessage(mId);
			dijit.byId(buttonId).setDisabled(false);
			document.getElementById('ogcLayerListResults').innerHTML = "";
		}
	});
}

/**
 * Update the page with layer list results
 */
function getWMSLayerListHandler(serverUrl, html) {
	// Refresh the ogc catalog (in a MapBuilder point of view)
	config.objects.ogccatalog.url = "capabilitiesControler?method=getLayersAsWMC&serverUrl=" + encodeURIComponent(serverUrl);
	config.objects.ogccatalog.callListeners("reloadModel");
	// Refresh the ogc catalog (in a HTML and DOJO point of view)
	document.getElementById('ogcLayerListResults').innerHTML = html;
	dojo.parser.parse(document.getElementById('ogcLayerListResults'));
}