var MOOap = {
	init: function (options) {
		this.eventKeyDown = this.keyboardListener.bindAsEventListener(this);
		this.eventPosition = this.position.bind(this);
		
		this.overlay = new Element('div').setProperty('id', 'map_overlay').injectInside(document.body);
		
		new Element('td').setProperty('id', 'map_table_td').injectInside(new Element('tr').injectInside(new Element('tbody').injectInside(new Element('table').setProperty('id', 'map_table').setProperty('cellspacing', '0').setProperty('cellpadding', '0').injectInside(document.body))));
		
		this.center = new Element('div').setProperty('id', 'map_center').injectInside($('map_table_td'));
		
		$('map_table').setStyle('display', 'none');
		
		// close
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('href', '#').addEvent('click', function(){MOOap.close(); return false;}).setProperty('onclick', 'return false').injectInside(new Element('div').setProperty('id', 'map_close').injectInside(this.center)));
		
		// Flowers
		new Element('img').setProperty('src', 'skins/www/images/button.flower.gif').injectInside(new Element('a').setProperty('id', 'link_stendera').injectInside(new Element('div').setProperty('class', 'flower').setStyles({ top: '232px', left: '452px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/button.flower.gif').injectInside(new Element('a').setProperty('id', 'link_pumpura').injectInside(new Element('div').setProperty('class', 'flower').setStyles({ top: '238px', left: '469px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/button.flower.gif').injectInside(new Element('a').setProperty('id', 'link_rozu').injectInside(new Element('div').setProperty('class', 'flower').setStyles({ top: '312px', left: '226px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/button.flower.gif').injectInside(new Element('a').setProperty('id', 'link_uliha').injectInside(new Element('div').setProperty('class', 'flower').setStyles({ top: '292px', left: '257px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/button.flower.gif').injectInside(new Element('a').setProperty('id', 'link_kaleju').injectInside(new Element('div').setProperty('class', 'flower').setStyles({ top: '493px', left: '220px' }).injectInside(this.center)));
		
		// Spots
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('id', 'link_stendera2').injectInside(new Element('div').setProperty('class', 'spot').setProperty('id', 'spot_stendera').setStyles({ top: '120px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('id', 'link_pumpura2').injectInside(new Element('div').setProperty('class', 'spot').setProperty('id', 'spot_pumpura').setStyles({ top: '165px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('id', 'link_rozu2').injectInside(new Element('div').setProperty('class', 'spot').setProperty('id', 'spot_rozu').setStyles({ top: '161px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('id', 'link_uliha2').injectInside(new Element('div').setProperty('class', 'spot').setProperty('id', 'spot_uliha').setStyles({ top: '183px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('id', 'link_kaleju2').injectInside(new Element('div').setProperty('class', 'spot').setProperty('id', 'spot_kaleju').setStyles({ top: '303px' }).injectInside(this.center)));
		
		new Element('img').setProperty('src', 'skins/www/images/button.flower.gif').injectInside(new Element('a').setProperty('id', 'link_ezera').injectInside(new Element('div').setProperty('class', 'flower').setStyles({ top: '188px', left: '363px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('id', 'link_ezera2').injectInside(new Element('div').setProperty('class', 'spot').setProperty('id', 'spot_ezera').setStyles({ top: '153px' }).injectInside(this.center)));
		
		new Element('img').setProperty('src', 'skins/www/images/button.flower.gif').injectInside(new Element('a').setProperty('id', 'link_kaleja').injectInside(new Element('div').setProperty('class', 'flower').setStyles({ top: '245px', left: '297px' }).injectInside(this.center)));
		new Element('img').setProperty('src', 'skins/www/images/spacer.gif').injectInside(new Element('a').setProperty('id', 'link_kaleja2').injectInside(new Element('div').setProperty('class', 'spot').setProperty('id', 'spot_kaleja').setStyles({ top: '214px' }).injectInside(this.center)));
		
		this.fx = {
			overlay: new Fx.Style(this.overlay, 'opacity').set(0)
		};
		
	},
	show: function(lang) {
		this.step = 1;
		this.position();
		this.setup(true);
		if (lang == 'en') {
			$('spot_stendera').setStyles({ left: '402px', width: '68px'});
			$('spot_pumpura').setStyles({ left: '417px', width: '71px'});
			$('spot_rozu').setStyles({ left: '184px', width: '57px'});
			$('spot_uliha').setStyles({ left: '253px', width: '57px'});
			$('spot_ezera').setStyles({ left: '386px', width: '51px'});
			
			$('link_stendera2').getFirst().setStyle('width', '68px');
			$('link_pumpura2').getFirst().setStyle('width', '71px');
			$('link_rozu2').getFirst().setStyle('width', '57px');
			$('link_uliha2').getFirst().setStyle('width', '57px');
			$('link_ezera2').getFirst().setStyle('width', '51px');
		} else {
			lang == 'lv';
			$('spot_stendera').setStyles({ left: '403px', width: '67px'});
			$('spot_pumpura').setStyles({ left: '419px', width: '69px'});
			$('spot_rozu').setStyles({ left: '174px', width: '67px'});
			$('spot_uliha').setStyles({ left: '253px', width: '67px'});
			$('spot_ezera').setStyles({ left: '386px', width: '49px'});
			
			$('link_stendera2').getFirst().setStyle('width', '67px');
			$('link_pumpura2').getFirst().setStyle('width', '69px');
			$('link_rozu2').getFirst().setStyle('width', '67px');
			$('link_uliha2').getFirst().setStyle('width', '67px');
			$('link_ezera2').getFirst().setStyle('width', '48px');
		}
		
		$('spot_kaleju').setStyles({ left: '125px', width: '117px'});
		$('link_kaleju2').getFirst().setStyle('width', '117px');
		
		$('spot_kaleja').setStyles({ left: '319px', width: '97px'});
		$('link_kaleja2').getFirst().setStyle('width', '97px');
		
		this.center.setStyle('background-image', 'url(skins/www/images/map_zoom_' + lang + '.gif)');
		
		$('link_stendera').setProperty('href', '?lang=' + lang + '&page=stendera');
		$('link_pumpura').setProperty('href', '?lang=' + lang + '&page=pumpura');
		$('link_rozu').setProperty('href', '?lang=' + lang + '&page=rozu');
		$('link_uliha').setProperty('href', '?lang=' + lang + '&page=uliha');
		$('link_kaleju').setProperty('href', '?lang=' + lang + '&page=kaleju');
		$('link_ezera').setProperty('href', '?lang=' + lang + '&page=ezera');
		$('link_kaleja').setProperty('href', '?lang=' + lang + '&page=kaleja');
		
		$('link_stendera2').setProperty('href', '?lang=' + lang + '&page=stendera');
		$('link_pumpura2').setProperty('href', '?lang=' + lang + '&page=pumpura');
		$('link_rozu2').setProperty('href', '?lang=' + lang + '&page=rozu');
		$('link_uliha2').setProperty('href', '?lang=' + lang + '&page=uliha');
		$('link_kaleju2').setProperty('href', '?lang=' + lang + '&page=kaleju');
		$('link_ezera2').setProperty('href', '?lang=' + lang + '&page=ezera');
		$('link_kaleja2').setProperty('href', '?lang=' + lang + '&page=kaleja');
		
		$('map_table').setStyle('display', '');
		this.fx.overlay.start(0.7);
	},
	position: function() {
		var h = Window.getHeight()+'px';
		this.overlay.setStyles({top: Window.getScrollTop()+'px', left: Window.getScrollLeft()+'px', height: h});
	},
	keyboardListener: function(event) {
		switch(event.keyCode) {
			case 27: case 88: case 67: this.close(); break;
		}
	},
	setup: function(open) {
		var fn = open ? 'addEvent' : 'removeEvent';
		window[fn]('scroll', this.eventPosition)[fn]('resize', this.eventPosition);
		document[fn]('keydown', this.eventKeyDown);
		if (!open) {
			this.overlay.setStyles({height: '0px'});
		}
	},
	close: function() {
		if(this.step < 0) return;
		this.step = -1;
		for(var f in this.fx) this.fx[f].clearTimer();
		this.overlay.setStyle('background-image', 'none');
		$('map_table').setStyle('display', 'none');
		this.fx.overlay.start(0).chain(this.setup.pass(false, this));
		return false;
	}	
};

Window.onDomReady(MOOap.init.bind(MOOap));
