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

var cache = [];

$(function(){

	$.ifixpng('/extension/stserninv2/design/stserninv2/images/pixel.gif');
	$('img[src$=.png]').ifixpng();
	$('input[src$=.png]').ifixpng();
	
	if (ltie7) {
		$('img[usemap]').css('border','none');
		$('input[type="radio"], input[type="checkbox"], input[type="file"], input[type="image"]').css('border','none');
		$('#menu_top li.menu_item:first-child').css({"padding":"0 10px 0 5px"});
		$('#footer_bas li:first-child').css({"padding-left":"0px","border-left":"0px"});
	}
	
	$('input[type="text"]').click(function(){$(this).val("");})
	
	$('.principal_menu > li.item_menu').each(function(){$(this).not('.on').switchImage("","> a > img");});
	
	$('.box_home .box_middle').adjustSize({periode: 2});
	$('.box_newsletter .box_middle').adjustSize({periode: 2});
	$('.bloc_precedentes').adjustSize({periode: 2});
	
	evitement.init();
//	if ($('.list_avocats').height()> 80)
//		$('.list_avocats').css('width','1500px');
	
	/*var BodyH= $("body").height();
	$("#visuel_page").css("height",BodyH);*/
	var BodyH = 0;
	var xxx = $('#content').innerHeight();
	BodyH = xxx+129;
	$("#side_bar_left").css("height",BodyH);
	
	/* hauteur de middle box */
	 $('.box_middle').each(function(){
	 	var middle_box_H = $(this).height();
	 	$(this).find('.box_left').css("height",middle_box_H);
	 	$(this).find('.box_right').css("height",middle_box_H);
	 	$(this).find('.box_center').css("height",middle_box_H);
	 });
	
	
	 $('#switchVisiteVirtuelle').click(function(){
		 $('#visiteVirtuelle').show();
		 });
	
	
});

/*
Fonction mis en dur dans le code de la page pour gerer la session
$(function(){
 $('#visiteVirtuelleContainer').append('<p id="switchVisiteVirtuelle"><img src="img/visite.gif" width="102" height="45" alt="Visite virtuelle"></p>');
 $('#visiteVirtuelle').show();
 $('#switchVisiteVirtuelle').hide();
 $('#switchVisiteVirtuelle').click(function(){
 $('#visiteVirtuelle').show();
 $('#switchVisiteVirtuelle').hide();
 });
});
*/

function closeVisite() {
 $('#visiteVirtuelle').hide();
}

/* LIEN EVITEMENT */
var evitement = function(){
	function _init(){
		var bloc = $('#liensEvitement');
		$('a', bloc).focus(function(){
			if (bloc.is('.visible')) return;
			bloc.addClass('visible').animate({top: '0'});
		});
	}
	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;
};

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