var ltie7 = ($.browser.msie && $.browser.version < 7);
var ltie8 = ($.browser.msie && $.browser.version < 8);
var ltie9 = ($.browser.msie && $.browser.version < 9);
$.ifixpng('extension/oseo_pmr/design/oseo_pce/images/pixel.gif');

$(function(){

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

var enchifre_rotate = function(){
    function _init(){
        $('ul.rotate').innerfade({
        speed: 'slow',
        timeout: 4000,
        type: 'sequence',
        containerheight: '50px'
        }); 
    }
    return {init:_init}
}();

var menu = function(){
	var Items, Links;
	var ItemVisibleClass = 'ssMenuVisible';

	function _init(){
		Items = $('.menuItem');
		Links = $('a',Items);
		Items.each(function(){$(this).not('.menuItemOn').switchImage('', '> a > img')} ).hover(function(){show($(this))},function(){hide($(this))});
		Links.focus(function(){show($(this))}).blur(function(){hide($(this))});

		Items.each(function(){$(this).find('li:last').css({border: 'none'})});

		// Gestion menu : si un seul li dans le sous menu, on lui applique la classe 'on'
		$("#menu ul").each(function(){
			var liArray = $(this).find(">li");
			if(liArray.size()==1) liArray.filter(".no_redirect_children").addClass("on");
		});
	}

	function getItem(elmt) {
		if(!elmt.parent().is('#menu')) return elmt.parents('li').filter(function(){return $(this).parent().is('#menu')});
		else return elmt;
	}

	function show(elmt){
		elmt = getItem(elmt);
		elmt.addClass(ItemVisibleClass);

	}

	function hide(elmt){
		elmt = getItem(elmt);
		elmt.removeClass(ItemVisibleClass);

	}

	return {init:_init}
}();

var faq = function(){
	var questions, reponses;
	function _init() {
		questions = $('.faqQuestion');
		reponses = $('.faqReponse');
		
		wrapLinksAroundQuestion();
		reponses.hide();
		
		questions.find('a').click(function(e){
			var elmt = $(this);
			
			e.preventDefault();			
			
			var question = elmt.parent('.faqQuestion');
			
			if (question.is('.faqQuestionOn')) {
				closeReponse(question);
			} else {
				openReponse(question);
			}
		});
		
	}
	
	function wrapLinksAroundQuestion() {
		questions.each(function(){
			var elmt = $(this);
			
			elmt.wrapInner('<a href="#" />');
			elmt.find('a').prepend('<img src="/extension/oseo_pmr/design/oseo_pce/images/faq/puceFaqOff.gif" alt="" />')
		});
	}
	
	function openReponse(question) {
		var reponse = getReponse(question);
		var img = question.find('img');
		var imgSrc = img.attr('src');
		
		question.addClass('faqQuestionOn');
		img.attr('src', imgSrc.replace('Off.gif', 'On.gif'));
		reponse.slideDown();
	}
	
	function closeReponse(question) {
		var reponse = getReponse(question);
		var img = question.find('img');
		var imgSrc = img.attr('src');
		
		question.removeClass('faqQuestionOn');
		img.attr('src', imgSrc.replace('On.gif', 'Off.gif'));
		reponse.slideUp();
	}
	
	function getReponse(question) {
		return question.next('.faqReponse');
	}
	
	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));
				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;
};

$('div.video_acceuil').click(function(){
    if(!$(this).hasClass("clicked")) {
        $(this).addClass('clicked'); 
        return xt_click(this,'C','57','video_acceuil_pce','A'); 
    }
});
