function init() {
	// quit if this function has already been called
	if (arguments.callee.done) return;
	
	// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
	
	// create the "page loaded" message
	if(document.getElementById("NoScript"))
		document.getElementById("NoScript").style.display = "none";
	
	try {
		document.execCommand('BackgroundImageCache', false, true);
	} catch(e) {}
};

/* for Mozilla */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
   document.write("<script defer src=/squelettes/blocs/js/ie_onload.js><"+"/script>");
/*@end @*/

function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number')
		windowHeight = window.innerHeight;
	else
		if (document.documentElement && document.documentElement.clientHeight)
			windowHeight = document.documentElement.clientHeight;
		else
			if (document.body && document.body.clientHeight)
				windowHeight = document.body.clientHeight;
	
	return windowHeight;
}
function getWindowWidth() {
	var windowWidth = 0;
	if (typeof(window.innerWidth) == 'number')
		windowWidth = window.innerWidth;
	else
		if (document.documentElement && document.documentElement.clientWidth)
			windowWidth = document.documentElement.clientWidth;
		else
			if (document.body && document.body.clientWidth)
				windowWidth = document.body.clientWidth;
	
	return windowWidth;
}
function getDocumentHeight() {
	var documentHeight = 0;
	
	if(document.getElementById('ContentMapSite'))
		var contentHeight = document.getElementById('ContentMapSite').offsetHeight + findPosY(document.getElementById('ContentMapSite'));
	else
		var contentHeight = document.getElementById('Content').offsetHeight + findPosY(document.getElementById('Content'));

	if(document.getElementById('ContentTools'))
		var ContentToolsHeight = document.getElementById('ContentTools').offsetHeight + findPosY(document.getElementById('ContentTools'));
	else
		var ContentToolsHeight = "";
	
	if(contentHeight > ContentToolsHeight)
		documentHeight = contentHeight;
	else
		documentHeight = ContentToolsHeight;
	
	return documentHeight;
}
function setFooter() { // Set Footer to bottom -> #Footer
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			if(document.getElementById('ContentMapSite'))
				var contentHeight = document.getElementById('ContentMapSite').offsetHeight + findPosY(document.getElementById('ContentMapSite'));
			else
				var contentHeight = document.getElementById('Content').offsetHeight + findPosY(document.getElementById('Content'));
				
			var footerElement = document.getElementById('Footer');
			var footerHeight  = footerElement.offsetHeight;
			
			if(document.getElementById('ContentTools'))
				var ContentToolsHeight = document.getElementById('ContentTools').offsetHeight + findPosY(document.getElementById('ContentTools'));
			else
				var ContentToolsHeight = "";
				
			if(document.getElementById('ContentTools') && document.getElementById('navLeftLogoMC'))
				ContentToolsHeight = ContentToolsHeight + document.getElementById('navLeftLogoMC').offsetHeight;
			
			if(ContentToolsHeight > contentHeight)
				contentHeight = ContentToolsHeight;
			
			if (windowHeight - (contentHeight + footerHeight) >= 0)
				footerElement.style.top = (windowHeight - footerHeight) + 'px';
			else
				footerElement.style.top = (contentHeight + 30) + 'px';
		}
		
		setTimeout("setFooter()",1000);
	}
}

