/**
* Utilities to support analytics reporting
* 
*/
var analytics = {

	omniture : {
		
		updatePageTracking : function() {
			// update s.prop13 with repeated pageload tracking info
			var pageTypeTracker = document.cookie.match(new RegExp('(^|;) ?pageTypeTracker='+s.prop4+'(\\d+)?(;|$)'));
			var expires = new Date();
			expires.setTime(expires.getTime()+(30*60*1000));
			s.prop13 = s.prop4 + (pageTypeTracker ? (pageTypeTracker[2] ? parseInt(pageTypeTracker[2])+1 : '2') : '');
			document.cookie = 'pageTypeTracker='+s.prop13+'; expires='+expires.toUTCString()+'; path=/';
		},

		
		fakePageView : function( prop4Override ) {
			var save = new Array();
			for ( i in s ) { // save all interesting properties so we can mess around with them
				var member = s[i];
				if ( /^(hier|prop|eVar|page|channel|server|account|event|linkTrackVars)/.test(i) && typeof member == 'string' && /.+/.test(member) ) {
					save[i] = member;
				}
			}
			if ( prop4Override ) { // Page name (prop4) fixup - prop4 is used in pageName,prop3, heir1 ). We do a blind replace, which should be okay
				var depends = [ 'pageName', 'eVar22', 'prop3', 'eVar3', 'hier1', 'prop4', 'eVar4' ]; // copy eVars too as they don't get copied in s_doPlugins if already set
				for ( i in depends ) {
					var d = depends[i];
					if ( d in s )
						s[d] = s[d].replace(save['prop4'],prop4Override);
				}
			}
			this.updatePageTracking();
			void(s.t());
			for(var i in save) { // restore global rubbish
				s[i] = save[i];
			}
		}
	},

	nielsen: {
		fakePageView : function() {
			_rsPageEvent(_rsCG);
		}
	}
};


