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

$(function(){

	$.ifixpng('/_media/img/pixel.gif');
	$('img[src$=.png]').ifixpng();
	//alert('hello world !');

	$('#bloc_left,#bloc_right').adjustSize({periode:2});
	$('#contenu,#sidebar').adjustSize({periode:2});
	$('#menu .item_menu a').not('.on').parent().find('.sous_menu').hide();
	$('#menu .item_menu a.on').parent().find('.sous_menu').show();

	$('#menu .item_menu a').not('.on').parent().hover(function(){
		$(this).find('.sous_menu').slideDown();
	},function(){
		$(this).find('.sous_menu').slideUp();
	});


	if (ltie7) {
		$('img[@usemap]').css('border','none');
		$('input[type="radio"], input[type="checkbox"], input[type="file"]').css('border','none');
	}
});


//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));
			}
		});
	}
	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));
			}
		});
	}

	var getSrcElmts = function() {
		var src,srcPathSplit, srcPathSplitLength;
		function init(e){
			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);
	});


	return this;
}

$.fn.fakeMiddleCenter=function(options) {
	var settings = {
		paddingHeight : 6,
		triggerHeight: 18
	};
	if (options) jQuery.extend(settings, options);

	var ltie7 = ($.browser.msie && $.browser.version < 7);
	// Reset des CSS
	if (!ltie7) {
		minHeight=parseInt($(this).css('min-height'));
		$(this).css('min-height','0');
	} else {
		height=parseInt($(this).height());
		$(this).height('auto');
	}
	$(this).each(function(){
		// Si l'élément est assez grand, on lui redonne les styles CSS inchangés.
		if($(this).height() > settings.triggerHeight) {
			if (minHeight) $(this).css('min-height',minHeight);
			else $(this).height(height);
			return;
		}
		// On ajuste le padding-top pour faire illusion.
		$(this).css('padding-top',settings.paddingHeight+'px');
		if (minHeight) $(this).css('min-height',(minHeight-settings.paddingHeight)+'px');
		else $(this).height((height-settings.paddingHeight)+'px');
	});
	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}
}();

*/
