
//Agrandit le texte des articles
function agrandirTxt() {
	if (navigator.appVersion.match(/MSIE [0-7]\./)){
		taille = 13;
	} else {
		taille = parseInt(document.defaultView.getComputedStyle(document.getElementById("page"), null).getPropertyValue("font-size"));
	}
	taille++;
	document.getElementById("page").style.fontSize = taille+'px';
	return false;
}

//Réduit le texte des articles
function reduireTxt() {
	if (navigator.appVersion.match(/MSIE [0-7]\./)){
		taille = 13;
	} else {
		taille = parseInt(document.defaultView.getComputedStyle(document.getElementById("page"), null).getPropertyValue("font-size"));
	}
	taille--;
	if (taille < 11) taille = 11;
	document.getElementById("page").style.fontSize = taille+'px';
	return false;
}

// ajoute classes aux liens externes
function modifyExternalLinks() { 
	if (!document.getElementsByTagName)
		return;
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank";
			anchor.className = anchor.className + " relexternal"; // FIXME prototype addClassName()
		}
	}
}

// supprimer le whitespace autour d'un string
if (!String.prototype.trim) {
	String.prototype.trim = function() {
		return this.replace(/(^\s*)|(\s*$)/g, '');
	}
}

// getElementsByClassName : élément parent, nom de la balise (tout : '*'), nom de la classe
function getElementsByClassName(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

// gestionnaire d'évènements (alias qui utilise prototype en fait)
function addEvent(element, eventType, func) {
	Element.observe(element, eventType, func);
}

// fonctions qui retirent/remettent le texte par défaut de boîtes de recherche
function clearDefaultText(e) {
	var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target)
		return;
    if (target.value == target.defaultText)
        target.value = '';
}
function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target)
		return;
    if (target.value == '' && target.defaultText)
        target.value = target.defaultText;
}

// menu select des comparos
function comparoTestSelect(select) {
	if (!select.value)
		return;
	select.form.action = '/' + select.value; // reconstruit l'url du GET avec la valeur du select
	select.disabled = 'disabled'; // ne rajoute pas la valeur du select aux options
	select.form.submit(); // soumet le formulaire
}

var tile=0;
var rndNumber=Math.random();
rndNumber=rndNumber*10000000000000000000;

function printAdvert(ad){
	tile++;
	ad="http://ad.fr.doubleclick.net/adj/"+ad;
	document.write("<scri"+"pt language=\"JavaScript\" type=\"text/javascript\" src=\""+ad+"tile="+tile+";ord="+rndNumber+"\"></scri"+"pt>")
}

function afficheCompteur(){
	var elmtcmpt = document.getElementById('compteur');
	if(elmtcmpt){
		var nombrealpha = elmtcmpt.innerHTML;
		var chaine = "";
		var long = nombrealpha.length;
		if (long < 6){
			nombrealpha =  "00000".substring(0,6 - long) + nombrealpha;
		}
		for(var i=0; i < nombrealpha.length; i++){
			var car = nombrealpha.charAt(i);
			var n = parseInt(car); 
			var imagecar = '<img src="/themes/svm/images/icons/'+ n + '.gif" style="vertical-align:middle;" />';
			if ( (i == 3) ) {
			chaine = chaine + " ";
			}
			chaine = chaine + imagecar;
		}
		elmtcmpt.innerHTML = chaine;
	}
}

function ouvrirListe(val){
	var tabDivs = new Array('tab0','tab1','tab2','tab3','tab4');
	for(var i=0; i < tabDivs.length; i++){
		var elmtmlt = document.getElementById(tabDivs[i]);
			if(elmtmlt){
				if(tabDivs[i] != val){
					elmtmlt.style.display = 'none';
				} else { 
					elmtmlt.style.display = 'block';
				}
			}
	}
}

