var masterZ = 1;
var fadein_timeout = "";
var fadeout_timeout = "";
var fea_elements = new Array();

// START - Functions for Dissolve //
function dissolveItem(num) {
	var item = getElementsByClass("featureItem",document.getElementById("feature"))[num-1];
	
	item.style.zIndex = masterZ+1;
	item.style.opacity = 0;
	item.style.filter = "alpha(opacity=0)";
	item.style.visibility = "visible";
	
	masterZ++;
	
	//fadeIn(item.id);
	new Effect.Opacity(item.id, {duration:0.5, from:0, to:1});
	
}
// END - Functions for Dissolve //
	
// START - Functions for Zone Animation //
function initializeFeature() {
	var dir = "/rescabam/common/includes/images/accessories/storage/"
	fea_elements = [dir+"zone_1.gif",dir+"zone_2.gif",dir+"zone_3.gif",dir+"zone_4.gif",dir+"zone_5.gif"];
	cur_timeout = setTimeout("fadeIn('fea_default',0,2,2)",2000);
}

function showFeature(x) {
		inProg = true;
		var changer = document.getElementById("fea_element");
		changer.src = fea_elements[x];
		changer.zIndex = 3;
		changer.style.visibility = "visible";
		changer.usemap= "#cab_map_over" + x;
		fadeIn(changer.id,changer.style.opacity);
		//new Effect.Opacity(changer.id, {duration:0.5, from:0, to:1});
}
	
function hideFeature() {
	fadeout_timeout = setTimeout("hideFeatureReset()",5)
}

function hideFeatureReset() {
	document.getElementById("fea_default").src = "/rescabam/common/includes/images/accessories/storage/zone_default.gif";
	fadeout_timeout = setTimeout("fadeOut()",5)
}

function fadeOut() {
	clearTimeout(fadein_timeout);
	
	var changer = document.getElementById("fea_element");
	var op = changer.style.opacity;
	if(op > 0) {
		var i = ((op*100)-5);
		changer.style.opacity = (i*.01);
		changer.style.filter = "alpha(opacity=" + i + ")";
		fadeout_timeout = setTimeout("fadeOut()",5);
	}
	else {
		changer.style.zIndex = 0;
		changer.style.opacity = 0;
		changer.style.filter = "alpha(opacity=0)";
		document.getElementById("fea_default").style.opacity = 1;
		document.getElementById("fea_default").style.filter = "alpha(opacity=100)";
	} 
		
}
// END - Functions for Zone Animation //
	
// START - Shared Functions //
function fadeIn(eId,op,sp,rt) {
	if(op == null) {
		var opacity = 0;
	}
	else {
		var opacity = op;
	}
	if(sp == null) {
		var speed = 5;
	}
	else {
		var speed = sp;
	}
	if(rt == null) {
		var rate = 15;
	}
	else {
		var rate = rt;
	}
	var dissolver = document.getElementById(eId);
	clearTimeout(fadeout_timeout);
	if(opacity < 1) {
		var i = ((opacity*100)+rate);
		dissolver.style.opacity = (i*.01);
		dissolver.style.filter = "alpha(opacity=" + i + ")";
		fadein_timeout = setTimeout("fadeIn('" + eId + "'," + dissolver.style.opacity + "," + speed + "," + rate + ")",speed);
	}
	else {
		dissolver.opacity = 1;
		dissolver.filter = "alpha(opacity=100)";
	}
}

function getElementsByClass(cname,tel) {
	var elementsByClass = new Array();	
	if(tel) {
		var target = tel;
	}
	else {
		var target = document;
	}
	
	if(target.className == cname) {
		elementsByClass[0] = target;
	}
	var children = target.childNodes;
	for(var i=0;i<children.length;i++) {
		elementsByClass = elementsByClass.concat(getElementsByClass(cname,children[i]));
	}
	return elementsByClass;
}

function openCloseMenu(el) {
	var menuItems = el.getElementsByTagName("ul");
	if(el.className == "menuOpen") {
		el.className = "";
	}
	else {
		el.className = "menuOpen";
	}
	for(var i=0; i<menuItems.length; i++) {
		if(menuItems[i].className == "hide" && menuItems[i].parentNode == el) {
			menuItems[i].className = "show";
		} 
		else {
			menuItems[i].className = "hide";
		}
	}
}
// END - Shared Functions //