//var ltie7 = ($.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent));
var ltie7 = ($.browser.msie && $.browser.version < 7);
var ltie = ($.browser.msie);

$(function(){

	 $(".newsticker-jcarousellite").show().jCarouselLite({
		vertical: true,
		hoverPause:true,
		visible: 2,
		auto:4500,
		speed:500
	});
	
	if (ltie) {$("#f_question ul.reponses li input , #f_question ul.reponses_multiple li input").css('margin','0');}
	
	if (ltie7) {
		$('img[@usemap]').css('border','none');
		$('input[type="radio"], input[type="checkbox"], input[type="file"]').css('border','none');
		$('#footer li:first-child').css('border-left','none');
		$('.menuSsList .menuSsItem:first-child .menuSsItemLink').css({borderTopColor: '#ff1636'});
		$('img[src$=.png]').not($('#video > ul > li > img')).each(function() {
			var img=$(this);
			var w = img.width();
			var h = img.height();
			img.ifixpng();
			var nw = img.width();
			var nh = img.height();

			img.width(2*w - nw);
			img.height(2*h - nh);
		});
	}
	
	cartesReseau.init();
	
	GestionQuestionnaire.init();
	
	
	$('div.cadre_rub').adjustSize();
	switchVideo.init();
	headerRechInputText.init();
	menu.init();
	articleTabs.init();
    $('.mSecItemLink').not('.on').parent('li').find('.rubrique').hide();
    $('.on').parent('li').find('.rubrique').show();
    $('div.article_infos .descreptif_r, .liste_haut').adjustSize();

    /// corner
   	$('.vignette_ref').corner("cc:#ffffff tl br 10px");
   	//$('.details_actu .visuel_rubrique').corner("cc:#ffffff tl br 20px");
   	//$('.grande_video').corner("cc:#ffffff tl br 20px");
   	$('.contenu_activites, .contenu_article, .contenu_rubrique').children().not('.visuel_rubrique, .visuel_activites').eq(0).css('margin-top','2px');

   	$('#filtre_offre li.last').css('margin-right','0px');

    $('#liste_video li a.ref_video').click(function(){
    	$('#script_video').html('<script type="text/javascript">$(function(){s1 = new SWFObject("/_media/swf/player.swf","ply","321","231","10","#FFFFFF");s1.addParam("allowfullscreen","true");s1.addParam("autostart","true");s1.addParam("allowscriptaccess","always");s1.addParam("flashvars","file='+$(this).attr('rel')+'&image='+$(this).attr('rev')+'&backcolor=f24944&frontcolor=ffffff&autostart=true");s1.write("grand_player");});</script>');
    	return false;

    	/// modifier aussi dans le model image
    });
    $('#liste_video li a.ref_image').click(function(){
    	$('#grand_player').html('<a href="'+$(this).attr('rel')+'" class="thickbox" title="'+$(this).attr('title')+'"><img src="'+$(this).attr('rel')+'"  height="231" alt="'+$(this).attr('title')+'" /><span class="play"></span></a>');
    	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
		imgLoader = new Image();// preload image
		imgLoader.src = tb_pathToImage;
    	$('#grand_player').addClass('ref_image_bloc');
    	return false;
    });

	if($("#container_carte_reseau_agence, #container_carte_reseau").html()){
	bloc_carte = $("#container_carte_reseau_agence, #container_carte_reseau");
	offset_carte = bloc_carte.offset();
	$("#cartouches_res").css({position: "absolute", top: offset_carte.top });
	}
	$('.container_cartouche #activiteProduits li').adjustSize({periode: 2});


	$('#resultat_recherche table tbody tr').removeClass('escape');
	$('#resultat_recherche table th').css('cursor','pointer');
	$("#resultat_recherche table").tablesorter({sortList:[[0,0],[2,1]], widgets: ['zebra']});


	/* DISPLAY ALL LINKED PRODUCTS*/
	var nbProdMax = 10;
	var nbProd=$('.container_cartouche #activiteProduits li').size();
	if(nbProd>nbProdMax){
	$('.container_cartouche #activiteProduits li:gt('+(nbProdMax - 1)+')').hide();
	$(".container_cartouche #activiteProduits").after("<div class='clear'></div><div id='showProd'></div><div class='clear'></div>");
		$('#showProd').click(function(){
		$(this).toggleClass("showProd");
		$('.container_cartouche #activiteProduits li:gt('+(nbProdMax -1 )+')').toggle('fast');
	})
	}
	
	$('#form_contact .numeric').bind('keyup',function(event){
		chiffres($(this));
	});
	$('#form_contact .numeric').bind('keydown',function(event){
		chiffres($(this));
	});



});

