
/**
* $Id: Omniture.js 33621 2010-04-08 11:06:22Z iargent $
*@author: eherrera 
*@constructor
*/
function GSI_Tracker_Omniture(){
	
	function F(){};
	F.prototype = new GSI_Tracker;
	
	F.prototype.type = null;
	F.prototype.execute = function(request){
		var _mthis =this;
		
		_mthis.request = request;
		
		_mthis._run(); 
	};
	
	F.prototype._run = function(){
		var _mthis = this;
		_mthis._doExecute('');
	};
	
	F.prototype._doExecute = function(omnitureFileContent){
		var _mthis = this;
		
		var obj = _mthis._evalTrackingLines(_mthis._getTrackingLines());
		if (GSI.functions.count(obj) == 0) return;
		_mthis._clearValues(GSI_Omniture);
		GSI_Omniture = GSI.functions.array_merge(GSI_Omniture, obj);
		void(GSI_Omniture.t());		
	};
	
	F.prototype._evalTrackingLines = function(arrayTags){
		var s={};
		for(var aTag in arrayTags){
			if (aTag == 'indexOf') continue;
			eval(arrayTags[aTag]);
		}
		return s;
	};
	
	F.prototype._getTrackingLines = function(){
		//this method will be overwritten
	};
	
	F.prototype._clearValues = function(obj){
		for (var key in obj){
			var keyVal = key.substr(0,4);
			if (keyVal == 'prop' 
				|| keyVal == 'eVar'
				|| keyVal == 'g_eV'
				|| keyVal == 'g_pr') obj[key] = "";			
		}
		obj.pageName = "";
		obj.g_pageName = "";
		obj.channel = "";
		obj.g_channel = "";
		obj.events = "";
		obj.g_events = "";
		obj.products = "";		
		obj.g_products = "";
		obj._purchaseID = "";
	};
	
	return new F;
};
