var ltie7 = ($.browser.msie && $.browser.version < 7);
var ltie9 = ($.browser.msie && $.browser.version < 9);

$(function(){	
	
	$.ifixpng('images/img/pixel.gif');
	//$('img[src$=.png]').ifixpng();
	
	$('#menu .item_menu').hover(function(){
		$(this).find('ul.sous_menu').addClass('affiche');
		
		if($(this).not('.active')) {
			$(this).addClass('hover');
		}
		
	},function(){
		$(this).find('ul.sous_menu').removeClass('affiche');
		
		if($(this).not('.active')) {
			$(this).removeClass('hover');
		}
	});
	
	$('#menu .sous_menu li').hover(function(){
		$(this).addClass('hover');
	},function(){
		$(this).removeClass('hover');
	});

	if($('#pages .scrollable').is('div')) {
		// horizontal scrollables. each one is circular and has its own navigator instance
		var horizontal = $(".scrollable").scrollable({ circular: true }).navigator(".navi").autoscroll({ autoplay: true, interval: 10000 });
		// when page loads setup keyboard focus on the first horzontal scrollable
		horizontal.eq(0).data("scrollable").focus();
	}
	
	//googleMap.load();
	
	if($('.acces').height())
		GoogleMaps.init($("#c_arrivee").val());
	
	$('#form_acces').submit(function(){
		GoogleMaps.getDirections();
		return false;
	});
	
	var flashvars = {
			feed: "/rss/feed/Prestations",
			numRows: "4",
			backgroundColor: "#FFF", //black
			style: "light",
	};
	var params = {
			allowscriptaccess: "always"
			};
	swfobject.embedSWF("http://apps.cooliris.com/embed/cooliris.swf","galleryPresta", "800", "450", "9.0.0", "", flashvars, params); 
	
	
	$("#menuGallery ul li a").click(function(){
		
		cooliris.embed.setFeedURL($(this).attr('href'));
		
		return false;
	});
});

var GoogleMaps = function() {

	  var mapContainer;
	  var dirContainer;
	  var toInput;
	  var dirService;
	  var dirRenderer;
	  var map;
	  
	  function showDirections(dirResult, dirStatus) {
		  
	    if (dirStatus != google.maps.DirectionsStatus.OK) {
	      alert('Directions failed: ' + dirStatus);
	      return;
	    }

	    dirRenderer.setMap(map);
	    dirRenderer.setPanel(dirContainer);
	    dirRenderer.setDirections(dirResult);
	  }

	  function getDirections() {
		  
	    var fromStr = $("#c_depart").val();
	    var toStr = toInput;
	    var dirService = new google.maps.DirectionsService();
		
	    var dirRequest = {
	      origin: fromStr,
	      destination: toStr,
	      travelMode: google.maps.DirectionsTravelMode.DRIVING,
	      unitSystem: google.maps.DirectionsUnitSystem.METRIC,
	      provideRouteAlternatives: true
	    };
	    
	    dirService.route(dirRequest, showDirections);
	  }

	  function init(addr) {
	    
		  mapContainer = document.getElementById('map_recherche_acces');
		  dirContainer = document.getElementById('resultat_recherche_acces');
		  toInput =  $('#c_arrivee').val();
		  dirRenderer = new google.maps.DirectionsRenderer();

		  var geocoder = new google.maps.Geocoder();
		  geocoder.geocode( { 'address': addr}, function(results, status) {
			
			var latLng = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng());
			map = new google.maps.Map(mapContainer, {
												       zoom: 13,
												       center: latLng,
												       mapTypeId: google.maps.MapTypeId.ROADMAP,
												       streetViewControl: false
												      }
									);
	  	});
	  }

	  return {init:init, getDirections:getDirections}
		  
}();


