﻿
$(document).ready(function(){
	destroyBlk('.noJS');
	checkCreator();
	handleNavCollapse();
	handleFlashEmbeds();
	handleLabels();
	emailBuilder();
	handleTargBlank();
});

$(window).load(function(){
	handleNavBars();
	if($.browser.msie==true&&$.browser.version<7){
		initIE6();
	}
	if($.browser.msie==true&&$.browser.version==7){
		initIE7();
	}
});


/* This function adapts things for IE6 */
function initIE6(){
	$('#corps, h3').css("zoom","1");
}

/* This function adapts things for IE7 */
function initIE7(){
	$('#corps').css("zoom","1");
}

// Center navBar
function handleNavBars(){
	$('#entete #navigation ul').css("margin-left",Math.floor((1000-$('#entete #navigation ul').width())/2));
	$('#entete #bandeau ul').css("left",Math.floor((1000-$('#entete #bandeau ul').width())/2));
	$('#pied ul').css("margin-left",Math.floor((1000-$('#pied ul').width())/2));
}


/* This function replaces HTML elements by Flash files */
function handleFlashEmbeds(){
	$('.flashCtnt').each(function(){
//		$(this).css({background:'none'});
		var flashURL=$('.flashUrl span',this).html();
		var flashDims=$('.flashUrl span',this).attr('class');
		$('*',this).remove();
		flashDims=flashDims.split('x');
		$(this).flash({
			src: flashURL,
			width: flashDims[0],
			height: flashDims[1]
		},
		{
			update: false
		});
	});
}

/* This function collapses and manages collapsing navigations */
function handleNavCollapse(){
	$('ul.collapse').hide();
	$('.accordion').click(function(){
		var target=$(this).attr('id');
		$('ul.collapse.'+target).toggle();
		if($('ul.collapse.'+target).css("display")=="none"){
			$('ul.collapse.'+target+' ul.collapse').hide();
		}
	});
}


/* This function handle ajax call and usage of JSON */
function handleAjaxContent(classContenu){
	$('a.ajax.'+classContenu).click(function(){
		var cible=$(this).attr('rel');
		var URL=$(this).attr('href');
		var contentId=getURLParamValue(URL, 'ctnt');
		if(classContenu=='actu'){var fichier='fiche_actualite';}
		if(classContenu=='reference'){var fichier='fiche_reference';}
		if(classContenu=='produit'){
			var fichier='fiche_produit';
			$('ul ul li.current').removeClass('current');
			$(this).parent('li').addClass('current');
		}
//		$('#'+cible).fadeOut(100).fadeIn(500).load('inc_ajax_'+fichier+'.php?ctnt='+contentId,setTimeout('makeColumns()',1000));
		if($.browser.safari){$('#'+cible).load('inc_ajax_'+fichier+'.php?ctnt='+contentId,setTimeout('makeColumns()',1000));}
		else{$('#'+cible).fadeOut(100).load('inc_ajax_'+fichier+'.php?ctnt='+contentId,setTimeout('makeColumns()',1000)).fadeIn(500);}
		if(classContenu=='actu'){
			setTimeout("centrageVisuel('#ficheActu .pxBlk','#ficheActu .dataCtnt','actu')",1000);
		}
		if(classContenu=='reference'){
			setTimeout("centrageVisuel('#ficheReference .dataCtnt','#ficheReference .pxBlk','ref')",1000);
		}
		return false;
	});
}

/* This function center elements if some elements are missing
*/
function centrageVisuel(eltAbs,eltMove,marge){
	var marge=marge=='ref'?135:(marge=='actu'?150:50);
	var hauteurTxt=$(eltAbs).height();
	if(hauteurTxt==0){
		$(eltMove).css({'margin-left':marge+'px'});
	}
}

/* This function inits the first ajax item */
function initAjaxContent(classContenu){
	$('ul ul li a:first.ajax.'+classContenu).parent('li').addClass('current');
}


