function removeAllOptions(selectbox) {
	var i;
	for(i=selectbox.options.length-1;i>=0;i--) {
		selectbox.remove(i);
	}
}

function addOptionDynamic(selectbox, value, text, index) {
	if (text.toString() != "undefined") {
		selectbox.options[index] = new Option(text, value);
	}
}

function LocationRequestTop(province, category, selectedTown) { 

   new Ajax.Request('/town-search-ajax/' + province + '/' + category + '/', 
		{
		async: false,
    	onSuccess: function(setit){
      		var data = setit.responseText || "";
			updateElementTop('m_town', data, selectedTown);
		}
    	}
	);
}

function LocationCategoryRequestTop(category, selectedProvince) { 

   new Ajax.Request('/province-search-ajax/' + category + '/', 
		{
		async: false,
    	onSuccess: function(setit){
      		var data = setit.responseText || "";
			updateProvinceElementTop('m_province', data, selectedProvince);
		}
    	}
	);
}

function LocationRequest(province, selectedTown) { 

   new Ajax.Request('/town-search/' + province + '/', 
		{
		async: false,
    	onSuccess: function(setit){
      		var data = setit.responseText || "";
			updateElement('id_town', data, selectedTown);
		}
    	}
	);
}

function updateElement(theelement, data, selected) { 
    removeAllOptions(document.getElementById(theelement));
    
    addOptionDynamic(document.getElementById(theelement), '', 'Select Town', 0);
	addOptionDynamic(document.getElementById(theelement), 'all', 'All Towns', 1);
	y = 2;
    var data_array = data.split("!");
    
    for (i=0; i<data_array.length; i++) {
        addOptionDynamic(document.getElementById(theelement), data_array[i], data_array[i], y);

        if (data_array[i] == selected != '') 
                document.getElementById(theelement).selectedIndex = y;
        y++;
    }
}

function updateElementTop(theelement, data, selected) { 
    removeAllOptions(document.getElementById(theelement));
    
    addOptionDynamic(document.getElementById(theelement), '', 'Select Town', 0);
	addOptionDynamic(document.getElementById(theelement), 'all', 'All Towns', 1);
	y = 2;
    var data_array = data.split("!");
    
    for (i=0; i<data_array.length; i++) {
		data_single = data_array[i].split("~");
        addOptionDynamic(document.getElementById(theelement), data_single[0], data_single[1], y);

        if (data_single[0] == selected != '')
                document.getElementById(theelement).selectedIndex = y;
        y++;
    }
}

function updateProvinceElementTop(theelement, data, selected) { 
    removeAllOptions(document.getElementById(theelement));
    
    addOptionDynamic(document.getElementById(theelement), '', 'Select Province', 0);
	addOptionDynamic(document.getElementById(theelement), 'all', 'All Provinces', 1);
	y = 2;
    var data_array = data.split("!");
    
    for (i=0; i<data_array.length; i++) {
		data_single = data_array[i].split("~");
        addOptionDynamic(document.getElementById(theelement), data_single[0], data_single[1], y);

        if (data_single[0] == selected != '')
                document.getElementById(theelement).selectedIndex = y;
        y++;
    }
}