//ltie7 : $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
// Nouvelle fonction jquery de retaillage de blocks
$.fn.adjustSize=function(options) {
	var settings = {
		periode: 2,
		mode: 'height',
		minHeight: 0,
		minWidth: 0
	};
	var ltie7 = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent);
	if (options) {
		jQuery.extend(settings, options);
	}
	var totalSize = $(this).size();
	var nbPeriodes = Math.ceil(totalSize/settings.periode);
	var index = 0;
	if (settings.mode == 'height' || settings.mode == 'both') {
		var maxTotalHeightArray = new Array();
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			if (!maxTotalHeightArray[blockId]) maxTotalHeightArray[blockId]=0;
			var blockTotalHeight = $(this).height();
			if (blockTotalHeight > maxTotalHeightArray[blockId]) {
				if (settings.minHeight && settings.minHeight > blockTotalHeight) blockTotalHeight = settings.minHeight;
				maxTotalHeightArray[blockId] = blockTotalHeight;
			}
			index++;
		});
		var index = 0;
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			var blockComputedHeight = maxTotalHeightArray[blockId];
			if (ltie7) $(this).height(blockComputedHeight+'px');
			else $(this).css('minHeight',blockComputedHeight+'px');
			index++;
		});
	}
	if (settings.mode == 'width' || settings.mode == 'both') {
		var maxTotalWidthArray = new Array();
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			if (!maxTotalWidthArray[blockId]) maxTotalWidthArray[blockId]=0;
			var blockTotalWidth = $(this).width() ? $(this).width() : $(this).attr('offsetWidth') ;
			if (blockTotalWidth > maxTotalWidthArray[blockId]) {
				if (settings.minWidth && settings.minWidth > blockTotalHeight) blockTotalWidth = settings.minWidth;
				maxTotalWidthArray[blockId] = blockTotalWidth;
			}
			index++;
		});
		var index = 0;
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			var blockComputedWidth = maxTotalWidthArray[blockId];
			if (ltie7) $(this).width(blockComputedWidth+'px');
			else $(this).css('minWidth',blockComputedWidth+'px');
			index++;
		});
	}

	return this;
}

// Target est un sélecteur jQuery qui permet d'indiquer quel est l'élement (image ou input) qui doit changer.
// Sa valeur par défaut est '$myself', ce qui indique que l'objet est sa propre cible.
// Ex : $('#menu > li').each(function(){$(this).switchImage("","> a > img");});
$.fn.switchImage=function(eventTargetSelector, changeTargetSelector, options) {
	var eventTargetSelector, changeTargetSelector, eventTarget, changeTarget;
	if (!eventTargetSelector) eventTargetSelector = '?myself';
	if (!changeTargetSelector) changeTargetSelector = '?myself';
	var settings = {
		stringDefault: '_off',
		stringHover: '_on'
	};
	if (options) {
		jQuery.extend(settings, options);
	}

	if (eventTargetSelector == '?myself') eventTarget=$(this);
	else eventTarget = $(this).find(eventTargetSelector);
	if (changeTargetSelector == '?myself') changeTarget=$(this);
	else changeTarget = $(this).find(changeTargetSelector);

	eventTarget.filter(function(index){
		return (changeTarget.is("input[type=image][src]") || changeTarget.is("img[src]"));
	}).mouseover(function() {switchToHover(changeTarget)}).focus(function() {switchToHover(changeTarget)}).mouseout(function() {switchToDefault(changeTarget)}).blur(function() {switchToDefault(changeTarget)});

	function switchToHover(e) {
		e.each(function(){
			getSrcElmts.init($(this));
			if (getSrcElmts.fileName().indexOf(settings.stringDefault) != -1) {
				$(this).attr('src', getSrcElmts.filePath()+'/'+getSrcElmts.replaceFileName(settings.stringDefault, settings.stringHover));
				if ($.ifixpng && ltie7) $(this).ifixpng();
			}
		});
	}

	function switchToDefault(e) {
		e.each(function(){
			getSrcElmts.init($(this));
			if (getSrcElmts.fileName().indexOf(settings.stringHover) != -1) {
				$(this).attr('src', getSrcElmts.filePath()+'/'+getSrcElmts.replaceFileName(settings.stringHover, settings.stringDefault));
				if ($.ifixpng && ltie7) $(this).ifixpng();
			}
		});
	}

	var getSrcElmts = function() {
		var src,srcPathSplit, srcPathSplitLength;
		function init(e){
			if ($.ifixpng && ltie7) e.iunfixpng();
			src = e.attr('src');
			srcPathSplit = src.split('/');
			srcPathSplitLength = srcPathSplit.length;
		}
		function filePath(){
			if (srcPathSplitLength)	return srcPathSplit.slice(0,-1).join('/');
		}
		function fileName(){
			if (srcPathSplitLength)	return srcPathSplit[srcPathSplitLength-1];
		}
		function replaceFileName(stFrom,stTo){
			elemts=fileName().split(stFrom);
			end=elemts.pop();
			begin=elemts.join(stFrom);
			return begin+stTo+end;
		}
		return {init:init,filePath:filePath,fileName:fileName,replaceFileName:replaceFileName}
	}()

	changeTarget.each(function(){
		// preload
		getSrcElmts.init($(this));
		var preload = new Image;
		preload.src=getSrcElmts.filePath()+'/'+getSrcElmts.replaceFileName(settings.stringDefault, settings.stringHover);
		if ($.ifixpng && ltie7) $(this).ifixpng();
	});


	return this;
};

