var inMenu = false;
var menuImages = new Array();
menuImages["dealers"] = new Object();
menuImages["models"] =  new Object();
menuImages["accessories"] =  new Object();
menuImages["graphics"] =  new Object();
menuImages["apparel"] =  new Object();
menuImages["experience"] =  new Object();
menuImages["shop"] =  new Object();
menuImages["events"] =  new Object();
menuImages["downloads"] =  new Object();

for(var i in menuImages){
	menuImages[i].opacity = '0.6';
	menuImages[i].intervalID = 'off';
}

var isNetscape;
var isIE;
if( parseInt(navigator.appVersion) >= 4 ){
	if( navigator.appName == "Netscape"){
		isNetscape = true;
		isIE = false;
  	}
	else{
		isIE = true;
		isNetscape = false;
	}
}

function lightenAll(){
	for(var i in menuImages){
		var statement = "lighten('" +i+ "','" +menuImages[i].opacity+ "');";
		if(menuImages[i].intervalID !== 'off'){
			clearTimeout(menuImages[i].intervalID);
			menuImages[i].intervalID = 'off';
		}
		menuImages[i].intervalID = setTimeout(statement,30);
	}
}

function mOver(imageName){
	inMenu = true;
	//HIGHLIGHT SELECTION
	if(menuImages[imageName].intervalID !== 'off'){
		clearTimeout(menuImages[imageName].intervalID);
		menuImages[imageName].intervalID = 'off';
	}
	document.images[imageName].style.filter = 'alpha(opacity=100)';
	document.images[imageName].style.opacity = '1.0';
	document.images[imageName].style.MozOpacity = '1.0';
	document.images[imageName].style.KhtmlOpacity = '1.0';
	menuImages[imageName].opacity = '1.0';

	//FADE OUT ALL OTHERS
	for(var i in menuImages){
		if(i==imageName) continue;
		var statement = "darken('" +i+ "','" +menuImages[i].opacity+ "');";
		if(menuImages[i].intervalID !== 'off'){
			clearTimeout(menuImages[i].intervalID);
			menuImages[i].intervalID = 'off';
		}
		menuImages[i].intervalID = setTimeout(statement,30);
	}
	if(isIE) event.cancelBubble = true;
}

function darken(otherImageName, opacity){
	switch(opacity){

		case '1.0':	menuImages[otherImageName].opacity = "0.9";
					document.images[otherImageName].style.filter = "alpha(opacity=90)";
					document.images[otherImageName].style.opacity = "0.9";
					document.images[otherImageName].style.MozOpacity = "0.9";
					document.images[otherImageName].style.KhtmlOpacity = "0.9";
					var statement = "darken('" +otherImageName+ "','" +0.9+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		case '0.9':	menuImages[otherImageName].opacity = "0.8";
					document.images[otherImageName].style.filter = "alpha(opacity=80)";
					document.images[otherImageName].style.opacity = "0.8";
					document.images[otherImageName].style.MozOpacity = "0.8";
					document.images[otherImageName].style.KhtmlOpacity = "0.8";
					var statement = "darken('" +otherImageName+ "','" +0.8+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		case '0.8':	menuImages[otherImageName].opacity = "0.7";
					document.images[otherImageName].style.filter = "alpha(opacity=70)";
					document.images[otherImageName].style.opacity = "0.7";
					document.images[otherImageName].style.MozOpacity = "0.7";
					document.images[otherImageName].style.KhtmlOpacity = "0.7";
					var statement = "darken('" +otherImageName+ "','" +0.7+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		case '0.7':	menuImages[otherImageName].opacity = "0.6";
					document.images[otherImageName].style.filter = "alpha(opacity=60)";
					document.images[otherImageName].style.opacity = "0.6";
					document.images[otherImageName].style.MozOpacity = "0.6";
					document.images[otherImageName].style.KhtmlOpacity = "0.6";
					var statement = "darken('" +otherImageName+ "','" +0.6+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		default:	if(menuImages[i].intervalID !== 'off'){
						clearTimeout(menuImages[otherImageName].intervalID);
						menuImages[otherImageName].intervalID = 'off';
					}
	}
}

