/* **************************************************************
*                         --XJS--	                            *
* Desenvolvedora: Rhianna Cantarelli							*
* Versão: 1.5													*
* Data: 17.05.2007												*
* Email: r.rhianna@yahoo.com.br									*
************************************************************** */







/* **************************************************************
Cria um objeto responsavel por armazenar as propriedades de um 
filme flash para posterior amostra

Métodos: 
	.setObject(thisID, thisClass, thisTitle, w, h) : Inicia objeto com Informações Básicas
	.setQuality(q) : Seta qualidade se ela for diferente do default 'high'
	.setTransparency() : Seta fundo transparente
	.addFlashVars(name, value) : Adiciona uma ou mais flashvars
	
	.showFlash(where) : Adiciona o objeto criado ao local indicado por ID, se...
		where = 'here' adiciona ao mesmo local onde está o código JS
		where = 'alert' mostra a string criada em forma de alert
	
	.fontReplace(getTagByClass, searchTag) : faz a substituição de todo conteudo de
		uma dada tag com determinada classe pelo filme em questão.
		O filme receberá automaticamente uma flashvar chamada 'tagInside' 
		com o valor do conteudo de innerHTML da tag
************************************************************** */






function objFlash(srcSWF){
    
    // Cria Tags 'Param'
    this.createParam = function(nameParam, valueparam) {
        var pReturn = document.createElement('param');
        pReturn.name = nameParam;
        pReturn.value = valueparam;
        return pReturn;
    }

    this.src = srcSWF;
    this.flashvars = '';


    var tagObject = document.createElement('object');
    var tagParamBase = this.createParam('allowScriptAccess', 'sameDomain');
    var tagParamQuality = this.createParam('quality', 'high');
    var tagParamTransparency = this.createParam('wmode', 'transparent');
    var tagParamMovie = this.createParam('movie', srcSWF);
    var tagDivAlternate = xjs_AltFlash;





	// Função que seta dados básicos do Flash - Na tag Object
	this.setObject = function(thisID, thisClass, thisTitle, w, h) {
	    if(thisID != '') { tagObject.id = thisID; }
		if(thisClass != '') { tagObject.className = thisClass; }
		if(thisTitle != '') { tagObject.title = thisTitle; }
		if(w != '') { tagObject.width = w; }
		if(h != '') { tagObject.height = h; }
	};
	this.setQuality = function(q) { tagParamQuality = this.createParam('quality', q); }


    // Controle de FlashVars
	this.addFlashVars = function(name, value) { 
		// Verifica se já há alguma variavel setada e adiciona o '&' para a próxima
		if(this.flashvars != '' && this.flashvars.indexOf('=') != -1) { this.flashvars += '&'; }
		this.flashvars += name +'='+ value;
	};
	this.clearFlashVars = function() { this.flashvars = ''; };


    // Seta o XHTML.
	this.createXHTML = function (isTransparent) {
		// Inicia Tag Object Setando parametros Básicos
		tagObject.appendChild(tagParamBase);
		tagObject.appendChild(tagParamQuality);
		if(isTransparent == true) { tagObject.appendChild(tagParamTransparency); }

		if(xjs_browser.type == 'IE') {
			tagParamMovie = this.createParam('movie', this.src);
		    tagObject.appendChild(tagParamMovie);
			tagObject.classid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
			tagObject.codebase = 'http://www.adobe.com/br/shockwave/download/alternates/';			
		}
		else {
		    tagObject.type = 'application/x-shockwave-flash';
		    tagObject.data = this.src;
		}


		if(this.flashvars != '') { 
		    var tagFlashVars = this.createParam('flashvars', this.flashvars);
		    tagObject.appendChild(tagFlashVars);
		}
	};


	this.showFlash = function(idName, isTransparent) {
		this.createXHTML(isTransparent);

		if(idName == 'alert') { alert(tagObject.innerHTML); }
		else { 
			if (xjs_browser.type != 'IE') { id(idName).appendChild(tagObject); }
			else {
				var div = document.createElement('div');
				div.appendChild(tagObject);
				id(idName).innerHTML = div.innerHTML;
			}
		}
	};
}