// ajouter Array.indexOf si non présent dans le navigateur
if (!Array.prototype.indexOf) {  
    Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {  
        "use strict";  
        if (this == null) {  
            throw new TypeError();  
        }  
        var t = Object(this);  
        var len = t.length >>> 0;  
        if (len === 0) {  
            return -1;  
        }  
        var n = 0;  
        if (arguments.length > 0) {  
            n = Number(arguments[1]);  
            if (n != n) { // shortcut for verifying if it's NaN  
                n = 0;  
            } else if (n != 0 && n != Infinity && n != -Infinity) {  
                n = (n > 0 || -1) * Math.floor(Math.abs(n));  
            }  
        }  
        if (n >= len) {  
            return -1;  
        }  
        var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);  
        for (; k < len; k++) {  
            if (k in t && t[k] === searchElement) {  
                return k;  
            }  
        }  
        return -1;  
    }  
}  


var globalHide=0;
var globalShow=0;
//->Gestion des sous menus
function montre(evt,ids) {
	if(globalHide) {
		clearTimeout(globalHide);
		globalHide=0;
	}
	globalShow = 0;
	if(!ids) ids='';
	var ida=ids.split(',');
	for (var i = 1; i<=10; i++) {
		var o = document.getElementById('smenuh'+i);
		if (o) {
			if (ida.indexOf('smenuh'+i)>=0) {
				o.style.display = 'block';
				globalShow = 1;
			} else {
				o.style.display = 'none';
			}
		}
	}
	stopDefaultEvent(evt);
}


function hide(evt){
	if(!globalHide && globalShow) {
		if(document.createEventObject) evt = document.createEventObject(evt);
		globalHide = setTimeout(function() { montre(evt) },500);
	}
	stopDefaultEvent(evt);
}


function stopDefaultEvent(evt) {
	if(evt) {
		evt.cancelBubble = true;
		if (evt.stopPropagation) evt.stopPropagation();
	}
}


function tab(t,n,m) {
	for(var i=1; i<=m; i++)
		document.getElementById("tab"+i).className = (i==n ? "visible" : "ecran");
	var td = t.parentNode.firstChild;
	while(td) {
		if(td.className=="tabOn")
			td.className = "tabOff";
		td = td.nextSibling;
	}
	t.className = "tabOn";
}


var pop_fond, pop_zoom;
function pop_photo(img) {
	if(!pop_fond) {
		pop_fond = document.createElement('div');
		pop_fond.id = 'pop_fond';
		pop_fond.onclick = function() { pop_cacher() };
		document.body.appendChild(pop_fond);
	}
	if(!pop_zoom) {
		pop_zoom = document.createElement('img');
		pop_zoom.id = 'pop_zoom';
		pop_zoom.onclick = function() { pop_cacher() };
		document.body.appendChild(pop_zoom);
	}
	pop_zoom.src = img.src;
	pop_zoom.setAttribute('title',img.getAttribute('alt'));
	pop_fond.style.display = 'block';
	pop_zoom.style.display = 'block';
}

function pop_cacher() {
	pop_fond.style.display = 'none';
	pop_zoom.style.display = 'none';
}

function photo(img) {
	var pic = document.getElementById("ra_photo");
	if( pic) {
		pic.src = img.src;
		document.getElementById("ra_texte").innerHTML = img.getAttribute("titre");
		var div = pic.parentNode.parentNode;
		var i = parseInt( div.id.substr(3))-1;
		var td = div.parentNode.parentNode.parentNode.previousSibling.firstChild;
		for( var n=0; n<i; n++) td = td.nextSibling.nextSibling;
		var code = td.getAttribute('onclick');
		code = code.replace('this','td');
		eval( code);
	}
}


var tScroller = 0;

function scroller() {
	var cont = document.getElementById("scroll");
	if( cont) {
		var div = cont.firstChild;
		if( div) {
			var c = div.firstChild;
			var h = c.offsetHeight;
			var t = parseInt(div.style.top) -2;
			div.style.top = t+'px';
			if( t*-1 > h+2) {
				div.removeChild(c);
				div.appendChild(c);
				div.style.top='0px';
			}
		}
	}
}

function startScroller() {
	if( tScroller==0) {
		var cont = document.getElementById("scroll");
		var centre = document.getElementById("centre");
		var gauche = document.getElementById("gauche");
		if( cont && centre && gauche) {
			var div = cont.firstChild;
			var h1 = centre.offsetHeight;
			var h2 = gauche.offsetHeight;
			cont.style.height = (h1>h2 ? h1 : h2) -50 + 'px';
			if( cont.offsetHeight < div.offsetHeight)
				tScroller=setInterval("scroller()",100);
		} else {
			setTimeout("startScroller()", 500);
		}
	}
}

function stopScroller() {
	if(tScroller) clearInterval(tScroller);
	tScroller=0;
}

var tScroller2 = 0;
var iScroller2 = 0;

function scroller2() {
	var cont = document.getElementById("scroll2");
	if( cont) {
		var div = cont.firstChild;
		if( div) {
			var c = div.firstChild;
			var h = c.offsetHeight;
			var t = parseInt(div.style.top) - iScroller2;
			iScroller2 /= 2;
			div.style.top = t+'px';
			if( t*-1 > h+2) {
				div.removeChild(c);
				div.appendChild(c);
				div.style.top='0px';
				clearInterval(tScroller2);
				startScroller2();
			}
		}
	}
}

function startScroller2() {
	setTimeout("initScroller2()",3000);
}

function initScroller2() {
	iScroller2=128;
	tScroller2=setInterval("scroller2()",100);
}

var formulaire="";
var valider=0;
var lst_text="";

function DeclareForm(frm){
	lst_text="Des erreurs ont été rencontrées lors de la validation du formulaire: \n\n";
	formulaire=frm;
	valider=1;
}

function VerifText(chp,nom){
	if(formulaire.elements[chp].value==""){
		lst_text=lst_text+"- Le champs "+nom+" doit être rempli.\n";
		valider=0;
	}
}

function VerifEqual(chp1,nom1,chp2,nom2){
	if(formulaire.elements[chp1].value!=formulaire.elements[chp2].value){
		lst_text=lst_text+"- Le champs "+nom1+" et le champs "+nom2+" doivent être identiques.\n";
		valider=0;
	}
}

function VerifRegex(chp,nom,reg){
	if(formulaire.elements[chp].value.search(reg)=='-1'){
		lst_text=lst_text+"- Mauvais format pour le champs "+nom+".\n";
		valider=0;
	}
}

function VerifMail(chp,nom){
	VerifRegex(chp,nom,"^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9]+)*$");
}

function VerifNum(chp,nom){
	VerifRegex(chp,nom,"^[0-9]+$");
	if(formulaire.elements[chp].value==0) {
		lst_text=lst_text+"- Le champ "+nom+" doit être renseigné\n";
		valider=0;
	}
}

function VerifChkBox(chp,msg){
	if(!formulaire.elements[chp].checked){
		lst_text=lst_text+"- "+msg+".\n";
		valider=0;
	}
}

function VerifForm(){
	if(valider==0) {
		alert(lst_text);
		return false;
	}
	else{
		return true;
	}
}

