var imgList = new Object();
var imgsLoaded = false;
var nRe = /(.+)_ro_/;
var dRe = /(.+)_ro_dd_/;

function rollover() {
	var sRe = /[\/]{2}[^\/]+[\/]{1}(.+)[\/]{1}(.+)([\.]{1}[\w]{3})$/;

	if(document.images.length) {
		for(var x=0; x<document.images.length; x++) {

			var image = document.images[x];

			if(image.id && nRe.test(image.id)) {
				var iD = '/' + sRe.exec(image.src)[1] + '/';
				var iN = nRe.exec(image.id)[1];
				var iS = sRe.exec(image.src)[2];
				var iX = sRe.exec(image.src)[3];

				imgList[iN] = new Image();
				imgList[iN].src = iD + iS + iX;

				imgList[iN + '_on'] = new Image();
				imgList[iN + '_on'].src = iD + iS + '_on' + iX;

				image.onmouseover = mOver;
				image.onmouseout = mOut;
				image.drop = false;

				if(dRe.test(image.id)) {
					var pure_id = dRe.exec(image.id)[1];

					image.drop = document.getElementById(pure_id + '_drop');
					image.drop.style.left = setPos('x', image) + 'px';
					image.drop.style.top = setPos('y', image) + 'px';

					if(image.id.indexOf('mod') == 0) image.drop.style.width = image.offsetWidth + 'px';

					image.drop.onmouseover = mOverDrop;
					image.drop.onmouseout = mOutDrop;

					image.drop.img = image;
					image.drop.pureid = pure_id;
				}
			}
		}

		imgsLoaded = true;
	}
}

function mOver() {
	if(window.imgsLoaded && this.id.indexOf('_act') < 0) {
		var img = nRe.exec(this.id)[1];
		this.src = imgList[img + '_on'].src;

	}
	if(this.drop) {
		this.drop.style.visibility = 'visible';
	}
}

function mOut() {
	if(window.imgsLoaded && this.id.indexOf('_act') < 0) {
		var img = nRe.exec(this.id)[1];
		this.src = imgList[img].src;
	}
	if(this.drop) {
		this.drop.style.visibility = 'hidden';
	}
}

function mOverDrop() {
	if(this.img.id.indexOf('_act') < 0) {
		this.img.src = imgList[this.pureid + '_on'].src;
	}
	this.style.visibility = 'visible';
//	this.style.left = setPos('x', this.img) + 'px';
//	this.style.top = setPos('y', this.img) + 'px';
}

function mOutDrop() {
	if(this.img.id.indexOf('_act') < 0) {
		this.img.src = imgList[this.pureid].src;
	}
	this.style.visibility = 'hidden';
}

function setPos(xy, obj) {

	var wLimit = 780;

	var pos = new Array(0,0);
	var tmp = obj;

	if(!isNaN(obj.x)) {
		pos[0] = obj.x;
		pos[1] = obj.y;
	}
	else {

		while(tmp.nodeName != 'BODY') {

			if(tmp.nodeName != 'TR') {
				pos[0] += tmp.offsetLeft;
				pos[1] += tmp.offsetTop;
			}

			tmp = tmp.parentNode;
		}
	}

	if(obj.drop.id.indexOf('mod') == 0) {
		obj.drop.style.width = obj.drop.offsetWidth + 'px';
		obj.drop.firstChild.style.width = '100%';
	}

	switch(xy) {
		case 'x':
			if(obj.drop.offsetWidth + pos[0] < wLimit) {
				return pos[0];
			}
			else {
				return wLimit - obj.drop.offsetWidth;
			}
		break;

		case 'y':
			return pos[1] + obj.offsetHeight;
		break;
	}
}

/* rollover for right menu */

function rm(obj, act) {

	if(act) {
		obj.style.backgroundColor = '#7094b7';
	}
	else {
		if(obj.className.indexOf('sub') > 0) {
			obj.style.backgroundColor = 'transparent';
		}
		else {
			obj.style.backgroundColor = '#c1d1e0';
		}
	}
}

function roll(name, act) {
	if(act) {
		document.images['roll' + name].src = eval(name + '_o.src');
	}
	else {
		document.images['roll' + name].src = eval(name + '.src');
	}
}
