
/*
FILE CONCAT ADD FILE
PATH: /ft/resources/client/modules/glossary/TermDefinition.js
*/

var TermDefinition = function() {
}


TermDefinition.prototype.init = function() {
	this.termDefinitionText = Element.parseSelector('DIV.termDefinitionText', 'wsod', 'first');

	if (this.termDefinitionText) {
		this.getAnchorTags();
		this.getFlashTags();
		this.getMovieTags();
	}
}

TermDefinition.prototype.getAnchorTags = function() {
	var linkTags = Element.parseSelector('A!reference', this.termDefinitionText);

	Element.setAttribute(linkTags, 'target', '_blank');
}

TermDefinition.prototype.getFlashTags = function() {
    var flashTags = Element.parseSelector('span.flash', this.termDefinitionText);
    var flashHolders = Element.parseSelector('div.flashHolder', this.termDefinitionText);
	var aFlashObjects = [];
	var oFlashObject = {};
	var flashHTML = [];
	
	if(flashTags.length > 0){
		for (var i = 0; i < flashTags.length; i++){
			aFlashObjects.push(
				oFlashObject["FlashObj"] = {
					"height" : flashTags[i].getAttribute("height"),
					"width" : flashTags[i].getAttribute("width"),
					"data" : flashTags[i].getAttribute("data")
				}
			)
		}
			
		Element.remove(flashTags)
		
		for (var i=0; i < aFlashObjects.length; i++){
			var obj = aFlashObjects[i]
			
			flashHTML.push(
				'<object data="',obj.data,'" type="application/x-shockwave-flash" width="',obj.width,'" height="',obj.height,'" wmode="opaque">',
					'<param name="movie" value="',obj.data,'"></param>',
				'</object>'
			)
	
		}

		for (var j = 0; j < flashHolders.length; j++) {
		    Element.setHTML(flashHolders[j], flashHTML.join(''))
		}
	}

}

TermDefinition.prototype.getMovieTags = function() {
    var movieTags = Element.parseSelector('span.movie', this.termDefinitionText);
    var movieHolders = Element.parseSelector('div.movieHolder', this.termDefinitionText);
    var aFlashObjects = [];
    var oFlashObject = {};
    var flashHTML = [];

    if (movieTags.length > 0) {
        for (var i = 0; i < movieTags.length; i++) {
            aFlashObjects.push(
				oFlashObject["FlashObj"] = {
				    "height": movieTags[i].getAttribute("height"),
				    "width": movieTags[i].getAttribute("width"),
				    "data": movieTags[i].getAttribute("data")
				}
			)
        }

        Element.remove(movieTags)

        for (var i = 0; i < aFlashObjects.length; i++) {
            var obj = aFlashObjects[i]

            flashHTML.push(
			    '<iframe frameborder="0" class="brightcoveHolder" src="', obj.data, '" height="', obj.height, '" width="', obj.width, '"></iframe>'
			)

        }

        for (var j = 0; j < movieHolders.length; j++) {
            Element.setHTML(movieHolders[j], flashHTML.join(''))
        }

    }

}