var naviClass = "menu";
var touchedClass= "touched";
var naviTagType = "div";

var isInit = false;
window.onDomReady = function(fn){
	if(window.addEventListener){
		window.addEventListener("DOMContentLoaded", fn, false);
	}else if(window.addEvent){
		window.addEvent('domready',fn);
	}else{
		document.onreadystatechange = function(){
			if(document.readyState == "interactive"  || document.readyState == "loaded" || document.readyState == "complete"){
				!isInit ? fn():0;
				isInit = true;				
			}
		}
	}
}
window.onDomReady(touchnavi);



var openNav = false;
var redyToClose = false;
function touchnavi(){
	
	window.addEventListener('touchstart', function(event) {
		if(openNav && redyToClose){
			openNav.className = naviClass;
			openNav = false;
		}
	}, false);
	window.addEventListener('mousedown', function(event) {
		if(openNav && redyToClose){
			openNav.className = naviClass;
			openNav = false;
		}
	}, false);
	var maybeNav = document.getElementsByTagName(naviTagType);
	for(var el=0,tl=maybeNav.length;el<tl;el++){
		if(maybeNav[el].className == naviClass){
			var subnavLinks = maybeNav[el].getElementsByTagName('a');
			for(var tlinks=0,tll=subnavLinks.length;tlinks<tll;tlinks++){
				subnavLinks[tlinks].addEventListener('touchstart', function(event) {
					window.location.href=this.href;
				}, false);
				subnavLinks[tlinks].addEventListener('mousedown', function(event) {
					window.location.href=this.href;
				}, false);
				subnavLinks[tlinks].addEventListener('click', function(event) {
					return false;
				}, false);
			}
			
			maybeNav[el].addEventListener('touchstart', function(event) {
				dropItDown(this);
			}, false);
			maybeNav[el].addEventListener('mousedown', function(event) {
				dropItDown(this);
			}, false);
			maybeNav[el].addEventListener('mouseover', function(event) {
				if(openNav && redyToClose){
					openNav.className = naviClass;
					openNav = false;
				}
			}, false);
		}
	}
}

function dropItDown(navEle){
	redyToClose = false;
	if(openNav){
		openNav.className = naviClass;
	}
	navEle.className += " "+touchedClass;
	openNav = navEle;
	setTimeout('redyToClose = true;',1);
}
