(function ($) {
	
	$(document).ready(function() {
		if ($.browser.msie && $.browser.version.substr(0,1)<9) {
			$('.hsection, .section').css({
				'background':'#FFF'
			});
			$('h1').css('font-size', '1.2em');
			$('h2').css('font-size', '1.1em');
			$('h3').css('font-size', '1em');
		}
		
		function initMappy () {
			var geo = new Mappy.api.geolocation.Geocoder();
			var burl = document.location.protocol+'//'+document.location.host;
			$("#loc").each ( function () {
				var addr = $(this).val();
				var title = $(this).attr("title");
				geo.geocode(addr, function(results) {
					if (results.length)
					{
						var coords = new Mappy.api.geo.Coordinates(
							results[0].Placemark.Point.coordinates[0], 
							results[0].Placemark.Point.coordinates[1]
						);
						var map = new Mappy.api.map.Map({
							container:"#mappymap",
							minZoomLevel: 4, 
							maxZoomLevel: 4
						});
						map.disableScrollWheelZoom();
						
						map.setCenter(coords, 7);
						var markerLayer = new Mappy.api.map.layer.MarkerLayer(40);
						map.addLayer(markerLayer);
						
						var toolBarPosition = new Mappy.api.map.tools.ToolPosition('rb', new Mappy.api.types.Point(10, 15));
						var toolBar = new Mappy.api.map.tools.ToolBar({
							move : { label : "Cliquez pour bouger" },
							zoom : { label : "Zoom +/-" },
							slider : { label: "Changer le zoom" }
						}, toolBarPosition);
						map.addTool(toolBar);
						var iopts = $.extend(Mappy.api.ui.Icon.DEFAULT, {
							image : burl+'/skin/images/pointseul.png',
							size : new Mappy.api.types.Size(30,30),
							cssClass : 'pointseul',
							popupAnchor : new Mappy.api.types.Point(20,0)
						});
						var icon = new Mappy.api.ui.Icon(iopts);
						icon.label = '';
						var marker = new Mappy.api.map.Marker(coords, icon);
						marker.addToolTip($('h1').eq(0).text());
						marker.addListener("click", function ()
						{
							console.log($('#sidebar .adresse').eq(0));
							marker.openPopUp("<strong>"+$('h1').eq(0).text()+"</strong><br/>"+$('#sidebar .adresse').eq(0).html());
						});
						markerLayer.addMarker(marker);
						
						var shapeLayer =  new Mappy.api.map.layer.ShapeLayer(80);
						map.addLayer(shapeLayer);

						var loadRoute = function (origine) {
							var rs = new Mappy.api.route.RouteService();
							rs.loadRoute(
								[origine, coords], {},
								function (roadbook) {
									for(var i in roadbook.shapes) {
										shapeLayer.addShape(roadbook.shapes[i]);
									}
								}
							);
						}
						navigator.geolocation.getCurrentPosition(
						function(position) { 
							loadRoute(new Mappy.api.geo.Coordinates(
								position.coords.longitude,
								position.coords.latitude
							));
						}, 
						function(error){
							switch(error.code){
								case error.PERMISSION_DENIED:
									loadRoute('Paris, France');
									break;
								case error.POSITION_UNAVAILABLE:
									loadRoute('Paris, France');
									break;
								case error.TIMEOUT:
									loadRoute('Paris, France');
									break;
							}
						});
					}
				},
				function(error) {
					
					console.log(error);
					
				});
			});
			
		}
		function detectMappy () {
			if (window.Mappy)
				initMappy ();
			else
				setTimeout(detectMappy, 200);
		}
		setTimeout(detectMappy, 100);
		var $i=0;
		$('.menubottom li').each(function () {
			var $div = $(this).find('div');
			var h = $div.outerHeight()-30;
			var o = $(this).offset();
			$div.css({
				'position':'absolute',
				'left' : o.left+($(this).outerWidth()/2)-($div.outerWidth()/2),
				'visibility' : 'visible'
			}).addClass('bpopup').appendTo($('#structure')).bind('mouseover', function () {
				$(this).data('hover', true);
			}).bind('mouseleave', function () {
				if ($(this).data('hover')) {
					$(this).hide();
					$(this).data('hover', false);
				}
			}).attr('id', 'popup'+$i);
			$(this).data('index', $i);
			$(this).data('offset', o.top);
			$i++;
			
		}).bind('mouseover', function () {
			console.log($(this).data('offset'),$(document).scrollTop(),$(document).height(),$(this).offset().top - $(window).scrollTop());
			$('.bpopup').hide();
			$div = $('#popup'+$(this).data('index'));
			$div.show();
			$div.css('top', $(this).offset().top-$div.outerHeight());
		});
		$('.bases div').bind('click', function () {
			document.location.href = $(this).find('a').attr('href');
		});
		$( ".acts").tabs();
		$('.alert').hide().fancybox({
			type:'inline',
			content : $('.alert').html(),
		}).trigger('click');
		
	});	
	
})(jQuery);

/*
traceRoute = function() {
    shapeLayer.clean();

    var tab = ["Bordeaux", "Arcachon"];
    var rs = new Mappy.api.route.RouteService();
    // Throw the request
    rs.loadRoute(
        tab,
        {
            Vehicle: jQuery('#vehicle').val(),
            caravane: (jQuery('#caravane').attr("checked") ) ? 1 : 0,
            gas: jQuery('#gas').val(),
            cost: jQuery('[name=cost]').val(),
            notoll: (jQuery('#notoll').attr("checked")) ? 1 : 0,
            nopass: (jQuery('#nopass').attr("checked")) ? 1 : 0 
        },
        function (roadbook) {
            for(var i in roadbook.shapes) {
                shapeLayer.addShape(roadbook.shapes[i]);
            }
            var bounds = shapeLayer.getBounds();
            map.setCenter(bounds.center, map.getBoundsZoomLevel(bounds));

            var summary = jQuery('#summary');
            summary.empty();
            summary.append('<h1>Résumé de l\'itinéraire</h1><hr/>');
            summary.append('Véhicule : ' + roadbook.summary.vehicle + '<br/>');
            summary.append('Carburant Sélectionné : ' + roadbook.summary.gasName + '<br/>');
            
            summary.append('Durée : ' + roadbook.summary.time +' sec<br/>');
            summary.append('Distance : ' + roadbook.summary.length + ' meters<br/>');
            summary.append('Consommation totale : ' + roadbook.summary.gasConsumption+ ' liters<br/>');

            if (roadbook.summary.tolls && roadbook.summary.tolls.length > 0)
            {
                var strings = [];
                for (i = 0; i < roadbook.summary.tolls.length; i += 1)
                {
                    toll = roadbook.summary.tolls[i];
                    strings.push(
                        toll.country + " : " + '<span class="bold">' + toll.amount + " " + toll.currency + "</span>"
                    );
                }
                summary.append('Péages : ' + strings.join(", "));
              }
            summary.append('<hr/><br/>');
            summary.append('<h1>Feuille de route</h1>');

            $("#roadbook").html(roadbook.toHtml());
        },
        function(e) {
            alert("Erreur lors du calcul de l'itinéraire");
        }
    );

*/