function chiffres(objInput,max){
   var reg = /^[0-9]*$/;
    
   if(!reg.test(objInput.val())){
   	  val_input = objInput.val();
      objInput.val(val_input.substring(0,val_input.length-1));
	  
   }
}

var GestionQuestionnaire = function(){
	function init(){
		var test = $('#f_question input#q1_1').is(':checked');
		if(test) {$('#q1_oui').show();}
		
		var test4 = $('#f_question input#q1_2').is(':checked');
		if(test4) {
			$('#q1_oui').hide();
			$('#q1_4_non').hide();
		}
		
		var test2 = $('#f_question input#q1_4').is(':checked');
		if(test2) {$('#q1_4_non').show();}
		
		$('#f_question input#q1_1').click(function(){
			$('#q1_oui').show();
		});
		$('#f_question input#q1_2').click(function(){
			$('#q1_oui').hide();
			$('#q1_4_non').hide();
		});
		$('#f_question input#q1_4').click(function(){
			$('#q1_4_non').show();
		});
		$('#f_question input#q1_3').click(function(){
			$('#q1_4_non').hide();
		});
		
		$('#f_question .autre').hide();
		var test3 = $('#f_question input.quizz_autre').is(':checked');
		if(test3) {$('#f_question input.quizz_autre').parents('li').find('span.autre').show();}
		
		
		$('#f_question input.quizz_autre').click(function(){
			var test = $(this).is(':checked');
			if(test) {
				$(this).parents('li').find('span.autre').show();
			}
			else {
				$(this).parents('li').find('span.autre').hide();
			}
		});
	}
	return {init:init}
}();

