﻿
$(document).ready(function(){
	handleMainNav();
	handleSecondNav();
});

$(window).load(function(){
	finishDesign();
	handleFlashEmbeds();
	if($.browser.msie==true&&$.browser.version==7){
		initIE7();
	}
	if($.browser.safari==true){
		initSaf();
	}
	if(navigator.platform.indexOf('Mac')>-1){
		initMac();
	}
	if(typeof($.fn.cycle)!='undefined'){
		handleMiniGallery();
	}
	handleBasicBehaviours();
	emailBuilder();
});


/* This function adapts things for IE7 */
function initIE7(){
	return true;
}

/* This function adapts things for Safari */
function initSaf(){
	return true;
}

function initMac(){
	$('#navigation.js ul.l0 li.l0')
		.css(
			{
				'margin-right':	'9px'
			}
		);
	if($.browser.safari==true){
		$('#navigation.js #l222').css({left:'182px'});
		$('#navigation.js #l232').css({left:'151px'});
		$('#navigation.js #l241').css({left:'185px'});
		$('#navigation.js #l242').css({left:'185px'});
		$('#navigation.js #l243').css({left:'185px'});
		return true;
	}
	else{
		$('#navigation.js #l222').css({left:'179px'});
		$('#navigation.js #l232').css({left:'148px'});
		$('#navigation.js #l241').css({left:'183px'});
		$('#navigation.js #l242').css({left:'183px'});
		$('#navigation.js #l243').css({left:'183px'});
		return true;
	}
	return true;
}

/* This function finishes design */
function finishDesign(){
	$('.homeBlk').append('<div class="bot" />');
	var hCol=$('#col .ctnr').height()+1;
	var hMainCol=$('#mainCol .ctnr').height() + $('#mainCol #pied').outerHeight();
	if(hCol<hMainCol){
		$('#col .ctnr')
			.css({'min-height':hMainCol-1+'px'});
	}
	else if(hCol>hMainCol){
		$('#mainCol .ctnr')
			.css({'height':hCol-$('#mainCol #pied').outerHeight()+'px'});
	}
	return true;
}


/* This function designs and handle main navigation bar */
function handleMainNav(){
	$('#navigation')
		.addClass('js');
	$('#navigation.js').each(function(){
		var nav=$(this);
		$('ul.l-1, ul.l-2',nav)
			.hide();
		$(nav)
			.prepend('<div class="hiders" id="hide1" /><div class="hiders" id="hide2" />');
		$('.hiders')
			.each(function(){
				$(this)
					.mouseover(function(){
						$('ul.l-1, ul.l-2',nav)
							.hide('normal');
						$('li.l0')
							.removeClass('focus');
						$('.hiders')
							.hide();
					});
			});
		$('.l0',nav)
			.children('a')
				.each(function(){
					$(this)
						.mouseover(function(){
							$('ul.l-1, ul.l-2',nav)
								.hide();
							$('li.l0')
								.removeClass('focus');
							$(this)
								.parent('li')
									.addClass('focus')
									.children('.l-1')
										.show()
										.css('zoom',1);;
							$('.hiders',nav)
								.show();
						})
				});
		$('.l-1',nav)
			.children('a')
				.each(function(){
					$(this)
						.mouseover(function(){
							$('ul.l-2',nav)
								.hide('normal');
							$(this)
								.parent('li')
									.addClass('focus')
									.children('.l-2')
										.show();
						})
				});
	});
}


/* This function designs and handle secondary navigation */
function handleSecondNav(){
	$('#sNavigation li.navIt:not(.current) ul').hide();
	$('#sNavigation a.navIt').click(function(){
		if($(this).siblings('ul').length>0){
			if(!$(this).hasClass('.current')){
				$(this)
					.parent('li')
						.addClass('active');
				$('#sNavigation li.navIt.current ul.subSNav .navSIt.current a.current')
					.removeClass('current');
				$('#sNavigation li.navIt.current ul.subSNav .navSIt.current')
					.removeClass('current');
				$('#sNavigation li.navIt.current')
					.removeClass('current')
					.children('a')
						.removeClass('current')
						.end()
					.children('a.navIt')
						.addClass('off')
						.end()
					.children('ul.subSNav')
						.slideUp('fast');
				$(this)
					.removeClass('off')
					.addClass('current')
					.parent('li')
						.addClass('current')
						.removeClass('active')
						.children('ul.subSNav')
							.slideDown('slow');
				return false;
			}
			else{
				return true;
			}
		}
	});
}

function handleMiniGallery(){
	$('.panoramique2 .galerie').cycle({
		fx: 'scrollHorz',
		timeout: 0,
		next: '#btnPrev',
		prev: '#btnNext'
	});
	$('.panoramique2 .galerie a').click(function(){alert('clic');});
	$('.panoramique2 .galerie a').lightBox();
}
/********************************
 *	Generic functions	*
 ********************************/

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


