	/* PLACEHOLDER FOR LOG CALLS */
	tmp = new Array('toggle','clear','profile','group','groupEnd','time','timeEnd','fatal','trace','traceEnd','error','warn','debug','info','move','resize');	
	if (typeof siLog != 'object') {
		var siLog = new Object();
		for (i=0;i<tmp.length;i++){ 
			siLog[tmp[i]] = function(e){};
		}
		if (typeof console != 'object') {
			var console = new Object();
			for (i=0;i<tmp.length;i++){
				console[tmp[i]] = function(e){};
			}
		}
	}

	var siAds = {};
	siAds.query = location.search;
	siAds.path = location.pathname;
	
	siAds.params = '';
	siAds.getParam = function(p) {
		// if siAds.params not defined yet, define
		if (this.params == '') {
			this.params = {};
			// Break down Params into key vaules in siAds.params
			var params = siAds.query.toLowerCase().replace(/^\?/,'').split('&');
			for (var i = 0; i<params.length; i++) {
				if (params[i].indexOf('=') == -1) { continue; }
				var param = params[i].split('=');
				this.params[param[0]] = param[1];
			}
		}
		if (this.params[p]) {
			return this.params[p];
		} else {
			return false;
		}
	}
	

	siAds.render = function (width,height) {
		siLog.info('siAds.render:'+width+'x'+height);
		var siAdsGo = false;
		var isSpon;
		var invAr = siAds.zoneSort();
		siLog.debug('siAds.render:zone='+invAr);
		if(invAr.match(/\;.*/, "" ))
		{
			invAr = invAr.replace(/\;.*/, "" );
			invAr += '/';
		}
		if(width == 728)
		{
			if(height == 90)
			{
				width = 728;
				siAdsGo = 'true';
				isSpon = 'top';
			}
		}
		if(width == 160 || width == 300)
		{
			if(height == 600)
			{
				siAdsGo = 'true';
				isSpon = 'rgt';
			}
		}
		var siAdsiframe = '<iframe scrolling="no" height="' + height + '" frameborder="0" width="' + width + '" border="0" name="stats' + isSpon + width +'" style="border: 0px none; margin: 0px; padding: 0px;" src="http://sportsillustrated.cnn.com/si_adspaces/3.0/' +  invAr +  isSpon + '.' + width + 'x' + height + '.html"></iframe>';
		siLog.info('siAds.render: ad: /si_adspaces/3.0/' +  invAr +  isSpon + '.' + width + 'x' + height + '.html');
		if(siAdsGo == 'true')
		{
			document.write(siAdsiframe);
		//	document.write('<div style="background-color:#c00;">http://sportsillustrated.cnn.com/si_adspaces/3.0/' +  invAr +  isSpon + '.' + width + 'x' + height + '.html</div>');
		}
	}
	siAds.zoneSort = function () {
		var siQPN = this.query;
		siQPN = siQPN.toLowerCase();
		siQPN = siQPN.replace(/.*\?/, "?" );
		var siCPN = siAds.pageNameCleanup();
		//siLog.debug('siAds.siCPN: ' + siCPN);
		var invAr = new Array();
		var invRe;
		var siQSA = new Array();
		siQSA = siAds.leagueParse(siQPN);
		siCPN = siCPN.split('/');
		//siLog.debug('siAds.siCPN{}: ' + siCPN);
		switch(siCPN[0]) {
			case 'soccerfront': invRe = 'soccer/leagues/' + siAds.putStringTogether('',siQSA);break;
			case 'soccer': invRe = 'soccer'; break;
			case 'tennis': invRe = 'tennis/' + siAds.putStringTogether(siCPN,siQSA); break;
			case 'tennisfront': invRe = 'tennis/' + siAds.putStringTogether('',siQSA);break;
			case 'cfl': invRe = 'cfl';break;
			case 'cricketfront': invRe = 'cricket';break;
			case 'cricket': invRe = 'cricket';break;
			case 'wcbkfront': invRe = 'womens_basketball_ncaa';break;
			case 'wcbk': invRe = 'womens_basketball_ncaa';break;
			case 'wnbafront':  invRe = 'wnba';break;
			case 'wnba': invRe = 'wnba';break;
			case 'racing':  invRe = 'racing';break;
			case 'racingfront': invRe = 'racing/' + siAds.putStringTogether('',siQSA); break;
			case 'mls': invRe = 'soccer/leagues/mls';break;
			case 'arge': invRe = 'soccer/leagues/argentina';break;
			case 'epl': invRe = 'soccer/leagues/england';break;
			case 'fran': invRe = 'soccer/leagues/france';break;
			case 'bund': invRe = 'soccer/leagues/germany';break;
			case 'seri': invRe = 'soccer/leagues/italy';break;
			case 'fmf': invRe = 'soccer/leagues/mexico';break;
			case 'holl': invRe = 'soccer/leagues/netherlands';break;
			case 'scot': invRe = 'soccer/leagues/scotland';break;
			case 'liga': invRe = 'soccer/leagues/spain';break;
			case 'chlg': invRe = 'soccer/leagues/champions';break;
			case 'gold': invRe = 'soccer/leagues/concacaf_gold_cup';break;
			case 'copa': invRe = 'soccer/leagues/copa_america';break;
			case 'lib': invRe = 'soccer/leagues/copa_lib';break;
			case 'sud': invRe = 'soccer/leagues/copa_sud';break;
			case 'eng_ch': invRe = 'soccer/leagues/english_champ';break;
			case 'euro': invRe = 'soccer/leagues/euro_2008';break;
			case 'u20': invRe = 'soccer/leagues/eurpoa_league';break;
			case 'jlg': invRe = 'soccer/leagues/j_league';break;
			case 'worldcup': invRe = 'soccer/leagues/world_cup';break;
			default: invRe = 'ros';break;
		}
		invRe += '/'
		return invRe;
	}
	siAds.putStringTogether = function (siCPN,siQSA) {
		var invRe = '';
		if(siCPN == '') {
			switch(siQSA[1]) {
				case 'nascar': invRe = 'nascar'; break;
				case 'nationwide': invRe = 'nationwide'; break;
				case 'truck': invRe = 'camp_truck_series'; break;
				case 'irl': invRe = 'indy_car'; break;
				case 'form1': invRe = 'formula_one'; break;
				case 'mls': invRe = 'mls'; break;
				case 'arge': invRe = 'argentina'; break;
				case 'epl': invRe = 'england'; break;
				case 'fran': invRe = 'france'; break;
				case 'bund': invRe = 'germany'; break;
				case 'seri': invRe = 'italy'; break;
				case 'fmf': invRe = 'mexico'; break;
				case 'holl': invRe = 'netherlands'; break;
				case 'scot': invRe = 'scotland'; break;
				case 'liga': invRe = 'spain'; break;
				case 'chlg': invRe = 'champions'; break;
				case 'gold': invRe = 'concacaf_gold_cup'; break;
				case 'copa': invRe = 'copa_america'; break;
				case 'lib': invRe = 'copa_lib'; break;
				case 'sud': invRe = 'copa_sud'; break;
				case 'eng_ch': invRe = 'english_champ'; break;
				case 'euro': invRe = 'euro_2008'; break;
				case 'u20': invRe = 'eurpoa_league'; break;
				case 'jlg': invRe = 'j_league'; break;
				case 'worldcup': invRe = 'world_cup'; break;
				case 'atp': invRe = 'atp/main'; break;
				case 'wta': invRe = 'wta/main'; break;
				default: invRe = ''; break;
			}

		}
		if(siCPN[0] == 'tennis') {
			var isLeague = '';
			if (this.getParam('tour')) {
				isLeague = this.getParam('tour')+'/';
			}
			siLog.debug('siAds:tennis league='+isLeague);
			if(siCPN[1] == 'schedule') {
				invRe = isLeague + siCPN[1];
			}
			if(siCPN[1] == 'rankings') {
				invRe = isLeague + 'players/main';
			}
			if(siCPN[1] == 'scoreboard') {
				invRe = isLeague + 'results';
			}
			if(siCPN[1] == 'players') {
				invRe += 'players/';
				switch(siQSA[3]) {
					case '184442': invRe +='rafael_nadal'; break;
					case '262643': invRe +='novak_djokovic'; break;
					case '168149': invRe +='roger_federer'; break;
					case '285323': invRe +='andy_murray'; break;
					case '171564': invRe +='robin_soderling'; break;
					case '168141': invRe +='nikolay_davydenko'; break;
					case '318049': invRe +='juan_martin_del_potro'; break;
					case '230655': invRe +='tomas_berdych'; break;
					case '168202': invRe +='andy_roddick'; break;
					case '184391': invRe +='fernando_verdasco'; break;
					case '272056': invRe +='jo_wilfriend_tsonga'; break;
					case '183795': invRe +='david_ferrer'; break;
					case '319709': invRe +='marin_cilic'; break;
					case '168231': invRe +='mikhail_youzhny'; break;
					case '168290': invRe +='jurgen_melzer'; break;
					case '168177': invRe +='ivan_ljubicic'; break;
					case '276082': invRe +='gael_monfils'; break;
					case '243923': invRe +='nicolas_mlamagro'; break;
					case '395344': invRe +='john_isner'; break;
					case '315432': invRe +='sam_querrey'; break;
					case '168093': invRe +='juan_carlos_ferraro'; break;
					case '442158': invRe +='thomaz_bellucci'; break;
					case '168107': invRe +='fernando_gonzalez'; break;
					case '168113': invRe +='james_blake'; break;
					case '168075': invRe +='lleyton_hewit'; break;
					case '168339': invRe +='serena_williams'; break;
					case '168340': invRe +='venus_williams'; break;
					case '183786': invRe +='maria_sharapova'; break;
					case '183804': invRe +='jelena_jankovic'; break;
					case '315156': invRe +='caroline_wozniacki'; break;
					case '171489': invRe +='samantha_stosur'; break;
					case '168371': invRe +='elena_dementieva'; break;
					case '168424': invRe +='kim_clijsters'; break;
					case '168472': invRe +='francesca_schianvone'; break;
					case '168352': invRe +='vera_zvonereva'; break;
					case '273145': invRe +='na_li'; break;
					case '315096': invRe +='agnieszka_radwanska'; break;
					case '168354': invRe +='justine_henin'; break;
					case '183787': invRe +='flavia_pennetta'; break;
					case '171487': invRe +='marion_bartoli'; break;
					case '244730': invRe +='shahar_peer'; break;
					case '315151': invRe +='yanina_wickmayer'; break;
					case '314934': invRe +='victoria_azarenka'; break;
					case '168466': invRe +='nadia_petrova'; break;
					case '287804': invRe +='aravane_rezai'; break;
					case '171484': invRe +='svetlana_kuznetsova'; break;
					case '168440': invRe +='maria_jose_martinez_sanchez'; break;
					case '282798': invRe +='lucie_safarova'; break;
					case '243909': invRe +='jie_zheng'; break;
					case '168359': invRe +='daniela_hantuchova'; break;
					case '245443': invRe +='alisa_kleybanova'; break;
					default: invRe += ''; break;
				}
			}

		}
		return invRe;

	}
	siAds.leagueParse = function (siQPN) {
		var siQSA = new Array();
		var k=0;
		if(siQPN.indexOf('&') != -1) {
			siQPN = siQPN.split('&');
			var j=siQPN.length;
			for(var i=0; i<j; i++) {
				var secondSplit;
				if(siQPN[i] != '' || siQPN[i] != 'null')
				{
					if(siQPN[i].indexOf('=') != -1)
					{
						secondSplit = siQPN[i].split('=');
						siQSA[k] = secondSplit[0];
						k++;
						siQSA[k] = secondSplit[1];
						k++;
					}
				}
			}
		} else {
			var j = 1;
			if(siQPN.indexOf('=') != -1)
			{
				var secondSplit;
				secondSplit = siQPN.split('=');
				siQSA[k] = secondSplit[0];
				k++;
				siQSA[k] = secondSplit[1];
				k++;
			}
		}
		return siQSA;
	}
	
	/* pageNameCleanup */
	siAds.pageNameCleanup = function () {
		var siPNC = this.path;
		siPNC = siPNC.replace(/[\/]{2,99}/, "/" );
		siPNC = siPNC.replace(/\;.*"/, "\"" );
		siPNC = siPNC.replace(/\.[^.]*$/, "");
		siPNC = siPNC.replace(/^\//, "");
		siPNC = siPNC.replace(/\/$/, "");
		siLog.debug('siAds:cleaned page name:'+siPNC);
		return siPNC;
	}
	function cnnJS(src){document.write('<scr'+'ipt src="'+src+'" type="text/javascript"></scr'+'ipt>'+"\n");}
	function cnnJSrun(js){document.write('<scr'+'ipt type="text/javascript">'+js+'</scr'+'ipt>'+"\n");}
	siAds.tracking = function()
	{
		dynamic_logic();
		rev_science();
		tynt();
		gdyn();
	}

	function gdyn() {
		document.write('<img src="http://i.cdn.turner.com/si/.e/img/4.0/global/pixels/blank_pixel.gif" alt="" id="TargetImageDE" name="TargetImageDE" onload="cnnad_getDEAdHeadCookie(this)" height="1" width="1"> ');
	}

	/* REV_SCIENCE */
	function rev_science(){

		cnnJS('http://js.revsci.net/gateway/gw.js?csid=A09801');
		var out = 'cnnad_sendADMData();'
		cnnJSrun(out);
	}

	/* DYNAMIC LOGIC */
	function dynamic_logic(){
		cnnJS('http://content.dl-rms.com/rms/mother/901/nodetag.js');
	}

	/* TYNT */
	function tynt(){
		cnnJS('http://tcr.tynt.com/javascripts/Tracer.js?user=bso3t6KYer3Qp2ab7jrHtB&s=21');
	}
	
	if (location.search.indexOf('debug=y')>0) {
		cnnJS('http://i.cdn.turner.com/si/.element/js/4.1/global/lib/log4javascript.js');
	}

