
bam.extend({

	tracking : (function(){

		var _self = {
			//simulate a page view (tabbed nav etc)
			simOmniturePageView : function() {
				//clear out previous sprop tracking. this may need tweaking later.
				s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
				s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = "";
				s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar19 = s.eVar23 = "";
				s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar17 = s.eVar11 = s.prop44 =  "";
				s.events = "";
				//call pageview track
				s.t();
			},
			
			trackDownload : function(omnitureJson) {
				//clear out previous sprop tracking. this may need tweaking later.
				s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
				s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = "";
				s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar19 = s.eVar23 = "";
				s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar17 = s.eVar11 = s.prop44 =   "";
				s.events = "";
				if(omnitureJson) {
					s.pageName = omnitureJson.pageName ? omnitureJson.pageName : "";
					s.channel = omnitureJson.channel ? omnitureJson.channel : "";
					s.prop1 = omnitureJson.install ? omnitureJson.install : "";
					s.eVar5 = s.pageName;
					if (omnitureJson.callback) {
							omnitureJson.callback();
					}
				}
				//call pageview track
				s.t();
			},
			
			sendOmnitureVarsToFlash : function(instanceName) {
				var fM = document.getElementById(instanceName);
				s.dc = "112";
				s.visitorNameSpace = "";
				//alert("js passing to flash: account= " + s_rsid + " dc=" + s.dc + " pageName=" + s.pageName); 
				fM.configureOmniture(s_rsid,s.dc,s.visitorNameSpace,s.pageName);
			},

			//for benefit of flash
			trackLaunchLink : function(linkURL,jsonOmVars) {
				if (jsonOmVars) {
					_self.track(jsonOmVars);
				}
				linkURL = unescape(linkURL);
				if(linkURL.indexOf("javascript:") != -1) { 
					linkURL = linkURL.replace(/javascript:/, "");
					eval(linkURL); 
				} else { 
					window.location.href = linkURL; 
				}
			},

		 	track : function(omJson,callingObj) {
				if(omJson.async) {
						var props = omJson.async;
						s.prop16 = s.prop17 = "";
						s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = "";
						s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = "";
						s.prop31 = s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.prop45 = s.eVar23 = "";
						s.events = "event2";
						if (props.isDynamic == true) {
							s.prop11 = "Dynamic Page View";
						} else {
							s.prop11 = "";
						}
						s.prop12 = props.compName ? props.compName : ""; 
					  	s.prop13 = s.pageName;
						var cA = props.compActivity ? props.compActivity : "";
						if (cA) {
						 	var isMediaWallLink = /^Panel\s[0-9]+\s-\s(Photo|Kicker|Blurb|Related Link)\sClick$/.test(cA);
							if (isMediaWallLink) {
								s.events += ",event32";
							} else {
								if (/^Auto\sRotate\sPanel\s[0-9]+/.test(cA)) {
									s.events += ",event31";
								} else if (/Next\sClick/.test(cA)) {
									s.events += ",event31";
								} else if (/Circle\s[0-9]+\sClick/.test(cA)) {
									s.events += ",event31";
								} else if (/Previous\sClick/.test(cA)) {
									s.events += ",event31";
								} else if (/Thumbnail\s[0-9]+\sClick/.test(cA)) {
									s.events += ",event31";
								}
							}
						}
						s.prop14 = props.compActivity ? props.compActivity : "";
						s.prop9 = props.Open ? props.Open : "";
						s.prop10 = props.mwContentId ? props.mwContentId : "";
						s.eVar19 = s.prop10;
						if (props.actionGen == true) {
							s.prop15 = "User Generated";
						} else {
							s.prop15 = "System Generated";
						}
						if (omJson.callback) {
							omJson.callback();
						}
						
						// debugging:
						//if (typeof console != "undefined"){
						//console.log("s.prop12="+s.prop12+", s.prop14="+s.prop14+", s.prop10="+s.prop10);
						//}
						
				} 				
				
				if(omJson.async_media) {
        			var props_media = omJson.async_media;
         			s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.eVar17 = s.eVar11 = s.prop44 = s.eVar19 = "";
         			//s.prop38 = s.prop39 = s.prop40 = "";
         			s.prop38 = s.prop39 = s.prop45 = s.eVar23 = "";
         			s.events = "event2,event27";
                                                    
         			s.prop25 = props_media.mediaID ? props_media.mediaID : ""; 
         			s.prop26 = props_media.playerType ? props_media.playerType : "";
         			s.prop27 = props_media.playerContext ? props_media.playerContext : "";
					s.eVar13 = props_media.playerContext ? props_media.playerContext : "";
         			s.prop28 = props_media.contextVersion ? props_media.contextVersion : "";
         			s.prop29 = props_media.streamType ? props_media.streamType : "";
         			s.prop30 = props_media.bitRate ? props_media.bitRate : "";
					//s.prop31 = props_media.ipid ? props_media.ipid : "";
					s.prop31 = (typeof (_uidn) !== "undefined") ? _uidn : "";
					if (props_media.actionGen === true) {
						s.prop32 = "User Generated";
					} else {
						s.prop32 = "System Generated";
					}
					s.prop33 = props_media.sequenceID ? props_media.sequenceID : "Not Available";
					s.prop34 = props_media.cdn ? props_media.cdn : "Not Available";
         			s.prop40 = props_media.postRoll ? props_media.postRoll: "";
					s.prop43 = props_media.playerFlavor ? props_media.playerFlavor : "";
					/*if ((props_media.playerContext == "Media Player") && ((props_media.contextVersion == "3.1") || (props_media.contextVersion == "4.0"))){
						s.prop31 = _uidn ? _uidn : "";
					} else {
						s.prop31 = "";
					}
					*/
         			//s.prop13 = s.pageName;
         			if (omJson.callback) {
        		        omJson.callback();
         			}
				} 
				
				if(omJson.gamedayPremiumConversionTracker) {
						var props = omJson.gamedayPremiumConversionTracker;
						s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
						s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.prop45 = "";
						s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar13 = s.eVar19 = s.eVar23 = "";
						s.events = "";
						
						s.eVar17 = props.feature ? props.feature : ""; //feature that forced the login
						//possible values: Gameday Audio, Video Access or Premium Stats
						s.eVar11 = _uidn ? _uidn : "";
						s.prop44 = props.conversionAction ? props.conversionAction : "";
						
						if (omJson.callback) {
							omJson.callback();
						}
				} 
				
				if (omJson.genericExternalLinkTracker) {
					var props = omJson.genericExternalLinkTracker;
						s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
						s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.prop44 = "";
						s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar13 = s.eVar17 = s.eVar11 = s.eVar19 = s.eVar23 = "";
						s.events = "";
						
						s.prop45 = props.tracked ? props.tracked : "";
						
						if (omJson.callback) {
							omJson.callback();
						}
				}
				
				if(omJson.gamedayLoginSuccess) {
						var props = omJson.gamedayLoginSuccess;
						s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
						s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = s.eVar23 = "";
						s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 = "";
						s.events = "event2,event29";
						
						if (omJson.callback) {
							omJson.callback();
						}
				} 
				
				if(omJson.async_scroll) {
						var props_scroll = omJson.async_scroll;
						s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
						s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = s.eVar23 = "";
						s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 = "";
						s.events = "";
						
						s.prop38 = s.pageName; 
						s.prop39 = props_scroll.clientHeight ? props_scroll.clientHeight : "";
						s.prop40 = props_scroll.yPosition ? props_scroll.yPosition : "";
						if (omJson.callback) {
							omJson.callback();
						}
				} 
				
				if (omJson.wmpOptOut) {
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar23 = "";
					s.prop32 = s.prop33 = s.prop34 =  s.prop43 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 = "";
					s.events = "event5";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				if (omJson.videoComplete) {
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 = s.eVar23 = "";
					s.prop32 = s.prop33 = s.prop34 = s.prop43 =  "";
					
					s.eVar13 = omJson.videoComplete.playerContext ? omJson.videoComplete.playerContext : "";
					s.events = "event2,event28";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				if (omJson.flashDownload) {
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 =  s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 = "";
					s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar23 = "";
					s.events = "event6";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				if (omJson.formSubmit) {
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 =  s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 = "";
					s.prop32 = s.prop33 = s.prop34 = s.prop43 = "";
					s.eVar23 = omJson.formSubmit.formID ? omJson.formSubmit.formID : "";
					s.events = "event45";
					if (omJson.callback) {
							omJson.callback();
					}
				}
				if (omJson.slDownload) {
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 =  "";
					s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar23 = "";
					s.events = "event7";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				if (omJson.nexDefDownload) {
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 =  "";
					s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar23 = "";
					s.events = "event8";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				if (omJson.mosaicDownload) {
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 = "";
					s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar23 = "";
					s.events = "event9";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				
				if (omJson.searchVideoExists) {
					var sve = omJson.searchVideoExists;
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop17 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 =  "";
					s.prop32 = s.prop33 = s.prop34 = s.prop43 = s.eVar23 = "";
					s.events = "";
					s.prop16 = sve.isVideo ? sve.isVideo : "";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				
				if (omJson.searchPagination) {
					var sp = omJson.searchPagination;
					s.prop9 = s.prop10 = s.prop11 = s.prop12 = s.prop13 = s.prop14 = s.prop15 = s.prop16 = "";
					s.prop25 = s.prop26 = s.prop27 = s.prop28 = s.prop29 = s.prop30 = s.prop31 = s.eVar19 = "";
					s.prop38 = s.prop39 = s.prop40 = s.eVar13 = s.eVar17 = s.eVar11 = s.prop44 = s.prop45 =  "";
					s.prop32 = s.prop33 = s.prop34 =  s.prop43 = s.eVar23 = "";
					s.events = "";
					s.prop17 = sp.pageNum ? sp.pageNum : "";
					
					if (omJson.callback) {
							omJson.callback();
					}
				}
				
				var arbitraryObject = new Object();
				arbitraryObject.href="http://myGenericURL";
				if (!callingObj) {
					callingObj = arbitraryObject;
				} 
				
				if (s.prop14) {
				 	s.tl(callingObj,'o',s.prop14);
				} else if (s.prop38) {
					s.tl(callingObj,'o',s.prop38);
				} else if (s.prop44) {
					s.tl(callingObj,'o',s.prop44);
				} else if (s.prop45) {
					s.tl(callingObj,'o',s.prop45);
				} else if (s.prop16) {
					s.tl(callingObj,'o',s.prop16);
				} else if (s.prop17) {
					s.tl(callingObj,'o',s.prop17);
				} else if (s.prop27) {
					s.tl(callingObj,'o',s.prop27);
				} else if (s.eVar23) {
					s.tl(callingObj,'o',s.eVar23);
				} else if (s.eVar13) {
					s.tl(callingObj,'o',s.eVar13);
				} else {
					s.tl(callingObj,'o',s.events);
				}
		 	} //end track function
		}; //end _self variable definition
		return _self;
  })()
});

// bam.asyncTrackType.track(j, function() {
