/**********************************************************************************/
/******************* TOGGLE pour onglets / CHANGER pour police ********************/
/******************fonctions devant être déclenchés dès le début*******************/
/**********************************************************************************/
var $j = jQuery.noConflict();

$j(document).ready(function(){
	$j("div.expand").click(function (e) {
		if ((this.className).indexOf("tabUp") != -1) {
			$j(this).removeClass("tabUp");
			$j(this).addClass("tabDown");
		} else {
			$j(this).removeClass("tabDown");
			$j(this).addClass("tabUp");
		}
		
		var expandableBox = $j(this).next("div.expandableBox");
		expandableBox.slideToggle("slow");
		expandableBox.addClass("open");
		if (window.name != 'print')
			sIFR.replaceElement(named({sSelector: "#boxFull .open h3", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sWmode: "transparent"}));
	});
	
	/*  On ajoute la valeur display:none au style suivant seulement à l'éxécution du javascript 
		afin de permettre à ceux qui naviguent sur le site sans JavaScript d'avoir accès à tout le contenu. */
	$j(".closed").css('display', 'none');

	/*Ouverture de section fermé visée par des ancre*/
	ouvrirSection(window.location.href);
	
	/*Pour conserver le grossisement de police, on doit lancer la fonction ici dans le onload*/
	loadfontsize();
});

/**********************************************************************************/
/************************ CONTRÔLE DES POLICES RÉGULIÈRES ************************/
/**********************************************************************************/

// Test if we use cookies or not
var cookieEnabled=(navigator.cookieEnabled)? true : false
//if not IE4+ nor NS6+
if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
	document.cookie="testcookie"
	cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false
}

function smaller() {
	var fontController=document.getElementById('fontController').getAttribute('href');
	var nouveauFont;
	if (fontController.search(/fontSmall/)!=-1) {nouveauFont = 'theme/commun/fontSmall.css';}
	if (fontController.search(/fontReg/)!=-1) {nouveauFont = 'theme/commun/fontSmall.css';}
	if (fontController.search(/fontBig/)!=-1) {nouveauFont = 'theme/commun/fontReg.css';}
	if (fontController.search(/fontBigger/)!=-1) {nouveauFont = 'theme/commun/fontBig.css';}
	document.getElementById('fontController').setAttribute('href',nouveauFont);
	if (cookieEnabled) {
		document.cookie = "fontControllerCookie=" + nouveauFont + ";";
	}
}

function bigger() {
	var fontController=document.getElementById('fontController').getAttribute('href');
	var nouveauFont;
	if (fontController.search(/fontSmall/)!=-1) {nouveauFont = 'theme/commun/fontReg.css';}
	if (fontController.search(/fontReg/)!=-1) {nouveauFont = 'theme/commun/fontBig.css';}
	if (fontController.search(/fontBig/)!=-1) {nouveauFont = 'theme/commun/fontBigger.css';}
	if (fontController.search(/fontBigger/)!=-1) {nouveauFont = 'theme/commun/fontBigger.css';}
	document.getElementById('fontController').setAttribute('href',nouveauFont);
	if (cookieEnabled) {
		document.cookie = "fontControllerCookie=" + nouveauFont + ";";
	}
}

function get_cookie(pName) {
	var search = pName + "="
	var returnvalue = "";
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search)
		// if cookie exists
		if (offset != -1) {
			offset += search.length
			// set index of beginning of value
			end = document.cookie.indexOf(";", offset);
			// set index of end of cookie value
			if (end == -1) 
				end = document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset, end));
		}
	}
	return returnvalue;
}

function loadfontsize(){
	/*Retrouve le font présent dans le cookie*/
	if (cookieEnabled) {
		var ancienFont=get_cookie('fontControllerCookie');
		if (ancienFont != ""){
			document.getElementById('fontController').setAttribute('href',ancienFont);
		}
	}
}

/**********************************************************************************/
/************************ INITIALISATION DES POLICES FLASH ************************/
/**********************************************************************************/

var city=document.getElementById('city').getAttribute('href');
if (city.search(/charlevoix/)!=-1) {var cityColor="#3399cc";}
if (city.search(/montreal/)!=-1) {var cityColor="#f8981d";}
if (city.search(/leamy/)!=-1) {var cityColor="#cc2c55";} 
if (city.search(/monttremblant/)!=-1) {var cityColor="#02A285";} 