function addLoadEvent(func) { // Manage Load Event
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function addResizeEvent(func) { // Manage Resize Event
    var oldonresize = window.onresize;
    if (typeof window.onresize != 'function') {
        window.onresize = func;
    } else {
        window.onresize = function() {
            oldonresize();
            func();
        }
    }
}

function hideLayersTabs(exceptme) { // Hide all tabs
	if(document.getElementById('ContainerTabs')) {
		for(var i=0; i<document.getElementById('ContainerTabs').getElementsByTagName('div').length; i++) {
			var d = document.getElementById('ContainerTabs').getElementsByTagName('div')[i];
			if((d.className.indexOf('TabContent') != -1) && (d.id != "Tab" + exceptme)){
				d.style.position = 'absolute';
				d.style.left = '-9999em';
			}
		}
	}
}

prevOnglet = 1;
oldClassName = "";
currentClusterName = "crssbmonaco";
function ShowTab(id) { // Show tab -> #NavTabx / #Tabx
	if(!id) id = 1;
	if(document.getElementById("Clusternames")){	
		if (id==1) {	// onglet Hôtels
		  currentClusterName = 'crssbmonaco';
	    }
	    if (id==2) {	// onglet sejour
		  currentClusterName = 'msp_sbmcart';
	    }
		if (id==3) {	// onglet Restaurants
		  currentClusterName = 'crssbmrestaurants';
	    }
		if (id==4) {	// onglet spectacles
		  currentClusterName = 'crssbmspectacles';
	    }
		if (id==5) {	// onglet Spa
		  currentClusterName = 'crssbmspa';
	    }
	}
	if(document.getElementById("Tab" + id)) {
		hideLayersTabs();
		
		document.getElementById("Tab" + id).style.position = 'relative';
		document.getElementById("Tab" + id).style.left = '0';
		
		currentClassName = document.getElementById("NavTab" + id).className;
		document.getElementById("NavTab" + id).className += ' on';
		
		if(prevOnglet != id)
			if(document.getElementById("NavTab" + prevOnglet) && oldClassName)
				document.getElementById("NavTab" + prevOnglet).className = oldClassName;
		
		oldClassName = currentClassName;
		
		prevOnglet = id;
		
		ResizeSelects();
	}
}


// Variable necessaire au chargement 'propre' des nouveaux blocs resa (Mai 2009)
 var hasJS = function() {
         var htmlTag = document.getElementsByTagName('html')[0];
         htmlTag.className = (htmlTag.className + ' ' || '') + 'hasJS';
 }();


function ShowText(me,divContainer,Txt) { // Insert text
	document.getElementById(divContainer).innerHTML = Txt;
	me.onmouseout = function() { document.getElementById(divContainer).innerHTML = ''; }
}

function AllEstablishments(action) { // Manage top menu "All Establishments"
	if(action == 'show') {
		
		WindowWidth = getWindowWidth();
		WindowHeight = getWindowHeight();
		Left = checkLayerMenuPosition(document.getElementById("AllEstablishments"),"offsetLeft");
		insertHtmlAfter(document.getElementsByTagName("div")[0],'<div id="overlay" onclick="javascript:AllEstablishments(\'hide\');" style="height:'+WindowHeight+'px;"></div>');
		
		if( (navigator.appName.indexOf('Opera') != -1) && !(navigator.appVersion.indexOf('9.') != -1) ) // For Opera != 9
			document.getElementById("overlay").style.background = 'none';
		
		document.getElementById("MenuEstablishments").style.display = 'block';
		// Modif pour sites aux libelles très concis : au moins garantir une marge de 100px a droite du bloc MenuEstablishments
		// NB : le div MenuEstablishments fait 600px de large 
		if(Left+300<WindowWidth-100){
			document.getElementById("MenuEstablishments").style.left = Left - 300 + 'px';
			document.getElementById("id_NavTopItem2on").style.marginLeft = 300 + 'px';
		} else {
			document.getElementById("MenuEstablishments").style.left = Left - 300 - Math.max(100,WindowWidth-Left-300)+ 'px';
			document.getElementById("id_NavTopItem2on").style.marginLeft = 300 + Math.max(100,WindowWidth-Left-300)+ 'px';
		}
	} else if(action == 'hide') {
		document.getElementById('overlay').style.display = 'none';
		document.getElementById("MenuEstablishments").style.display = 'none';
	}
}

function ResizeTopMenu() { // Resize main menu -> #Menu
	WindowWidth = getWindowWidth();
	Menus = document.getElementById('Menu').getElementsByTagName('li');
	WidthContainer = 0;
	for(i=0; i<Menus.length; i++) {
		Menus[i].style.width = Math.round((WindowWidth/6))+'px';
		WidthContainer = WidthContainer+Math.round(WindowWidth/6);
	}
	document.getElementById('MenuItems').style.width = WidthContainer + 7 + 'px';
	
	document.getElementById('Menu').style.display = 'block';
}

function ResizeSubMenu() { // Resize sub menu -> #SubMenu
	if(document.getElementById('SubMenu')) {
		Width = 825;
		SubMenus = document.getElementById('SubMenu').getElementsByTagName('li');
	} else if(document.getElementById('SubMenuContent')) {
		Width = 908;
		SubMenus = document.getElementById('SubMenuContent').getElementsByTagName('li');
	} else {
		SubMenus = "";
	}
	
	if(SubMenus) {
		WidthContainer = 0;
		for(i=0; i<SubMenus.length; i++) {
			SubMenus[i].style.width = Math.round((Width/SubMenus.length))+'px';
			WidthContainer = WidthContainer+Math.round(Width/SubMenus.length);
		}
		document.getElementById('SubMenuItems').style.width = WidthContainer + SubMenus.length + 3 + 'px';
		
		if(document.getElementById('SubMenu'))
			document.getElementById('SubMenu').style.display = 'block';
		else if(document.getElementById('SubMenuContent'))
			document.getElementById('SubMenuContent').style.display = 'block';
	}
}

var Home;
var HP;
function setNoBodyScroll() { // Control body scroll
	if(Home == true) {
		document.getElementsByTagName('html')[0].style.overflowX = "hidden";
		var windowHeight = getWindowHeight();
		var contentHeight = document.getElementById('Content').offsetHeight + document.getElementById('Content').offsetTop;
		if(contentHeight <= windowHeight)
			document.getElementsByTagName('html')[0].style.overflowY = "hidden";
		else
			document.getElementsByTagName('html')[0].style.overflowY = "scroll";
	}
}

function insertHtmlAfter(element, html) { // Insert html element
	if (document.all) {
		element.insertAdjacentHTML("afterEnd", html);
	} else {
		var r = document.createRange();
		r.setStartBefore(element);

		var parsedNode = r.createContextualFragment(html);
		var parent = element.parentNode;
		if (element.nextSibling)
			parent.insertBefore(parsedNode, element.nextSibling);
		else
			parent.appendChild(parsedNode);
	}
}

function removeHtml(element) { // Remove html element
	if (document.all)
		element.outerHTML = '';
	else
		element.parentNode.removeChild(element);
}

checkLayerMenuPosition = function( oObj, sProp ) { // Return layer position
	var iVal = 0;
	while (oObj && oObj.tagName != 'BODY') {
		eval('iVal += oObj.' + sProp + ';');
		oObj = oObj.offsetParent;
	}
	return iVal;
}

TabContentsAlpha = new Array();
TabContentsAlpha[0] = new Array("Content","ContentAlpha");
TabContentsAlpha[1] = new Array("ContentTools","ContentAlphaTools");
TabContentsAlpha[2] = new Array("ContentMapSite","ContentAlphaMapSite");

function LoadFixPosAlpha() {
	for(i=0; i<TabContentsAlpha.length; i++) {
		FixPosAlpha(TabContentsAlpha[i][0],TabContentsAlpha[i][1]);
	}
}

function FixPosAlpha(content,contentAlpha) { // Set position content alpha
	if(document.getElementById(content) && document.getElementById(contentAlpha)) {
		if(navigator.userAgent.indexOf('Opera/8') != 0) {
			Left = document.getElementById(content).offsetLeft;
			Top = document.getElementById(content).offsetTop;
			Width = document.getElementById(content).offsetWidth;
			Height = document.getElementById(content).offsetHeight;

			document.getElementById(contentAlpha).style.top = Top+'px';
			document.getElementById(contentAlpha).style.left = Left+'px';
			document.getElementById(contentAlpha).style.width = Width+'px';
			document.getElementById(contentAlpha).style.height = Height+'px';
		}
	}
	
	setTimeout("FixPosAlpha('"+content+"','"+contentAlpha+"')",1000);
}

var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

function Show(nom) {
	if(ie4) {
		var divie4 = document.getElementsByTagName("div")
		divie4[nom].style.visibility = 'visible';
	} else if(ns4) {
		document.eval(nom).visibility = 'show';
	} else if(ns6) {
		var divns6 = document.getElementsByTagName("div")
		document.getElementsByTagName("div")[nom].style.visibility = 'visible';
	}
}

function Hide(nom) {
	if(ie4) {
		var divie4 = document.getElementsByTagName("div")
		divie4[nom].style.visibility = 'hidden';
	} else if(ns4) {
		document.eval(nom).visibility = 'hidden';
	} else if(ns6) {
		var divns6 = document.getElementsByTagName("div")
		document.getElementsByTagName("div")[nom].style.visibility = 'hidden';
	}
}

function CheckResolution() {
	if(screen.width <= 800)
		alert('Une résolution de 1024 x 768 est conseillée pour consulter le site');
	
	if(document.getElementById("NoScript"))
		document.getElementById('NoScript').style.display = 'none';
}

function findPosY(obj) {
	var posTop = 0;
	while (obj.offsetParent) {
		posTop += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return posTop;
}
function findPosX(obj) {
	var posLeft = 0;
	while (obj.offsetParent) {
		posLeft += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return posLeft;
}

function Popup(url,nom_page,scrollbars,width,height) {
	window.open(url, nom_page, 'toolbar=0,location=0,directories=0,history=0,status=0,menubar=0,scrollbars='+scrollbars+',resizable=0,left=50,top=50,width='+width+',height='+height+'');
}

old = "programme1";


function formInvitation(me) {
	if(me != "") {
		input = document.getElementById('formInvitationList').getElementsByTagName('input');
		for(i=0; i<input.length; i++) {
			//document.getElementById(input[i].id).nextSibling.nextSibling.className = "";
			document.getElementById(input[i].id).nextSibling.nextSibling.style.fontWeight = "normal";
			if(me == input[i].id)
				//document.getElementById(input[i].id).nextSibling.nextSibling.className = "labelOn";
				document.getElementById(input[i].id).nextSibling.nextSibling.style.fontWeight = "bold";
		}
		document.getElementById(old + "_detail").style.display = "none";
		document.getElementById(me + "_detail").style.display = "block";
		
		old = me;
	}
}

//addLoadEvent(CheckResolution); // Check resolution
//addLoadEvent(setNoBodyScroll); // Control body scroll
//addLoadEvent(setFooter); // Set Footer to bottom -> #Footer
//addLoadEvent(ResizeTopMenu); // Resize main menu -> #Menu
//addLoadEvent(ResizeSubMenu); // Resize sub menu -> #SubMenu
//addLoadEvent(ShowTab); // Show default tab -> #NavTabx / #Tabx
//addLoadEvent(LoadFixPosAlpha); // Set position content alpha

// Pour éviter l'arrêt de l'interpreteur JS dès la première erreur rencontrée, on
// encapsule les appels aux fonctions dans des try/catch
function initialise_page(){
    try{ 
    	CheckResolution(); // Check resolution
    } catch(err){ 
		var text= document.createTextNode('<!--  Erreur js (CheckResolution)'+err+'  -->');
		document.body.appendChild(text);
		//alert('Erreur JS : '+err); 
		}
    try{ 
    setNoBodyScroll(); // Control body scroll
    } catch(err){ 
		var text= document.createTextNode('<!--  Erreur js (setNoBodyScroll)'+err+'  -->');
		document.body.appendChild(text);
		//alert('Erreur JS : '+err); 
		}
    try{ 
    setFooter(); // Set Footer to bottom -> #Footer
    } catch(err){ 
		var text= document.createTextNode('<!--  Erreur js (setFooter)'+err+'  -->');
		document.body.appendChild(text);
		//alert('Erreur JS : '+err); 
		}
    try{ 
    ResizeTopMenu(); // Resize main menu -> #Menu
    } catch(err){ 
		var text= document.createTextNode('<!--  Erreur js (ResizeTopMenu)'+err+'  -->');
		document.body.appendChild(text);
		//alert('Erreur JS : '+err); 
		}
    try{ 
    ResizeSubMenu(); // Resize sub menu -> #SubMenu
    } catch(err){ 
		var text= document.createTextNode('<!--  Erreur js (ResizeSubMenu)'+err+'  -->');
		document.body.appendChild(text);
		//alert('Erreur JS : '+err); 
		}
    try{ 
    ShowTab(); // Show default tab -> #NavTabx / #Tabx
    } catch(err){ 
		var text= document.createTextNode('<!--  Erreur js (ShowTab)'+err+'  -->');
		document.body.appendChild(text);
		//alert('Erreur JS : '+err); 
		}
    try{ 
    LoadFixPosAlpha(); // Set position content alpha
    } catch(err){ 
		var text= document.createTextNode('<!--  Erreur js (LoadFixPosAlpha)'+err+'  -->');
		document.body.appendChild(text);
		//alert('Erreur JS : '+err); 
		}
}
addLoadEvent(initialise_page);

addResizeEvent(setNoBodyScroll);
addResizeEvent(setFooter);
addResizeEvent(ResizeTopMenu);
addResizeEvent(LoadFixPosAlpha);