/* Basic functions and behaviors... */
function handleBasicBehaviours(){
	$("a.popUp").click(function(){
		var lien=$(this).attr("href");
		var params=$(this).attr("rel").split('x');
		var target=params[0]!=''?params[0]:'';
		var sizing=typeof(params[1])!='undefined'&&typeof(params[2])!='undefined'?'width='+params[1]+',height='+params[2]:'';
		window.open(lien,target,sizing);
		return false;
	});
	$('a.closeLnk').click(function(){
		window.close();
		return false;
	});
	$('a.confirm').click(function(){
		var msg=$(this).attr('rel')!=''?$(this).attr('rel'):'Etes-vous sûr de vouloir effectuer cette action ?';
		if(confirm(msg)){
			location.href=$(this).attr('href');
		}
		return false;
	});
}

/* This function handles the autoerasing of values into form inputs */
function autoEraseInput(selecteur,valeur){
	$(selecteur).blur();
	$(selecteur)
		.focus(function(){
			$(this).val(($(this).val()==valeur?'':$(this).val())
		)
		.blur(function(){
			$(this).val(($(this).val()==''?valeur:$(this).val()));
		});
	});
}

/* This function handles autisizing of textareas */
function autosize(){
	$('textarea.autosize').each(function(){
		var defaultMess=$(this).parents('#messForm').length>0?'':'Donner son avis';
		if($(this).val()!=defaultMess){
			$(this).addClass('focus');
			if($('#autoSize').length==0){
				$(this).after('<pre id="autoSize" />');
			}
			var content=$(this).val().replace(/\n/g,'<br />').replace(/(\s) /g,'$1&nbsp;');
			$('#autoSize')
				.empty()
				.html(content+"<br /> &nbsp; ");
			$(this)
				.css({
					width:	$('#autoSize').width(),
					height:	$('#autoSize').height()
				});
		}
		$(this)
			.focus(function(){
				$(this).addClass('focus');
				if($('#autoSize').length==0){
					$(this).after('<pre id="autoSize" />');
				}
				$(this).val(($(this).val()==defaultMess?'':$(this).val()));
				$(this).keyup(function(){
					var content=$(this).val().replace(/\n/g,'<br />').replace(/(\s) /g,'$1&nbsp;');
					$('#autoSize')
						.empty()
						.html(content+"<br /> &nbsp; ");
					$(this)
						.css({
							width:	$('#autoSize').width(),
							height:	$('#autoSize').height()
						});
				});
			})
			.blur(function(){
				$(this)
					.removeClass('focus')
					.val(($(this).val()==''?defaultMess:$(this).val()));
			});
	});
}


function splitLst(nomElt,classElt,classLi,nbLst){
	var newLsts='';
	for(var i=1;i<=nbLst;i++){
		classElt=i==nbLst?classElt+' last':classElt;
		newLsts+='<ul id="'+nomElt+i+'" class="'+classElt+'"><\/ul>';
	}
	$(newLsts).insertAfter('#'+nomElt+'0');
	var nbElts=Math.ceil($('#'+nomElt+'0 li.'+classLi).length/nbLst)-1;
	$('#'+nomElt+'0 li.'+classLi).clone().appendTo('#'+nomElt+'1');
	for(i=1;i<nbLst;i++){
		$('#'+nomElt+i+' li.'+classLi+':gt('+nbElts+')').clone().appendTo('#'+nomElt+(i+1));
		$('#'+nomElt+i+' li.'+classLi+':gt('+nbElts+')').remove();
	}
	$('#'+nomElt+'0').remove();
}


function getQueryStringValues(aNames, sURL) {
	sURL = (sURL || window.location.toString());
	var match, results = {}
	,reg = new RegExp('(\\?|&amp;|&)('+aNames.join('|')+')(=([^&#]*))?(?=(&amp;|&|#|$))', 'g');
	while(match = reg.exec(sURL)) {
		results[match[2]] = match[4] || '';
	}
	return results;
}



// 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(pattern.test($(this).html())){
				$(this).html($(this).html().replace(pattern,'$2@$1'));
			}
			else{
				if($('span.accessibility',this).html()!=null){
					if($('span.accessibility',this).html().match(pattern)){
						$('span.accessibility',this).html($('span.accessibility',this).html().replace(pattern,'$2@$1'));
					}
				}
			}
		});
	};
	if(!humanDetected){
		$(document).mousemove(human).keypress(human);
	}
	$('a.courriel').click(function(){
		if(!humanDetected){return false;}
		if(pattern.test(this.href)){
			this.href=this.href.replace(pattern,'mailto:$2@$1');
		}
	});
	$('a.courrielSubject').click(function(){
		if(!humanDetected){return false;}
		if(pattern.test(this.href)){
			var subject=$(this).attr('rel');
			this.href=this.href.replace(pattern,'mailto:$2@$1'+'?Subject='+subject);
		}
	});
	return false;
}

