var ComfortStation = {

	rolloverLinks: [ 'shop-online', 'news', 'about', 'london-store', 'archive', 'press', 'stockists', 'contact' ],
	
	installLinks: function() {
		map = $('navMap');
		theTop = $('top');
		
		if (!map || !theTop) {
			//Mekin.warning('No navigation map found.');
			return;
		}
		
		theTop.setStyle({position:'relative'});
		
		areas = map.getElementsByTagName('area');
		
		c = Math.min(areas.length, this.rolloverLinks.length+1);
		for (var i = 1; i < c; ++i) {
			area = $(areas[i]);
			l = this.rolloverLinks[i-1];
			new RolloverLink( area, '../images/collections/nav-' + l + '-on.gif' );
		}
	}
}

var RolloverLink = new Class.create({

	img: null,
	a:   null,

	initialize: function( area, src ) {
	
		var that = this;
	
		this.img = $(document.createElement('img'));
		this.img.src = src;
		this.img.hide();
		this.a   = $(document.createElement('a'));
		
		// Extract coordinates (right,top,left,bottom)
		var rect = area.coords.match(/[0-9]+/g);
		var left   = rect[2];
		var top    = rect[1];
		var width  = Math.abs(rect[0] - rect[2]);
		var height = Math.abs(rect[3] - rect[1]);

		this.a.setStyle({
			position: 'absolute',
			left:     left + 'px',
			top:      top  + 'px',
			width:	  width + 'px',
			height:   height + 'px'
		});
		this.a.href = area.href;
		this.a.appendChild(this.img);
		
		// Install callbacks
		this.a.observe( 'mouseover', function() {
			Csem.appear( that.img );
		});
		this.a.observe( 'mouseout',  function() {
			Csem.disappear( that.img );
		});
		
		area.parentNode.parentNode.appendChild(this.a);
	}

});

Event.observe( window, 'load', function(){
	ComfortStation.installLinks();
});