document.observe('dom:loaded', loadItems);

function loadItems() {
	Active.init();
	Menu.init();
	Bottom.init();
	//SelectCategory.init();
	Newsletter.init();
	Search.init();
	Paging.init();
}

var Active = {

	init: function() {
		var items = $('container').getElementsByClassName('active');
		for (var i=0; i<items.length; i++) {
			Event.observe(items[i], "mouseover", Active.over);
			Event.observe(items[i], "mouseout", Active.out);
		}
	},
	
	over: function() {
		this.src = this.src.replace(/\.jpg$/, "-active.jpg");
		this.style.cursor = 'pointer';
	},
	
	out: function() {
		this.src = this.src.replace(/\-active\.jpg$/, ".jpg");
		this.style.cursor = 'default';
	}
}

var Menu = {
	timeouts: null,

	init: function() {
		var items = $('menu').getElementsByTagName('UL');
		Menu.timeouts = new Array(items.length);
		for (var i = 0; i < items.length; i++) {
			Event.observe(Element.previous(items[i]), "mouseover", Menu.show);
			Event.observe(Element.previous(items[i]), "mouseout", Menu.startCount);
			Event.observe(items[i], "mouseout", Menu.startCount);
			Event.observe(items[i], "mouseover", Menu.stopCount);
			items[i].name = i;
		}
	},

	startCount: function() {
		var tmp = this;
		if (this.nodeName == 'A') {
			tmp = this.next();
		}
		if (!Menu.timeouts[tmp.name]) {
			Menu.timeouts[tmp.name]=setTimeout('Menu.hide('+tmp.name+')', 500);
		}
	},
	
	stopCount: function() {
		if (Menu.timeouts[this.name]) {
			clearTimeout(Menu.timeouts[this.name]);
			Menu.timeouts[this.name] = null;
		}
	},
	
	show: function() {
		var items = $('menu').getElementsByTagName('UL');
		for (var i = 0; i < items.length; i++) {
			items[i].style.display = 'none';
		}
		var tmp = this.next();
		tmp.style.display = 'block';
		if (Menu.timeouts[tmp.name]) {
			clearTimeout(Menu.timeouts[tmp.name]);
			Menu.timeouts[tmp.name] = null;
		}
	},
	
	hide: function(name) {
		var items = $('menu').getElementsByTagName('UL');
		for (var i = 0; i < items.length; i++) {
			if (items[i].name == name) {
				items[i].style.display = 'none';
				var tmp = items[i].previous();
			}
		}
		Menu.timeouts[name] = null;
	}
}

var Bottom = {
	timeouts: null,

	init: function() {
		var items = $('bottomlinks').getElementsByTagName('UL');
		Bottom.timeouts = new Array(items.length);
		for (var i = 0; i < items.length; i++) {
			Event.observe(Element.previous(items[i]), "mouseover", Bottom.show);
			Event.observe(Element.previous(items[i]), "mouseout", Bottom.startCount);
			Event.observe(items[i], "mouseout", Bottom.startCount);
			Event.observe(items[i], "mouseover", Bottom.stopCount);
			items[i].name = i;
		}
	},

	startCount: function() {
		var tmp = this;
		if (this.nodeName == 'A') {
			tmp = this.next();
		}
		if (!Bottom.timeouts[tmp.name]) {
			Bottom.timeouts[tmp.name]=setTimeout('Bottom.hide('+tmp.name+')', 500);
		}
	},
	
	stopCount: function() {
		if (Bottom.timeouts[this.name]) {
			clearTimeout(Bottom.timeouts[this.name]);
			Bottom.timeouts[this.name] = null;
		}
	},
	
	show: function() {
		var items = $('bottomlinks').getElementsByTagName('UL');
		for (var i = 0; i < items.length; i++) {
			items[i].style.display = 'none';
		}
		var tmp = this.next();
		tmp.style.display = 'block';
		if (Bottom.timeouts[tmp.name]) {
			clearTimeout(Bottom.timeouts[tmp.name]);
			Bottom.timeouts[tmp.name] = null;
		}
	},
	
	hide: function(name) {
		var items = $('bottomlinks').getElementsByTagName('UL');
		for (var i = 0; i < items.length; i++) {
			if (items[i].name == name) {
				items[i].style.display = 'none';
				var tmp = items[i].previous();
			}
		}
		Bottom.timeouts[name] = null;
	}
}

var SelectCategory = {
	
	init: function() {
		Event.observe($('selectcategory'), "change", SelectCategory.change);
	},
	
	change: function() {
		window.location = 'http://www.woodempire.co.uk/'+this.value;
	}
}

var Newsletter = {
	defaultText: '',

	init: function() {
		Newsletter.defaultText = $('newsletterfield').value;
		Event.observe($('newsletterbutton'), "click", Newsletter.button);
		Event.observe($('newsletterfield'), "focus", Newsletter.focus);
		Event.observe($('newsletterfield'), "blur", Newsletter.blur);
	},
	
	focus: function() {
		$('newsletterfield').value = '';
	},
	
	blur: function() {
		if (!$('newsletterfield').value) $('newsletterfield').value = Newsletter.defaultText;
	},
	
	button: function() {
		if (Newsletter.send()) $('newsletterform').submit();
	},
	
	send: function() {
		if ($('newsletterfield').value) return true;
		return false;
	}
}

var Search = {
	defaultText: '',

	init: function() {
		Search.defaultText = $('searchfield').value;
		Event.observe($('searchbutton'), "click", Search.button);
		Event.observe($('searchfield'), "focus", Search.focus);
		Event.observe($('searchfield'), "blur", Search.blur);
	},
	
	focus: function() {
		$('searchfield').value = '';
	},
	
	blur: function() {
		if (!$('searchfield').value) $('searchfield').value = Search.defaultText;
	},
	
	button: function() {
		$('searchform').submit();
	}
}

var Paging = {

	init: function() {
		if ($('paging')) {
			Event.observe($('pagingbutton'), "click", Paging.button);
		}
	},
	
	button: function() {
		$('pagingform').submit();
	}
}
