/************/
/* BANDEAUX */
/************/

/* Paramètres */
var timerBandeau = null;
var bandeau_aff_index = null;
var lstBandeaux = new Array();
var nb_bandeau_aff = 4; // 0-4 (5 images possibles)
var tempsBandeau = 4; // nb de secondes avant de passer à la prochaine image
var en_defilement = true; // Indique si les bandeaux défilent

function cacherBandeaux() // On cache tous les bandeaux au chargement de la page (opacity = 0)
{
	for (var i=0; i<nb_bandeau_aff; i++)
	{
		$("#GalerieBandeau" + i).css({
				opacity: 0, 
				display: 'block'
		});
	}
}

function ChangerBandeau(p_precedent)
{
	// Reset le timer
	clearTimeout(timerBandeau);
	
	var currIndex = bandeau_aff_index;
	
	if (!p_precedent) // Si on veut le suivant
	{
		if (nb_bandeau_aff-1 > bandeau_aff_index)
			bandeau_aff_index++;
		else
			bandeau_aff_index = 0;
	}
	else // On veut le précédent
	{
		if (bandeau_aff_index > 0)
			bandeau_aff_index--;
		else
			bandeau_aff_index = nb_bandeau_aff-1;
	}
	
	if (en_defilement)
		timerBandeau = setTimeout("ChangerBandeau()",tempsBandeau * 1000);
	
	$("#GalerieBandeau" + lstBandeaux[currIndex]).animate({opacity:'0'}, 400);
	$("#GalerieBandeau" + lstBandeaux[bandeau_aff_index]).animate({opacity:'1'}, 400);
}

function BandeauPrecedent()
{
	// Change le bandeau
	ChangerBandeau(true);
	return false;
}
function BandeauPause()
{
	// Stop le timer
	clearTimeout(timerBandeau);
	
	en_defilement = false;
	
	$("#BandeauAccueilPause").css('visibility','hidden');
	$("#BandeauAccueilPlay").css('visibility','visible');
	return false;
}
function BandeauPlay()
{
	en_defilement = true;
	
	$("#BandeauAccueilPlay").css('visibility','hidden');
	$("#BandeauAccueilPause").css('visibility','visible');
	
	// Change le bandeau au suivant
	ChangerBandeau(false);
	return false;
}
function BandeauSuivant()
{
	// Change le bandeau
	ChangerBandeau(false);
	return false;
}