var cartesReseau = function(){

	$.fn.switchClassOnOff = function() {
		if ($(this).hasClass('on')) {
			$(this).removeClass('on').addClass('off');
		} else {
			$(this).removeClass('off').addClass('on');
		}
	}

	function init(){
		switchMap.init();
		agencesSacer.init();
		carte_reseau.init();
	}

	var switchMap = function() {
		var oldMap, newMap, container_carte_reseau_agence, cartouche_liste_des_regions;
			
		function init() {
			oldMap = $('.carte_reseau_pne').css('background-image');
			newMap = '';
			
			container_carte_reseau_agence = $('#container_carte_reseau_agence');
			cartouche_liste_des_regions = $('#cartouche_liste_des_regions');
			
			cartouche_liste_des_regions.hide();
			
			changeListeAgenceLocationInCode();
			
			$('.agence_sacer_dep a').click(function(clickEvent) {
				clickEvent.preventDefault();
				handleAgenceSacerDepClick($(this));
			});
			
			$('.mini_france a').click(function(clickEvent) {
				clickEvent.preventDefault();
				handleMiniFranceClick($(this));
			});
		}
		
		function changeListeAgenceLocationInCode() {
			$('#carte_reseau_agence').append($('.agence_sacer_dep ul').clone());
			$('.agence_sacer_dep ul').remove();
		}
		
		function handleAgenceSacerDepClick(elmt) {
			if (container_carte_reseau_agence.hasClass('carte_spec')) {
				container_carte_reseau_agence.removeClass('carte_spec');
			} else if($('#agence_sacer_map')[0]) {
				container_carte_reseau_agence.addClass('carte_spec');
			}
			
			changeMap(elmt);
		}
		
		function changeMap(elmt) {
			if (!newMap) {
				newMap = 'url('+ $('#agence_sacer_map').val() +')';
			}
			
			var tmp_map = newMap;
			$('.carte_reseau_pne').css('background-image', newMap);
			$('#liste_agences').switchClassOnOff();
			$('ul.'+ elmt.attr('class')).switchClassOnOff();
			newMap = oldMap;
			oldMap = tmp_map;
		}
		
		function handleMiniFranceClick(elmt) {
			$('.liste_70-25').switchClassOnOff();
			$('#liste_agences').switchClassOnOff();
			
			if (container_carte_reseau_agence.hasClass('carte_spec')) {
				container_carte_reseau_agence.removeClass('carte_spec');
			}
			
			$('#carte_reseau_agence').css('background-image', newMap);
			
			$('#cartouche_sous_reseaux').show();
			$('.agence_sacer_region').show();
			
			$('#cartouche_liste_des_regions').hide();
			$('.agence_sacer').hide();
			
			var _tmp = oldMap;
			oldMap = newMap;
			newMap = _tmp;
		}
		
		return {init:init};
	}();

	var agencesSacer = function(){
		var agences, agencesRegion;
		function init(){
			agences = $('.agence_sacer');
			agencesRegion = $('.agence_sacer_region');
			
			agences.hide();
			
			$('#liste_agences li > a, .liste_70-25 li > a').click(function(clickEvent){
				if($(this).parent().not('#agence_sacer_region')) {
				clickEvent.preventDefault();
				var lien = $(this);
				agences.each(function() {
					var agence = $(this);
					handleAgenceVisibility(agence, lien);
				});
				self.location.hash="#container_carte_reseau_agence";
				}
			});

			$('#agence_sacer_region > a').click(function(clickEvent){
				clickEvent.preventDefault();
				agences.hide();
				agencesRegion.show();
				$('#cartouche_sous_reseaux').show();
				$('#cartouche_liste_des_regions').hide();
				self.location.hash="#container_carte_reseau_agence";
			});
		}
		
		function handleAgenceVisibility(elmt, lien) {
			if(elmt.attr('id')==lien.attr('rel'))  {
				elmt.show().siblings().hide();
				agencesRegion.hide();
				handleCartoucheVisibility(elmt, lien);
			}
		}
		
		function handleCartoucheVisibility(elmt, lien) {
			$('#cartouche_sous_reseaux, #cartouche_liste_des_regions').hide();
			elmt.parents('#cartouche_sous_reseaux').show();
			elmt.parents('#cartouche_liste_des_regions').show();
			
			//if (lien.parents('.liste_70-25')) $('#cartouche_liste_des_regions').show();
		}
		
		return {init:init}
	}();
	
	var carte_reseau = function(){
		var carte;
		function init(){
			carte = $('#carte_reseau');
			
			$('#atlantique a.on').parents('#carte_reseau').removeClass('carte_reseau').addClass('atlantique');
			$('#pne a.on').parents('#carte_reseau').removeClass('carte_reseau').addClass('pne');
			$('#sud_est a.on').parents('#carte_reseau').removeClass('carte_reseau').addClass('sud_est');
			
			classe_encours= $('#carte_reseau').attr('class');
			
			$('#atlantique a').not('.on').hover(function(){
				carte.removeClass(classe_encours);
				carte.addClass('atlantique');
			},function(){
				carte.removeClass('atlantique');
				carte.addClass(classe_encours);
			});

			$('#pne a').not('.on').hover(function(){
				carte.removeClass(classe_encours);
				carte.addClass('pne');
			},function(){
				carte.removeClass('pne');
				carte.addClass(classe_encours);
			});

			$('#sud_est a').not('.on').hover(function(){
				carte.removeClass(classe_encours);
				carte.addClass('sud_est');
			},function(){
				carte.removeClass('sud_est');
				carte.addClass(classe_encours);
			});

		}
		return {init:init}
	}();

	return {init:init}
}();
	

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()) {
		input.val(label.text()).one('click',function(){$(this).val('');});
	}
}

