/************************************
|			WEB OFFERS				|
************************************/
var isProd = (location.hostname.indexOf('turner.com') > 0) ? false : true; //production environment flag

function WebOffers(){
	var url = (isProd) ? 'http://searchapp.sportsillustrated.cnn.com/weboffers/weboffers.jsp' : 'http://srchp1devws1.turner.com:8080/weboffers/weboffers.jsp';
	this.initialize = function(){
		this.conf = {
			url:url,
			args:'itype=wo_cnnsi&cid=time-sportsill&text='+searchTerm+'&domains=cnn.com|turner.com',
			domId:['weboffersContainer','weboffersContainerBottom'],
			funcObj:this.display,
			link:'http://search.sportsillustrated.cnn.com/pages/webOffers.jsp?QueryText='
		};
		this.fetch();
	};
	
	this.fetch = function(){
		var conf = this.conf;
		CSIManager.getInstance().callObject(conf);
	}
	
	this.display = function(obj){
		var conf = WebOffers.getInstance().conf;
		var id = conf.domId;
		var terms = obj.terms;
		var termUrls = obj.terms_urls;
		var content = "";
		if(terms.length > 0){
			var content = "<div class='more'>See Sponsored Links For: ";
			for(var i = 0; i < terms.length; i++){
				content += "<a href=\""+termUrls[i]+"\">"+terms[i]+"</a>"
				if(i < terms.length - 1){ content +=", ";	}
			}
			content +="</div>";
		} 
		return content;
	};
};

WebOffers.__instance__ = null; 

WebOffers.getInstance = function ()
{
	if (this.__instance__ == null) {	this.__instance__ = new WebOffers();	}
	return this.__instance__;
}

/************************************
|			end: WEB OFFERS			|
************************************/

/************************************
|			SPONSORED LINKS			|
************************************/
function SponsoredLinks(){
	this.initialize = function(O){
		try{		var start = readCookie("searchStartAt")[0];	} 
		catch(e){		var start = parseInt(O.startAt);	}
		var max	= parseInt(O.maxResults);	
		var page  = ((start-1)/max)+1;

		params.squery=escapeQuery(searchTerm);  		
		params.snum='6';
		params.sch='time-sportsill';
		params.ssch='time_sportsill_sl';
		params.of='js'; 
		params.callback='SponsoredLinks.getInstance().display';	//called when results are returned 
		params.rv='1.2';
		params.stest=(isProd)?'off':'on';                      				//Set this to "off" for production
		params.spage=page;
		
		get_links();								//fetch the links
		this.domId = ['sponsoredLinksContainer','sponsoredLinksContainerBottom'];
	};
	
	this.display = function(obj){
		if (obj.length > 0) {
			var total = obj.length;
			if( total <= 3 ){
				document.getElementById(this.domId[0]).innerHTML = this.build(obj,0,total);
			} else {
				document.getElementById(this.domId[0]).innerHTML = this.build(obj,0,3);
				document.getElementById(this.domId[1]).innerHTML = this.build(obj,3,total);
			}
		}
	};
	
	this.build = function(obj,start,end){
		var html = new Array();
		html.push('<div class="header">Sponsored Links</div>');
		html.push('<ul>');
		for (var count = start; count < end; count++) {
			if (obj[count]) {
				var result = obj[count];		
				if (result.redirect_url) {
					if(result.title){
						html.push("<li><div>");
						html.push("<a href='"+ result.redirect_url + "'>");
						html.push("<span class='title'><b>" + result.title + "</b></span>");
						html.push("</a>");
						html.push("</div>");
					}
					if(result.d1){
						html.push("<div>");
						html.push("<a href='" + result.redirect_url + "'>");
						html.push("<span class='desc'>" + result.d1 + "</span>");
						html.push("</a>");
						html.push("</div>");
					}
					if(result.url){
						html.push("<div>");
						html.push("<a href='" + result.redirect_url + "'>");
						html.push("<span class='site'>" + result.url + "</span>");
						html.push("</a>");
						html.push("</div>");
					}
					html.push("</li>");
				}
			}
		}
		html.push('</ul>');
		return html.join('');
	};
}

SponsoredLinks.__instance__ = null; 

SponsoredLinks.getInstance = function ()
{
	if (this.__instance__ == null) {	this.__instance__ = new SponsoredLinks();	}
	return this.__instance__;
}
/************************************
|		end: SPONSORED LINKS		|
************************************/