/* Javascript - Virgin Presse */

/***** Sommaire *****/
// 00 - Variables
// 01 - Utiles
// 02 - rollOver
// 03 - Popup
// 04 - isFrance (Inscription - Adresse)
// 10 - Menu volet
// 15 - Sous Menu User
// 20 - Layer Essentiel
// 25 - Cover panier
// 30 - Marquee
// 35 - Layer bonus
// 40 - Ecriture des flashs
// 45 - Mail to friend
// 50 - Liens externes SWF
// 55 - Layer TG
// 60 - Onglet How
// 70 - Images covers
// 80 - Slider
// 99 - onLoad
/*******************/

/***** 00 - Variables *****/
disableDocumentDomainSet = true;
var actURL = document.location.href;
var timeLayer;
var timeSMenu;
var isOpera = (navigator.userAgent.indexOf('Opera') == 55 || navigator.userAgent.indexOf('Opera') == 36 || navigator.userAgent.indexOf('Opera') == 0)? true : false ;

/***** 01 - Utiles *****/
function getObj(name){
  if(document.getElementById){
  	this.obj = _(name);
	this.style = _(name).style;
  }
  else if (document.all){
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
}

function getAbsoluteLeft(objectId){
	var x = (new getObj(objectId)).obj;
	xLeft = x.offsetLeft;
	while(x.offsetParent!=null){
		xParent = x.offsetParent;
		xLeft += xParent.offsetLeft;
		x = xParent;
	}
	return xLeft;
}

function getAbsoluteTop(objectId){
	var x = (new getObj(objectId)).obj;
	xTop = x.offsetTop;
	while(x.offsetParent!=null) {
		xParent = x.offsetParent;
		xTop += xParent.offsetTop;
		x = xParent;
	}
	return xTop;
}

function getWidth(objectId){
	return (new getObj(objectId)).obj.offsetWidth;
}

function getHeight(objectId){
	return (new getObj(objectId)).obj.offsetHeight;
}

/***** 02 - rollOver *****/
var rollPart = 'ro-';
var onAdd = '-on';
function swapImage(monImg){
	//Evenement onmouse out, pour empecher l'inversion si survol au chargement
	if(!monImg.onmouseout && monImg.src.indexOf(rollPart) != -1){
		monImg.onmouseout = function(){ swapImage(monImg); }
	}
	//Extension
	imgExt = monImg.src.substring(monImg.src.lastIndexOf('.'));
	//Dossier+Nom
	imgNom = monImg.src.substring(0,monImg.src.lastIndexOf('.'));
	//Images On / Off
	imgOn = imgNom+onAdd+imgExt;
	if(imgNom.indexOf(onAdd) != -1){
		imgNom = imgNom.substring(0,imgNom.length-onAdd.length);
	}
	imgOff = imgNom+imgExt;
	//Si etat On > RollOff
	if(monImg.src.indexOf(onAdd) != -1){
		monImg.src = imgOff;
	} else { // Sinon RollOn
		monImg.src = imgOn;
	}
}

/***** 03 - Popup *****/
function popThis(url,nom,w,h,o){
	if(url.charAt(0) == '/'){
		url = BaseUrl+url;
	}
    thisPop = window.open(url,nom,'width='+w+',height='+h+','+o);
    thisPop.focus();
}
/***** 03 - Popup - Ajout HDS au 28/06/2006 *****/
function popRefreshOpener(){
    window.opener.location.href=window.opener.location.href;
}
function popRefreshOpenerToHref(href){
    window.opener.location.href=href;
}


/***** 04 - isFrance *****/
function isFrance(val){
    for(i=0; i<3; i++){
        if(val == 'FR'){
            _('tdFR'+i).style.display = '';
        } else {
            _('tdFR'+i).style.display = 'none';
        }
    }
}

/***** 10 - Menu volet *****/
function SH_sublist(id){
	//Affiche ou masque le sous menu
	if(new getObj('parent'+id).obj.className.indexOf('show') != -1){
		swapImage(new getObj('parent'+id).obj.getElementsByTagName('img')[0]);
		new getObj('parent'+id).obj.className = new getObj('parent'+id).obj.className.substring(0,new getObj('parent'+id).obj.className.length - 5);
	} else {
		swapImage(new getObj('parent'+id).obj.getElementsByTagName('img')[0]);
		new getObj('parent'+id).obj.className += ' show';
	}
}

/***** 15 - Sous menu user *****/
var lastSMenu = '';
function S_SMenu(id){
	if(lastSMenu != ''){
		H_SMenu(lastSMenu);
	}
	// Affichage
	_(id).style.visibility = 'visible';
	rescueFrame(id,14);
	lastSMenu = id;
}

function H_SMenu(id){
	// Masquage
	_(id).style.visibility = 'hidden';
	endRescueFrame();
	lastSMenu = '';
}

var progressInterval;
var displaySpeed = 15;
function progressiveMenu(){
    var maskHeight = _('smenBasket').offsetHeight;
    var basketHeight = _('detailBasket').offsetHeight;
    if((maskHeight+displaySpeed) < basketHeight){
        _('smenBasket').style.height = (maskHeight+displaySpeed)+'px';
        _('detailBasket').style.top = ((maskHeight+displaySpeed)-basketHeight)+'px';
        rescueFrame('smenBasket',14);
    } else {
        _('smenBasket').style.height = (_('detailBasket').offsetHeight+8)+'px';
        _('detailBasket').style.top = '0px';
        rescueFrame('smenBasket',14);
        clearInterval(progressInterval);
        timeSMenu = setTimeout('H_SMenu("smenBasket");',4000);
        lastSMenu = 'smenBasket';
    }
}

function progressiveMenuEfi() {
    var maskHeight = _('smenBasketError').offsetHeight;
    var basketHeight = _('detailBasketError').offsetHeight;
    if ((maskHeight + displaySpeed) < basketHeight) {
        _('smenBasketError').style.height = (maskHeight + displaySpeed) + 'px';
        _('detailBasketError').style.top = ((maskHeight + displaySpeed) - basketHeight) + 'px';
        rescueFrame('smenBasketError', 14);
    } else {
        _('smenBasketError').style.height = (_('detailBasketError').offsetHeight + 8) + 'px';
        _('detailBasketError').style.top = '0px';
        rescueFrame('smenBasketError', 14);
        clearInterval(progressInterval);
        timeSMenu = setTimeout('H_SMenu("smenBasketError");', 4000);
        lastSMenu = 'smenBasketError';
    }
}

/***** 20 - Layer essentiel *****/
var isEssent = false;
function S_essentiel(posx, posy, produit, type) {
	if (posx < 245) {
		posx = 245;
	}
	clearTimeout(timeLayer);
	frameES = _('essent');
	if(!frameES.onmouseout){
		frameES.onmouseout = function(){ timeLayer = setTimeout('H_essentiel();',500); }
		frameES.onmouseover = function(){ clearTimeout(timeLayer); }
	}
	//Décalage
	posx -= 245;
	//Placement
	frameES.style.left = posx+'px';
	if(_('giftZone')){
	    frameES.style.left = (posx+85)+'px';
	}
	frameES.style.top = posy+'px';
	
	// Chargement de la page
	isEssent = true;
	if (type == undefined) {
		if (_('freeMagZone')) {
			window.essent.location = BaseUrl + '/Includes/Modules/Essential/free.aspx?Issue_Id=' + produit;
		} else if (_('giftZone')) {
			window.essent.location = BaseUrl + '/Includes/Modules/Essential/essentialGift.aspx?Publication_Id=' + produit;
		} else if (_('books')) {
			window.essent.location = BaseUrl + '/Includes/Modules/Essential/essential.aspx?Book_Id=' + produit;
		} else {
			window.essent.location = BaseUrl + '/Includes/Modules/Essential/essential.aspx?Issue_Id=' + produit;
		}
	} else {
		switch (type) {
			case 3:
				window.essent.location = BaseUrl + '/Includes/Modules/Essential/essential.aspx?Book_Id=' + produit;
				break;
            case 2:
            case -1:
            default:
				window.essent.location = BaseUrl + '/Includes/Modules/Essential/essential.aspx?Issue_Id=' + produit;
				break;
		}
	}

	//affichage
	frameES.style.visibility = 'visible';
}

var backEssent = false;
function H_essentiel(){
	frameES = _('essent');
	//affichage
	frameES.style.visibility = 'hidden';
	isEssent = false;
	if(!isCoverflow){
		window.history.back(-1);
	} else {
		backEssent = true;
	}
}
function H_Free(){
	frameES = _('essent');
	//affichage
	frameES.style.visibility = 'hidden';
	isEssent = false;
}

/***** 25 - Cover panier *****/
var lastCover = '';
function S_cover(id){
	if(lastCover != ''){
		H_cover(lastCover);
	}
	_(id+'cover').style.display = 'block';
	lastCover = id;
}
function H_cover(id){
	_(id+'cover').style.display = 'none';
	lastCover = '';
}

/***** 30 - Marquee *****/
var timeMarquee;
function texteDefil(){
	
	var txtDefil = _('marqueeMSG');
	var txtPos = txtDefil.style.left.replace('px','');
	var txtTaille = txtDefil.offsetWidth;
	var masqueTaille = _('botMSG').offsetWidth;
	
	if(txtTaille+10 < Math.abs(txtPos)){
		txtPos = masqueTaille;
	} else {
		txtPos -= 2;
	}
	txtDefil.style.left=txtPos+"px";
}

/***** 35 - Layer bonus ******/
var bonusTime;
function S_bonus(){
	_('bonusList').style.visibility = 'visible';
}

function H_bonus(){
	_('bonusList').style.visibility = 'hidden';
}

/***** 40 - Ecriture des flashs *****/
function writeFlash(url,id,w,h,o,target){
	var tempFlashContent = '';
	var flashOptionsTab = new Array();
	flashOptionsTab = o.split('|');
	tempFlashContent += '<object id="'+id+'" type="application/x-shockwave-flash" data="'+url+'" width="'+w+'" height="'+h+'">\n';
	tempFlashContent += '\t<param name="movie" value="'+url+'" />\n';
	for(i=0; i<flashOptionsTab.length; i++){
		var tempParam = flashOptionsTab[i].split('#')[0];
		var tempValue = flashOptionsTab[i].split('#')[1];
		tempFlashContent += '\t<param name="'+tempParam+'" value="'+tempValue+'" />\n';
	}
	tempFlashContent += '</object>\n';
	if (!target) {
		document.write(tempFlashContent);
	}
	else {
		return tempFlashContent;
	}
}

/* Fonction ajouté le 28/09/06 pour affichage banniere */
//Write flash for no validation behaviour   
function writeFlashRunContent(chem,w,h,opt)
{
	if (opt) opt = "?"+opt;
	else opt = "";
	
	var ch = '';
    
    ch+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+w+'" height="'+h+'" align="middle" VIEWASTEXT>';
	ch+='<param name="allowScriptAccess" value="sameDomain" />';
	ch+='<param name="movie" value="'+chem+opt+'" />';
	ch+='<param name="quality" value="high" />';
	ch+='<param name="wmode" value="transparent" />';
	ch+='<embed src="'+chem+opt+'" quality="high" wmode="transparent" width="'+w+'" height="'+h+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />';
	ch+='</object>';
    document.write(ch);
}

/***** 45 - Mail to friend *****/
function mailToFrien(textmail){
	textmail = (textmail.charAt(0) == ' ')? textmail.substr(1) : textmail;
	window.location = 'mailto:?'+textmail+window.location.href;
}

/***** 50 - Liens externes SWF *****/

/*OLD
function flSwfLink(){
	window.location = BaseUrl+'/Publications/Editorial/CommentCaMarche.aspx';
}
function adlSwfLink(){
	window.location = BaseUrl+'/Publications/Editorial/CommentCaMarche.aspx';
}
function homeLauchDemo(){
	popThis('/Publications/Editorial/tryout.aspx','Tryout',800,600);
}

function homeGoToTryout(){
	window.location = BaseUrl+'/Client/Inscription/Confirmation.aspx';
}
*/

/***** 55 - Layer TG *****/
var addTabs = new Array();
function addLayered(title,type,src,opt1,opt2){
    this.title = title;
    this.type = type;
    this.src = src;
    if(type == 'img'){
        var tempImg = new Image();
        tempImg.src = src;
    }
    this.opt1 = opt1;
    this.opt2 = opt2;
    addTabs[addTabs.length] = this;
}

var addTimer;
function layeredAdd(title,type,src,opt1,opt2){
    clearInterval(addTimer);
    if(!_('layeredAdd')){
        var newLayereredAdd = document.createElement('div');
        newLayereredAdd.setAttribute('id','layeredAdd');
        document.body.appendChild(newLayereredAdd);
        var elem =  _('layeredAdd');
        elem.style.position = 'absolute';
        elem.style.height = '0';
        elem.style.overflow = 'hidden';
        elem.style.bottom = '0';
    }
    var elem =  _('layeredAdd');
    elem.style.left = '50%';
    var tgCh = '<div class="boxSilver" id="layeredTg"><div class="head"><div class="rd" id="layeredTG"><h6>'+title+'</h6><a class="closer" href="javascript:hideAdd();"></a></div></div><div class="sid"><div class="side">\n';
    switch(type){
        case 'img':
            tgCh += '<a href="'+opt1+'" target="'+opt2+'"><img src="'+src+'" alt="'+title+'" /></a>\n';
        break;
        case 'swf':
	        tgCh += '<object id="'+title+'" type="application/x-shockwave-flash" data="'+src+'" width="'+opt1+'" height="'+opt2+'">\n';
	        tgCh += '\t<param name="movie" value="'+src+'" />\n';
		    tgCh += '\t<param name="wmode" value="transparent" />\n';
	        tgCh += '</object>\n';
        break;
    }
    tgCh += '</div></div><div class="bot"><div class="rd"></div></div></div>\n';
    elem.innerHTML = tgCh;
	if(type == "swf"){
		elem.style.width = (opt1+22)+'px';
		addTimer = setInterval('showAdd();',25);
    } else {
		elem.getElementsByTagName('img')[0].onload = function(){ launchAdd(elem,elem.getElementsByTagName('img')[0].offsetWidth); };
    }
}
function launchAdd(obj,width){
	obj.style.width = (width+22)+'px';
	addTimer = setInterval('showAdd();',25);
}

var addSpeed = 15;
function showAdd(){
    var maskHeight = _('layeredAdd').offsetHeight;
    var addHeight = _('layeredTg').offsetHeight;
    var tempAdd = (maskHeight+addSpeed < addHeight)? addSpeed : addHeight-maskHeight;
    if(maskHeight < addHeight){
        _('layeredAdd').style.height = (maskHeight+tempAdd)+'px';
    } else {
        _('layeredAdd').style.height = addHeight+'px';
        clearInterval(addTimer);
    }
}
function hideAdd(){
    _('layeredAdd').style.visibility = 'hidden';
}

function fieldCleaner(elem){
   var message = elem.parentNode.getElementsByTagName('input')[0].value;
   if(elem.value == message){
    elem.value = '';
   }
}

/***** 60 - Onglet How *****/
var oldHowZone = -1;
function showHowZone(id){
	if(oldHowZone != -1){
		_(oldHowZone).className = '';
		_(oldHowZone+'Cont').style.display = 'none';
		oldHowZone = -1;
	}
	_(id).className = 'on';
	_(id+'Cont').style.display = 'block';
	oldHowZone = id;
}

var oldHowLine = -1;
function showHowLine(elem){
	if(oldHowLine != -1){
		oldHowLine.className = '';
		oldHowLine = -1;
	}
	elem.className = 'on';
	oldHowLine = elem;
}

/***** 70 - Images covers *****/
currentCover = 0;
var isCoverflow = false;
function changeCovers(li){
	var index = parseFloat(li.substr(11));
	_("coverFlowUl","li",currentCover).className = "";
	_("coverFlowUl","li",index).className = "on";
	var newSrc = _(li,"img",0).src.replace("/ThumbSmall","/Bigs");
	_("coverFlowImg").src = newSrc;
	currentCover = index;
}

function S_coverFlow(produit){
	frameCF = _('coverFlowFrame');
	window.coverFlowFrame.location = BaseUrl+'/Publications/Sommaire.aspx?Issue_Id='+produit;
	frameCF.style.visibility = 'visible';
	if(!_('coverFlowOuter')){
		var outerObj = document.createElement('div');
		var outerElement = document.body.appendChild(outerObj);
		outerElement.id = 'coverFlowOuter';
		outerElement.onclick = H_coverFlow;
	}
	isCoverflow = true;
}
function S_coverFlowBook(produit) {
    frameCF = _('coverFlowFrame');
    window.coverFlowFrame.location = BaseUrl + '/Livres/Sommaire.aspx?Book_Id=' + produit;
    frameCF.style.visibility = 'visible';
    if (!_('coverFlowOuter')) {
        var outerObj = document.createElement('div');
        var outerElement = document.body.appendChild(outerObj);
        outerElement.id = 'coverFlowOuter';
        outerElement.onclick = H_coverFlow;
    }
    isCoverflow = true;
}
function H_coverFlow(){
	frameCF = _('coverFlowFrame');
	//affichage
	frameCF.style.visibility = 'hidden';
	isEssent = false;
	window.history.back(-1);
	if(_('coverFlowOuter')){
		_('coverFlowOuter').parentNode.removeChild(_('coverFlowOuter'));
	}
	isCoverflow = false;
}

// 80 - Slider
function slBuilder(o){
	var li = _("slider","li",-1);
	if(li.length > 4){
		piS("add",o,"slideIt");
		var ul = _("slider","ul",0);
		o.ul = ul;
		ul.style.width = (li[0].offsetWidth*li.length)+"px";
		// Add tools
		o.p = document.createElement("div");
		o.p.className = "slideP";
		o.parentNode.insertBefore(o.p,o);
		o.p.o = o;
		o.n = document.createElement("div");
		o.n.className = "slideN";
		o.parentNode.insertBefore(o.n,o);
		o.n.o = o;

		// Events
		o.p.onmouseover = function(){ slLeft(this); };
		o.n.onmouseover = function(){ slRight(this); };
		o.p.onmouseout = o.n.onmouseout = function(){ clearTimeout(slTimer); };
	}

}
var slSpeed = 10;
var slActive = null;
var slTimer;
function slLeft(b){
	slActive = (b)? b : slActive;
	var n = slActive.o.ul.offsetLeft+slSpeed;
	if(n < 0){
		slActive.o.ul.style.left = n+"px";
		slTimer = setTimeout("slLeft();",40);
	} else {
		slActive.o.ul.style.left = "0";
		clearTimeout(slTimer);
	}
}
function slRight(b){
	slActive = (b)? b : slActive;
	var n = slActive.o.ul.offsetLeft-slSpeed;
	var m = -1*(slActive.o.ul.offsetWidth-slActive.o.offsetWidth);
	if(n > m){
		slActive.o.ul.style.left = n+"px";
		slTimer = setTimeout("slRight();",40);
	} else {
		slActive.o.ul.style.left = m+"px";
		clearTimeout(slTimer);
	}
}

function setVarFlashUne() {
	flashObjUne = _('flashObjUne');
	flashObjUne.SetVariable("flashTopPos", _C("y", flashObjUne));
	flashObjUne.SetVariable("flashLeftPos", _C("x", flashObjUne));
}

/***** 99 - onLoad *****/
window.onload = function() {
    if (_('searchZone')) {
        _('searchZone').getElementsByTagName('input')[1].onfocus = function() { fieldCleaner(this); }
    }
    if (_('newsZone')) {
        _('newsZone').getElementsByTagName('input')[1].onfocus = function() { fieldCleaner(this); }
    }

    //Tri des div
    var divTable = new Array();
    var layerTable = new Array();
    var coverTab = new Array();
    divTable = document.getElementsByTagName('div');
    for (i = 0; i < divTable.length; i++) {
        // 20 - Layer essentiel 
        if (divTable[i].className == 'addLayer' || divTable[i].className == 'caller') {
            layerTable[layerTable.length] = divTable[i];
        }
        // 25 - Cover panier
        if (divTable[i].className == 'apercu') {
            coverTab[coverTab.length] = divTable[i];
        }
    }

    //table des images du document
    var imgTable = document.images;
    for (i = 0; i < imgTable.length; i++) {
        //Mais uniquement sur les images requierant un Rolliover
        if (imgTable[i].src.indexOf(rollPart) != -1 && imgTable[i].src.indexOf(onAdd) == -1) {
            imgTable[i].onmouseover = function() { swapImage(this) };
        }
    }


    // 10 - Mise en place du menu dépliant
    if (_('menuleft')) {
        var tabSubList = new Array();
        var tabList = new getObj('menuleft').obj.getElementsByTagName('li');
        //Filtre les éléments de list ayantun sous menu - <ol>...</ol>
        for (i = 0; i < tabList.length; i++) {
            if (tabList[i].getElementsByTagName('ol').length != 0) {
                tabList[i].id = 'parentList' + i;
                tabList[i].getElementsByTagName('a')[0].id = 'List' + i;
                //Ajout de l'evenement d'appel
                tabList[i].getElementsByTagName('a')[0].onclick = function() { SH_sublist(this.id) }
            }
        }
    }

    // 15 - Sous menu User
    //User
    var reactImg;
    var reactDiv;
    if (_('customer_account') && _('smenUser')) {
        reactImg = _('menUser');
        reactDiv = _('smenUser');
        // Evenements
        reactImg.onmouseover = function() { S_SMenu('s' + this.id); }
        reactImg.onmouseout = function() { timeSMenu = setTimeout('H_SMenu(\'smenUser\');', 100); }
        reactImg.onmousemove = reactDiv.onmousemove = function() { clearTimeout(timeSMenu); }
        reactDiv.onmouseout = function() { timeSMenu = setTimeout('H_SMenu(\'smenUser\');', 100); }
    }
    // Basket    
    if (_('customer_basket') && _('smenBasket') && _('menBasket')) {
        reactImg = _('menBasket');
        reactDiv = _('smenBasket');
        // Evenements
        reactImg.onmouseover = function() { S_SMenu('s' + this.id); }
        reactImg.onmouseout = function() { timeSMenu = setTimeout('H_SMenu(\'smenBasket\');', 100); }
        reactImg.onmousemove = reactDiv.onmousemove = function() { clearTimeout(timeSMenu); }
        reactDiv.onmouseout = function() { timeSMenu = setTimeout('H_SMenu(\'smenBasket\');', 100); }


        // Déploie si add
        if (isAddBasket) {
            _('smenBasket').style.height = '0';
            _('smenBasket').style.visibility = 'visible';
            progressInterval = setInterval('progressiveMenu();', 25);
        }
        // Déploie si erreur add efi
        if (isEfiErrorBasket) {
            _('smenBasketError').style.height = '0';
            _('smenBasketError').style.visibility = 'visible';
            progressInterval = setInterval('progressiveMenuEfi();', 25);
        }
    }


    // 20 - Affichage des les layers
    for (i = 0; i < layerTable.length; i++) {
        var r = (layerTable[i].className == "addLayer") ? layerTable[i] : layerTable[i].getElementsByTagName("img")[0];
        // Récupération de l'ID
        idSeq = layerTable[i].getElementsByTagName('a')[0].href.indexOf('#') + 1;
        idProduit = layerTable[i].getElementsByTagName('a')[0].href.substring(idSeq);
        // Events
        var pI = (layerTable[i].className == "addLayer") ? /*r.parentNode.parentNode.parentNode.className*/false : r.parentNode.parentNode.parentNode.parentNode.className;
        if (pI != false) {
            var type = (pI.indexOf("MagItem") != -1) ? 2 : 3;
        } else {
            var type = -1;
        }
        r.id = idProduit;
        r.type = type;
        if (!r.onmouseover) {
            r.onmouseover = function() { timeLayer = setTimeout('S_essentiel(' + _C("x", this) + ',' + _C("y", this) + ',' + this.id + ', ' + this.type + ');', 500); }
        }
        r.onmouseout = function() { clearTimeout(timeLayer); }
    }

    // 25 - Cover panier
    for (i = 0; i < coverTab.length; i++) {
        //Attribution des ID
        coverTab[i].id = 'apercu' + i;
        if (coverTab[i].getElementsByTagName('div')[0]) {
            coverTab[i].getElementsByTagName('div')[0].id = 'apercu' + i + 'cover';
            coverTab[i].onmouseover = function() { S_cover(this.id); }
            coverTab[i].onmouseout = function() { H_cover(this.id); }
        }
    }

    // 30 - Activation du marquee si présent
    if (_('botMSG')) {
        //Initialisation
        _('marqueeMSG').style.left = _('botMSG').offsetWidth + 'px';
        timeMarquee = setInterval('texteDefil();', 50);
        //Ajout des événements
        _('botMSG').onmouseover = function() { clearInterval(timeMarquee); }
        _('botMSG').onmouseout = function() { timeMarquee = setInterval('texteDefil();', 50); }
    }

    // 35 - Layer bonus
    if (_('bonus') && _('bonusList')) {
        _('bonus').onmouseover = function() { S_bonus(); };
        _('bonus').onmouseout = function() { H_bonus(); };
        _('bonusList').onmouseout = function() { H_bonus(); };
        if (_('bonusList').offsetHeight > 250) {
            _('bonusList').getElementsByTagName('ul')[0].style.height = '250px';
            _('bonusList').getElementsByTagName('ul')[0].style.overflow = 'auto';
        }
    }

    // Add layer
    if (addTabs.length > 0) {
        for (i = 0; i < addTabs.length; i++) {
            layeredAdd(addTabs[i].title, addTabs[i].type, addTabs[i].src, addTabs[i].opt1, addTabs[i].opt2);
        }
    }

    // 60 - Onglet How
    if (_('howItWorks')) {
        var onglet = _('howItWorks').getElementsByTagName('ul')[0].getElementsByTagName('li');
        for (var i = 0; i < onglet.length; i++) {
            onglet[i].id = 'ong' + i;
            if (_('howItWorks').getElementsByTagName('div')[i]) {
                onglet[i].onclick = function() { showHowZone(this.id); }
                _('howItWorks').getElementsByTagName('div')[i].id = 'ong' + i + 'Cont';
                _('howItWorks').getElementsByTagName('div')[i].style.display = 'none';
            }
        }
        if (document.location.search.indexOf('idMain') != -1) {
            var search = document.location.search;
            var idGlobal = search.substr(search.indexOf('idMain=') + 7).split('_');
            var idMain = idGlobal[0];
            var idSub = (idGlobal[1]) ? idGlobal[1] : null;
            showHowZone('ong' + idMain);
            if (idSub != null && idMain == '1') {
                showHowLine(_('howItWorks').getElementsByTagName('ol')[0].getElementsByTagName('li')[idSub]);
            }
        } else {
            showHowZone('ong0');
        }
        var lines = _('howItWorks').getElementsByTagName('ol')[0].getElementsByTagName('h5');
        for (var i = 0; i < lines.length; i++) {
            lines[i].onclick = function() { showHowLine(this.parentNode); }
        }
    }

    // 70 - Images covers
    if (_("coverFlow")) {
        _("coverFlow", "img", 0).id = "coverFlowImg";
        _("coverFlow", "ul", 0).id = "coverFlowUl";
        for (var i = 0; i < _("coverFlowUl", "img", -1).length; i++) {
            _("coverFlowUl", "li", -1)[i].id = "coverFlowLi" + i;
            _("coverFlowUl", "img", -1)[i].onmouseover = function() { changeCovers(this.parentNode.parentNode.id); }
        }
        changeCovers('coverFlowLi0');
    }

    // 80 - Slider
    var s = _("slider");
    if (s) {
        slBuilder(s);
    }

    // 50 - Tabs
    var tabsTab = __('div', 'tabs');
    for (var i = 0; i < tabsTab.length; i++) {
        var setActive = null;
        new tabGroup(tabsTab[i], null);
        tabsTab[i].id = 'tabs' + i;
        var tabLinks = _('tabs' + i, 'ul', 0, 'li', -1);
        for (var j = 0; j < tabLinks.length; j++) {
            if (actURL == _('tabs' + i, 'ul', 0, 'li', j, 'a', 0).href) {
                setActive = j;
            }
            //_('tabs'+i,'ul',0,'li',j,'a',0).href = 'javascript:changeTab('+i+','+j+');';
            _('tabs' + i, 'ul', 0, 'li', j).onmouseover = function() { piS('add', this, 'hover'); }
            _('tabs' + i, 'ul', 0, 'li', j).onmouseout = function() { piS('del', this, 'hover'); }
        }
        //		var subTabs = __('div','tab',_('tabs'+i));
        //		for(var j=0; j<subTabs.length; j++){
        //			subTabs[j].id = 'tabs'+i+'_'+j;
        //			var ta = _('tabs'+i+'_'+j,'a',0);
        //			var tc = _('container');
        //			tc.parentNode.insertBefore(ta,tc);
        //		}
        //		if(setActive != null){
        //			changeTab(i,setActive);
        //		} else {
        //			changeTab(i,0);
        //		}
    }

}

window.onresize = function(){
	if(_('flash_une')){
		flashObjUne = _('flashObjUne');
		flashObjUne.SetVariable("flashTopPos", _C("y",flashObjUne));
		flashObjUne.SetVariable("flashLeftPos", _C("x",flashObjUne));
	}
}

function resizeWindows2000 () {
	if(document.location.href.indexOf("os=windows2000")!=-1) {
		window.resizeTo(850,750);
	}
}


/************************** Ajout 13/03/2007 ***************************/
var actURL = document.location.href;
var isOpera = (navigator.userAgent.indexOf('Opera') != -1)? true : false;
var isIE = (document.all && !isOpera && navigator.platform == "Win32")? true : false;
var isIE7 = (navigator.userAgent.indexOf('MSIE 7') != -1)? true : false ;
var isIE8 = (navigator.userAgent.indexOf('MSIE 8') != -1)? true : false ;
var isW2000 = (navigator.userAgent.indexOf('Windows NT 5.0') != -1)? true : false;
var isSafari = (navigator.userAgent.indexOf('AppleWebKit') != -1)? true : false;

function rescueFrame(){
	if(isIE && !isIE7){	
		if(!_('rescueFrame')){
			var rescueObj = document.createElement('iframe');
			var rescueElement = document.body.appendChild(rescueObj);
			rescueElement.id = 'rescueFrame';
			rescueElement.src = '/HDSDigital_Root/dummy.htm';
			rescueElement.style.position = 'absolute';
			rescueElement.style.visibility = 'hidden';
			rescueElement.style.border = '0';
			rescueElement.frameborder = '0';
		}
		_('rescueFrame').style.zIndex = arguments[1];
		_('rescueFrame').style.top = (getAbsoluteTop(arguments[0])+8)+'px'; 
		_('rescueFrame').style.left = getAbsoluteLeft(arguments[0])+'px'; 
		var rescuedObj = _(arguments[0]);
		_('rescueFrame').style.width = (rescuedObj.offsetWidth-1)+'px'; 
		_('rescueFrame').style.height = (rescuedObj.offsetHeight-8)+'px'; 
		_('rescueFrame').style.visibility = 'visible';
	}
}
function endRescueFrame(){
	if(isIE && !isIE7){
		_('rescueFrame').style.visibility = 'hidden';
	}
}

/**
Cibler un objet
-------------------
* Pour cibler une ID : _('id');
* Pour cibler plusieurs IDs : _('id1|id2|...|idn');
* Pour cibler un noeud enfant : _('tag',lvl);   >   _('tag1',lvl1,'tag2',lvl2,...,'tagn',lvln);
* Pour cibler une ID puis un noeud enfant : _('id','tag',lvl);   >   _('id','tag1',lvl1,'tag2',lvl2,...,'tagn',lvln);
* Pour cibler des TAG : _('tag',-1);
* Pour cibler une ID puis des TAG : _('id','tag',-1);
-------------------
* Retourne : Objet ou Array
**/
function _(){
	var r = 'document';
	if(arguments.length == 1){
		var d = arguments[0].split('|');
		if(d.length > 1){
			var t = new Array();
			for(var i=0; i<d.length; i++){
				t[t.length] = _(d[i]);					
			}
			return t;
		} else {
			r += '.getElementById(\''+arguments[0]+'\')';
		}
	} else {
		for(var i=0; i<arguments.length; i++){
			var p = i+1;
			if(typeof arguments[p] == 'string' && typeof arguments[i] != 'number' || p > arguments.length){
				r += '.getElementById(\''+arguments[i]+'\')';
			} else if(typeof arguments[p] == 'number'){
				r += (arguments[p] == -1)? '.getElementsByTagName(\''+arguments[i]+'\')' : '.getElementsByTagName(\''+arguments[i]+'\')['+arguments[p]+']';
			}
		}
	}
	return eval(r);
}

/**
Cibler des élément par leur class
-----------------------------------------
* Pour cibler un couple TAG / Class : __('tag','class');
* Pour cibler plusieurs TAG pour une class : __('tag1|tag2|...|tagn',class');
* Pour cibler un couple TAG / Class dans un élément ciblé: __('tag','class',_('id'));
* Pour cibler un couple TAG / Class dans un élément ciblé: __('tag','class',_('id','div',2));
-----------------------------------------
* Retourne : Array
**/
function __(){
	var p = (arguments[2])? arguments[2] : false;
	var c = new Array();
	var t = arguments[0].split('|');
	for(var i=0; i<t.length; i++){
		var e = (p)? p.getElementsByTagName(t[i]) : _(t[i],-1);
		for(var j=0; j<e.length; j++){
			var s = arguments[1].split('|');
			for(var k=0; k<s.length; k++){
				if(e[j].className == s[k] || e[j].className.indexOf(s[k]+' ') != -1 || e[j].className.indexOf(' '+s[k]) != -1){
					c[c.length] = e[j];
				}
			}
		}
	}
	return c;
}
/**
Récupérer une coordonée absolue 'x' ou 'y' ciblé par la fonction _
------------------------------------------------------------------------------------
* Coordonnée X : _C('x',_('id')); 
* Coordonnée Y : _C('y',_('id')); 
------------------------------------------------------------------------------------
* Retourne : Integer
**/
function _C(){
	var o = arguments[1];
	switch(arguments[0]){
		case 'y':
			c = o.offsetTop;
			while(o.offsetParent) {
				p = o.offsetParent;
				c += p.offsetTop-p.scrollTop;
				o = p;
			}
			c += ((isIE && !isIE8) || isSafari)? document.documentElement.scrollTop+document.body.scrollTop : 0;
		break;
		case 'x':
			c = o.offsetLeft;
			while(o.offsetParent != null) {
				p = o.offsetParent;
				c += p.offsetLeft-p.scrollLeft;;
				o = p;
			}
			c += ((isIE && !isIE8) || isSafari)? document.documentElement.scrollLeft+document.body.scrollLeft : 0;
		break;
		default:
			c = null;
		break;
	}
	return c;
}
/**
Ajouter / Supprimer une CLASS a un objet ciblé par la fonction _
-----------------------------------------------------------------------------------
* Pour ajouter une CLASS : piS('add',_('id'),'nom_class');
* Pour supprimer une CLASS : piS('del',_('id'),'nom_class');
-----------------------------------------------------------------------------------
**/
function piS(){
	var a = '';
	var b = arguments[1].className;
	var c = b.split(' ');
	switch(arguments[0]){
		case 'add':
			var d = false;
			for(var i=0; i<c.length; i++){
				if(c[i] == arguments[2]){
					d = true;
				}
			}
			a = (!d)? b+' '+arguments[2] : b ;
		break;
		case 'del':
			var s;
			for(var i=0; i<c.length; i++){
				s = (i == 0)? '' : ' ';
				if(c[i] != arguments[2]){
					a +=  s+c[i]
				}
			}
		break;
	}
	arguments[1].className = a;
}

/****** 50 - Tabs *****/
var tabGroups = new Array();
function tabGroup(elem,current){
	this.elem = elem;
	this.current = current;
	tabGroups[tabGroups.length] = this;
}

function changeTab(index,tab){
	if(tabGroups[index].current != null && tabGroups[index].current != tab){
		piS('add',_('tabs'+index+'_'+tabGroups[index].current),'off');
		piS('del',_('tabs'+index,'ul',0,'li',tabGroups[index].current),'on');
	}
	piS('del',_('tabs'+index+'_'+tab),'off');
	piS('add',_('tabs'+index,'ul',0,'li',tab),'on');
	tabGroups[index].current = tab;
}

