/**
 * hotel map in lightbox style
 */
var overlayDuration = 0.2;
var _HotelMap = Class.create();
_HotelMap.prototype = {
		initialize: function() {
			this.ie6 = false;
			
			var objBody = document.getElementsByTagName("body").item(0);
			
			var objOverlay = document.createElement("div");
			objOverlay.setAttribute('id','map-overlay');
			//objOverlay.style.display = 'none';
			
			objOverlay.style.display = 'block';
			objOverlay.style.height = '0px';
			objOverlay.style.lineHeight = '0px';
			objOverlay.style.fontSize = '0px';
			
			objOverlay.onclick = function() { _hotelMap.hide(); }
			objBody.appendChild(objOverlay);
			
			// fix ie6-7 map under overlay
			if (Prototype.Browser.IE && /MSIE (\d+\.\d+);/.test(navigator.userAgent))
			{		    
			    var ieversion = new Number(RegExp.$1);
			    
			    if (ieversion == 6) {
			    	this.ie6 = true;
			    }
			    var map = $('map-div');
			    
			    if(ieversion == 7 || ieversion == 6)
					objBody.appendChild(map);
			}
			//end
		},
		
		show: function() {
			
			if (this.ie6) {
				hideSelectBoxes();
			}

			// stretch overlay to fill page and fade in
			var arrayPageSize = getPageSize();
			Element.setHeight('map-overlay', arrayPageSize[1]);
			
			var global_content_width = Element.getWidth($$('div.global-content')[0]);
			var overlay_width = global_content_width;
			if (!this.ie6) {
				var intro_width = Element.getWidth($$('h1.hotel-name')[0]);
				var width_offset = intro_width-(global_content_width/2);
				
				if (width_offset > 0) {
					overlay_width += width_offset;
				}
			}
			
			Element.setWidth('map-overlay', overlay_width);

			new Effect.Appear('map-overlay', { duration: overlayDuration, from: 0.0, to: 0.6 });
			new Effect.Appear('map-div', { duration: overlayDuration, from: 0.0, to: 1 });
			
//			$('map-div').show();

			if (!_map_loaded) {
				setTimeout('window.hotelMap = new HotelMap($("_map_container"), _MAP_PARAMS_)', 2000);
				_map_loaded = true;
			}
		},
		
		hide: function() {
			Element.hide('map-div');
			new Effect.Fade('map-overlay', { duration: overlayDuration});
			new Effect.Fade('map-div', { duration: overlayDuration});
			
			if (this.ie6) {
				showSelectBoxes();
			}
		}
}

function initHotelMap() { _hotelMap = new _HotelMap(); }
document.observe("dom:loaded", function() {
	initHotelMap();
});
