/**
 * maps category ID to its search string, what to display in the main playlist area, and the ID of the element to be highlit when its selected
 */
var nbaChannelConfig = {
	'wnba': [
		{key:'All Videos', team_name:'', search_string:'section=wnba/*', display:'All Videos', nav_id:'leftnav_All_Videos'},
		{key:'Highlights', team_name:'league', search_string:'section=wnba/league', display:'Highlights', nav_id:'leftnav_Highlights'},
		{key:'Editor\'s Picks', search_string:'editor_pick=yes', display: 'Editor\'s Picks', nav_id: 'leftnav_Editor_s_Picks'},
		{key:'Atlanta Dream', team_name:'dream', search_string:'section=wnba/*&team=Atlanta%20Dream', display:'Atlanta Dream', nav_id:'leftnav_Atlanta'},
		{key:'Chicago Sky', team_name:'sky', search_string:'section=wnba/*&team=Chicago%20Sky', display:'Chicago Sky', nav_id:'leftnav_Chicago'},
		{key:'Connecticut Sun', team_name:'sun', search_string:'section=wnba/*&team=Connecticut%20Sun', display:'Connecticut Sun', nav_id:'leftnav_Connecticut'},
		{key:'Indiana Fever', team_name:'fever', search_string:'section=wnba/*&team=Indiana%20Fever', display:'Indiana Fever', nav_id:'leftnav_Indiana'},
		{key:'Los Angeles Sparks', team_name:'sparks', search_string:'section=wnba/*&team=Los%20Angeles%20Sparks', display:'Los Angeles Sparks', nav_id:'leftnav_Los_Angeles'},
		{key:'Minnesota Lynx', team_name:'lynx', search_string:'section=wnba/*&team=Minnesota%20Lynx', display:'Minnesota Lynx', nav_id:'leftnav_Minnesota'},
		{key:'New York Liberty', team_name:'liberty', search_string:'section=wnba/*&team=New%20York%20Liberty', display:'New York Liberty', nav_id:'leftnav_New_York'},
		{key:'Phoenix Mercury', team_name:'mercury', search_string:'section=wnba/*&team=Phoenix%20Mercury', display:'Phoenix Mercury', nav_id:'leftnav_Phoenix'},
		{key:'San Antonio Silver Stars', team_name:'silverstars', search_string:'section=wnba/*&team=San%20Antonio%20Silver%20Stars', display:'San Antonio Silver Stars', nav_id:'leftnav_San_Antonio'},
		{key:'Seattle Storm', team_name:'storm', search_string:'section=wnba/*&team=Seattle%20Storm', display:'Seattle Storm', nav_id:'leftnav_Seattle'},
		{key:'Tulsa Shock', team_name:'shock', search_string:'section=wnba/*&team=Tulsa%20Shock', display:'Tulsa Shock', nav_id:'leftnav_Tulsa'},
		{key:'Washington Mystics', team_name:'mystics', search_string:'section=wnba/*&team=Washington%20Mystics', display:'Washington Mystics', nav_id:'leftnav_Washington'}
	]
};


/**
 * maps CMS sections to Leftnav configs - need this extra step so that multiple CMS sections can
 * be mapped to a category / subcategory
 */
var nbaVideoSectionConfig = {
	'default.default': 'All Videos',
	'wnba.default': 'All Videos',
	'wnba.highlights': 'Highlights',
	'editorspicks.default': 'Editor\'s Picks',
	'wnba.dream': 'Atlanta Dream',
	'wnba.sky': 'Chicago Sky',
	'wnba.sun': 'Connecticut Sun',
	'wnba.fever': 'Indiana Fever',
	'wnba.sparks': 'Los Angeles Sparks',
	'wnba.lynx': 'Minnesota Lynx',
	'wnba.liberty': 'New York Liberty',
	'wnba.mercury': 'Phoenix Mercury',
	'wnba.silverstars': 'San Antonio Silver Stars',
	'wnba.storm': 'Seattle Storm',
	'wnba.shock': 'Tulsa Shock',
	'wnba.mystics': 'Washington Mystics'
};

/* Ad Section Config = maps ad key to section in freewheel*/
var nbaCVPAdConfig = {
	'adSectionMap': {
		'wnba.default':'wnba.com_main'
	}
};

function getChannel(team, key) {
	if (!(nbaChannelConfig[team])) {
		return '';
	}
	var channels = nbaChannelConfig[team];
	var ct = channels.length;
	for (var i=0; i < ct; i++) {
		if (channels[i]['key'] == key) {
			return channels[i];
		}
	}
	return '';
}
function getTeamSearchString(team, key) {
	var teamkey = getChannel(team, key);
	return (teamkey['search_string']) ? teamkey['search_string'] : '';
}
function getTeamSectionDisplay(team, key) {
	var teamkey = getChannel(team, key);
	return (teamkey['display']) ? teamkey['display'] : '';
}
function channelExists(team, key) {
	var teamkey = getChannel(team, key);
	return (teamkey != '');
}

function getTeamShortName(teamSection) {
	var ct = nbaLeagueTeams.length;
	for (var i=0; i<ct; i++) {
		if (nbaLeagueTeams[i]['section'] == teamSection) {
			return nbaLeagueTeams[i]['shortName']
		}
	}
}
function getTeamFullName(teamSection) {
	var ct = nbaLeagueTeams.length;
	for (var i=0; i<ct; i++) {
		if (nbaLeagueTeams[i]['section'] == teamSection) {
			return nbaLeagueTeams[i]['fullName']
		}
	}
}
function getTeamCode(teamSection) {
	var ct = nbaLeagueTeams.length;
	for (var i=0; i<ct; i++) {
		if (nbaLeagueTeams[i]['section'] == teamSection) {
			return nbaLeagueTeams[i]['teamCode']
		}
	}
}
function getTeamSection(shortName) {
	var ct = nbaLeagueTeams.length;
	for (var i=0; i<ct; i++) {
		if (nbaLeagueTeams[i]['shortName'] == shortName) {
			return nbaLeagueTeams[i]['section']
		}
	}
}
function formatDate(dateUTS) {
	var today = new Date();
	var vidDate = new Date(dateUTS);
	var diffDate = new Date(today - vidDate);
	var dayDiff = Math.round((diffDate.getTime() / 24 / 60 / 60 / 1000));

	if (dayDiff == 0) {
		return 'today';
	} else if (dayDiff < 28) {
		return dayDiff + ((dayDiff > 1) ? ' days' : ' day') + ' ago';
	} else if (dayDiff < 365) {
		var months = Math.round(dayDiff / 30);
		return months + ((months > 1) ? ' months' : ' month') + ' ago';
	} else {
	var dateUnitsString = vidDate.toDateString();
	var arrDate = dateUnitsString.split(' ');
		return arrDate[1] + (arrDate[1] != 'May' ? '. ' : ' ') + arrDate[2] + ', ' + arrDate[3];
	}
}
function formatTime(strTime) {
	var arrT = strTime.split(':');
	if (arrT.length == 2) {
		arrT.unshift('0');
	}
	return padTime(arrT[0]) + ':' + padTime(arrT[1]) + ':' + padTime(arrT[2]);
}
function padTime(val) {
	if ((typeof(val) == 'undefined') || (val.length == 0)) {
		return '00';
	}
	return (val.length == 1) ? '0'+val : val;
}

function truncateString(targetString, maxLength) {
	if (targetString.length > maxLength) {
		var arrString = targetString.split(' ');
		while (arrString.join(' ').length > maxLength) {
			arrString.pop();			
		}
		targetString = arrString.join(' ') + '...';
	}
	return targetString;
}

