function addTransOnMouse(o){
	o.onmouseover = function (){opacity(o,0.5);};
	o.onmouseout = function (){opacity(o,1);};
}

function addTransOnMouseFstLevelDivFirstImg(o){
	for (var i = 0; i < o.childNodes.length ; i++ ){
		if(o.childNodes[i].nodeName == "DIV"){
			if (o.childNodes[i].getElementsByTagName("IMG").length > 0){
				addTransOnMouse(o.childNodes[i].getElementsByTagName("IMG")[0]);
			}
		}
	}
}

function opacity(o, alpha){
	o.style.opacity = alpha;
	o.style.MozOpacity = alpha;
	o.style.filter = "Alpha(opacity=" + alpha*100 + ")"; 
}

scroller = {
	scrI : 0,	
	pos : 0,
	dir : -1,
	scroll_div: null
}
scroller.initscrolling = function (){
	if(document.getElementById("SCROLLAREA")){
		scroller.scroll_div = document.getElementById("SCROLLAREA").getElementsByTagName("div")[0];
		scroller.scroll_div.style.position = "absolute";
		if (o = document.getElementById("SCROLLBUTTONS")) {
			o.getElementsByTagName("div")[0].onmousedown = function () { scroller.dir = 4; scroller.scrI = window.setInterval(scroller.setPos,20); };
			o.getElementsByTagName("div")[0].onmouseup = scroller.stopScrolling;
			o.getElementsByTagName("div")[0].onmouseout = scroller.stopScrolling;
			o.getElementsByTagName("div")[1].onmousedown = function () { scroller.dir = -4; scroller.scrI = window.setInterval(scroller.setPos,20); };
			o.getElementsByTagName("div")[1].onmouseup = scroller.stopScrolling;
			o.getElementsByTagName("div")[1].onmouseout = scroller.stopScrolling;
		}
		if (scroller.scroll_div.offsetHeight > document.getElementById("SCROLLAREA").offsetHeight){ o.style.visibility = 'visible'; }
	}
}
scroller.stopScrolling = function (){
	window.clearInterval(scroller.scrI);
}
scroller.setPos = function (){
	scroller.pos += scroller.dir;
	if (scroller.pos < -scroller.scroll_div.offsetHeight +100) { scroller.pos = -scroller.scroll_div.offsetHeight+100; scroller.stopScrolling(); }
	if (scroller.pos >= 0){ scroller.pos = 0; scroller.stopScrolling(); }
	scroller.scroll_div.style.top = scroller.pos + "px";
}

slider = {
	scrI : 0,	
	pos : 0,
	dir : -1,
	slider_div: null
}
slider.initscrolling = function (){
	if (document.getElementById("SLIDER")){
		slider.slider_div = document.getElementById("SLIDER").getElementsByTagName("div")[0]
		slider.slider_div.style.position = "absolute";
		if (o = document.getElementById("SLIDERBUTTONS")) {
			o.getElementsByTagName("div")[0].onmousedown = function () { slider.dir = 4; slider.scrI = window.setInterval(slider.setPos,20); };
			o.getElementsByTagName("div")[0].onmouseup = slider.stopScrolling;
			o.getElementsByTagName("div")[0].onmouseout = slider.stopScrolling;
			o.getElementsByTagName("div")[1].onmousedown = function () { slider.dir = -4; slider.scrI = window.setInterval(slider.setPos,20); };
			o.getElementsByTagName("div")[1].onmouseup = slider.stopScrolling;
			o.getElementsByTagName("div")[1].onmouseout = slider.stopScrolling;
		}
		var os = slider.slider_div;
		var es = os.getElementsByTagName("div");
		var twidth = 0;
		for (var i = 0; i < os.childNodes.length ; i++ ){
			if(os.childNodes[i].nodeName == "DIV"){
				twidth += os.childNodes[i].offsetWidth;
			}
		}
		os.style.width = twidth + "px";
		if (os.offsetWidth -12 > document.getElementById("SLIDER").offsetWidth){ o.style.visibility = 'visible'; }
	}
}

slider.stopScrolling = function(){
	window.clearInterval(slider.scrI);
}
slider.setPos = function(){
	slider.pos += slider.dir;
	if (slider.pos < - slider.slider_div.offsetWidth +100) { slider.pos = -slider.slider_div.offsetWidth+100; slider.stopScrolling(); }
	if (slider.pos >= 0){ slider.pos = 0; slider.stopScrolling(); }
	
	slider.slider_div.style.left = slider.pos + "px";
}


// -------------------------------------------------------------------------------
// -------- MO_MENU Autopreloads Images and adds Mouseover and Mouseout ----------
// -------- rememberClick = true leaves last clicked img active (optional off) ---
// -------- Filename + "jpg" must be Imagename -----------------------------------
// -------- MouseoverImage must be extented by "_f2" -----------------------------
// -------------------------------------------------------------------------------

var MO_MENU = function (o, imgPath, rememberClick){
	bind = function (obj, func, args) {
		return function() {
			if (obj === true)
			obj = this;
			var f = typeof func === "string" ? obj[func] : func;
			return f.apply(obj, Array.prototype.slice.call(args || []).concat(Array.prototype.slice.call(arguments)));
		};
	};
	numberCeck = function (n){
		if (n.match(/^n\d*/)){
			if(n.match(/^n\d*/)[0].length) {
				return n.substr(1);
			} else { return n; }
		} else { 
			return n; 
		}
	};
	this.init(o, imgPath, rememberClick);
};
MO_MENU.prototype = { Menu : null, rememberItem : null, imgPath : "", preloads : [], rememberClick : true };
MO_MENU.prototype.init = function (o, imgPath, rememberClick, ext){
	this.Menu = o.getElementsByTagName("img");	
	this.imgPath = imgPath;
	this.ext = ext;
	
	if (rememberClick == false) this.rememberClick = rememberClick;
	ext = this.Menu[0].src
	this.ext = ext.substring(ext.lastIndexOf("."), ext.length);

	for (i = 0; i < this.Menu.length; i++){
		if (this.Menu[i].getAttribute("act") == 1) { 
			this.activate(this.Menu[i]);
			this.rememberItem = this.Menu[i];
		}
		imgPl = new Image();
		imgPl.src = this.imgPath + numberCeck(this.Menu[i].name) + "_f2" + this.ext;
		this.preloads.push(imgPl);
		this.Menu[i].onmousedown = bind(this, this.resetAllImages, [this.Menu[i]]);
		this.Menu[i].onmouseover = bind(this, this.activate, [this.Menu[i]]);
		this.Menu[i].onmouseout = bind(this, this.deActivate, [this.Menu[i]]);
	}
};
MO_MENU.prototype.activate = function(o){ o.src = this.imgPath + numberCeck(o.name) + "_f2" + this.ext; };
MO_MENU.prototype.deActivate = function (o){ if (this.rememberItem != o) { o.src = this.imgPath + numberCeck(o.name) + this.ext; } };
MO_MENU.prototype.resetAllImages = function (o){
	if (this.rememberClick) if (o) { this.rememberItem = o; }	
	for (i = 0; i < this.Menu.length; i++){
		if (this.rememberItem != this.Menu[i]){
				this.Menu[i].src = this.imgPath + numberCeck(this.Menu[i].name) + this.ext;
		}
	}
};
