$(document).ready(function(){
	$('body').append('<div id="overlay"></div>')
	.find('#overlay')
	.css({
		position:'absolute',
		width:'100%',
		height:$(document).height()+'px',
		top:'0px',
		left:'0px',
		background:'#EAF5F7',
		opacity:'0.8',
		display:'none',
		zIndex:'992'
	});
	
	var latlng;
	var address;
	
	var map;
	var marker;
	var icon;
	var geocoder;
	var info;
	
	var map_height = 440;
	var map_width = 560;
	
	$('body').append('<div id="map_container"><a href="javascript:void(0);">X</a><div id="map"></div></div>')
	$('body').find('#map_container')
	.css({
		position:'absolute',
		top:(($(window).height()-map_height)/2)+'px',
		left:'50%',
		marginLeft:-(map_width/2)+'px',
		padding:'15px',
		background:'white',
		border:'1px solid #999999',
		zIndex:'993'
	})
	.hide()
	.find('a')
	.css({
		color:'black',
		fontWeight:'bold',
		fontFamily:"Verdana",
		fontSize:'11px',
		position:'absolute',
		display:'block',
		padding:'3px',
		background:'white',
		top:'0px',
		right:'0px'
	})
	.bind('mouseover',function(){
		$(this).css({opacity:'0.6'});
	})
	.bind('mouseout',function(){
		$(this).css({opacity:'1'});
	})
	.bind('click',function(){
		hideMapa();
	});
	
	$('body').find('#map_container #map')
	.css({
		width:(map_width)+'px',
		height:(map_height)+'px',
		border:'1px solid black',
		background:'white'
	})
	
	function showAddress(address) {
		
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
			  address = address.split(' ')
			  address.shift();
			  address = address.join(" ");
			  showAddress(address);
            } else {
              map.setCenter(point, 16);
              var marker = new GMarker(point);
			  marker.info = info;
              GEvent.addListener(marker, "click", function() {
          		marker.openInfoWindowHtml(marker.info);
       		  });
			  map.addOverlay(marker);
			  marker.openInfoWindowHtml(marker.info);
            }
          }
        );
      }
    }

	
	function showMapa(){
		
		$('#overlay').fadeIn('slow');	
		$('#map_container').fadeIn('slow');
		
		map = new GMap($('#map')[0]);
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
		
		if(latlng==null&&address!=null){
			geocoder = new GClientGeocoder();
			showAddress(address)
		}else{
			marker = new GMarker(new GLatLng(latlng[0],latlng[1]));
			marker.info = info;
			map.setCenter(marker.getPoint(),16);
			GEvent.addListener(marker, "click", function() {
          		marker.openInfoWindowHtml(marker.info);
   		    });
			map.addOverlay(marker);
		    marker.openInfoWindowHtml(marker.info);
		}
		
		
	}
	
	function hideMapa(){
		$('#overlay').fadeOut('slow');	
		$('#map_container').fadeOut('slow');
	}
	
	$(window).bind('scroll',function(){
		$('body').find('#map_container')
		.css({
			top:$(window).scrollTop()+(($(window).height()-map_height)/2)+'px'
		});
	})
	$('a[class=gmaplink][href^=http://maps.google.es]').bind('click',function(){
		var lang = $('html').attr('lang');
		if (GBrowserIsCompatible()) {
		
			latlng = $(this).attr('href').toString().match(/[&|?]ll=([^&#]*),([^&#]*)/)
			address = $(this).attr('href').toString().match(/[&|?]q=([^&#]*)/)

			latlng?
				latlng.shift():
				false;
				
			address?
				address=decodeURIComponent(address[1]).replace(/\+/g, ' '):
				false;
			
			//info = $(this).attr('title');
			switch(lang){
				case "en":
				info  = "<h4 class='Arial16d2d' style='color:#50687f;'>Coral Transports & Stocks S.L&nbsp; &nbsp;</h4><p class='Idiomas'>Pol. Ind. S. Pere de Molanta<br>Avda. Barcelona, 25-27<br>08799 S. Pere de Molanta<br>Barcelona (Spain)<br><br>Telephones 902 11 77 00<br>+34 938 925 314<br><br>Fax +34 938 182 538<br><br><a href='mailto:info@coraltransports.com'>info@coraltransports.com</a></p>";
				break;
				case "es":
				info  = "<h4 class='Arial16d2d' style='color:#50687f;'>Coral Transports & Stocks S.L&nbsp; &nbsp;</h4><p class='Idiomas'>Pol. Ind. S. Pere de Molanta<br>Avda. Barcelona, 25-27<br>08799 S. Pere de Molanta<br>Barcelona (Spain)<br><br>Tel&eacute;fonos 902 11 77 00<br>+34 938 925 314<br><br>Fax +34 938 182 538<br><br><a href='mailto:info@coraltransports.com'>info@coraltransports.com</a></p>";
				break;
				case "ca":
				default:
				info  = "<h4 class='Arial16d2d' style='color:#50687f;'>Coral Transports & Stocks S.L&nbsp; &nbsp;</h4><p class='Idiomas'>Pol. Ind. S. Pere de Molanta<br>Avda. Barcelona, 25-27<br>08799 S. Pere de Molanta<br>Barcelona (Spain)<br><br>Tel&egrave;fons 902 11 77 00<br>+34 938 925 314<br><br>Fax +34 938 182 538<br><br><a href='mailto:info@coraltransports.com'>info@coraltransports.com</a></p>";
				break;
			}
			
			showMapa();
			
			return false;
		}else{
			return true;
		}
	})
})
