var tourAdRefreshRate = 120;  //120;//refresh rate in seconds
var refreshTimer = null;
var adsInitialized = false;
function setTourAdRefreshRate (newRate){
	tourAdRefreshRate = newRate;
}

function resetAdRefreshRate (caseid, playerid){
    if (refreshTimer != null){
    	clearTimeout(refreshTimer);
    }
    refreshTimer = setTimeout('tourSetAds(' + caseid + ', ' + playerid + ')',tourAdRefreshRate *1000);
}

function getPlayerAds(playerid){
  	var returnAds = null;
  	if (shottrackerAds.playerAds != null){
  		for (var i=0; i < shottrackerAds.playerAds.length; i++ ){
  			if (shottrackerAds.playerAds[i].playerid == playerid){
  				returnAds = shottrackerAds.playerAds[i].ads;
  			}
  		}
  	}
	return returnAds;
}

function getViewAds(caseid){
	var returnAds = null
	if (shottrackerAds.viewAds != null){
		for (var i=0; i < shottrackerAds.viewAds.length; i++ ){
  			if (shottrackerAds.viewAds[i].viewid == caseid){
  				returnAds = shottrackerAds.viewAds[i].ads;
  			}		
		}
	}
	return returnAds;
}

function getURLfromAd(adLocation){
	var adText = "";
	var adURL = "";
		var req = new Ajax.Request(adLocation,
			{
				method:'get',
				asynchronous: false,
				onSuccess: function(transport){	
					adText = transport.responseText || "";		
				},
				onFailure: function(transport){
				},
  				onException: function(transport, exception) {
    					throw exception;
  				}				
			}
		);
		/*
		var pattern = /(http:\/\/)(.)+(\")/mi;
		var adURLs = adText.match(pattern);
		adURL = adURLs[0];
		adURL = adURL.substring(0,adURL.indexOf("\""));	
		return adURL;
		*/
		while (adText.charAt(adText.length -1) == " "){
			adText = adText.substring(0,adText.length -1);
		}
		if (adText.indexOf("http://") == -1){
		  	adText = "http://ads.pgatour.com/html.ng/" + adText;	
		} else {
		  var startchar = adText.indexOf("http://");
		  if (startchar != 0){
			adText = adText.substring(startchar,adText.length);
		  }	
		}
		return adText	
}

function isDefaultOnly(){
   return (shottrackerAds.viewAds == null && shottrackerAds.playerAds == null)
}


function tourSetAds(caseid, playerid){
	/****************************************************
		Case Mapping for Omniture Calls
	*****************************************************

	Case Description					Integer 	Uses PlayerID
	=============================================================
	Switch to Player View 				100 		
	Switch to Group View 				200 	 
	Swtich to Playoff View 				300 	 	
	Switch to Player Close Up 			400 	 
	Switch to Group Close Up 			500 	 
	Switch to Course View 				600 	 
	Switch to Custom View 				700 	 

	Player Pinned in Current View*		x10 		playerID
	Player Pinned with Player Locator*		x20 		playerID

	* - x represents a digit
	*****************************************************/	


	var adTags = null;
	var playerAdTags = null;
	var viewAdTags = null;
	if (isDefaultOnly()){
		adTags = shottrackerAds.defaultAds;
	} else {
		//if player closeup view
		if (caseid == 400){
			playerAdTags = getPlayerAds(playerid);
			if ( playerAdTags != null){
				adTags = playerAdTags;
			} else {
				viewAdTags = getViewAds(caseid);
				if (viewAdTags != null){
					adTags = viewAdTags;	
				} else {
					adTags = shottrackerAds.defaultAds;
				}
			}
		} else {
			viewAdTags = getViewAds(caseid);
			if (viewAdTags != null){
				adTags = viewAdTags;
			} else {
				adTags = shottrackerAds.defaultAds;
			}
		}
	}
	//call cnn_ad call for each ad spot
	if (!adsInitialized){
		for (var i=0; i < adTags.length; i++){
			if (adTags[i].adURL == "hidden"){
				cnnad_createChangableRefreshAd(adTags[i].adKey,"hidden");
			} else {
				cnnad_createChangableRefreshAd(adTags[i].adKey,getURLfromAd(adTags[i].adURL));
			}
		}
		adsInitialized = false;
		resetAdRefreshRate(caseid, playerid);
	} else {
		for (var i=0; i < adTags.length; i++){
			if (adTags[i].adURL == "hidden"){
				cnnad_setRefreshAdURL(adTags[i].adKey,"hidden");
			} else {
				cnnad_setRefreshAdURL(adTags[i].adKey,getURLfromAd(adTags[i].adURL));
			}
		}
		resetAdRefreshRate(caseid, playerid);	
	}
}