////////////////////////////////////////////////////////////////////
// static class TitleToFlash - v2.0
// fonctionne avec swfObject 2
////////////////////////////////////////////////////////////////////

embedHTML = {
	init : function (params) {

		if (typeof(params.version) == 'undefined') {
			params.version = "8";
		} else {
			params.version = params.version.toString();
		}

		params.flashparams = this._getDefaultFlashParams();

		return params;
	},

	_getDefaultFlashParams : function() {
		var flashparams			= {};
		flashparams.swLiveConnect	= 'true';
		flashparams.allowScriptAccess	= 'always';
		flashparams.wmode		= 'transparent';

		return flashparams;
	},

	embedElementByTagName : function(params) {

		var _params	= this.init(params);
		var elmts	= document.getElementsByTagName(_params.tag);

		for (var i = 0; i < elmts.length; i++) {
			var flashvars	= {};
			var ele		= elmts[i];
			var id		= 'flash_' + _params.tag + '_' + i;
			var t		= this.getInnerHTML(ele);
			var dimensions	= this.getElementSize(ele);

			if (ele.id) {
				id = ele.id;
			} else {
				ele.setAttribute('id', id);
			}

			if (_params.flashvars) {
				for (var p in _params.flashvars){
					flashvars[p] = _params.flashvars[p];
				}
			}

			flashvars.titre	= this.rewriteHTML(t);

			this._embedElementBySWF(_params.swf, id, dimensions.width, dimensions.height, _params.version, flashvars, _params.flashparams);
		}
	},

	embedElementsByTagName : function(params) {
		var _params = this.init(params);
		if (_params.tags && typeof(_params.tags) == 'object') {
			for (var i = 0; i < _params.tags.length; i++) {
				_params.tag = _params.tags[i];
				this.embedElementByTagName(_params)
			}
		}
	},

	embedElementById : function() {
		
		var ele = document.getElementById(this.params.id);

		if (ele) {
			var flashvars	= {};
			var t		= this.getInnerHTML(ele);
			var dimensions	= this.getElementSize(ele);

			if (_params.flashvars) {
				for (var p in _params.flashvars){
					flashvars[p] = _params.flashvars[p];
				}
			}

			flashvars.titre	= this.rewriteHTML(t);

			this._embedElementBySWF(_params.swf, _params.id, dimensions.width, dimensions.height, _params.version, flashvars, _params.flashparams);
		}
	},

	_embedElementBySWF : function(swf, id, width, height, version, vars, params) {
		if (swfobject && swfobject.embedSWF) {
			swfobject.embedSWF(swf, id, width, height, version, "/_swf/expressInstall.swf", vars, params);
		}
	},

	getElementSize : function(ele) {
		return {width: ele.offsetWidth, height: ele.offsetHeight}
	},

	getInnerHTML : function(ele) {
		return ((ele.innerHTML) ? ele.innerHTML : '');
	},
	
	rewriteHTML : function(str) {
		str.replace('/%/g', '%25');
		str.replace("/'/g", '%27');
		str.replace('/"/g', '%22');
		str.replace("/+/g", '[plus]');
		str.replace('/&amp;/g', '[and]');
		str.replace('/&/g', '[and]');
		str.replace('/ /g', '%20');
		return str;
	}
}

TitleToFlash = function(){}
TitleToFlash();

TitleToFlash.getElementSize = function(e){
	w = e.offsetWidth;	
	h = e.offsetHeight;	
	return {w:w,h:h};
}	

TitleToFlash.updateTitles = function(level,swf,vars,wPlus,hPlus){	

	titlesListe = document.getElementsByTagName(level);
	nbTitles = titlesListe.length;
	n = 0;
	
	while(n < nbTitles){
		title = titlesListe[n];
		if(title.className != "noflash"){
			//dim = this.getElementSize(title.parentNode);
			dim = this.getElementSize(title);
			
			if(wPlus)
				dim.w = dim.w + wPlus
				
			if(hPlus)
				dim.h = dim.h + hPlus
			
			texte = title.innerHTML.split("%").join("%25");	
			texte = texte.split("'").join("%27").split('"').join("%22");
			texte = texte.split("+").join("[plus]");
			texte = texte.split("&amp;").join("[and]");
			texte = texte.split("&").join("[and]");

//			alert(texte);	
			
			divID = "flash_"+level+"_" + n;
			
			title.innerHTML = "<span class=\"titleToFlash_print\">" + title.innerHTML + "</span><div id=\""+divID+"\">"+divID+"</div>";			
			
			var flashvars = {};
				flashvars.w = dim.w;
				flashvars.h = dim.h;
				flashvars.idFlash = divID;
				flashvars.titre = texte;
				
				var params = {};
				params.swLiveConnect 		= "true";
				params.allowScriptAccess 	= "always";
				params.wmode				= "transparent";
				//params.bgcolor = "#990000";
						
			for(a in vars){			
				flashvars[a] = vars[a];
			}	

			swfobject.embedSWF(swf, divID, dim.w, dim.h, "8", "/_swf/expressInstall.swf",flashvars,params);
		}
		
		n++;	
	}
	
	
}

TitleToFlash.updateDiv = function(containerID,titre,color,link){	
	var flashvars = {};
	flashvars.titre 		= titre;
	flashvars.link 			= link;
	flashvars.color 		= color;
	
	var params = {};
	params.swLiveConnect 		= "true";
	params.allowScriptAccess 	= "always";
	params.wmode			= "transparent";
	swfobject.embedSWF("/_swf/h2Home.swf", containerID, "255", "30", "9", "/_swf/expressInstall.swf",flashvars,params);	
}

TitleToFlash.updateDiv2 = function(id, color, link){
	var ele = document.getElementById(id);
	
	if (ele && ele.innerHTML) {
		var flashvars = {};
		flashvars.titre 		= ele.innerHTML;
		flashvars.link 			= link;
		flashvars.color 		= color;

		var params = {};
		params.swLiveConnect 		= "true";
		params.allowScriptAccess 	= "always";
		params.wmode			= "transparent";
		swfobject.embedSWF("/_swf/h2Home.swf", id, "255", "30", "9", "/_swf/expressInstall.swf",flashvars,params);
	} else {
		ele.parentNode.removeChild(ele);
	}
}