function outOfMenu(){
	if(!inMenu) return;
	inMenu = false;
	lightenAll();
}

function bodyOut(){
	lightenAll();
}

function preventBubble(evt){
	//THIS IS NECESSARY BECAUSE OTHERWISE EVENT BUBBLES UP TO BODY AND MENU LIGHTENS EVEN WHEN NOT OUT OF BODY
	try{
		if(isIE){
			if( event.toElement && event.toElement.tagName!='HTML') event.cancelBubble = true;
		}
		else{
			if( evt.relatedTarget && evt.relatedTarget.tagName!='HTML') evt.stopPropagation();
		}
	}
	catch(e){
	}
}

function lighten(otherImageName, opacity){
	switch(opacity){

		case '0.9':	menuImages[otherImageName].opacity = "1.0";
					document.images[otherImageName].style.filter = "alpha(opacity=100)";
					document.images[otherImageName].style.opacity = "1.0";
					document.images[otherImageName].style.MozOpacity = "1.0";
					document.images[otherImageName].style.KhtmlOpacity = "1.0";
					var statement = "lighten('" +otherImageName+ "','" +1.0+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		case '0.8':	menuImages[otherImageName].opacity = "0.9";
					document.images[otherImageName].style.filter = "alpha(opacity=90)";
					document.images[otherImageName].style.opacity = "0.9";
					document.images[otherImageName].style.MozOpacity = "0.9";
					document.images[otherImageName].style.KhtmlOpacity = "0.9";
					var statement = "lighten('" +otherImageName+ "','" +0.9+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		case '0.7':	menuImages[otherImageName].opacity = "0.8";
					document.images[otherImageName].style.filter = "alpha(opacity=80)";
					document.images[otherImageName].style.opacity = "0.8";
					document.images[otherImageName].style.MozOpacity = "0.8";
					document.images[otherImageName].style.KhtmlOpacity = "0.8";
					var statement = "lighten('" +otherImageName+ "','" +0.8+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		case '0.6':	menuImages[otherImageName].opacity = "0.7";
					document.images[otherImageName].style.filter = "alpha(opacity=70)";
					document.images[otherImageName].style.opacity = "0.7";
					document.images[otherImageName].style.MozOpacity = "0.7";
					document.images[otherImageName].style.KhtmlOpacity = "0.7";
					var statement = "lighten('" +otherImageName+ "','" +0.7+ "');";
					menuImages[otherImageName].intervalID = setTimeout(statement,30);
					break;

		default:	clearTimeout(menuImages[otherImageName].intervalID);
					menuImages[otherImageName].intervalID = 'off';
	}
}

var arrowIntervalID;
var arrowPadding = 2;
function animateArrow(){
	arrowIntervalID = setInterval(moveArrow, 100);
}
function moveArrow(){
	switch(arrowPadding){
		case 2:	document.getElementById("arrow").style.paddingLeft = "4px";
				arrowPadding = 4;
				break;

		case 4:	document.getElementById("arrow").style.paddingLeft = "6px";
				arrowPadding = 6;
				break;

		case 6:document.getElementById("arrow").style.paddingLeft = "8px";
				arrowPadding = 8;
				break;

		case 8:document.getElementById("arrow").style.paddingLeft = "2px";
				arrowPadding = 2;
				break;
	}
}
function resetArrow(){
	clearTimeout(arrowIntervalID);
	document.getElementById("arrow").style.paddingLeft = "2px";
	arrowPadding = 2;
}

function zipLink(prefix){
	function trimById(id){
		var rawField = document.getElementById(id).value;
		var regEx = /^\s+|\s+$/g;
		var trimmedField = rawField.replace(regEx, "");
		document.getElementById(id).value = trimmedField;
	}
	trimById('zipInput');
	//location.href = prefix+"dealer_search/index.php?zip="+document.getElementById('zipInput').value;
	location.href = prefix+"dealer_search/index.php?zip="+document.getElementById('zipInput').value;
}
