var Folia = {
};

Folia.feature_panel = function(panels) {
  if (panels.length == 1) {
    return;
  }
  
  // hide all of the panels first
  for (var i=1;i<panels.length;i++) {
		panels[i].hide();
	}
	
	// set our defaults
	current_panel = 1;
	last_panel = 0;
	max = panels.length-1; // plantings to be looped.
	
	// initialise the periodical handler
	new PeriodicalExecuter(function(pe) {
	
		// hide and show the panels in sync so they appear to morph
		new Effect.Parallel([ 
			new Effect.Appear(panels[current_panel], { duration: 3.0 }), 
			new Effect.Fade(panels[last_panel], { duration: 3.0 })], 
			{ duration: 3.0, delay: 0.0 }
		);
	
		if (current_panel < max) {
			last_panel = current_panel;
			current_panel++;
		} else {
			last_panel = current_panel;
			current_panel = 0;
		}
	}, 7.0);
	
}


// Main Site Navigation
var MenuNav = {
	init: function() {
		this.item_names = $w('home plants gardens people journals answers groups swaps')
		this.menus = this.item_names.map(function(i) { 
			return MenuNav.menu(i) 
		})
		this.toggles = this.item_names.map(function(i) { 
			return MenuNav.toggle(i) 
		})
		this.toggles.each(function(t) {
			if (t != null) t.onclick = MenuNav.handle_toggle 
		})
		MenuNav.set_init_state()
	},

	set_init_state: function() {
		nav_map = {
			'home' : 'main_menu_home',
			'plants' : 'main_menu_plants',
			'gardens' : 'main_menu_gardens',
			'people' : 'main_menu_people',
			'journals' : 'main_menu_journals',
			'groups' : 'main_menu_groups',
			'answers' : 'main_menu_answers',
			'swaps' : 'main_menu_swaps',
			'add' : 'main_menu_add'
		}
	},

	handle_toggle: function() {
		//find the id of the menu item that was clicked
		var clicked = this.id.replace(/toggle_/,'')
		var subnav_name

		//for each of the sub nav menu panels, either hide or show depending on the currently selected menu.
		MenuNav.menus.each(function(menu) {
			menu_name = menu.id.replace(/menu_/, '')
			
			if (clicked != menu_name && menu.visible()) Element.hide(menu)

			var toggle = MenuNav.toggle(menu_name)
			if (toggle != null) {
				toggle.className = 'toggle_button'
				toggle.up().removeClassName('selected')
			}
		})
		
		if (!MenuNav.menu(clicked).visible()) {
			var toggle = MenuNav.toggle(clicked)
			toggle.className = 'toggle_button_toggled'
			toggle.up().addClassName('selected')
		}
		
		MenuNav.menu(clicked).toggle()
		return false
	},

	toggle: function(menu_name) { 
		return $('toggle_' + menu_name) 
	},

	menu: function(menu_name) { 
		return $('menu_' + menu_name) 
	}
}


//helper function for creating geo coordinates
	function fix6ToString(n) {
		return n.toFixed(6).toString();
	}