﻿
/**
  * MSML.flash 
  * 
  * @description
  * Microsoft Live Messenger Portal flash related functions
  
  * 
  * @copyright       Neue Digitale / Razorfish 
  * @author          martin.krause@neue-digitale.de
  * @version         1.0
  *
  * @revision        $Revision$
  * @lastmodified    $Date$
  *
  * @jslint          2009-01-28
  *
  */


MSLM.flash = {
	
	__version: 1.0, // class version 
	__class: 'MSLM.flash', // class name
	 
	// set default options
	_oDefaults: {
 
	},
 
	 
	/**
	 * Setup
	 * @param {Object} [oOptions], Options
	 * @return {Void}
	 */
	_setUp: function (oOptions) {
		var _scope = MSLM.flash;
		// merge options and defaults
		_scope._oOpt = jQuery.extend({},_scope._oDefaults, oOptions);
		_scope._oDefaults = null;
       // replace dom elements 
       this. _doReplaceFlash();
	},
	
 
	/**
	 * Replaces DOM-elements "sSelector" with flash-movies by executing "fnReplace" as 
	 * specified in MSLM.config.aFlashReplace if the element "sSelector" is present.
	 * @return {void}
	 */
	_doReplaceFlash : function () {
		// cylce stored flash movies
		jQuery(MSLM.config.aFlashReplace).each(
			function(i,oItem){ 
				// check for element
				if ( jQuery(oItem.sSelector).size() ) {
					// execute replace function
					new Function(oItem.fnReplace)();
				} 
			}
		);
 	},
	
	 /**
	 * Constructor
	 * @param {Object} [oOptions]
	 * @constructor
	 */
	initialize: function (oOptions) {
		// fake singleton
		if (this._oOpt) {
			return this;
		}
		// setup 
		this._setUp(oOptions);
		// fake singleton
		return this;
	}
};

// initialize onDOMReady
jQuery(function() {
	MSLM.flash.initialize();
});
