window.onload = function() {
	initMenuHover();
	initFormularHover();
	initSlitMenu();
	initImageResizer();
}

function addHoverEffects(item) {
	// Add onmouseover effect
	item.onmouseover = function() {
		// item.addClassName('hover');
		Element.addClassName(item, 'hover');
	}
	// Add onmouseout effect
	item.onmouseout = function() {
		// item.removeClassName('hover');
		Element.removeClassName(item, 'hover');
	}
}

/**
 * Init hover menu
 */
function initMenuHover() {
	$A($('menu').childNodes).each(function(item) {
		if (item.nodeName.toLowerCase() == 'li')
		{
			addHoverEffects(item);
		}
	});
}

/**
 * Init hover elements
 */
function initFormularHover() {
	var formElements = [];
	formElements.concat($A(document.getElementsByTagName('input')));
	formElements.concat($A(document.getElementsByTagName('textarea')));
	formElements.concat($A(document.getElementsByTagName('select')));

	formElements.each(function(item) {
		// Do not hover button elements
		if (item.type.toLowerCase() != 'submit') {
			addHoverEffects(item);
		}
	});
}

/**
 * Init slit menu if exists
 */
function initSlitMenu() {
	var active = '';
	var first = true;
	if ($('special')) {
		$A($('special').childNodes).each(function(item) {
			if (item.nodeName.toLowerCase() == 'li') {
				// hide all informations by default
				item.childNodes[1].style.display = 'none';
				item.onclick = function() {
					if (active != item) {
						// Hide former active
						if (active) {
							Effect.BlindUp(active.childNodes[1]);
							Element.removeClassName(active, 'active');
						}
						// Only BlindDown, if inactive
						active = item;
						Effect.BlindDown(active.childNodes[1]);
						Element.addClassName(active, 'active');
					}
				}
				// activate first element
				if (first) {
					active = item;
					Effect.BlindDown(active.childNodes[1]);
					Element.addClassName(active, 'active');
					first = false;
				}
			}
		});
	}
}

/**
 * Init image resizer
 */
function initImageResizer() {
	if ($('resize')) {
		// Add mouse handler for images from the resize class
		$A(document.getElementsByClassName('resize')).each(function(item) {
			if (item.nodeName.toLowerCase() == 'img')
			{
				item.onclick = function() {
					Element.addClassName($('resize'), 'show');
					$('resize').getElementsByTagName('img')[0].src = item.src.replace(/_small/, '');
				}
			}
		});
		// Close resizer
		$('resize').getElementsByTagName('a')[0].onclick = function() {
			Element.removeClassName($('resize'), 'show');
			$('resize').getElementsByTagName('img')[0].src = '';
			return false;
		}
		$('resize').getElementsByTagName('img')[0].onclick = function() {
			Element.removeClassName($('resize'), 'show');
			$('resize').getElementsByTagName('img')[0].src = '';
		}
	}
}

