function fillSelect(params) {
	if (params.store == null) {
		params.store = new dojo.data.ItemFileReadStore({url:params.url});
	}
	var s = document.getElementById(params.selectId);
	clearSelect(s);
	//Define a callback that fires when all the items are returned.
	var gotList = function(items, request){
		dojo.forEach(items, function(i){
			var label = '';
			var value = '';
			if (params.labelField != null) {
				label = params.store.getValue(i, params.labelField);
			}
			else {
				label = params.store.getLabel(i);
			}
			if (params.valueField != null) {
				value = params.store.getValue(i, params.valueField);
			}
			else {
				value = params.store.getIdentity(i);
			}
			var option = new Option(label, value);
			if (value == params.value) {
				option.selected = true;
			}
			s.options[s.options.length] = option;
		});
	}
	var gotError = function(error, request){
		//alert("The request to the store failed. " +  error);
	}

	//Invoke the search
	params.store.fetch({
		query: params.query,
		onComplete: gotList,
		onError: gotError
	});		
}

function fillSelectShort(id, store, query, value) {
	fillSelect(
		{
			selectId: id, 
			store: store, 
			query: query, 
			labelField: 'label',
			value: value
		});
}

function clearSelect(selectbox)
{
	for(var i=selectbox.options.length-1;i>=0;i--)
	{
		selectbox.remove(i);
	}
}

function getSelectedValue(id) {
	if(id == 'sport')
	{
		return 'Soccer';
	}
	
	var select = document.getElementById(id);
	return select.options[select.selectedIndex].value;
}

function getSelectedText(id) {
	var select = document.getElementById(id);
	return select.options[select.selectedIndex].text;
}

function getActualValue(id) {
	if(id == 'sport')
	{
		return 'Soccer';
	}
	var select = document.getElementById(id);
	var value = select.options[select.selectedIndex].value;
	
	var values = value.split("#");
	//if(values[values.length -1] !="-1" && values[values.length -1] !="-2")
	//{
		return values[values.length -1];
	//}
	//return "";	
}

function getNoItemAsBlank(id) {
	var value = getActualValue(id);
	if (value == '-2') {
		value = '';
	}
	return value;
}


function setSelectedValue(id, value) {
	var select = document.getElementById(id);
	for(var i = 0; i < select.options.length; i++)
	{
		if (select.options[i].value == value) {
			select.options[i].selected = true;
		}
	}
}


function createStore(url, writable, initHandler) {
	//create store
	var storeLocal = null;
	
	if (writable) {
		//alert('creating write store');
		storeLocal = new dojo.data.ItemFileWriteStore({url:url});
	}
	else {
		//alert('creating read store');
		storeLocal = new dojo.data.ItemFileReadStore({url:url});
	}
	
	if (typeof(initHandler) == "undefined") {
		initHandler = initDropDowns;
	}
	
	dojo.addOnLoad(
		function() {
			var gotError = function(error, request){
				//alert("The request to the store failed. " +  error);
			}
			storeLocal.fetch({
				onComplete: initHandler,
				onError: gotError
			});		
		}
	);
	
	return storeLocal;
		
}
		
function catchEnter(event) 
{
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) 
	{
		performAction();
	}
}

function fillSelectByUrl(id, url) {
	//create store
	var storeLocal = new dojo.data.ItemFileReadStore({url:url});
	
	dojo.addOnLoad(
		function() {
			var gotError = function(error, request){
				//alert("The request to the store failed. " +  error);
			}
			var gotList = function(){
				fillSelect(
				{
					selectId: id, 
					store: storeLocal, 
					labelField: 'label'
				});
			}
			storeLocal.fetch({
				onComplete: gotList,
				onError: gotError
			});		
		}
	);
	
	return storeLocal;
}
