﻿
/**
  * MSML.tracking 
  * 
  * @description
  * Microsoft Live Messenger Portal tracking related functions
  
  * 
  * @copyright       Neue Digitale / Razorfish 
  * @author          martin.krause@neue-digitale.de
  * @version         1.0
  *
  * @revision        $Revision$
  * @lastmodified    $Date$
  *
  * @jslint			    2009-01-28
  *
  */


MSLM.tracking = {
	
	__version: 1.0, // class version 
	__class: 'MSLM.tracking', // class name
	 
	// set default options
	_oDefaults: {
 
	},
 
	 	 
	/**
	 * Setup
	 * @param {Object} [oOptions], Options
	 * @return {Void}
	 */
	_setUp: function (oOptions) {
		var _scope = MSLM.tracking;
		// merge options and defaults
		_scope._oOpt = jQuery.extend({},_scope._oDefaults, oOptions);
		_scope._oDefaults = null;
       // replace dom elements 
       _scope._doSocialBar();
       //window.setTimeout(MSLM.tracking. _doFixGIMAS,1000);
	},
   
    
	/**
	 * Removes GIMAS-related tracking code from selected elements
	 * @return {void}
	 */
	_doSocialBar : function () {
		// cylce stored flash movies
		//    // socialbar
		jQuery("#bookmarks a").each(
			function() {
				var _sHref= jQuery(this).attr('href');
				var _sURL = document.URL.replace(/\?n=?.*/g,'');
				_sHref  = _sHref.replace("[page]", _sURL).replace("[title]", encodeURIComponent(document.title));
				jQuery(this).attr('href',_sHref);
		}	);
//		jQuery('#bookmarks a').each(
//			function(i,item){ 
//				// check for element
//				
//				var _sHref = jQuery(item).attr('href');
//				// remove ?n= if its deep inside the href
//				if ( _sHref.indexOf('?n') !== -1 && ( _sHref.indexOf('?n') < _sHref.lastIndexOf('&') ) ) {
//					var _sSanatized = jQuery(item).attr('href').replace(/\?n=?.*?\&/g,'&');
//					jQuery(item).attr('href', (_sSanatized))
//				} 
//				// remove ?n= if it's the last param 
//				if ( _sHref.indexOf('?n') !== -1 && ( _sHref.indexOf('?n') > _sHref.lastIndexOf('&') ) ) {
//					var _sSanatized = jQuery(item).attr('href').replace(/\?n=?.*/g,'');
//					jQuery(item).attr('href', (_sSanatized))
//				} 
//				
//			}
//		)
 	},
	
	/*
	* gimasTracking
	* @param (String) 
	*/
	gimasTracking: function(str) {
	    //console.log("gimastracking: "+str);
	    doTracking(str, "");
	},
	
	 /**
	 * Constructor
	 * @param {Object} [oOptions]
	 * @constructor
	 */
	initialize: function (oOptions) {
		// fake singleton
		if (MSLM.tracking._oOpt) {
			return MSLM.tracking;
		}
		// setup 
		MSLM.tracking._setUp(oOptions);
		// fake singleton
		return MSLM.tracking;
	}
};

// initialize onDOMReady
jQuery(document).ready(MSLM.tracking.initialize);
//jQuery(window).load(MSLM.tracking.initialize);
