	// Init the XMLHttpRequest object
	var xmlhttp = null; 

	// Main Flash Tracking Function
	function trackFlash() {

		var result = "";

		// if arguments have been passed in
		// this allows multiple objects to be passed in
		if (arguments.length > 0) {
			// loop over the arguments
			for (var i=0; i<arguments.length; i++) {
				// set current argument to a local var for simplicity
				var currentObj = arguments[i];

				var isDcs = false;
				
				// loop over properties in the object
				for (var j in currentObj) {
					if (j.indexOf('WT_')==0){
						isDcs = true;
						WT[j.substring(3)] = currentObj[j];
					}
					else if (j.indexOf('DCS_')==0){
						isDcs = true;
						DCS[j.substring(4)] = currentObj[j];
					}
					else if (j.indexOf('DCSext_')==0){
						isDcs = true;
						DCSext[j.substring(7)] = currentObj[j];
					}
					else if (j.indexOf('traknet')==0){
						// if this is being tracked to traknet, make the http call to the traknet URL
						getURL(currentObj[j], null, true);
					}
					else if (j.indexOf('newwindow')==0) {
						// if this is a new window call, then open the window
						window[currentObj[j]]();
					}
					else if (j.indexOf('atlas')==0) {
						// if atlas tag passed, make the atlas tag call
						tagCall(currentObj[j]);    // func in popups.js
					}

				}

				// isDcs = true if WT_, DCS_, and/or DCSext_ was found
				if (isDcs) {
					// Call the SDC server for this tracking call
					var dCurrent=new Date();
					DCS.dcsdat=dCurrent.getTime();
					dcsFunc("dcsCookie");
					dcsTag();
				}
			}
		}
		
	} // trackFlash()


	function getURL(url, callback, isAsync)
	{
		// if the request is already executing then stop it (executing means in  a state
		// other than 0 (uninitialized) or 4 (completed).
		if (xmlhttp != null) {
			if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0)
				xmlhttp.abort();
		}
		
		xmlhttp = createRequest();
		if (xmlhttp != null) {
			xmlhttp.open("GET", url, isAsync);
			xmlhttp.onreadystatechange=callback;
			xmlhttp.send(null);
		}
	} // getURL()

	
	function createRequest()
	{
		var reqObj = null;
		try {
			reqObj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (err)	{
			try {
				reqObj = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (err2) {
				try {
					reqObj = new XMLHttpRequest();
				}
				catch (err3) {
					reqObj = null;
				}
			}
		}
		return reqObj;
	} // createRequest()
	

	// creates the 1x1 tracking pixels for the home page and deeplink pages for tracking into traknet
	function writeToTraknet(imageSrc) {
		var dteNow = new Date();
		var currentTime = dteNow.getTime();
		var imgTag = '<div><img src="' + imageSrc;
		if (imageSrc.indexOf('?') >= 0) {
			imgTag = imgTag + '&';
		} else {
			imgTag = imgTag + '?';
		}
		imgTag = imgTag + 'rnd=' + currentTime + '" width="1" height="1" alt="" /></div>';
		document.write(imgTag);
	}
	