window.onload = function(e) {
	if (window.name != 'print'){
	 	if(typeof sIFR == "function"){ 
			sIFR.replaceElement(named({sSelector: "#right li.selected", sFlashSrc: "flash/commun/gothammedium.swf", sColor:cityColor, nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "li.selected", sFlashSrc: "flash/commun/dinengschrift.swf", sColor:cityColor, sLinkColor:cityColor, sHoverColor:cityColor, nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#menu li.elementMenu", sFlashSrc: "flash/commun/dinengschrift.swf", sColor: "#3399cc", sLinkColor:"#FFFFFF", sHoverColor:cityColor, nPadding:0, sWmode: "transparent"}));
			
			//ligne suivante à supprimer quand le menu de tremblant sera entièrement disponible au public
			sIFR.replaceElement(named({sSelector: "#menu li.elementMenuTemp", sFlashSrc: "flash/commun/dinengschrift.swf", sColor: "#aaaaaa", sLinkColor:"#FFFFFF", sHoverColor:cityColor, nPadding:0, sWmode: "transparent"}));

			sIFR.replaceElement(named({sSelector: "#rightMenu li.elementMenu", sFlashSrc: "flash/commun/gothammedium.swf", sColor: "#000000", sLinkColor:"#000000", sHoverColor:cityColor, nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#right li.elementMenu", sFlashSrc: "flash/commun/gothammedium.swf", sColor: "#333333", nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#content h1.inter", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#forfaitsCasino .boxHalf h2", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sLinkColor:"#333333", sHoverColor:cityColor, nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: ".boxHalf h2", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", nPadding:0, sWmode: "transparent"}));
			
	
			// La ligne suivante remplace les H3 qui sont dans le expandableBox mais pas expandedBox . Raison: Certains H3, dans forfaits peuvent avoir des images.
			resizeElements(".boxHalf", -15);	// Grosse patch pour s'assurer que le sifr fonctionne correctement avec une image flèche.
			sIFR.replaceElement(named({sSelector: ".boxHalf h3", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sLinkColor:"#333333", sHoverColor:cityColor, nPadding:0, sWmode: "transparent"}));
			replaceImageInH3(".boxHalf .expandedBox h3");
			resizeElements(".boxHalf", 15);

			sIFR.replaceElement(named({sSelector: "#boxFull h2", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#boxFull .opened h3", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#boxFull .open h3", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sWmode: "transparent"}));
			
			sIFR.replaceElement(named({sSelector: "#boxMenu li.elementMenu", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#boxMenu h2", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#707070", nPadding:0, sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#popBox #intro h1", sFlashSrc: "flash/commun/gothambook.swf", sColor: "red", sWmode: "transparent"}));
			sIFR.replaceElement(named({sSelector: "#popBox h1", sFlashSrc: "flash/commun/gothambook.swf", sColor: "red", sWmode: "transparent"}));
		}
		if (!lang) {var lang = 'fr';}
		detect(lang);
	}
}

/**********************************************************************************/
/****************************** Replace IMG in H3 tag *****************************/
/**********************************************************************************/
function replaceImageInH3(selector) {
	// Certains titres en H3 peuvent contenir des images (par exemple, forfaits).
	// Avec sifr, les images sont remplacée. Donc, on remet l'image au début du titre
	// pour que le tout s'affiche correctement.
	$j(selector).each(function(index){ 
		var content = this.innerHTML;
		if (this.getElementsByTagName("img").length > 0) {
			var currentA = this.getElementsByTagName("a")[0];
			var currentImg = this.getElementsByTagName("img")[0];

			var result = "<a href=\"" + currentA.getAttribute("href") + "\">";
			result += "<img src=\"" + currentImg.getAttribute("src") + "\" />&nbsp;";
			result += "</a>";

			var span = document.createElement("span");
			span.className = "btFleche";
			span.innerHTML = result;
			this.insertBefore(span, this.firstChild);
		}
	});
}

function resizeElements(selector, plussize) {
	$j(selector).each(function(index){
		this.width = this.offsetWidth + plussize;
		this.style.width = "" + (this.offsetWidth + plussize) + "px";
	});	
}


/**********************************************************************************/
/**************************** ROLLOVER pour les onglets ***************************/
/**********************************************************************************/
	
function overTab(ong)
{
	ong.style.backgroundColor="#f2f2f2"; 
}

function outTab(ong)
{
	ong.style.backgroundColor="#ffffff";
}

/**********************************************************************************/
/*************************** DÉTECTION DES NAVIGATEURS ****************************/
/**********************************************************************************/

function detect(lang)
{
	if (lang=='en') {var value = 'Search...';}
	else {var value = 'Chercher...';}
	
	if ((navigator.appVersion).search(/Safari/i)!=-1) {
		replaceSearchField(value);
	}
	else {
		var searchField = document.getElementById('findText');
		if (lang=='en') {var value = 'Find in Casino ' + casino;}
		else {var value = 'Chercher dans Casino ' + casino;}
		if (searchField) {searchField.setAttribute('value',value);}
	}
}

/**********************************************************************************/
/******************** FORMULAIRE DE RECHERCHE - HACK SAFARI ***********************/
/**********************************************************************************/

function replaceSearchField(value) {
  	// Replaces normal input text field with safari's neat search field
  	var searchForm = document.getElementById('find');
  	var searchField = document.getElementById('findText');
    searchForm.className = 'issafari';
    searchField.setAttribute('type', 'search');
    searchField.setAttribute('placeholder', value);
}

/**********************************************************************************/
/***************************** REFRESH POUR ACCORDÉON *****************************/
/**********************************************************************************/

function resetAll()
{
	$j("div.expand").removeClass("tabDown");
	$j("div.expand").addClass("tabUp");
	$j("div.expandableBox").slideDown("slow");
	if (window.name != 'print')
		sIFR.replaceElement(named({sSelector: "#boxFull h3", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sWmode: "transparent"}));
}

/**********************************************************************************/
/********************** FONCTION POUT FERMER TOUS LES ACCORDÉON********************/
/**********************************************************************************/

function toutFermer()
{
	$j("div.expand").removeClass("tabUp");
	$j("div.expand").addClass("tabDown");
	$j("div.expandableBox").slideUp("slow");
	if (window.name != 'print')
		sIFR.replaceElement(named({sSelector: "#boxFull h3", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sWmode: "transparent"}));
}

/**********************************************************************************/
/*********************************** IMPRESSION ***********************************/
/**********************************************************************************/

function printSetting(link)
{
	window.open(link,"print","menubar=0,resizable=0,scrollbars=1,width=775,height=600"); 	
}


/**********************************************************************************/
/*************************************POPUP****************************************/
/**********************************************************************************/

function hide(id) 
{
	document.getElementById(id).innerHTML='';
}

function loadContent(id) 
{
	$("#view").load(id);
	document.getElementById('view').style.position='absolute';
}

/**********************************************************************************/
/********** OUVERTURE DES SECTION EN FONCTION DES ANCRES  *************************/
/**********************************************************************************/
function ouvrirSection(lienClique){
	if(lienClique.indexOf("#")!=-1){
		//Ici on garde seulement l'url a partir de fr ou en et on enlève les ancres 
		//Ceci pour permettre de comparer l'url cible et celui courant.
		var liencourant = "";
		if(window.location.href.indexOf("/fr/")!=-1){
			liencourant = window.location.href.substr(window.location.href.indexOf("/fr/")+1);
		}
		if(window.location.href.indexOf("/en/")!=-1){
			liencourant = window.location.href.substr(window.location.href.indexOf("/en/")+1);
		}
		if(liencourant.indexOf("#")!=-1){
			liencourant = liencourant.substring(0,liencourant.indexOf("#"));
		}
		
		if (lienClique.indexOf("/fr/")!=-1){
			lienClique = lienClique.substr(lienClique.indexOf("/fr/")+1);
		}
		if (lienClique.indexOf("/en/")!=-1){
			lienClique = lienClique.substr(lienClique.indexOf("/en/")+1);
		}
		
		// On exécute l'ouverture de section seulement si on est dans la page visé (sinon les objet a ouvrir seront inexistant!)
		if(liencourant == lienClique.substring(0,lienClique.indexOf("#"))){
			var cibleAncre = document.getElementById(lienClique.substr(lienClique.indexOf("#")+1));
			var divTapDown = cibleAncre.nextSibling;
			/*patch pour les nodetext vide de firefox*/
			if(divTapDown.nodeType != 1){divTapDown = divTapDown.nextSibling}
			
			if ((divTapDown.className).indexOf("tabDown") == -1) {
				/* patch: si le lien n'est pas un tabDown, remonter d'un niveau pour voir si son parent en est un... */
				var divTapDownTemp = divTapDown.parentNode.previousElementSibling;
				if (divTapDownTemp == null) {
					divTapDownTemp = divTapDown.parentNode.previousSibling;
				}
				
				divTapDown = divTapDownTemp;
				if(divTapDown.nodeType != 1){divTapDown = divTapDown.nextSibling;}
			}
			if ((divTapDown.className).indexOf("tabDown") > -1) {
				$j(divTapDown).removeClass("tabDown");
				$j(divTapDown).addClass("tabUp");
				var divAncre = $j(divTapDown).next("div.expandableBox");
				divAncre.slideDown("slow");
				divAncre.addClass("open");
				sIFR.replaceElement(named({sSelector: "#boxFull .open h3", sFlashSrc: "flash/commun/gothambook.swf", sColor: "#333333", sWmode: "transparent"}));
			}
		}	
	}
}



function getWindowHeight() {
	var windowHeight = 0;
	if (self.innerHeight) {// all except Explorer
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowHeight = document.body.clientHeight;
	}
	return windowHeight;
}


/**********************************************************************************/
/****************************** Code pour les GreyBox *****************************/
/**********************************************************************************/

function openGrayBox(grayBoxContentId, boxHeight, boxWidth){
	var positionTop = f_scrollTop()+ (f_clientHeight() - boxHeight)/2;
	var positionLeft = f_scrollLeft()+ (f_clientWidth() - boxWidth)/2;

	// Pour que le popup apparaissent à l'écran		
	if (positionTop <= f_scrollTop() ) { positionTop = f_scrollTop() + 10; }
	//if (positionLeft <= f_scrollLeft()) { positionLeft = f_scrollLeft() + 10; }

	document.getElementById(grayBoxContentId).style.top = (positionTop)+"px";
	document.getElementById(grayBoxContentId).style.left = (positionLeft)+"px";
	document.getElementById("greyBox").style.display="block";
	document.getElementById(grayBoxContentId).style.display="block";
}

function fermerGrayBox(grayBoxId){
	fermerGrayBox(grayBoxId, "flashContent");
}

function fermerGrayBox(grayBoxId, grayBoxContentId){
	var elem = document.getElementById(grayBoxContentId);
	if (elem) {
		elem.innerHTML = "";
	}

	document.getElementById("greyBox").style.display="none";
	document.getElementById(grayBoxId).style.display="none";
}


/**
	Generer le code pour un player noir pour les flashs.
	paramètres:
	- objId: Id du DIV qui recevra le contenu (innerHTML)
	- playerId: Id de l'objet généré
	- movie: Nom (et répertoires) du fichier flash à afficher
	- height: Hauteur du flash
	- width: Largeur du flash
	- bgcolor: Couleur de fond pour le flash 
 */
function generateBlackPlayer(objId, playerId, movie, height, width, bgcolor) {
	var result = "";
	var param = "";
	
	param = param + '    <param name="movie" value="' + movie + '" />';
	param = param + '    <param name="quality" value="high" />';
	param = param + '    <param name="bgcolor" value="' + bgcolor + '" />';
	param = param + '    <param name="play" value="true" />';
	param = param + '    <param name="autoplay" value="true">';
	param = param + '    <param name="loop" value="true" />';
	param = param + '    <param name="wmode" value="window" />';
	param = param + '    <param name="scale" value="showall" />';
	param = param + '    <param name="menu" value="true" />';
	param = param + '    <param name="devicefont" value="false" />';
	param = param + '    <param name="salign" value="" />';
	param = param + '    <param name="allowScriptAccess" value="sameDomain" />';

	result = result + '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="' + width + '" height="' + height + '" id="' + playerId + '" align="middle">';
	result = result + param;
	result = result + '    <!--[if !IE]>-->';
	result = result + '    <object type="application/x-shockwave-flash" data="' + movie + '" width="' + width + '" height="' + height + '">';
	result = result + param;
	result = result + '        <!--<![endif]-->';
	result = result + '        <a href="http://www.adobe.com/go/getflash">';
	result = result + '        		<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir Adobe Flash Player" />';
	result = result + '        </a>';
	result = result + '        <!--[if !IE]>-->';
	result = result + '        	</object>';
	result = result + '        <!--<![endif]-->';
	result = result + '    </object>';

	document.getElementById(objId).innerHTML = result;
}

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

