//Scott Andrew - ajouter et supprimer  des gestionnaires d'évènement à des gestionnaire existant
function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}
function removeEvent(obj, evType, fn){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, false);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

//XMLHttpREquest - tout navigateur (selon wikipedia)
function createXhrObject()
{
    if (window.XMLHttpRequest)
        return new XMLHttpRequest();

    if (window.ActiveXObject)
    {
        var names = [
            "Msxml2.XMLHTTP.6.0",
            "Msxml2.XMLHTTP.3.0",
            "Msxml2.XMLHTTP",
            "Microsoft.XMLHTTP"
        ];
        for(var i in names)
        {
            try{ return new ActiveXObject(names[i]); }
            catch(e){}
        }
    }
    window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest.");
    return null; // non supporté
}



//On eleve les champs select pour IE5 et 6 (bug d'affichage avec opacity) (Michel Deboom)
function cgselect(v) {
	var elem=document.getElementsByTagName('select'),
		ie=navigator.appVersion.substr(17,4)=="MSIE"?1:0,
		ver = navigator.appVersion.substr(17,6);
	if(ver=="MSIE 5" || ver=="MSIE 6") { //ie5 ou ie6/win
		for(i=0;i<elem.length;i++)elem[i].style.visibility=v;
	}
}
function cacherselect() { cgselect('hidden'); }
function voirselect() { cgselect('visible'); }


//Centre Un objet
function recadre() {
	//Charge le cadre en surimpression
	var	gdim = document.getElementById('pop');
	var	arp = document.getElementById('arplan');
	//recherche d'info (Michel Deboom)
	// ie6 ou ie7/win suivant doctype
	var db=!document.documentElement.clientWidth?document.body:document.documentElement,
		// infos sur la fenêtre du navigateur
		sx=window.pageXOffset?window.pageXOffset:db.scrollLeft,		// scroll h
		sy=window.pageYOffset?window.pageYOffset:db.scrollTop, 		// scroll v
		fx=window.innerWidth?window.innerWidth:db.clientWidth, 		// l fenêtre
		fy=window.innerHeight?window.innerHeight:db.clientHeight,	// h fenêtre
		// centre l'image dans la fenêtre sans la tronquer
		gdimx=gdim.offsetWidth>fx?sx:fx/2-gdim.offsetWidth/2+sx,
		gdimy=gdim.offsetHeight>fy?sy:fy/2-gdim.offsetHeight/2+sy;
	//cadre en centré
	gdim.style.left=gdimx+'px';
	gdim.style.top=gdimy+'px';
	//l'arrière plan prend toute la page
	arp.style.width=db.scrollWidth+'px';
	arp.style.height=db.scrollHeight+'px';
}

//Affiche la fenètre en transparence
function cherche_et_affiche_fenetre() {
	//affiche le loader
	affiche_loader();
	//chargement de l'information à afficher
	xhr = createXhrObject();
	xhr.open('GET', '/incl/lesacteurs.php', true);  //false : mode synchrone, on attend la réponse
	xhr.onreadystatechange = affiche_fenetre;
	xhr.send(null);
}

//Arrière plan + Loader
function affiche_loader() {
	//Suppression des champs qui ne devrait pas exister
	if(document.getElementById('arplan')) {
		var em=document.getElementById('arplan');
		em.parentNode.removeChild(em);
	}
	if(document.getElementById('pop')) {
		var em=document.getElementById('pop');
		em.parentNode.removeChild(em);
	}
	//Création des champs
	var arp=document.createElement('p');
	arp.setAttribute('id', 'arplan');
	arp.appendChild(document.createTextNode(' '));
	var p=document.createElement('div');
	p.setAttribute('id', 'pop');
	var img=document.createElement('img');
	img.setAttribute('id', 'imgloaderajax');
	img.setAttribute('width', '32');
	img.setAttribute('height', '32');
	img.setAttribute('src', '/incl/img/ajax-loader.gif');
	p.appendChild(img);

	//affichage
	cgselect('hidden'); //Cache les champs select pour IE 5 & 6
	document.body.appendChild(arp);
	document.body.appendChild(p);
	recadre();

	//On attache les évènements associés
	addEvent(window,"resize",recadre);
	addEvent(arp,"mousedown",cache_fenetre); //fermer
	addEvent(document,"keydown",kpres); //gestion clavier
}

