var Rollover = function () {};

Rollover.suffix = '_over';
Rollover.preloadimages = [];
Rollover.overflag = [];

Rollover.overimage = function (obj) {
	if (obj.src && obj.src.indexOf('.') != -1) {
		obj.src = Rollover.getrolloverimagefile(obj.src);
		this.overflag.push(obj);
	}
}
	
Rollover.normalimage = function (obj) {
	var flag = false;
	for (var i in this.overflag) {
		if (this.overflag[i] == obj) {
			flag = true;
			this.overflag[i] = null;
			break;
		}
	}
	if (flag && obj.src && obj.src.indexOf('.') != -1) {
		obj.src = Rollover.getoriginalimagefile(obj.src);
	}
}
	
Rollover.getrolloverimagefile = function (path) {
	var filename = path.substring(0, path.lastIndexOf('.'));
	var extention = path.substring(path.lastIndexOf('.'), path.length);
	return filename + Rollover.suffix + extention;
}
	
Rollover.getoriginalimagefile = function (path) {
	var filename = path.substring(0, path.lastIndexOf('.')-Rollover.suffix.length);
	var extention = path.substring(path.lastIndexOf('.'), path.length);
	return filename + extention;
}

Rollover.initrolloverimages = function() {
	var images = document.getElementsByTagName('img');
	for (var i=0; i<images.length; i++) {
		var classValue = null;
		if (images[i].getAttribute('className'))
			classValue = images[i].getAttribute('className');
		else if (images[i].getAttribute('class'))
			classValue = images[i].getAttribute('class');
		if (classValue != null && classValue.indexOf('rollover') != -1 && images[i].src) {
			images[i].onmouseover = function() {
				Rollover.overimage(this);
			};
			images[i].onmouseout = function() {
				Rollover.normalimage(this);
			};
			Rollover.preloadimages[i] = new Image();
			Rollover.preloadimages[i].src = Rollover.getrolloverimagefile(images[i].src);
		}
	}
};


var PopupWindow = function() {};

PopupWindow.popupwindow = null;

PopupWindow.popup = function(url, width, height, withscrollbar) {

	var left = (screen.width - width) / 2;
	var top =  (screen.height - height) / 2;
	
	if (this.popupwindow && !this.popupwindow.closed) {
		this.popupwindow.close();
	}
	
	var scrollbars = (withscrollbar) ? 'yes': 'no';
	
	var option = 'scrollbars='+scrollbars+',resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top+'';
	this.popupwindow = window.open(url, 'popupwindow', option);
};


var showmenu = null;
function initGlobalmenu() {
	var globalmenuids = ['canada', 'support', 'line_up', 'casestudy', 'exhibitions'];
	for (var i=0; i<globalmenuids.length; i++) {
		if (!document.getElementById('gm-'+globalmenuids[i]))
			continue;
		var menu = document.getElementById('gm-'+globalmenuids[i]);
		menu.onmouseover = function() {
			if (showmenu)
				showmenu.style.display = 'none';
			var menuid = this.id.split('-')[1];
			if (!document.getElementById('submenu-'+menuid))
				return false;
			var submenu = document.getElementById('submenu-'+menuid);
			window.console.log(submenu);
			submenu.mouseover = function(){};
			submenu.style.display = 'block';
			showmenu = submenu;
			var hiddenSubmenuLayer = document.createElement('div');
			hiddenSubmenuLayer.style.position = 'absolute';
			hiddenSubmenuLayer.style.top = '0';
			hiddenSubmenuLayer.style.left = '0';
			hiddenSubmenuLayer.style.width = '100%';
			hiddenSubmenuLayer.style.height = '300px';
			hiddenSubmenuLayer.style.zIndex = '1';
			// var body = document.getElementsByTagName('body')[0];
			var body = document.getElementById('wholewrapper');
			hiddenSubmenuLayer.onmouseover = function() {
				showmenu.style.display = 'none';
				window.console.log(this.style.zIndex);
				window.console.log('hiddenSubmenuLayer.onmouseover');
				// delete this.onmouseover;
				this.parentNode.removeChild(this);
			};
			body.appendChild(hiddenSubmenuLayer);
		};
	}
}

if (!window.console) {
	window.console = function(){};
	window.console.log = function(message) {
		return false;
    	if (!document.getElementById('logger')) {
    		var logger = document.createElement('div');
    		logger.id = 'logger';
    		logger.style.position = 'absolute';
    		logger.style.top = '0';
    		logger.style.left = '0';
    		logger.style.width = '200px';
    		logger.style.height = '200px';
    		logger.style.overflow = 'auto';
    		logger.style.zIndex = '20';
    		document.getElementsByTagName('body')[0].appendChild(logger);
    	}
    	var div = document.createElement('div');
    	div.appendChild(document.createTextNode(message));
    	document.getElementById('logger').appendChild(div);
    };
}


function addLoadEvent(func) {
	var old_onload = window.onload;
	if (typeof window.onload != 'function') {
    	window.onload = func;
	} else {
		window.onload = function() {
			old_onload();
			func();
		}
	}
}

addLoadEvent(Rollover.initrolloverimages);
addLoadEvent(initGlobalmenu);