/*
$.fn.slideShow=function(options) {

	var settings = {
		imageListClass: 'slideShowListe',
		imageListSuffix: 'Liste',
		imageNavSuffix: 'Nav',
		duree: 5000,
		fadeDuree: 2000
	};
	if (options) {
		jQuery.extend(settings, options);
	}
	this.each(function(){
		var nav, aImages, ticker, nbImages, indexImageActuelle, newIndex, aAddress, image_actuelle;
		init($(this));

		function init(elmt){
			aImages=$('li',elmt);
			nbImages = aImages.size();
			if(nbImages == 0) return;
			var navWrapperClass=settings.imageListClass.replace(settings.imageListSuffix,settings.imageNavSuffix);
			nav=elmt.next('.'+navWrapperClass).find('li');
			if (!nav.size()) return;
			aImages.slice('1').hide(); // Cacher toutes les images sauf la première.
			indexImageActuelle=0;
			newIndex='';

			// Cas d'un id_document dans l'URL.
			image_actuelle = nav.filter('.on')
			if (image_actuelle.size() > 0) {
				newIndex=nav.index(image_actuelle.get(0));
				aImages.eq(0).hide().end().eq(newIndex).show();
			}

			if (newIndex === '') {
				nav.eq(0).addClass('on');
				start();
			}

			nav.click(function (){
				nav.removeClass('on');
				$(this).addClass('on');
				stop();
				aImages.hide()
				newIndex=nav.index(this);

				next();

				return false;
			});
		}

		function stop(){clearInterval(ticker);}
		function start(){ticker=window.setInterval(next, settings.duree);}
		function next(){
			aImages.eq(indexImageActuelle).hide();
			nav.eq(indexImageActuelle).removeClass('on');

			if (newIndex === '') {
				indexImageActuelle++;
			} else indexImageActuelle = newIndex;

			if (indexImageActuelle > nbImages-1) indexImageActuelle= 0;

			aImages.eq(indexImageActuelle).fadeIn(settings.fadeDuree);
			nav.eq(indexImageActuelle).addClass('on');
		}
	});

	return this;
};

var footerTicker = function() {
	var afpTicker, line, lineLength, lineTotalMoveToDo, moveDuration;
	var swapDelay=100;
	var moveDelay=30;
	var moveLength=2;
	var displayWindowSize=370;
	function init() {
		afpTicker = $('#afp_ticker');
		line = $(' > li:first',afpTicker);
		if (line.is('li')) lineMove(line);
	}

	function lineMove(line) {
		lineLength=getLineLength(line);
		lineTotalMoveToDo=lineLength+displayWindowSize*2;
		moveDuration=lineTotalMoveToDo*moveDelay/moveLength;

		afpTicker.hover(function(){line.stop();},function(){lineAnimate(line)}).find('>li:visible >a').focus(function(){line.css({left: '2px'}).stop();}).blur(function(){lineAnimate(line);});

		lineAnimate(line);
	}

	function lineSwap(line) {
		line.hide().css({left: displayWindowSize});
		afpTicker.unbind('mouseover',function(){line.stop();}).unbind('mouseout',function(){lineAnimate(line);}).find('>li:visible >a').unbind('focus',function(){line.css({left: '2px'}).stop();}).unbind('blur',function(){lineAnimate(line);});
		line=line.next().is('li')?line.next():line.prevAll().eq(0).is('li')?line.prevAll().eq(0):line;
		line.css({display: 'inline', left: displayWindowSize});
		lineMove(line);
	}

	function getLineLength(line) {return parseInt(line.width());}
	function lineAnimate(line){line.animate({left: -lineLength},moveDuration, function(){lineSwap($(this));})}

	return{init:init};
}();


var corriger_email_safari = function(){
	var aMailto;
	function init(){
		//if (navigator.appVersion.indexOf("Mac")==-1) return;
		aMailto=$('a[href^=mailto:]');
		aMailto.each(function(){
			var href=accentsReplace($(this).attr('href'));
			$(this).attr('href',href);
			alert($(this).attr('href'));
		});
	}

	function accentsReplace(string){
		string=string.replace(/%E1/g,'á');
		string=string.replace(/%E0/g,'à');
		string=string.replace(/%E2/g,'â');
		string=string.replace(/%E4/g,'ä');
		string=string.replace(/%E9/g,'é');
		string=string.replace(/%E8/g,'è');
		string=string.replace(/%EA/g,'ê');
		string=string.replace(/%EB/g,'ë');
		string=string.replace(/%ED/g,'í');
		string=string.replace(/%EC/g,'ì');
		string=string.replace(/%EF/g,'ï');
		string=string.replace(/%EE/g,'î');
		string=string.replace(/%F2/g,'ò');
		string=string.replace(/%F3/g,'ó');
		string=string.replace(/%F4/g,'ô');
		string=string.replace(/%F6/g,'ö');
		string=string.replace(/%F9/g,'ù');
		string=string.replace(/%FB/g,'û');
		string=string.replace(/%FC/g,'ü');
		string=string.replace(/%C1/g,'Á');
		string=string.replace(/%C0/g,'À');
		string=string.replace(/%C4/g,'Ä');
		string=string.replace(/%C2/g,'Â');
		string=string.replace(/%C9/g,'É');
		string=string.replace(/%C8/g,'È');
		string=string.replace(/%CB/g,'Ë');
		string=string.replace(/%CA/g,'Ê');
		string=string.replace(/%CC/g,'Ì');
		string=string.replace(/%CD/g,'Í');
		string=string.replace(/%CF/g,'Ï');
		string=string.replace(/%CE/g,'Î');
		string=string.replace(/%D2/g,'Ò');
		string=string.replace(/%D3/g,'Ó');
		string=string.replace(/%D4/g,'Ô');
		string=string.replace(/%D6/g,'Ö');
		string=string.replace(/%D9/g,'Ù');
		string=string.replace(/%DC/g,'Ü');
		string=string.replace(/%DB/g,'Û');
		return string;
	}

	return {init:init}
}();

$.fn.alternerRows = function(){
	var elmts=$(this);
	if (!$(this).is('table')) elmts=$(this).find('table');
	$(this).each(function(){
		var rows;
		if ($(this).find('tbody').size) rows=$(this).find('tbody').find('tr');
		else rows=$(this).find('tr');
		rows.filter(':odd').addClass('impair');
	});
	return this;
}

var headerRechInputText = function(){
	function init(){
		$('#headerRechText').each(function(){
			var elmt=$(this);
			inserLabelIntoInput(elmt.siblings('label'),elmt);
		});
	}
	return {init:init}
}();

function inserLabelIntoInput (label,input) {
	if (!input.val() && label.text()) {
		setDefaultValue(label,input);
		input.blur(function(){
			if (input.val()=='') setDefaultValue(label,input);
		});
	}
	function setDefaultValue(label,input){input.val(label.text()).addClass('defaultValue').one('click',function(){$(this).val('').removeClass('defaultValue');})}
}

*/
