/**
 * Discover Spend Analyzer module
 * 
 * @namespace discover
 * @class     discover.spendAnalyzer
 */

/* Silently create the discover namespace if it doesn't exist already */
if (typeof discover === 'undefined') {
	var discover = {};
}

discover.spendAnalyzer = {

	'elementId' : 'spendanalyzer',
	
 	getFontSize : function () {
		 // send font size pref to Flash
		 document.getElementById(discover.spendAnalyzer.elementId).loadFontSize(discover.accountCenter.getFontSize());
	},
	
	setFontSize : function (size) {
		discover.accountCenter.setFontSize(size);
	},
	
	getSortOrder : function () {
		 // send sort order to Flash
		document.getElementById(discover.spendAnalyzer.elementId).loadSortOrder(discover.accountCenter.getSortField(), discover.accountCenter.getSortDescend());
	},
	
	setSortOrder : function (sortField, sortDescend) {
		discover.accountCenter.setSortOrder(sortField, sortDescend);
	},

	resizeSwfContainer : function (height) {
		document.getElementById(discover.spendAnalyzer.elementId).style.height = height+"px";
	},
	
	/* Tracking */

	track : function (page, action, details) { 
		if (details == null) details = {};
		
		details.m_page_name = page;
		details.m_action = action;
		details.m_group_name = "portfolio_publicdemos";
		details.m_media_name = "SpendAnalyzerDemo";
		// NOTE: log and timestamp appended automatically
				
		// append additional info if necessary (note: this implementation is tightly coupled with Flash)
		if (details.cd != null) details.cd = screen.colorDepth;
		if (details.bw != null) details.bw = screen.availWidth;
		if (details.bh != null) details.bh = screen.availHeight;
		if (details.brm != null) details.brm = "Shockwave Flash " + swfobject.getFlashPlayerVersion().major + '.' + swfobject.getFlashPlayerVersion().major + ' r' + swfobject.getFlashPlayerVersion().release;
		
		discover.zig.track(details);
	},
		
	trackFlashVersionError : function () {
		var details = {};
		details.brm = "Shockwave Flash " + swfobject.getFlashPlayerVersion().major + '.' + swfobject.getFlashPlayerVersion().major + ' r' + swfobject.getFlashPlayerVersion().release;
		this.track("FlashDetectError", "FlashVersionError", details);
	},
	
	trackFlashNotDetected : function () {
		var details = {};
		details.brm = "Shockwave Flash " + swfobject.getFlashPlayerVersion().major + '.' + swfobject.getFlashPlayerVersion().major + ' r' + swfobject.getFlashPlayerVersion().release;
		this.track("FlashDetectError", "FlashNotDetected", details);
	}
	
};