// Page Load
$(document).ready(function() {
	fenetreModale();
	
	
	/************/
	/* BANDEAUX */
	/************/
	cacherBandeaux();
	
	$('#BandeauAccueilPrec').bind('click', BandeauPrecedent);
	//$('#BandeauAccueilPrec').addEvent('keypress', BandeauPrecedent);
	$('#BandeauAccueilPause').bind('click', BandeauPause);
	//$('#BandeauAccueilPause').addEvent('keypress', BandeauPause);
	$('#BandeauAccueilPlay').bind('click', BandeauPlay);
	//$('#BandeauAccueilPlay').addEvent('keypress', BandeauPlay);
	$('#BandeauAccueilSuiv').bind('click', BandeauSuivant);
	//$('#BandeauAccueilSuiv').addEvent('keypress', BandeauSuivant);
	
	var finished = false;
	var nb_tires = 0;
	var sortie = false;
	var i = 0;
	while (!finished)
	{
		// Premier Bandeau forcé (Spécial, #4)
	//	if (nb_tires == 0)
	//		bandeau_aff_index = 4;
	//	else
	//	{
			// Bandeau dispo aléatoire
			bandeau_aff_index = Math.floor(Math.random() * nb_bandeau_aff);
	//	}
		
		/*// Bandeau dispo aléatoire
		bandeau_aff_index = Math.floor(Math.random() * nb_bandeau_aff);
*/
		// On vérifie qu'il n'a pas été tiré dans la liste crée
		sortie = false
		for (i=0; i<nb_tires; i++)
		{
			if (lstBandeaux[i] == bandeau_aff_index)
				sortie = true;
		}
		
		if (!sortie)
		{
			if (nb_tires == 0 && bandeau_aff_index == 0) // On ne veut pas le bandeau SAEM en premier (#0)
			{ }
			else
			{
				// OK on l'ajoute
				lstBandeaux[nb_tires] = bandeau_aff_index;
				nb_tires++;
				
				// Si terminé
				if (nb_tires == nb_bandeau_aff)
					finished = true;
			}
		}
	}
	
	// Debug
	/*for (i=0; i<nb_bandeau_aff; i++)
	{
		alert(lstBandeaux[i]);
	}*/
	bandeau_aff_index = 0; // Premier de la liste par défaut
	$("#GalerieBandeau" + lstBandeaux[bandeau_aff_index]).css('opacity', '1');
	
	if (en_defilement)
		timerBandeau = setTimeout("ChangerBandeau()",tempsBandeau * 1000);
	//clearTimeout(timerBandeau); // debug
	
	
	
	// Détection du problème de chargement du fichier styles.css
	// On vérifie un style défini dans le fichier normalement chargé.
	if ($('#Page').css('position') != 'relative')
	{
		//alert("Styles pas chargés");
		if ($('#linkStyles').length>0)
		{
			$('#linkStyles').attr("href", "/siteweb/css/vide.css");
			$('#linkStyles').attr("href", "/siteweb/css/styles.css");
		}
	}


	// Si on veut afficher le guide automatiquement
	if (getUrlParam('p') == 'guide')
		$("a.btCommandez").trigger('click');
	
	
	// Stats des liens externes et downloads pour Google Analytics
	var filetypes = /\.(zip|gzip|sit|rar|tgz|gz|exe|pdf|doc*|xls*|ppt*|eps|psd|mp3|gif|tif|jpg|jpeg|png|wma|wmv|avi|mov|mp4|m4v)$/i;
 	
	$('a').each(function(){
		var href = $(this).attr('href')+"";

		if ((href.match(/^https?\:/i)) && (!href.match(document.domain)) && (!href.match("teluq.ca"))){
			$(this).live('click', function() {
				var extLink = href.replace(/^https?\:\/\//i, '');
				_gaq.push(['_trackEvent', 'Externe', 'Click', extLink]);
				//alert("Externe : " + extLink); return false;
			});
		}
		else if (href.match(/^mailto\:/i)){
			$(this).live('click', function() {
				var mailLink = href.replace(/^mailto\:/i, '');
				_gaq.push(['_trackEvent', 'Courriel', 'Click', mailLink]);
				//alert("Email : " + mailLink); return false;
			});
		}
		else if (href.match(filetypes)){
			$(this).live('click', function() {
				var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
				var filePath = href.replace(/^https?\:\/\/(www.)teluq\.ca\//i, '');
				_gaq.push(['_trackEvent', 'Téléchargement', 'Click .' + extension, filePath]);
				//alert("Download : " + filePath); return false;
			});
		}
	});

});




/*****************************************************************************************/
/* Pour les fenêtres modales                                                             */
/* http://web.enavu.com/tutorials/how-to-make-a-completely-reusable-jquery-modal-window/ */
/*****************************************************************************************/
var fenetreModaleOuverte = false;
function fenetreModale()
{
	// On crée le overlay réutilisable
	$('body').append('<div id="mask" class="close_modal"></div>');
	
	center_modal();
	
	$(window).resize(function(){
		center_modal();
	});
	
	$('.activate_modal').click(function(){
		//get the id of the modal window stored in the name of the activating element
		var modal_id = $(this).attr('name');
		
		//use the function to show it
		show_modal(modal_id);
		return false;
	});
	
	$('.close_modal').click(function(){
		//use the function to close it
		close_modal();
		return false;
	});
}

function center_modal(){
	// On centre la boite modale et on resize l'overlay
	// seulement si c'est ouvert (optimisation des ressources)
	if (fenetreModaleOuverte)
	{
		//get the height and width of the page
		var window_width = $(window).width();
		var window_height = $(window).height();
		var scroll_top = $(window).scrollTop();
		var page_height = $(document).height();
		
		//vertical and horizontal centering of modal window(s)
		/*we will use each function so if we have more then 1
		modal window we center them all*/
		$('.modal_window').each(function(){
			//get the height and width of the modal
			var modal_height = $(this).outerHeight();
			var modal_width = $(this).outerWidth();
			
			//calculate top and left offset needed for centering
			var top = (window_height-modal_height)/2;
			var left = (window_width-modal_width)/2;
			
			//apply new top and left css values
			$(this).css({'top' : top+scroll_top , 'left' : left});
		});
		
		$("#mask").css({'width' : window_width , 'height' : page_height});
	}
}  

function close_modal(){
	fenetreModaleOuverte = false;
	
    //hide the mask
    $('#mask').fadeOut(500);
	
    //hide modal window(s)
    $('.modal_window').fadeOut(500);
}  
function show_modal(modal_id){
	fenetreModaleOuverte = true;
	
	center_modal();
	
	//set display to block and opacity to 0 so we can use fadeTo
	$('#mask').css({ 'display' : 'block', opacity : 0});
	
	//fade in the mask to opacity 0.65
	$('#mask').fadeTo(500,0.65);
	
	//show the modal window
	$('#'+modal_id).fadeIn(500);
}  


/**********************************************/
/* Pour le mini formulaire du bon de commande */
/**********************************************/

// Fonction de validation du formulaire de bon de commande
function valider()
{
	var valide = true;
	var msg_erreur = "";
	
	// On enlève les espaces au début et à la fin sur les champs à valider : trim()
	document.com_doc.Nom.value = trim(document.com_doc.Nom.value);
	document.com_doc.Prenom.value = trim(document.com_doc.Prenom.value);
	document.com_doc.Code_postal.value = trim(document.com_doc.Code_postal.value);
	document.com_doc.Courriel.value = trim(document.com_doc.Courriel.value);
	
	
	if ( document.getElementById('Madame').checked == false && document.getElementById('Monsieur').checked == false )
	{
		msg_erreur = "Veuillez indiquer votre titre de civilité (Madame ou Monsieur).";
	}
	else if ( document.com_doc.Nom.value == "" ||
		 document.com_doc.Prenom.value == "" || 
		 document.com_doc.Courriel.value == "" ||
		 document.com_doc.Code_postal.value == "" )
	{
		msg_erreur = "Veuillez remplir tous les champs.";
	}
	else if ( document.com_doc.Courriel.value != "" && !valider_courriel(document.com_doc.Courriel.value) )
	{
		msg_erreur = "Veuillez entrer une adresse électronique valide.";
	}
	
	
	// Affichage de l'erreur
	if (msg_erreur != "")
	{
		alert(msg_erreur);
		valide = false;
	}
	
	return valide;
}

// Enlève les espaces au début et à la fin du texte
function trim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


// DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
function valider_courriel(str)
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false
	 }

	 return true					
}
