$(function(){
	var ltie7 = ($.browser.msie && $.browser.version < 7);
	if (ltie7) {
		$('img[@usemap]').css('border','none');
		/*$('input[type="radio"], input[type="checkbox"], input[type="file"]').css('border','none');*/
	}
	// Fix png
	$.ifixpng('/design/wzfafiec/images/pixel.gif');
	$('img[src$=.png]').ifixpng();
	$('input[type=image][src$=.png]').ifixpng();
	$('#menu_top > li').not( $('.active') ).not( $('.active_gris') ).each(function(){$(this).switchImage("","> a > img");});
	
	
	/*$('#autre_memes ul li').adjustSize();*/
	if($('#content .lecteur_video').width()>=400){
		$('#content .lecteur_video').css('margin-right','0');
	}

	$('.s_menu').hide();
	
	if($("#votre_region").hasClass("active")){
		$('#votre_region').parents('#menu').find('.s_menu').attr('id','s_menu_region');
		$('#votre_region').parents('#menu').find('.s_menu').show();
	}
	if($("#votre_region").hasClass("active_gris")){
		$('#votre_region').parents('#menu').find('.s_menu').attr('id','s_menu_region_gris');
		$('#votre_region').parents('#menu').find('.s_menu').show();
	}
	
	
	$('#menu_top li.item_menu').not('#votre_region').not( $('.active') ).hover(
	function(){$(this).addClass('hover');},
	function(){$(this).removeClass('hover');});
	
	$('#menu_top li#votre_region').not( $('.active') ).not( $('.active_gris') ).hover(function(){
		$(this).addClass('hover_region');
		$(this).parents('#menu').find('.s_menu').attr('id','');
		$(this).parents('#menu').find('.s_menu').show();
	},function(){
		$(this).removeClass('hover_region');
		$(this).parents('#menu').find('.s_menu').hide();
	});
	/*$('.s_menu').hover(function(){$(this).removeClass('hover');},function(){
		$(this).removeClass('hover');
		//$(this).hide();
	});*/
	
	
	/*  PARTAGE */
	$('#partage').click(function(){
		if($(this).hasClass('active')) $(this).removeClass('active');
		else $(this).addClass('active');
	});
	$('#partage .reseaux').hover(function(){},function(){
		if($(this).parent('#partage').hasClass('active')) $(this).parent('#partage').removeClass('active');
	});
	
	/*  RATING */
	$('#rating').click(function(){
		if($(this).hasClass('active')) $(this).removeClass('active');
		else $(this).addClass('active');
	});
	/*$('#rating .just_rated').hover(function(){},function(){
		if($(this).parent('#rating').hasClass('active')) $(this).parent('#rating').removeClass('active');
	});*/
	
	
	$('#form_newsletter, #form_newsletter_full').submit(function() {
		$(".message").load("/newsletter/register_subscription/1", {'StoreButton': true, 'Email': $('#subscriptionEmail').val(), 'Firstname': $('#Firstname').val(), 'Name': $('#Name').val(), 'OutputFormat[]': $('#OutputFormat').val(), 'ajax': '1'});
		return false;
	});

	$('#subscriptionEmail').click(function(){if ($('#subscriptionEmail').val()=='votre adresse e-mail') $(this).val('')});
	
	$('#click_sondage').click(function() {
		$('#sondage').hide();
		var name			='ContentObjectAttribute_data_option_value_'+$('#question_id').val();
		var Reponse =$.ajax({
		   type: "POST",
		   url: "/npoll/poll",
		   data: "ContentNodeID="+$('#ContentNodeID').val()+"&ContentObjectID="+$('#ContentObjectID').val()+"&ContentObjectAttribute_data_option_value_"+$('#question_id').val()+"="+$('input[type=radio][name='+name+']:checked').attr('value')+"&ajax=1",
		   success: function(msg){
		     $("#resultat_sondage").html(msg);
		   }
		 }).responseText;
		return false;
	});
	
	OOTB.init();
	handlePrint.init();
	handleTables.init();
	accessibilityButton.init();
	// BLOC SUITE : ajustement hauteur des bloc
	var blocsArticlesLies = $('.bloc_suite');
	var blocsArticlesLies_premier = blocsArticlesLies.filter('.premier');
	var blocsArticlesLies_premier_dd=blocsArticlesLies_premier.find('dd.larticle');
	blocsArticlesLies_premier_dd.each(function(){
		var index = blocsArticlesLies_premier_dd.index(this);
		if (!index && index !== 0) return;
		blocsArticlesLies.find('dd.larticle:eq('+index+')').adjustSize();
	});
	$("#sidebar1 #sidebar2").adjustSize();
	$("#antenne").change(function(){ location.replace($(this).val()); });
	$("#play_video_fleche").css({
								'top' :($('#bloc_player_video img').height()/2-19)+'px',
								'left':($('#bloc_player_video img').width()/2-20)+'px'
							}).show();
	
	// Gestion de lien "lire la suite"
	$('.la_suite span').click(function(){
		if($(this).parent().parent().find('h3 a').size() > 0)
			window.location.href = $(this).parent().parent().find('h3 a').attr('href');
		else if($(this).parent().parent().find('h2 a').size() > 0)
			window.location.href = $(this).parent().parent().find('h2 a').attr('href');
		else if($(this).parent().parent().parent().parent().find('.descr_article p a').size() > 0 || $(this).parent().parent().parent().find('p.descr a').size() > 0){
			window.location.href = $(this).parent().parent().find('p a').attr('href');
		}
	});
	
	//$("#retrecir").click(function(){alert('retrecir');});
	//$("#aggrandir").click(function(){alert('aggrandir');});
});


