var cheminPrechargeur   = 'prechargeur.swf';
var classeInteractivite = 'interactivite-flashdev';
var couleurAP           = 'FBF9ED';

var flashProxy        = null;
var idInteractivite   = null;


function getNomInteractivite() {
    var o = {};
    
    //var debut = document.URL.lastIndexOf('/') + 1;
    //var fin = document.URL.lastIndexOf('.');
    //o.nomInteractivite = document.URL.substring(debut, fin)
    o.nomInteractivite = idInteractivite;
    if(window.gabarit) {
        o.gabarit = gabarit;
    }

    try {
        return o;
    } catch (exception) {
        alert(exception.name + "\n" + exception.message);
    }
}


//
function getCoordonneesOutil() {
    try               { return {}; }
    catch (exception) { alert(exception.name + "\n" + exception.message); }
}


function initInteractivites()
{
    var gabarit_moteur_explicite;
    if(gabarit_moteur_explicite = document.getElementById("moteur-interactivites-fichier-gabarit-explicite")) {
        window.gabarit = gabarit_moteur_explicite.firstChild.nodeValue;
    }

    var objets = document.getElementsByTagName('object');
    for(var ii = 0; ii < objets.length; ii++) {
        
        if(-1 != objets[ii].className.indexOf(classeInteractivite)) {
            
            //Initialisation de l'interactivite
            try
            {
                window.idInteractivite = objets[ii].getAttribute('id');

                var parametres_acceptes = ['play', 'loop', 'menu', 'quality',
                    'scale', 'salign', 'wmode', 'bgcolor', 'base', 'swliveconnect', 'flashvars'];
                var est_dans = function(vecteur, scalaire) {
                    for(var kk=0; kk<vecteur.length; ++kk) if(vecteur[kk] == scalaire) return true;
                }



                var noeuds_parametres = objets[ii].getElementsByTagName('param');
                var parametres = {};

                for(var jj=0; jj < noeuds_parametres.length; ++jj) {
                    var nom    = noeuds_parametres[jj].getAttribute('name').toLowerCase();
                    var valeur = noeuds_parametres[jj].getAttribute('value').toLowerCase();
                    if(est_dans(parametres_acceptes, nom)) {
                        parametres[nom] = valeur;
                    }
                    
                }

                
                swfobject.embedSWF(cheminPrechargeur, 
                                   idInteractivite,
                                   objets[ii].getAttribute('width'),
                                   objets[ii].getAttribute('height'),
                                   "9.0.0",
                                   undefined,
                                   undefined,
                                  parametres);

                for(var jj=0; jj < parametres.length; ++jj) {
                    var parametre = parametres[ii];
                    alert(parametre.getAttribute('name'));
                    so.addParam(parametre.getAttribute('name'), parametre.getAttribute('value'));
                }
 
                if(parent === self) document.getElementById(idInteractivite).focus();
		                
           } catch (exception) {
                alert(exception.name + "\n" + exception.message);
           }
            
        }
    }
}

	
	
/* http://simon.incutio.com/archive/2004/05/26/addLoadEvent
The addLoadEvent function takes as an argument another function which should
be executed once the page has loaded. Unlike assigning directly to
window.onload, the function adds the event in such a way that any previously
added onload functions will be executed first. */

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function(e) {
      oldonload(e);
      func(e);
    }
  }
}


addLoadEvent(initInteractivites);

