function setSelectOptions(select, options) 
{
	select.options.length = 0;
    options.each(function(item, index) 
	    {
	    	select.options[index] = new Option(item.value, item.key);
	    }
    );
}

function emptySelectOptions(select, message) {
    select.disabled = true;
    select.options.length = 0;
    select.options[0] = new Option(message);
}

function getSelectedOptions(select) {
    var options = new Array();
    $A(select.options).each(function(item) {
        if (item.selected) {
            options.push(item.value);
        }
    });
    return options;
}

function populateSelect(select, message, url, urlParameters) 
{
	emptySelectOptions(select, message);
	
	new Ajax.Request(url,
	{
		
		onSuccess : function(response) 
		{
//			alert(response.responseText);
			//$('debugger').innerHTML =  response.responseText;
			var options = $H(eval("(" + response.responseText + ")"));
			setSelectOptions(select, options);
		},
		onFailure : function(response) {
			alert("error loading " + url + "...");
		},
		parameters : urlParameters
	});
}

