if (!michigirl) var michigirl = {};

michigirl.sectionselector = function() {

	var dom = global.dom,
		event = global.event,
		domdone = false,

		sectionel,
		itemsshown = false,
		itemshowinterval,
		itemshownum = 0;

	function init() {

		sectionel = $('sectionselector');
		if (!sectionel || !sectionel.nextSibling) {
			// reset timeout to try again later - unless dom finished
			if (!domdone) window.setTimeout(init,20);
			return;
		}

		// add clickable over icon
		dom.insertbefore(
			dom.node('a',{ 'class': 'icon','href': '' }),
			sectionel.getElementsByTagName('div')[0]
		);

		// remove <p> tag contents, replace with <a>
		var p = sectionel.getElementsByTagName('p')[0];
		dom.removechildren(p);
		p.appendChild(dom.node('a',{ 'href': '' },['Select city']));

		// hide section items
		var items = sectionel.getElementsByTagName('li');
		for (var i = 0,j = items.length;i < j;i++) {
			items[i].className = 'hide';
		}

		// add onclick handlers
		var anchors = sectionel.getElementsByTagName('a');
		event.add(anchors[0],'click',showitems);
		event.add(anchors[1],'click',showitems);

		// remove class from container <div> to cancel element 'flash' hiding
		sectionel.className = '';
	}

	function showitems(e) {

		event.preventdefault(e);

		if (itemsshown) return;
		itemsshown = true;
		itemshowinterval = window.setInterval(showitemsdo,75);
	}

	function showitemsdo() {

		var items = sectionel.getElementsByTagName('li');
		items[itemshownum++].className = '';

		if (itemshownum >= items.length) {
			window.clearInterval(itemshowinterval);
		}
	}

	// setting <html class="js"> avoids the 'flash' of section lists before javascript treatment
	document.getElementsByTagName('html')[0].className = 'js';

	init();
	event.add(window,'load',function() { domdone = true; });
}();