// JavaScript Document

// to hold the current visible element
var whichElementVisible;

function prepareShowElem(){
	if(!document.getElementById) return false;
	if(!document.getElementsByTagName) return false;
	
	var buttons = document.getElementsByTagName("a");
	
	for (var i=0; i<buttons.length; i++){
		if(buttons[i].attributes['class']){
			if(buttons[i].getAttribute("class") == "showelem" || buttons[i].attributes['class'].value == "showelem"){
				buttons[i].onclick = function(){
					
					emptyWebRev();
					whichElementVisible = getVisibleElem();
					var procedure = showElement(this, whichElementVisible);
					return false;
				}
			}
		}
	}
}

function prepareRollOver(){
	if(!document.getElementById) return false;
	if(!document.getElementById("show_procedure")) return false;
	if(!document.getElementsByTagName) return false;
	
	var link_container = document.getElementById("show_procedure");
	var links = link_container.getElementsByTagName("a");
	
	for (var i=0; i<links.length; i++){
		if(links[i].attributes['class']){
			if(links[i].getAttribute("class") == "showelem" || links[i].attributes['class'].value == "showelem"){
				links[i].onmouseover = function(){
					doRollover(this);
					return false;
				}
			}
		}
	}
}

function doRollover(mylink){
	if(!document.getElementById) return false;	
	var url = mylink.getAttribute("href");
	
	var var_array = getAllVars(url);
	
	for(var i=0; i<var_array.length; i++){
		if(var_array[i][0] == "roll"){
			var elem = document.getElementById(var_array[i][1]);
			var myimages = elem.parentNode.getElementsByTagName("img"); 
			for(var k=0; k<myimages.length; k++){
				if(myimages[k].attributes['class']){
					if(myimages[k].getAttribute("class") == "showme" || myimages[k].attributes['class'].value == "showme"){
						whichElementVisible = myimages[k];
					}
				}
			}
			// whichElementVisible.setAttribute("class", "hidden");
			whichElementVisible.attributes['class'].value = "hidden";
			whichElementVisible = elem;
			// elem.setAttribute("class", "showme");
			elem.attributes['class'].value = "showme";
		}
	}
}

function showElement(mylink, whichElementVisible){
	
	if(!document.getElementById) return false;	
	var url = mylink.getAttribute("href");
	
	var var_array = getAllVars(url);
	
	for(var i=0; i<var_array.length; i++){
		if(var_array[i][0] == "show"){
			var elem = document.getElementById(var_array[i][1]);
			// whichElementVisible.setAttribute("class", "hidden");
			whichElementVisible.attributes['class'].value = "hidden";
			whichElementVisible = elem;
			// elem.setAttribute("class", "showme");
			elem.attributes['class'].value = "showme";
			// elem.style.display = "block";
			
			return elem.getAttribute("id");
		}
	}
}

function emptyWebRev(){
	if(!document.getElementById) return false;	
	if(!document.getElementById("webrevenez")) return false;
	var wr = document.getElementById("webrevenez");
	wr.innerHTML = "";
}

function getAllVars(url){
	
	// split url to get all GET vars
	var mod_url_split = url.split("?");
	var var_array = new Array;
	
	// split all vars and add to array
	if(mod_url_split.length > 1) {
		var mod_varset = mod_url_split[1].split("&");
		for(var i=0; i<mod_varset.length; i++){
			var temp_array = new Array;
			var temp = mod_varset[i].split("=");
			var mod_var = temp[0];
			var mod_value = temp[1];
			temp_array.push(mod_var, mod_value);
			var_array.push(temp_array);
		}
	}
	else {
		var mod_varset = mod_url_split[0].split("&");
		for(var i=0; i<mod_varset.length; i++){
			var temp_array = new Array;
			var temp = mod_varset[i].split("=");
			var mod_var = temp[0];
			var mod_value = temp[1];
			temp_array.push(mod_var, mod_value);
			var_array.push(temp_array);
		}
	}
	
	return var_array;
}

function getVisibleElem(){
	var eles = document.getElementsByTagName("div");
	for(var i=0; i<eles.length; i++){
		if(eles[i].attributes['class']){
			if (eles[i].getAttribute("class") == "showme" || eles[i].attributes['class'].value == "showme"){
				return eles[i];
			}
		}
	}
}

addLoadEvent(prepareShowElem);
addLoadEvent(prepareRollOver);
