// InsererMedia.js
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
// Historique de mise à jour
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
// 2007-10-20 : Vincent Lamoureux
//				Création du script (supporte les fichiers SWF, MOV et WMV)





// Insère un nouveau média
function InsererMedia( uri, largeur, hauteur, parametres ) {
	var typeMedia   = uri.substring(uri.lastIndexOf(".") + 1);
	
	var erreur = false;
	
	try {
		this.insert = eval("InsererMedia_" + typeMedia.toUpperCase());
	} catch(exception) {
		erreur = true;
		alert("Impossible de trouver le programme pour insérer un média de type: " + typeMedia.toUpperCase() + "\n\n" + exception);
	}
	
	if (!erreur) {
		this.fonctionType = eval("InsererMedia_" + typeMedia.toUpperCase());
		this.insert       = InsererMedia_Insert;
		this.uri          = uri;
		this.largeur      = largeur;
		this.hauteur      = hauteur;
		this.params       = new Array();
		this.type         = new String();
		this.classid      = null;
		
		if ( parametres ) {
			parametres = parametres.replace(/\s/g, "");
			var aParams = parametres.split(",");
			for ( var cParams = 0; cParams < aParams.length; cParams++ ) {
				var param = aParams[cParams].split("=");
				this.params.push({name: param[0], value: param[1]});
			}
		}
		
		this.fonctionType();
		this.insert();
	}
}





// Prépare les paramètres pour un média de type Flash
function InsererMedia_SWF(uri) {
	this.type = "application/x-shockwave-flash";
	this.params.unshift({name: "movie", value: this.uri});
}





// Prépare les paramètres pour un média de type Quicktime
function InsererMedia_MOV(uri) {
	this.type = "video/quicktime";
	this.params.unshift({name: "src", value: this.uri});
	
	// Ajoute le classid pour MSIE
	if ( navigator.userAgent.toLowerCase().indexOf("msie") != -1 ) this.classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
	
	// Ajuste la hauteur si le controlleur est affiché
	for ( var cParams = 0; cParams < this.params.length; cParams++ ) {
		var param = this.params[cParams];
		if ( param.name == "controller" && param.value == "true" ) {
			this.hauteur += 15;
			cParams = this.params.length;	
		}
	}
}





// Prépare les paramètres pour un média de type Windows Media Video
function InsererMedia_WMV(uri) {
	this.type = "video/x-ms-wmv";
	this.params.unshift({name: "src", value: this.uri});
}





// Insère le nouveau média
function InsererMedia_Insert() {
	var sParams = "";
	for ( var cParams = 0; cParams < this.params.length; cParams++ ) {
		sParams += '<param name="' + this.params[cParams].name + '" value="' + this.params[cParams].value + '" />';
	}
	
	var sObject = "";
		sObject += '<object ';
		sObject += 'type="' + this.type + '" ';
		sObject += 'data="' + this.uri + '" ';
		sObject += 'width="' + this.largeur + '" ';
		sObject += 'height="' + this.hauteur + '"';
		
		if ( this.classid )
			sObject += ' classid="' + this.classid + '"';
		
		sObject += '>'
		sObject += sParams;
		sObject += '</object>';
	
	document.write(sObject);
}