// JavaScript Document
var mapsApiKey = "ABQIAAAACNIm09gTIQjabQ6gsJmaKxRSfZijRsfwc3g5j-Yxr8POk-AHuhTOzHacMgAJesOTm0QCu6PNiEk8Tw";

$.facebox.settings.loadingImage = 'http://minisolabaie.safetyhost.net/css/facebox/loading.gif';
$.facebox.settings.closeImage   = 'http://minisolabaie.safetyhost.net/css/facebox/closelabel.gif';
if ($.validator) {
  $.extend($.validator.messages, {
    required: '<span>Champs requis</span>',
    email: "<span>Champ courriel non valide.</span>",
    url: "<span>Merci d'entrer une url valide.</span>",
    number: "<span>Merci d'entrer un nombre valide.</span>",
    accept: "<span>Le fichier n'a pas une extension valide.</span>",
    equalTo: "<span>Veuillez entrer une nouvelle fois la même valeur.</span>",
    maxlength: $.format("<span>Pas plus de {0} caractères.</span>"),
    minlength: $.format("<span>Au moins {0} caractères.</span>")
  });
  $.validator.setDefaults({
    debug: false
  });
}


$(document).ready(function(){
						   
	$(".carousel_me").each(function(i) {
		var carou = $(this);
		
		carou.controlleRealisations = function() {	
			// bouton prev
			$(this).find('.carousel li:first').each(function() {
				if($(this).hasClass('current')) carou.find(".actions .prev").css('display','none');
				else carou.find(".actions .prev").css('display','block');
			});
			// bouton next
			$(this).find('.carousel li:last').each(function() {
				if($(this).hasClass('current')) carou.find(".actions .next").css('display','none');
				else carou.find(".actions .next").css('display','block');
			});
			// images
			carou.find('.carousel li.visible').each(function() {
				var metas = $(this).find('div.innerImg').metadata();
				var url = metas.little;
				$(this).find('div.innerImg').css('background-image','url('+url+')');
			});
			carou.find('.carousel li.current').each(function() {
				var metas = $(this).find('div.innerImg').metadata();
				var url = metas.medium;
				$(this).find('div.innerImg').css('background-image','url('+url+')');
			});
		}
		carou.prevElement = function() {
			if($(this).find(".carousel li:first").hasClass('current') == false)
			{
				$(this).find(".carousel li.current").removeClass('current').prev().addClass('current').removeClass('visible');
				var current = $(this).find(".carousel li.current");
				
				if($(this).find(".carousel li:first").hasClass('current'))
				{
					current.next().next().next().removeClass('visible');
					current.next().next().removeClass('visible');
					current.next().addClass('visible');
					current.addClass('first');
				}
				else
				{
					current.next().next().removeClass('visible');
					current.next().addClass('visible');
					current.prev().addClass('visible');
					$(this).find(".carousel li.first").removeClass('first');
				}
			}
			carou.controlleRealisations();
		}
		carou.nextElement = function() {
			if($(this).find(".carousel li:last").hasClass('current') == false)
			{
				$(this).find(".carousel li.current").removeClass('current').next().addClass('current').removeClass('visible');
				
				var current = $(this).find(".carousel li.current");
				$(this).find(".carousel li.first").removeClass('first');
				
				if($(this).find(".carousel li:last").hasClass('current'))
				{
					current.prev().prev().prev().removeClass('visible');
					current.prev().prev().removeClass('visible');
					current.prev().addClass('visible');
				}
				else
				{
					current.prev().prev().removeClass('visible');
					current.prev().addClass('visible');
					current.next().addClass('visible');
				}
			}
			carou.controlleRealisations();
		}
		
		var current = $(this).find(".carousel li:first");
		current.addClass('current').addClass('first');
		current.next().addClass('visible');
		
		carou.controlleRealisations();
		
		$(this).find(".actions .prev").click(function(e) {carou.prevElement(); return false;});
		$(this).find(".actions .next").click(function(e) {carou.nextElement(); return false;});
	});
	
	$(".caroussel2 li").each(function(i) { if(i>2) $(this).hide(); });
    $.__currentcaroussel2 = $("div.caroussel2 li:first");
    $("div.caroussel2").bind("mousemove", function(e) {
        if( e.pageX -$(this).offset().left < 25) $(this).css("cursor", "pointer");
        else if( e.pageX -$(this).offset().left > 200) $(this).css("cursor", "pointer");
        else $(this).css("cursor", "auto");
    });
    $("div.caroussel2").click(function(e) {
        if( e.pageX -$(this).offset().left < 25) {
           if( $.__currentcaroussel2.prev().length != 0) {
           $.__currentcaroussel2.prev().show().next().next().next().hide();
           $.__currentcaroussel2 = $.__currentcaroussel2.prev();
           }
        }
        else if( e.pageX -$(this).offset().left > 200) {
           if( $.__currentcaroussel2.next().next().next().length != 0) {
           $.__currentcaroussel2.hide().next().next().next().show();
           $.__currentcaroussel2 = $.__currentcaroussel2.next();
           }
        }
    });
    $('.facebox_me').facebox();
    $('.validate_me').validate();
	$('.cycle_me').cycle();
	$('#maVideo').each(function() {
		var w = $(this).width();
		var v = $(this).metadata().video;
		var i = $(this).metadata().image;
		var s1 = new SWFObject("http://minisolabaie.safetyhost.net/swf/mediaplayer.swf","mediaplayer",w,"170","7");
		s1.addParam("allowfullscreen","true");
		s1.addVariable("width",w);
		s1.addVariable("height","170");
		s1.addVariable("file",v);
		s1.addVariable("image",i);
		s1.write("maVideo");
	});
	$(".gmap_me").each(function(){
		var customicon = Mapifies.createIcon({
			iconImage: "http://www.solabaie.fr/images/gicon.gif",
			iconSize:  new GSize(20, 34)
		}); 
		
		var $elem  = $(this);
		var panel = $("#gmap_itineraire");
		var metas = $elem.metadata();
		
		var center = (metas.lat && metas.lng) ? [metas.lat, metas.lng] : [ 47.77, 1.35 ];
		
		$elem.jmap('init', {
			// Initial type of map to display
			'language': 'fr',
			// Options: "map", "sat", "hybrid"
			'mapType': 'map',
			// Initial map center
			'mapCenter': center,
			// Initial zoom level
			'mapZoom': parseInt(metas.zoom),
			// Initial map control size
			// Options: "large", "small", "none"
			'mapControl': 'small',
			// Initialise type of map control
			'mapEnableType': false,
			// Initialise small map overview
			'mapEnableOverview': false,
			// Enable map dragging when left button held down
			'mapEnableDragging': true,
			// Enable map info windows
			'mapEnableInfoWindows': true,
			// Enable double click zooming
			'mapEnableDoubleClickZoom': false,
			// Enable zooming with scroll wheel
			'mapEnableScrollZoom': false,
			// Enable smooth zoom
			'mapEnableSmoothZoom': false,
			// Enable Google Bar
			'mapEnableGoogleBar': false,
			// Enables scale bar
			'mapEnableScaleControl': false,
			// Enable the Mapifies icon
			'mapShowjMapsIcon': false,
			//Debug Mode
			'debugMode': false,
				  'pointIcon': customicon
		});
		
		if (!(metas.lat && metas.lng))
		{
		  $elem.jmap("SearchAddress", {query: metas.address, returnType: 'getLocations'}, function(result, options)
		  {
			if (Mapifies.SearchCode(result.Status.code).success)
			{
			  $.each(result.Placemark, function(i, point)
			  {
				$elem.jmap('AddMarker', {
				  'pointLatLng': [point.Point.coordinates[1], point.Point.coordinates[0]],
				  'pointHTML':   point.address,
				  'pointIcon': customicon
				});
				$elem.jmap('MoveTo', {mapCenter: [point.Point.coordinates[1], point.Point.coordinates[0]]});
			  });
			} 
			else
			{
			  $elem.html(Dms.alertMsg("L'adresse "+metas.address+" n'a pas été trouvée !<br />"+valid.message));
			}
		  });
		}
		else
		{
			$elem.jmap('AddMarker', {
		    	      'pointLatLng': [metas.lat, metas.lng],
		    	      'pointHTML': metas.text,
		    	      'pointIcon':   customicon
		    	    });
		}

		if ($form = $("form.gmap_direction"))
		{
			$("input.gmap_depart", $form).one("click", function(){$(this).val("");});
			$form.submit(function() {
			  var query = "from: "+$("input.gmap_depart", $form).val()+", France to: "+metas.address+"";
			  //alert(query);
			  $elem.jmap('SearchDirections', {
				  'query': query,
				  'panel': '#gmap_itineraire',
			  'locale': 'fr_FR'
			  }, function(result, options) {
				if (Mapifies.SearchCode(result.getStatus()).success) {
				 $("p.message", $form).html("");
				 $.each(result.Placemark, function(i, point){
				   if (!(metas.lat && metas.lng))
			        	 {
			        		 $elem.jmap('AddMarker',{
			        			 'pointLatLng':[point.Point.coordinates[1], point.Point.coordinates[0]],
					             'pointHTML':point.address
					         });
			        	 }
			        	 else
			        	 {
			        		 $elem.jmap('AddMarker', {
			        			 'pointLatLng': [metas.lat, metas.lng],
			        			 'pointHTML':point.address
			        		  });
			        	 }
				 });
			   } else {
				 $("p.message", $form).html("Cette adresse n'a pas pu être trouvée. Essayez de l'écrire autrement.");
			   }
			 });
			  return false;
			});
		}
	});
	$(".scroller ul").simplyScroll({
			autoMode: 'loop'
	});
	
	$("#contact_comment_connu").change(function() {
		if ($(this).val() == "Autre") {
			$('#div_contact_comment_connu_autre').show();
		}
		else $('#div_contact_comment_connu_autre').hide();
	});
});
