// server side tab change
var ServerTabs = Class.create(false);
ServerTabs.prototype = {
	initialize: function() {
		this.registerEvents();
	},

	registerEvents : function() {
		var tabs = $$('ul.tabs li a');
		for (var i=0;i<tabs.length ;i++ ) {
			Event.observe(tabs[i], 'click', this.select_tab.bind(this));
		}
	},

	select_tab : function(e) {
		// submit tab form
		$('hf_tab').value = e.element().getAttribute("rel");
		$('form_tab').submit();
	}
}

var PractitionerSearch = Class.create(false);
PractitionerSearch.prototype = {
	initialize: function() {
		this.registerEvents();	
	},
	
	registerEvents : function() {
		
		Event.observe($('sel_country'), 'change', this.country_change.bind(this));

		var submit_GP = $('btn_submit_GP');
		if (submit_GP != undefined)
			Event.observe(submit_GP, 'click', this.search_GP.bind(this));

		var prac_add = $('btn_prac_add');
		var prac_rem = $('btn_prac_rem');
		if (prac_add != undefined && prac_rem != undefined){
			Event.observe(prac_add,'click', this.click_selector.bind(this));
			Event.observe(prac_rem,'click', this.click_selector.bind(this));
		}
	},

	search_GP : function(e) {
		
		var form = $('search_form');
		var sel_practices = $('sel_practices2');
		var hid_practices = $('hid_prac');

		if (form != undefined && sel_practices != undefined && hid_practices != undefined) {
			for (var i=0;i<sel_practices.options.length;i++ ) {
				hid_practices.value += sel_practices.options[i].value;
				if (i != sel_practices.options.length - 1)
					hid_practices.value += "-";
			}
		}

	},

	country_change : function(e) {
		var country = e.element();
		aus = $('div_state_aus');
		nz = $('div_state_nz');
		switch (country.options[country.selectedIndex].value)
		{
			case "Australia":
				aus.style.display = 'block';
				nz.style.display = 'none';
				$('opt_state_nz').disabled = true;
				$('opt_state_aus').disabled = false;
				break;
			case "New Zealand":
				aus.style.display = 'none';
				nz.style.display = 'block';
				$('opt_state_nz').disabled = false;
				$('opt_state_aus').disabled = true;
				break;
			default:
				break;
		}

	},

	click_selector : function(e) {

		var btn = e.element();

		if (btn.name == "btn_prac") {
			var left = $('sel_practices');
			var right= $('sel_practices2');
		}

		if (left != undefined && right != undefined)
		{
			if (btn.value == ">") { // add any values that are not already added
				for (var i=left.options.length - 1;i>=0;i-- ) {
					if (left.options[i].selected) {
						right.options[right.options.length] = new Option(left.options[i].text, left.options[i].value);
						left.options[i] = null;
					}
				}
			}
			else { // remove the selected values
				for (var i=right.options.length - 1; i>=0;i-- )
					if (right.options[i].selected) {
						left.options[left.options.length] = new Option(right.options[i].text, right.options[i].value);
						right.options[i] = null;
					}
			}
		}
	}

}