// applique la classe de séléction sur le <li> passé
function menuSelect(element) {
	// selectionne précédent
	var selects = getElementsByClassName($("menu"), "li", "select"); 
	var selected = (selects[0]) ? selects[0] : false;
	
	// si c'est le même que l'on survole, ne rien faire
	if (selected == element)
		return;

	// si on en avait un selectionné précédemment
	if (selected) {
		selected.className = ""; // retire la classe
		var link = selected.getElementsByTagName('a')[0]; // retire le span
		link.innerHTML = link.getElementsByTagName('span')[0].innerHTML;
	}
	
	// ajoute la sélection au nouveau
	if (element) {
		element.className = "select"; // ajoute la classe
		var link = element.getElementsByTagName('a')[0]; // ajoute le span
		link.innerHTML = ((element.getElementsByTagName('ul')[0]) ? '<span class="parent">' : '<span>') + link.innerHTML + '</span>';
	}
}

// appellé au survol des éléments du menu
function menuHover(e) {
	var element = Event.element(e); // récupère l'élément appellé
	if (element.parentNode.parentNode.parentNode.id == 'menu') { // si survole un <a> du menu supérieur
		menuSelect(element.parentNode); // applique le survol
		Event.stop(e); // arrête la propagation
	}
}

// initialisation du menu
function menuInit() {
	// ajoute évènement de survol du menu
  
  // Delayed mouseout.
  $('#menuMust').hover(function() {
    // Stop the timer.
    clearTimeout(this.sfTimer);
    // Display child lists.
    $('> ul', this).css({display: 'block'})
      // Immediately hide nephew lists.
      .parent().siblings('li').children('ul').css({display: 'none'});
  }, function() {
    // Start the timer.
    var uls = $('> ul', this);
    this.sfTimer = setTimeout(function() {
      uls.css({display: 'none'});
    }, 400);
  });

  $('#menuHautDebit').hover(function() {
    // Stop the timer.
    clearTimeout(this.sfTimer);
    // Display child lists.
    $('> ul', this).css({display: 'block'})
      // Immediately hide nephew lists.
      .parent().siblings('li').children('ul').css({display: 'none'});
  }, function() {
    // Start the timer.
    var uls = $('> ul', this);
    this.sfTimer = setTimeout(function() {
      uls.css({display: 'none'});
    }, 400);
  });
  
  $('#menuBlog').hover(function() {
    // Stop the timer.
    clearTimeout(this.sfTimer);
    // Display child lists.
    $('> ul', this).css({display: 'block'})
      // Immediately hide nephew lists.
      .parent().siblings('li').children('ul').css({display: 'none'});
  }, function() {
    // Start the timer.
    var uls = $('> ul', this);
    this.sfTimer = setTimeout(function() {
      uls.css({display: 'none'});
    }, 400);
  });
  
  $('#menuTests').hover(function() {
    // Stop the timer.
    clearTimeout(this.sfTimer);
    // Display child lists.
    $('> ul', this).css({display: 'block'})
      // Immediately hide nephew lists.
      .parent().siblings('li').children('ul').css({display: 'none'});
  }, function() {
    // Start the timer.
    var uls = $('> ul', this);
    this.sfTimer = setTimeout(function() {
      uls.css({display: 'none'});
    }, 400);
  });
  
  $('#menuPratique').hover(function() {
    // Stop the timer.
    clearTimeout(this.sfTimer);
    // Display child lists.
    $('> ul', this).css({display: 'block'})
      // Immediately hide nephew lists.
      .parent().siblings('li').children('ul').css({display: 'none'});
  }, function() {
    // Start the timer.
    var uls = $('> ul', this);
    this.sfTimer = setTimeout(function() {
      uls.css({display: 'none'});
    }, 400);
  });  
}


/*
* load lightbox before image loading is complete:
*  http://dean.edwards.name/weblog/2006/06/again/
*/
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;

// kill the timer
if (_timer) {
clearInterval(_timer);
_timer = null;
}

// load the functions
	modifyExternalLinks();
	agrandirTxt();
	reduireTxt();
	afficheCompteur();
	ouvrirListe('tab0');
	menuInit();
};

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

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
init(); // call the onload handler
}
};
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
var _timer = setInterval(function() {
if (/loaded|complete/.test(document.readyState)) {
init(); // call the onload handler
}
}, 10);
}

/* for other browsers */
window.onload = init;
