﻿
$(document).ready(function(){
	finishDesign();
	handleFlashEmbeds();
});

$(window).load(function(){
	if($.browser.msie==true&&$.browser.version==7){
		initIE7();
	}
	handleBasicBehaviours();
	emailBuilder();
});


/* This function adapts things for IE7 */
function initIE7(){
	$('.blk').css({zoom:1});
	return true;
}

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

/* This function finishes design */
function finishDesign(){
	handleSolutionsNav();
	$('#navigation').prepend('<div id="navG" />').append('<div id="navD" />');
	$('.blk:not(square)').before('<div class="top" />').after('<div class="bot" />');
	$('.blk10:not(square)').before('<div class="top10" />').after('<div class="bot10" />');
	$('.blk11:not(square)').before('<div class="top11" />').after('<div class="bot11" />');
	$('.blk40:not(square)').before('<div class="top40" />').after('<div class="bot40" />');
	$('#rejoindre, #reseau').parents('.col').children('.top40').remove();
	$('.last .focus .dataBlk').append('<div class="end" />');
	$('#presseBlk').append('<div class="bot" />');
	$('#mktBlk.mea').append('<div class="deco" />');
	$('#pied').prepend('<div id="piedG" />').append('<div id="piedD" />');
	$('h2.gamme').each(function(){
		var ajout=$(this).hasClass('gDesineo')?'gDesineo':null;
		ajout=!ajout&&$(this).hasClass('gRenergy')?'gRenergy':ajout;
		ajout=!ajout&&$(this).hasClass('gOptima')?'gOptima':ajout;
		$(this).append('<div id="'+ajout+'" />');
	});
	$('#choixSol li').click(function(){
		location.href=$('a',this).attr('href');
	});
	finishLogos();
	handleGalerie();
	handleTemoignages();
	return true;
}

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


function handleSolutionsNav(){
	$('#clients li.client:not(.current) ul').hide();
	$('#clients li.client.current ul.infos .info:not(.current) ul.details').hide();
	
	$('#clients a.client').click(function(){
		if($(this).siblings('ul').length>0){
/*			if(!$(this).hasClass('.current')){
				$(this)
					.parent('li')
						.addClass('active');
				$('#clients li.client.current ul.infos .info.current a.current')
					.removeClass('current');
				$('#clients li.client.current ul.infos .info.current')
					.removeClass('current');
	
				$('#clients li.client.current')
					.removeClass('current')
					.children('a')
						.removeClass('current')
						.end()
					.children('a.client')
						.addClass('off')
						.end()
					.children('ul.infos')
						.slideUp('fast');
	
				$(this)
					.removeClass('off')
					.addClass('current')
					.parent('li')
						.addClass('current')
						.removeClass('active')
						.children('ul.infos')
							.slideDown('slow');
				return false;
			}
			else{
*/				return true;
//			}
		}
	});
	$('#clients a.info').click(function(){
		if($(this).siblings('ul').length>0){
			if(!$(this).hasClass('.current')){
				$(this)
					.parent('li')
						.addClass('active');
				$('#clients li.client.current ul.infos .info.current a.current')
					.removeClass('current');
				$('#clients li.info.current')
					.removeClass('current')
					.children('a')
						.removeClass('current')
						.end()
					.children('a.info')
						.addClass('off')
						.end()
					.children('ul.details')
						.slideUp('fast');
				$(this)
					.removeClass('off')
					.addClass('current')
					.parent('li')
						.addClass('current')
						.removeClass('active')
						.children('ul.details')
							.slideDown('slow');
				return false;
			}
			else{
				return true;
			}
		}
		if($(this).attr('href')=='#'){
			alert('Il n\'y a pas encore de témoignage dans cette catégorie.');
			return false;
		}
	});
}

function finishLogos(){
	var dispo=$('#logos').width();
	if(dispo!=null){
		var occupe=0;
		$('#logos ul li').each(function(){
//			occupe=occupe+$(this).width();
//			occupe=occupe+parseInt($(this).css('margin-right'));
			occupe=occupe+$(this).outerWidth(true);
		});
		if(occupe<(dispo-1)){
			$('#logos ul').css({'margin-left':(Math.floor((dispo-occupe)/2))});
		}
	}
}

function handleGalerie(){
	$('.temoignage .pxBlk a').click(function(){
		var newSrc=$('img',this).attr('src');
		var newAlt=$('img',this).attr('alt');
		var newDesc=$('img',this).attr('longdesc');
		newSrc=newSrc.replace('_s','');
		$('#imgBig').hide().attr({src:newSrc,alt:newAlt,longdesc:newDesc}).fadeIn();
		return false;
	});
}

function handleTemoignages(){
	$('#lstTem li').each(function(){
		$(this)
			.append('<div class="voile" />')
			.children('.voile')
				.fadeTo('fast',0.5)
				.mouseover(function(){
					$(this).fadeTo('fast',0);
					$('#nomProjet h3').html('Projet : <strong class="'+$(this).siblings('a').attr('class')+'">'+$(this).siblings('a').children('span').html()+'</strong>');
				})
				.mouseout(function(){
					$(this).fadeTo('fast',0.5);
					$('#nomProjet h3').html('');
				}).click(function(){
//					alert($(this).siblings('a').attr('href'));
//					return false;
					location.href=$(this).siblings('a').attr('href');
				});
	});
}

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

/* Basic functions and behaviors... */
function handleBasicBehaviours(){
// popUp and target="_blank" simulator : rel="TARGET W H"
	$("a.popUp:not([rel!='']):not(.popInLnk):not(href*=yacare)").addClass('externalLnk');
	$("a.popUp").click(function(){
		var lien=$(this).attr("href");
		if($(this).attr("rel")){
			var params=$(this).attr("rel").split(' ');
			var target=params[0]!=''?params[0]:'a'+Date();
			var reg=new RegExp("( )", "g");
			var reg2=new RegExp("(:)", "g");
			target=target.replace(reg,'');
			target=target.replace(reg2,'');
			var sizing=typeof(params[1])!='undefined'&&typeof(params[2])!='undefined'?'width='+params[1]+',height='+params[2]:'';
		}
		else{
			var target='';
			var sizing='';
		}
		window.open(lien,target,sizing);
		return false;
	});
// closeBtn
	$('a.closeLnk').click(function(){
		window.close();
		return false;
	});
// Confirm alerts
	$('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;
	});
}


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


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