ETFOverview = function() {

}




ETFOverview.prototype.init = function(oArgs) {

	Common.renderTDAMButtons("right");

	this.MarketActivityTableContainer = Element.get("MarketActivityTableContainer");
	this.MarketActivityTimestamp = Element.get("MarketActivityTimestamp");

	var expandRankingsList = Element.get("expandRankingsList");
	var collapseRankingsList = Element.get("collapseRankingsList");

	if (expandRankingsList) {
		Events.add({element:expandRankingsList,type:"click",context:this,handler:this.expandRankingsList});
		Events.add({element:collapseRankingsList,type:"click",context:this,handler:this.collapseRankingsList});
	}

	Events.add({element:Element.get("compareFundButton"),type:"click",context:this,handler:this.compareFund});
	Events.add({element:Element.get("compareFundForm"),type:"submit",context:this,handler:this.compareFund});
	Events.add({element:Element.get("compareRankedButton"),type:"click",context:this,handler:this.compareRanked});
	Events.add({element:Element.parseSelector("a","investingClassroomLinks"),type:"click",context:this,handler:this.investingClassroomLinkClicked});


}

ETFOverview.prototype.investingClassroomLinkClicked = function(e,el,data) {
	Events.cancel(e)
	window.open(el.getAttribute("href"),'','width=780,height=550,resizable=1');
}

ETFOverview.prototype.initETF = function(oArgs) {

	this.init();

	this.rankingTabs = Element.parseSelector("li","subtabsContainer");
	this.rankingLinks = Element.parseSelector("a",this.rankingTabs);

	Events.add({element:this.rankingLinks,type:"click",context:this,handler:this.loadRankings});
	

}




ETFOverview.prototype.compareRanked = function(e,el,data) {

	Events.cancel(e);

	// grab the symbol links
	var rankedSymbolLinks = Element.parseSelector('a[href*="symbol="]',this.MarketActivityTableContainer)
	
	// grab the actual symbols
	var symbols = [];
	for (var i=0; i<rankedSymbolLinks.length; i++) {
		symbols.push(rankedSymbolLinks[i].getAttribute("href").match(/symbol=(.*)(&|$)/)[1]);
	}

	// redirect to the compare tool
	var data = {"symbolSingle":"Symbol...","symbolMultiple":symbols.join(", "),"comparedTo":"ETF","currentPage":"compare.asp","tab":"Snapshot","formWasUsed":true,"compareType":"specific"};
	location.href = "../compare/compareResults.asp?tab=Snapshot&data=" + DataFunctions.serialize(data);

}


ETFOverview.prototype.compareFund = function(e,el,data) {

	Events.cancel(e);

	var symbol = Element.get("compareSymbol").value;
	var type = Element.get("compareType").value;

	if (!symbol) {
		alert("Please enter a symbol.");
	}

	var data = {"symbolSingle":symbol,"symbolMultiple":"ex: ACBIX, PWC, RSP, IWB, IWV","comparedTo":type,"currentPage":"compare.asp","tab":"Snapshot","formWasUsed":true,"compareType":"auto"}
	location.href = "../compare/compareResults.asp?tab=Snapshot&data=" + DataFunctions.serialize(data);

}

ETFOverview.prototype.loadRankings = function(e,el,data) {
	el.blur();
	Events.cancel(e);

	this.currentRankingType = el.id;
	this.currentRankingTypeEl = el;


	Common.contentBufferAbortRequests();
	Common.loadContentBuffer({
		page:"rankingsBuffer.asp",
		context:this,
		contentType:"text/html",
		data:{
			rankingType:this.currentRankingType
			,overviewRedesign:true
		},
		onload:this.displayRankings,
		onerror:null
	});

}

ETFOverview.prototype.displayRankings = function(contentBuffer) {

	Element.removeClass(this.rankingTabs,"current");
	Element.removeClass(this.rankingTabs,"highlight");

	Element.addClass(this.rankingTabs,"norefresh");

	var currentTab = Element.getParent(this.currentRankingTypeEl,"li");

	Element.removeClass(currentTab,"norefresh");
	Element.addClass(currentTab,"current");

	var result = contentBuffer.getResult();
	result = result.split("----------");

	Element.setHTML(this.MarketActivityTimestamp,result[0]);
	Element.setHTML(this.MarketActivityTableContainer,result[1]);
	try { initMore(); } catch(e) {}

	Element.removeClass("expandRankingsList","none");
	Element.addClass("collapseRankingsList","none");


}

ETFOverview.prototype.expandRankingsList = function(e,el,data) {

	Events.cancel(e);
	
	el.blur();

	var rows = Element.parseSelector("tr",this.MarketActivityTableContainer);
	Element.removeClass(rows,"none");

	Element.addClass("expandRankingsList","none");
	Element.removeClass("collapseRankingsList","none");

}

ETFOverview.prototype.collapseRankingsList = function(e,el,data) {

	Events.cancel(e);
	
	el.blur();

	var rows = Element.parseSelector("tr",this.MarketActivityTableContainer);
	Element.addClass(rows.splice(6,100),"none");

	Element.removeClass("expandRankingsList","none");
	Element.addClass("collapseRankingsList","none");

}