var menu = function(){
	var menu, menuItem;
	var displayClass='menuSsListVisible';
	function init(){
		menu=$('#menuList');
		menuItem=$('.menuItem',menu)
		menuItem.not('.on').each(function(){$(this).switchImage('','> a > img',{stringHover:'_on'});});
		menuItem.hover(function(){
			menuSsListDisplay(getMenuSsList($(this)));
		},function(){
			menuSsListHide(getMenuSsList($(this)));
		}).add('a').focus(function(){
			menuSsListDisplay(getMenuSsList($(this)));
		}).blur(function(){
			menuSsListHide(getMenuSsList($(this)));
		});
	}
	function menuSsListDisplay(elmt){elmt.addClass(displayClass);}
	function menuSsListHide(elmt){elmt.removeClass(displayClass);}

	function getMenuSsList(elmt) {
		if (elmt.is('.menuItem')) return elmt.find('.menuSsList');
		return elmt.parents('.menuItem').find('.menuSsList');
	}

	return {init:init}
}();

var articleTabs = function(){
	var texte, tabBuilder, tabBuilderCurrentElmt, h2List, h2TitleList;
	function init(){
		h2TitleList=[];
		texte=$('#texte');

		// création de chaque fragment.
		h2List=$('h2',texte);
		h2List.each(function(){
			var index=h2List.index(this);
			h2TitleList[index]=$(this).text();
			tabBuilder=$(this);
			tabBuilderCurrentElmt=tabBuilder;
			while (tabBuilderCurrentElmt.next().size() && !tabBuilderCurrentElmt.next().is('h2')) {
				tabBuilderCurrentElmt=tabBuilderCurrentElmt.next()
				tabBuilder=tabBuilder.add(tabBuilderCurrentElmt);
			}
			var extraClass=' ui-tabs-hide';
			if (index == 0) extraClass='';
			tabBuilder.wrapAll('<div id="fragment-'+(index)+'" class="ui-tabs-panel'+extraClass+'"></div>');
		});

		// Construction de la liste des titres/onglets
		var h2TitleListLength=h2TitleList.length;
		var tabList;
		tabList='<ul class="ui-tabs-nav">'+"\n";
		for (var i=0; i<h2TitleListLength; i++) {
			tabList+='<li><a href="'+window.location.href.replace(window.location.hash,'')+'#fragment-'+i+'"><span>'+h2TitleList[i]+'</span></a></li>'+"\n";
		}
		tabList+='</ul><br class="clear" />'+"\n";
		texte.prepend(tabList);

		// Les illustrations sont mise au début du fragment
		/*$('.ui-tabs-panel',texte).each(function(){
			$(this).children().wrapAll('<div class="ui-tabs-panel-content"></div>')
			$(this).prepend($(this).find('.illustration')).append('<br class="clear" />');
		});*/
		$('#texteTabs').append('<br class="clear" />');

		$(texte).tabs({ fx: { height: 'toggle'} });
	}
	return {init:init}
}();

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

// Nouvelle fonction jquery de retaillage de blocks
$.fn.adjustSize=function(options) {
	var settings = {
		periode: 3,
		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;
}

var switchVideo = function()
{
	function init()
	{
		var parent;
		var stitle;

		parent = $('#video').find('ul');
		if (parent.find('li').length > 1)
			parent.find('li:last').prependTo(parent);
		if (parent.find('li').length == 2)
			parent.find('li:first').clone().appendTo(parent);
		parent.show();
		$('.arrow').click(function(){
			if ($(this).hasClass('previous'))
			{
				$('#stitle a').attr('href', parent.find('li:first a').attr('href')).html(parent.find('li:first input:hidden[name="stitle"]').val());
				parent.find('li:last').prependTo(parent);
			}
			if ($(this).hasClass('next'))
			{
				$('#stitle a').attr('href', parent.find('li').eq(2).find('a').attr('href')).html(parent.find('li').eq(2).find('input:hidden[name="stitle"]').val());
				parent.find('li:first').appendTo(parent);
			}
		});
	}

	return {init:init};
}();

function CloseDiv() {
	$('#sacer_ville').slideUp();
}