/* This function highlights an element from another */
function handleLabels(){
	$('a.highlight').mouseover(function(){
		var cible=$(this).attr('href');
		$(cible).addClass('labelOn');
	}).mouseout(function(){
		var cible=$(this).attr('href');
		$(cible).removeClass('labelOn');
	}).click(function(){
		return false;
	});
}


/* This function cuts a UL in 2 */
function makeColumns(){
	var lis=new Array();
	$('ul.coupe li').each(function(){
		lis[lis.length]=$(this).html();
	});
	var nbLst1=Math.ceil(lis.length/2);
	$('ul.coupe').clone(true).insertAfter('ul.coupe');
	$('ul.coupe:first li:gt('+(nbLst1-1)+')').remove();
	$('ul.coupe:last li:lt('+(nbLst1)+')').remove();
	$('ul.coupe:last').attr('id',$('ul.coupe:last').attr('id')+'2');
}

/********************************
 *	Generic functions	*
 ********************************/

// target="_blank" simulator
function handleTargBlank(){
	$("a.targBlank, a.targBlank2").click(function(){
		var lien=$(this).attr("href");
		window.open(lien,'','');
		return false;
	});
}

// destroy blocks
function destroyBlk(selector){
	$(selector).remove();
}

// 
function getURLParamValue(requestedURL, requestedParamName){
	var pos = requestedURL.indexOf(requestedParamName);
	if (pos != -1 & requestedParamName !== ""){
		var tmp = requestedURL.substr(pos);
		var start = pos + requestedParamName.length;
		var end_pos;
		if (tmp.indexOf("&amp;") != -1) { end_pos = tmp.indexOf("&amp;"); } // case where there are others params after, separate by "&amp;"
		else if (tmp.indexOf("&") != -1 ) { end_pos = tmp.indexOf("&"); } // case where there are others params after, separate by "&"
		else if (tmp.indexOf("#") != -1 ) { end_pos = tmp.indexOf("#"); } // case where there are others params after, separate by "#"
		else { end_pos = tmp.length; } // case where there are no others params after
		var requestedParamValue = tmp.substring(requestedParamName.length + 1,end_pos); // truncates the string from 0 to end of the param value
		return requestedParamValue;
	}
	else{
		return false;
	}
}


// eMail recompozer
function emailBuilder(){
	var pattern=/^http:\/\/www\.([^\/]+)\/([^\.]+)(\.(html|htm|php|asp))?$/;
	var humanDetected=false;
	var human=function(){
		humanDetected=true;
		$('a.courriel').each(function(){
			if($(this).html().match(pattern)){
				$(this).html($(this).html().replace(pattern,'$2@$1'));
			}
		});
	};
	$(document).mousemove(human).keypress(human);
	$('a.courriel').click(function(){
		if(!humanDetected){return false;}
		if(this.href.match(pattern)){
			this.href=this.href.replace(pattern,'mailto:$2@$1');
		}
	});
	return false;
}


// Creator-mention check
var checkCreator = function(){
	if($('div#madeBy').length<1){
		$('<div id="madeBy"></div>')
			.appendTo('div#footer')
			.append('<h3 class="accessibility">Réalisation et aspects techniques - <a href="#siteCtnr">Retour en haut de page</a></h3><div class="orphans"><ul><li class="pipe"><a href="http://www.yacare.fr/" class="targBlank">r&eacute;alis&eacute; par Yacar&eacute;<span class="accessibility">, cr&eacute;ation de sites web</span></a></li><li><a href="http://validator.w3.org/check?uri='+this.location+'" class="targBlank" title="This Page Is Valid XHTML 1.1">xHTML</a> - </li><li><a href="http://jigsaw.w3.org/css-validator/validator?uri='+this.location+'&amp;usermedium=all" class="targBlank" title="Ce document est valide conformément à la recommandation CSS niveau 2.1">CSS</a></li></ul></div>');
	}
}