//La fenètre, une fois chargé
function affiche_fenetre() {
	//On attend que la réponse soit disponible
	if(xhr.readyState  == 4) {
		//Le résultat est affiché dans le cadre pop
		var	fen = document.getElementById('pop');
		var	img = document.getElementById('imgloaderajax');
		//supprime l'image
		fen.removeChild(img);
		//ajoute la réponse
		fen.innerHTML = xhr.responseText;
		//Adapte le cadre pop
		recadre();
	}
}
function kpres(e) {
	var e=e||w.event,
	tch=e.which?e.which:e.keyCode;
	if(tch==27||tch==13){cache_fenetre();}// fermer avec la touche "Echap" ou ENTER
}

function cache_fenetre() {
	var arp=document.getElementById('arplan');
	//On supprime les évènements associé
	removeEvent(window,"resize",recadre);
	removeEvent(arp,"mousedown",cache_fenetre);
	removeEvent(document,"keydown",kpres);

	//On supprime le code html associé
	arp.parentNode.removeChild(arp);
	var em=document.getElementById('pop');
	em.parentNode.removeChild(em);

	//On rend visible les balises select sous IE 5/6
	cgselect('visible');
}

//fonction globale pour ajouter les évènements
//(vérifie que le DOM  est implémenté
function chargement() {
	if(document.getElementById && document.createTextNode) {
		//Modifie le bouton acteur pour lui insérer le JS
		var btn=document.getElementById('btnacteur');
		btn.setAttribute('href','#');
		btn.onclick=function(){cherche_et_affiche_fenetre();return false;};

		//Chargement des fonctions de filtrage des listes
		var lst_acteur=document.getElementById('selact'), lst_film=document.getElementById('selfilm');
		filtreacteur = new filterlist(lst_acteur);
		filtreacteur.set_ignore_case(true);
		filtrefilm = new filterlist(lst_film);
		filtrefilm.set_ignore_case(true);

		//Création de la case texte de filtrage
		var txt_acteur=document.createElement('input');
		txt_acteur.setAttribute('name','act');
		txt_acteur.setAttribute('id','act');
		txt_acteur.setAttribute('type','text');
		txt_acteur.onkeyup = function () { filtreacteur.set(this.value) }
		var retl=document.createElement('br');
		lst_acteur.parentNode.insertBefore(retl, lst_acteur);
		lst_acteur.parentNode.insertBefore(txt_acteur, retl);

		var txt_film=document.createElement('input');
		txt_film.setAttribute('name','film');
		txt_film.setAttribute('id','film');
		txt_film.setAttribute('type','text');
		txt_film.onkeyup = function () { filtrefilm.set(this.value) }
		retl=document.createElement('br');
		lst_film.parentNode.insertBefore(retl, lst_film);
		lst_film.parentNode.insertBefore(txt_film, retl);
	}
}

//chargement du script
addEvent(window,"load",chargement);

//******************************Liste à filtrage automatique***************************************//
var filtreacteur;
var filtrefilm;


//*********************************Fonctions JS pour formulaire************************************//
//fonctions de sélections des boutons radios
function seltoutes(name) {
	var lst = window.document.getElementsByName(name);

	for (var i=0; i<lst.length; i++) {
		lst[i].checked=true;
	}
}
function selaucune(name) {
	var lst = window.document.getElementsByName(name);

	for (var i=0; i<lst.length; i++) {
		lst[i].checked=false;
	}
}
function selinv(name) {
	var lst = window.document.getElementsByName(name);

	for (var i=0; i<lst.length; i++) {
		lst[i].checked= !lst[i].checked;
	}
}

//*********************************Fonctions Jquery**********************************************//
$(function(){

  //Effet rollover sur les onglets "sites"
  $('#s_jeunes').mouseover(function(){
  	//affiche l'onglet enfoncé
  	$('#sites').css('background-position', '0 -25px');
  });
  $('#s_jeunes').mouseout (function(){
  	//affiche l'onglet enfoncé
  	$('#sites').css('background-position', '0 0');
  });

  $('#s_galerie').mouseover(function(){
  	//affiche l'onglet enfoncé
  	$('#sites').css('background-position', '0 -50px');
  });
  $('#s_galerie').mouseout (function(){
  	//affiche l'onglet enfoncé
  	$('#sites').css('background-position', '0 0');
  });

  $('#s_blog').mouseover(function(){
  	//affiche l'onglet enfoncé
  	$('#sites').css('background-position', '0 -75px');
  });
  $('#s_blog').mouseout (function(){
  	//affiche l'onglet enfoncé
  	$('#sites').css('background-position', '0 0');
  });


});