var OOTB=function(){
	function init(){
		$('#closeOOTB, #outofboxContent a').click(function(){
			$("#outofboxBG, #outofbox").hide();		
		});
		if ($.cookies.get('OOTB') != 1){
			OOTB_BG_onResize();
			$("#outofboxBG, #outofbox").show();
			$.cookies.set('OOTB', '1');
		}
	}
	return {init:init};
}();

var handlePrint=function(){
	var printLink;
	function init(){
		printLink=$('#b_print');
		printLink.click(function(){
			printPage();
			return false;
		});
	}
	function printPage(){window.print();}
	return {init:init,printPage:printPage};
}();

var handleTables = function(){
	var tables;
	function init(){
		tables=$('table.renderedtable');
		tables.each(function(){
			$(this).find('> tr, > tbody > tr').filter(function(){
				if ($(this).find('> th').size()) return false;
				return true;
			}).filter(':odd').addClass('impair');
		});
	}
	return {init:init}
}();

//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: 7,
		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) {
		var src = e.attr('src');
		var srcPathSplit = src.split('/');
		var fileName=srcPathSplit.pop();
		var filePath=srcPathSplit.join('/');
		if (fileName.indexOf(settings.stringDefault) != -1) {
			e.attr('src', filePath+'/'+fileName.replace(settings.stringDefault, settings.stringHover));
		}
	}
	function switchToDefault(e) {
		var src = e.attr('src');
		var srcPathSplit = src.split('/');
		var fileName=srcPathSplit.pop();
		var filePath=srcPathSplit.join('/');
		if (fileName.indexOf(settings.stringHover) != -1) {
			e.attr('src', filePath+'/'+fileName.replace(settings.stringHover, settings.stringDefault));
		}
	}

	return this;
}

function OOTB_BG_onResize() {
	var hauteurScreen=document.documentElement.scrollTop+document.documentElement.clientHeight;
	var hauteurBody=document.documentElement.scrollTop+$('body').height();
	$("#outofboxBG").height( (hauteurScreen > hauteurBody) ? hauteurScreen : hauteurBody+45 );
}

var accessibilityButton = function(){
	var textSmaller, textBigger, printButton;
	function _init(){
		var intro_article 	= $('.text_intro');
		var contenu_article = $('.contenu_article');
		

		// FIXME : recuperer la valeur dans un cookie s'il y en a un ? Ou le mettre dans le head ?
		var contenu_articleFontSize = parseInt(contenu_article.css('font-size'));
		var intro_articleFontSize 	= parseInt(intro_article.css('font-size'));

		//console.log(aimFontSize);

		textSmaller = $('.text-lower');
		textBigger = $('.text-bigger');
		//printButton = $('.print');

		textSmaller.click(function(){
			contenu_articleFontSize = contenu_articleFontSize*10/11;
			intro_articleFontSize 	= intro_articleFontSize*10/11;
			contenu_article.css('font-size',contenu_articleFontSize+'px');
			intro_article.css('font-size',contenu_articleFontSize+'px');
		});

		textBigger.click(function(){
			contenu_articleFontSize = contenu_articleFontSize*11/10;
			intro_articleFontSize 	= intro_articleFontSize*11/10;
			contenu_article.css('font-size',contenu_articleFontSize+'px');
			intro_article.css('font-size',intro_articleFontSize+'px');
		});
	}
	return {init:_init}
}();