/* CONFIGURATION AREA */
/*
	browsers:
		IE - Microsoft Internet Explorer
		FF - FireFox
		Safari - Safari browser
		Opera - Opera browser
		all - includes IE, FF, Opera and Safari
		
	parentId:
		any existing Id attribute 
	tagName:
		any valid tag name
	tagPosition:
		all - all inner elements 
		children - first level children only
	className:
		any valid class name
*/

var browsers = 'all';
var config = {
	hovers: new Array(
		{
			parentId:'main-menu',
			tagName:'li',
			tagPosition:'all',
			className:'hover'
		}
	)
};

/* CODE AREA */

/* hovers */

var initHovers = function()
{
	for (var index in config.hovers){
		var conf = config.hovers[index];
		var topLevelElement = document.getElementById(conf.parentId);
		if (topLevelElement){
			var subElements = topLevelElement.getElementsByTagName(conf.tagName);
			for (var i = 0; i < subElements.length; i++){
				if (conf.tagPosition == 'all' || (conf.tagPosition == 'children' && subElements[i].parentNode.id == conf.parentId))
				{
					subElements[i].configIndex = index;
					subElements[i].onmouseover = function(){
						this.className += ' ' + config.hovers[this.configIndex].className;
					};
					subElements[i].onmouseout = function(){
						this.className = this.className.replace(config.hovers[this.configIndex].className,'');
					};
				}
			}
		}
	}
}

/* common */

var currentState = {};

var opera = window.opera;
var safari = navigator.appVersion.indexOf("Safari") != -1;
var ie = document.all && !window.opera;
var ff = navigator.userAgent.indexOf("Firefox") != -1;

var addEvent = function(browsers,event,initMethod)
{
	if (opera && (browsers.match(/Opera/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (safari && (browsers.match(/Safari/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (ie && (browsers.match(/IE/) || browsers.match(/all/))) {
		window.attachEvent("on" + event, initMethod);
	} else if (ff && (browsers.match(/FF/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (!ie && !ff && !safari && !opera) {
		if (window.addEventListener){
			window.addEventListener(event, initMethod, false);
		}
		else if (window.attachEvent){
			window.attachEvent("on" + event, initMethod);
		}
	} 
}

var initPage = function(){
	initHovers();
	//initFader();
}

/*
var fader_shown = false;

var initFader = function(){
	var button = $$('a.map-button');

	button.each(function(item){
		item.observe('click', showFaderEvent);
	
	});
	
	var close_link = $$('#popup a.close')[0];			

		close_link.observe('click', function(e){
			e.stop();
			$('fader').setStyle({
				'display': 'none'
			});
			
			$('popup').setStyle({
				'display': 'none'
			});
			
			$$('select').each(function(item){
				item.setStyle({
					'visibility': 'visible'
				})
			});	
			
			fader_shown = false;				
			
	});	
	
	
	addEvent('all','resize',function(){
		checkFader();
	});	

}

var checkFader = function(){
	if (fader_shown) {
	
		showFader();

	} 
}


var showFaderEvent = function(e){

		e.stop();
		showFader();
}

var showFader = function(){
		fader_shown = true;
		var div = $$('.offices div.title')[0];
		
		var width = $(document.body).getWidth();
		if ($('page').getWidth() > width) width=$('page').getWidth();
			
			$('fader').setStyle({
				'position':'absolute',
				'left':'0',
				'top':'0',
				'width': width + 'px',
				'height':$(document.body).getHeight() + 'px',
				'opacity':0.65,
				'display':'block'
			});
			
			$('popup').setStyle({
				'display': 'block',
				'visibility': 'hidden',
				'position': 'absolute'
			});		
			
			$$('select').each(function(item){
				item.setStyle({
					'visibility': 'hidden'
				})
			});
			
			var left = div.cumulativeOffset().left + div.getWidth()-$('popup').getWidth();	
			var top = div.cumulativeOffset().top;				
			
			$('popup').setStyle({
				'visibility': 'visible',
				'left': left+'px',
				'top': top+'px'				
			});
}
*/
addEvent(browsers,'load',initPage);