// collections static vars
var colxId = 49766;
var colxPath = "/cntv/mvpd/services/getCollectionsFull.do?id=" + colxId;
// latest video static vars
var latestPath = "/cntv/mvpd/services/getAllEpisodes.do?offset=0&limit=50&dateInteval=20";
// episodes by collection/show vars
var showsPathPrefix = "/cntv/mvpd/services/getCollectionByContentId.do?offset=0&limit=200&id="
// teaser static vars
var teaseId;
var teasePath;
// page static vars
var pagePath = "http://www.cartoonnetwork.com/tveverywhere/index.html";
// other static stuff
var defaultImgSrc = "http://i.cdn.turner.com/toon/tools/img/pixel.gif";
CVPPlayer = null;
TURNERPLAYER = null;
AUTH = null;
AUTHBOOL = false;
AUTHREADY = false;
WAITINGVIDEO = null;
var video_progressMarker = "0:content";
var video_progressMarkerNum = 0;
var isvideoComplete_flg = false;
var isvidperct100 = false;
var tveModeGlobal = '';
var vidObject = '';
var vidObjectJSON = '';

// redirects ipad and iphone users to app store

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
   window.location = "http://www.cartoonnetwork.com/full-episodes/ios/iphone.html";
} else if ( (navigator.userAgent.match(/iPad/i))) {
   window.location = "http://www.cartoonnetwork.com/full-episodes/ios/ipad.html";
}

// id of the first video to be played
var firstVid = null;
var firstVidState = false;

// retrieve requested video ID from cookie
var cookieName = "cntvDLEpi"
var deepLinkVidId = readCookie(cookieName);

// check query string for deeplink
var qsVid;
var qs = location.toString().substring(location.toString().indexOf('?')+1);
if ((qs != '') && (qs != undefined)) {
	if (qs.indexOf('&') > -1) {
		qsA = qs.split('&');
		for (i = 0; i < qsA.length; i++) {
			tempA = qsA[i].split('=');
			if (qsA[i][0] == "videoID") {
				qsVid = qsA[i][1];
			}
		}
	} else {
		tempArray = qs.split('=');
//		qsVid = tempArray[1];
	}
}

jQuery(document).ready(function() {
	if ((deepLinkVidId != "") && (qsVid == "")) {
		firstVid = deepLinkVidId;
		WAITINGVIDEO = deepLinkVidId;
	} else if (qsVid != "") {
		setCookie(cookieName,qsVid,0)
		firstVid = qsVid;
		WAITINGVIDEO = qsVid;
	} else {
		WAITINGVIDEO = null;
	}
});


var firstVidShow;
var firstVidTitle;
var firstRating;
var currentBitrateId = "";
var isSwitching = false;
var hqBitrateId = "";
var standardBitrateId = "";
var defaultBitRate = "true";
var bitRateJson = "";
var switchingState = "switching";

// saving state for current video
var currentButton = "";

// stuff that starts on page completion
jQuery(document).ready(function() {
	initAuth();

	// page-specific alterations to the global footer
	// hide the dotted-line rule
	jQuery('div.footer img:first').attr('src','http://i.cdn.turner.com/toon/tools/img/pixel.gif');
	// change the font color of the privacy policy link
	jQuery('#legalWrapper a:first').addClass('legalSmallFFF').removeClass('legalSmall');
});

var fwAEVal;
// initialize and render the CVP in the page
function initCVP() {
	jQuery('#presentationBox').css('display','block');
	activeLoadBox = "presentationBox";

	// normal initialization of the CVP player from TNT dev environment
	// on player ready it will init the auth method
	TURNERPLAYER = new CVP({
		id : 'cvp_1',
		width : '968',
		height : '544',
		flashVars : {
			site			: 'cn',
			profile			: '0',
			context			: 'main'
		},
		embed : {
			containerSwf : 'cvp_main_container.swf',
			expressInstallSwf : 'http://i.cdn.turner.com/xslo/cvp/assets/flash/expressInstall.swf',
			flashVersion : '10.1.53.64',
			options : {
				quality : 'high',
				bgcolor : '#000000',
				wmode : 'opaque',
				allowFullScreen : 'true',
				allowScriptAccess : 'always',
				autostart : 'true'
			}
		},
		onCVPReady : function () {
		},
		onPlayerReady : function(playerId) {
			cvpReady = true;
			AUTH.getProvider(function (mvpdobj) {
				var mvpdId;
				if (mvpdobj && mvpdobj.MVPD) {
					mvpdId = mvpdobj.MVPD;
					fwAEVal = jQuery.md5(mvpdId.toLowerCase());
					fwAEVal = fwAEVal.toLowerCase();
					TURNERPLAYER.setAdKeyValue('_fw_ae',fwAEVal);
					TURNERPLAYER.setAdKeyValue('_fw_ar',1);
					if (WAITINGVIDEO != null) {
						playWaitingVideo();
					}
				}
			});
		},
		//Ad Listeners START ::::::::::::::::
		onAdPointsLoaded: function(){
		//nothing
		},
		onIstreamAdCuePoint: function(){
		//nothing
		},
		onAdPrerollUrl: function (){
		//nothing
		},
		onTrackingAdStart: function(){
		//nothing
		},
		onTrackingAdComplete: function(){
		//nothing
		},
		onTrackingAdProgress: function(_playerId,_dataObj){
		if(tveModeGlobal && tveModeGlobal !== "clip"){
		var adObject = {
		tveMode: tveModeGlobal
		};
		if(_dataObj.totalPlayTime){adObject.totalPlayTime = _dataObj.totalPlayTime;}
		if(_dataObj.playheadTime){adObject.playheadTime = _dataObj.playheadTime;}
		if(_dataObj.grossProgressMarker){adObject.grossProgressMarker = _dataObj.grossProgressMarker;}
		if(_dataObj.adTotalPlayTime){adObject.adTotalPlayTime = _dataObj.adTotalPlayTime;}
		TVE_VideoEvent(adObject,"ad-progress");
		}
		},
		onAdPlay: function (_playerId, _token, _mode, _id, _duration, _segmentId, _adType) {
			if(tveModeGlobal && tveModeGlobal !== "clip"){
			var adObject = {
			tveMode: tveModeGlobal,
			mode: _mode,
			id: _id,
			duration: _duration
			};
			if(vidObject.franchise){adObject.franchise = vidObject.franchise;}
			if(vidObject.headline){adObject.headline = vidObject.headline;}
			TVE_VideoEvent(adObject,"ad-start");
			}
			hoverEnabled = false;
			disableHQButton();
		},
		onAdEnd : function(playerId, token, mode, id, segmentId, adType){
			hoverEnabled = true;
			enableHQButton();
		},
		onAdError : function(playerId, errorMsg){},
		onTrackingAdCountdown: function (playerId, dataObj){
			//var adMode = dataObj.adMode;
			if (tveModeGlobal == 'C4'){
			var secs = dataObj.secs;
			var duration = jsmd.TVE.adDuration;
			if (duration>secs && (duration-secs)%60 == 0){
			var adObject = {
			tveMode: tveModeGlobal
			};
			TVE_VideoEvent(adObject,"ad-progress");
			}
			}
		},
		//Ad Listeners END :::::::::::::::::::
		onContentBegin: function (playerId, videoId, json, tveMode) {
			try{
			jsmd.TVE.lastPlayHeadTime= 0;
			jsmd.TVE.nonC3C4adNum = 0;
			jsmd.TVE.allAdIntervlNum = 0;
			jsmd.TVE.isAdStart = false;
			jsmd.TVE.adIntervalsCount = 0;
			jsmd.TVE.adDuration = 0;
			jsmd.TVE.totalAdDurations = 0;
			jsmd.TVE.event22cal = 0;
			jsmd.TVE.prevAdEvent22 = 0;
			}catch(e){}
			vidObjectJSON = TURNERPLAYER.getContentEntry(videoId);
			vidObject = eval('(' + vidObjectJSON.toString().replace(/\n/g,' ').replace(/\r/g,' ') + ')');
			tveModeGlobal = (vidObject.tveMode)?vidObject.tveMode:"";
			if (tveModeGlobal === "") {tveModeGlobal = 'clip'; }
			if (vidObject.tveMode == 'C3') {
			TURNERPLAYER.switchTrackingContext('short_interval_c3');
			} else if (vidObject.tveMode == 'C4') {
			TURNERPLAYER.switchTrackingContext('short_interval_c4');
			} else {
			TURNERPLAYER.switchTrackingContext('clips');
			}
			
			bitRateJson = TURNERPLAYER.getAvailableBitrates('window');
			disableHQButton();
			if (bitRateJson != null) {
				for ( var i = 0; i < bitRateJson.length; i++) {
					if (bitRateJson[i].label == "standard") {
						standardBitrateId = bitRateJson[i].rateId;
					} else if (bitRateJson[i].label == "hq") {
						hqBitrateId = bitRateJson[i].rateId;
					}
				}
			}
		},
		onTrackingContentPlay: function(_playerId,_dataObj){
			try{
				isvideoComplete_flg = false;
				video_progressMarkerNum = 0;
				isvidperct100 = false;
				if(tveModeGlobal != 'clip'){
					var vidObj = {};
					if (typeof(vidObject)=="object"){
					vidObj = vidObject;
					}
					if(_dataObj["length"]){vidObj.duration = _dataObj["length"];}
					if(_dataObj.grossLength){vidObj.grossLength = _dataObj.grossLength;}
					if(_dataObj.totalPlayTime){vidObj.totalPlayTime = _dataObj.totalPlayTime;}
					if(_dataObj.adTotalPlayTime){vidObj.adTotalPlayTime = _dataObj.adTotalPlayTime;}
					TVE_VideoEvent(vidObj, "video-start");
				}
			} catch (e) {}
			},
		onContentPlay: function(playerId, videoId) {
			hoverEnabled = true;
			isvideoComplete_flg = false;
			try{
			if(bIsHD){
				showHDToggleOn();
			}
			if (bitRateJson == null) {
				disableHQButton();
			} else {
				enableHQButton();
			}
			}catch(e){}
		},
		onContentPause : function(playerId, videoId, paused) {
		},
		onContentBitrateChangeEnd : function(playerId, currentBitrateId, maxBitrateId, currentBitrate) {
			timeOutState = false;
			switchHD(currentBitrateId);
		}, 
		onContentComplete : function(playerId, videoId) {
			isvideoComplete_flg = true;
			hoverEnabled = false;
			try{
				if(TURNERPLAYER.bIsFullScreen){
				TURNERPLAYER.goFullscreen();
				}
			}catch(e){}
			playNextInList();
		},
		onContentEntryLoadError : function (playerId, videoId) {

			hideActiveLoadBox();
			jQuery('#presentationBox').css('display','block');
			activeLoadBox = "presentationBox";
			goToPanel('notFoundBox');

		},
		onContentError : function (playerId, videoId) {
/*
			hideActiveLoadBox();
			jQuery('#presentationBox').css('display','block');
			activeLoadBox = "presentationBox";
			goToPanel('notFoundBox');
*/
		},
		onTrackingContentComplete: function(playerId, dataObj){
			if(tveModeGlobal != 'clip'){
				var vidObj = {};
				if (typeof(vidObject)=="object"){
					vidObj = vidObject;
				}
				isvideoComplete_flg = true;
				if(dataObj.percent){vidObj.percent = dataObj.percent;}
				if(dataObj.totalPlayTime){vidObj.totalPlayTime = dataObj.totalPlayTime;}
				if(dataObj.playheadTime){vidObj.playheadTime = dataObj.playheadTime;}
				if(dataObj.progressMarker){vidObj.progressMarker = dataObj.progressMarker;}
				if(dataObj.grossProgressMarker){vidObj.grossProgressMarker = dataObj.grossProgressMarker;}
				if(dataObj.adTotalPlayTime){vidObj.adTotalPlayTime = dataObj.adTotalPlayTime;}
				TVE_VideoEvent(vidObj,"video-complete");
			}
		},
		onContentTrackingFullscreen : function(playerId, dataObj) {
			hoverEnabled = false;
			TURNERPLAYER.bIsFullScreen == true ? TURNERPLAYER.bIsFullScreen = false : TURNERPLAYER.bIsFullScreen = true;
		},
		onContentTrackingAdProgress:function(playerId, dataObj){
			var e = "";
		},
		onContentTrackingComplete: function (playerId, dataObj){
			var e = "";
		},
		onTrackingContentProgress: function(playerId, dataObj) {
			if(tveModeGlobal != 'clip'){
				var vidObj = {};
				if (typeof(vidObject)=="object"){
					vidObj = vidObject;
				}
				if(!isvideoComplete_flg){
					if(dataObj.percent){vidObj.percent = dataObj.percent;}
					if(dataObj.totalPlayTime){vidObj.totalPlayTime = dataObj.totalPlayTime;}
					if(dataObj.playheadTime){vidObj.playheadTime = dataObj.playheadTime;}
					if(dataObj.progressMarker){vidObj.progressMarker = dataObj.progressMarker;}
					if(dataObj.grossProgressMarker){vidObj.grossProgressMarker = dataObj.grossProgressMarker;}
					if(dataObj.adTotalPlayTime){vidObj.adTotalPlayTime = dataObj.adTotalPlayTime;}
					TVE_VideoEvent(vidObj,"video-progress");
				}
			}
		}
	});
	TURNERPLAYER.embed("playerarea");

}

// initials authorization
function initAuth() {
	// the auth init is done in the same 'style' as the CVP init
	AUTH = new CVP.AuthManager({
		adobeSwfURL: "https://entitlement.auth.adobe.com/entitlement/AccessEnabler.swf",
		clientId: "CartoonNetwork",
//		closeButtonStyleOverride: 'tveCloseButton',
		swfStyleOverride: {
			height: 5,
			width: 5,
			style: "z-index: 500; position: absolute; left: 0px; top: 0px; width:5px; height:5px; border: 1px white;"
		},
		providerWhitelist : {
			Verizon : true,
			Cox : true,
			Comcast: true,
			ATT: true,
			Dish: true,
			DTV: true,
			Suddenlink: true,
			Cablevision: true,
			WOW: true,
			Bend: true,
			MassillonCableTV: true,
			Charter: true
		},
		onCustomMVPDPicker : function(props) {
//			AUTH.defaultPropertyPicker(props);
			displayProviderPicker(props);
		},
		onInitReady : function() {
			AUTHREADY = true;
			AUTH.isAuthenticated();
			initData();
		},
		onAuthenticationPassed : function() {
			AUTHBOOL = true;
			authPassed();
		},
		onAuthenticationFailed : function() {
			AUTHBOOL = false;
			authFail();
		},
		onAuthorizationPassed : function(resource) {
			AUTHBOOL = true;
			if (cvpReady) {
				playWaitingVideo();
			}
		},
		onAuthorizationFailed : function(resourceID, errorCode, errorString) {
			authZFail();
			AUTHBOOL = false;
		},
		onTrackingData : function(trackingEventType,trackingData) {
		    switch (trackingEventType) {
		        case "authorizationDetection" :
		            /*  [0] Whether the token request was successful [true/false]
		             *       and if true:
		             *  [1] MVPD ID [string]
		             *  [2] User ID (md5 hashed) [string]
		             *  [3] Whether it was cached or not [true/false]
		             */
		            // DEBUG
		            if (logAdobe) {alert("trackingEventType = " + trackingEventType + "; " + trackingData);}
		            // populate Omniture Metrics
		            if (trackingData[0] == true) {
		                // if cached == true
		                if(trackingData[3] == true) {
		                    trackAlreadyLoggedInPage(trackingData);
		                } else {
		                    // else just redirected back from authorization
		                    trackAuthenticationComplete(trackingData);
		                }
		            } else {
		                if (!hasSetFirstMetric) {
		                    // populate Omniture Metrics
		                    trackNotLoggedInPage();
		                    hasSetFirstMetric = true;
		                }
		            }
		        break;
		        case "authenticationDetection" :
		            /*  [0] Whether the token request was successful [true/false]
		             *       and if true:
		             *  [1] MVPD ID [string]
		             *  [2] User ID (md5 hashed) [string]
		             *  [3] Whether it was cached or not [true/false]
		             */
					if (trackingData[0] == true) {
						setState = true;
						// if cached == true
						if (trackingData[3] == true) {
							trackAlreadyLoggedInPage(trackingData);
						} else {
							// else just redirected back from authorization
							trackAuthenticationComplete(trackingData);
						}
						hasSetFirstMetric = true;
					} else {
						if (!hasSetFirstMetric) {
							// populate Omniture Metrics
							trackNotLoggedInPage();
							hasSetFirstMetric = true;
						}
					}
		        break;
		        case "mvpdSelection" :
		            /*  [0] MVPD ID */
		            // DEBUG
		            try{
		            	if (logAdobe) {alert("trackingEventType = " + trackingEventType + "#1; " + trackingData);}
		            }catch(e){}
		            // populate Omniture Metrics
		            trackAuthenticationStart(trackingData);
		            try{
		            	if (logAdobe) {alert("trackingEventType = " + trackingEventType + " #2; " + trackingData);}
		            }catch(e){}
		        break;
		        default:
		            //alert("trackingEventType = " + trackingEventType + "; " + trackingData);
		        break;
			}
		}
	});
}

function getAuthorization(videoId) {
	playListVideo = videoId;
	// save off the waiting video
	if (AUTHREADY) {
		WAITINGVIDEO = videoId;
		if (AUTHBOOL) {
			AUTH.getAuthorization("CartoonNetwork");
		} else {
			// if the user isn't authenticated yet, call the authentication piece
			// even though we know it's just calling authorization on the backside
			// saveVideoCookie(videoId);
			AUTH.getAuthentication("CartoonNetwork");
		}
	}
}

function playWaitingVideo() {
	if (AUTHREADY) {
		// we must've already been authenticated, grab the token and play the video

		TURNERPLAYER.play(WAITINGVIDEO, AUTH.getAccessToken());
	} else {
		deepLinkAuth(WAITINGVIDEO);
	}
}

function authenticateUser() {
	if (AUTHREADY) {
		// get the auth login
		if ((document.getElementById('cvp_props') == null) || (document.getElementById('cvp_props').style.display != "block")) {
			AUTH.getAuthentication('CartoonNetwork');
		}
	}
}

function authPassed() {
	hideActiveLoadBox();

	jQuery('#logoutBtnBox').css('display','block');

    AUTH.getProviderID(function (provider) {
        htmlString = '<div>in partnership with: </div>';
        if (provider === "Comcast") {
            htmlString += '<a href="/redirects/third/index_exclude.html?http://www.xfinitytv.com" target="_new"><img src="/full-episodes/tools/img/partners/xfinity.png" width="73" height="31" alt="" border="0"></a>';
        } else if (provider === "Verizon") {
            htmlString += '<img src="/full-episodes/tools/img/partners/verizon.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "Cox") {
            htmlString += '<img src="/full-episodes/tools/img/partners/cox.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "ATT") {
            htmlString += '<img src="/full-episodes/tools/img/partners/att.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "Dish") {
            htmlString += '<img src="/full-episodes/tools/img/partners/dish.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "DTV") {
            htmlString += '<img src="/full-episodes/tools/img/partners/directtv.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "Suddenlink") {
            htmlString += '<img src="/full-episodes/tools/img/partners/suddenlink.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "Charter") {
            htmlString += '<img src="/full-episodes/tools/img/partners/charter.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "Cablevision") {
            htmlString += '<img src="/full-episodes/tools/img/partners/cablevision.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "Bend") {
            htmlString += '<img src="/full-episodes/tools/img/partners/bend.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "WOW") {
            htmlString += '<img src="/full-episodes/tools/img/partners/wow.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "MassillonCableTV") {
            htmlString += '<img src="/full-episodes/tools/img/partners/mctv.png" width="73" height="31" alt="" border="0">';
        } else if (provider === "CPI") {
            htmlString += '<img src="/full-episodes/tools/img/partners/cpi.png" width="73" height="31" alt="" border="0">';
        } else {
            htmlString = '<img src="http://i.cdn.turner.com/toon/tools/img/pixel.gif" width="73" height="31" alt="" border="0">';
        }
        jQuery('#providerBrandingBox').html(htmlString).css('display','block');
    });
	jQuery('#providerBrandingBox').css('display','block');
	jQuery('#smLoginBox').css('display','none');
	jQuery('#adBox').css('display','block');
	if (firstVid != null) {
		getAuthorization(firstVid);
	}
	jQuery('#overlayBox').css('margin-top','-544px');
	initCVP();
}
function authFail() {
	hideActiveLoadBox();
	initCNVP();

	jQuery('#logoutBtnBox').css('display','none');
	jQuery('#providerBrandingBox').html('');
	jQuery('#smLoginBox').css('display','block');
	jQuery('#adBox').css('display','none');
}

function authZFail() {
	hideActiveLoadBox();
	initCNVP();

	preError();
/*
	if (AUTHBOOL) {
		if (errorString != undefined && errorString != "") {
			jQuery.facebox(errorString);
		} else {
			jQuery.facebox('You are not authorized to view this content. Please contact your TV provider for further assistance.');
		}
	}
*/
}

var activeLoadBox = "loadingBox";
function hideActiveLoadBox() {
	str = "#" + activeLoadBox;
	jQuery(str).css('display','none');
}
 
function initPropertyVideo(p_showID, p_freeWheelSectionID, p_pageUrl){

	VideoAchievementModule.init("74396");
	VideoPlayer.init("/tools/media/videoplayers/videoplayer_640x360.swf", "http://www.cartoonnetwork.com/tools/xml/player_configs/player_noads.xml", "640", "360");
	VideoPresentation.init(10);
	VideoData.init(p_showID, p_freeWheelSectionID, p_pageUrl);


}
	var pID = "8a250ab0317159d201318afcdeea027d";
	var pfreeId = "cn.com_shows_adventure_time";
	var ppageUrl = "http://www.cartoonnetwork.com/full-episodes/index.html";
function initCNVP() {
	jQuery('#welcomeBox').css('display','block');
	activeLoadBox = "welcomeBox";

	initPropertyVideo(pID, pfreeId, ppageUrl);
}

var colxDataArray = [];
// retrieve and process the initial data
function initData() {
	jQuery.ajax({
		// get the collections XML
		type: "GET",
		url: colxPath,
		dataType: "xml",
		error: function (request, error) {
			// do this on AJAX error
		},
		success: function(data) {
			jQuery('<li></li>').attr('id','latest').html('<div class="colxnavactv" onclick="javascript:getEpisodesByShow(\'latest\',\'LATEST EPISODES\',null,false);"><img src="tools/img/shows/latestepi.jpg" width="233" height="57" alt="All Shows" border="0"></div>').prependTo('#showsMenuInner');

			var i = 1;
			var j = 1;
			var k = 0
			var maxI = jQuery(data).find('subcollection').length;
			jQuery(data).find('subcollection').each(function() {
				var scolxId = jQuery(this).attr('id');
				var scolxName = jQuery(this).find('name').text();
				var scolxImg = jQuery(this).find('thumbnailUrl').text();
				var scolxBanner = jQuery(this).find('showImageUrl').text();
				colxDataArray[k] = new Array();
				colxDataArray[k][0] = scolxId;
				colxDataArray[k][1] = scolxName;
				colxDataArray[k][2] = scolxImg;
				colxDataArray[k][3] = scolxBanner;

				// build up the secondary nav in the overlay tray
				if (i == 1) {
					jQuery('<div></div>').attr('id','icons1').addClass('icons').appendTo('#iconNavBox');
				}
				if ((i != 1) && ((i%12) == 1)) {
					jQuery('<div></div>').addClass('clr').appendTo('#icons' + j);
					j++;
					jQuery('<div></div>').attr('id','icons' + j).addClass('icons').css('display','none').appendTo('#iconNavBox');
				}
				appendTarget = "#icons" + j;
				jQuery('<div></div>').addClass('icon').data('snassets',{cid:scolxId,banner:scolxBanner}).bind('click',function(event){
					if (AUTHBOOL) {
						getEpisodesByShow(jQuery(this).data('snassets').cid,scolxName,jQuery(this).data('snassets').banner,true);
						toggleSecondaryNav();
					} else {
						toggleSecondaryNav();
						jQuery('html, body').animate({scrollTop:150}, 'fast');
						goToPanel('providerInfoBox');
					}
				}).appendTo(appendTarget);
				jQuery('<img>').attr('src',scolxImg).attr('alt',scolxName).attr({'border':0,'width':233,'height':57}).appendTo('#iconNavBox div.icons div:last');

				// if it's the last member, add the tray nav controls and make the next data request
				if (i == maxI) {
					jQuery('<div></div>').addClass('clr').appendTo('#iconNavBox');
					jQuery('<div></div>').addClass('navdots').appendTo('#iconNavBox');
					jQuery('<div></div>').html('<img src="http://i.cdn.turner.com/toon/tools/img/pixel.gif" width="33" height="30" alt="" border="0">').addClass('navarwsleft').bind('click',function(event){
						scndNavPanel('prev');
					}).appendTo('#iconNavBox .navdots');
					for (k = 1; k <= j; k++) {
						jQuery('<a></a>').attr('href','javascript:scndNavPanel(' + k + ');').appendTo('#iconNavBox .navdots');
						jQuery('<div></div>').html('<img src="http://i.cdn.turner.com/toon/tools/img/pixel.gif" width="13" height="22" alt="" border="0">').addClass('navdot').css('background-image','url(tools/img/btn_page_off.png)').appendTo('#iconNavBox .navdots a:last');
					}
					jQuery('<div></div>').html('<img src="http://i.cdn.turner.com/toon/tools/img/pixel.gif" width="33" height="30" alt="" border="0">').addClass('navarwsright').bind('click',function(event){
						scndNavPanel('next');
					}).appendTo('#iconNavBox .navdots');
					cssStr = (68 + (j * 13)) + "px";
					jQuery('#iconNavBox .navdots').css('width',cssStr);

					getStillMoreDataForWorkArounds();
				}
				i++;
				k++;
				innerMenuHeight = 20 * i;
			});
		}
	});
	jQuery('.footer a').attr('target','_blank');

	jQuery('.imgrollover').mouseover(function(){
		imgSrc = jQuery(this).find('img').attr("src");
		imgSrc = imgSrc.replace('_off.','_on.');
		jQuery(this).find('img').attr('src',imgSrc);
	}).mouseout(function(){
		imgSrc = jQuery(this).find('img').attr("src");
		imgSrc = imgSrc.replace('_on.','_off.');
		jQuery(this).find('img').attr('src',imgSrc);
	});

	jQuery("#hdBtnBox").click(function () {
		hqReady();
	});
	jQuery('#logoutBtnBox').click(function(){
		if(AUTH.logout()) {
			document.location.reload();
		}
	});
	jQuery('#secondaryNav').click(function(){
		toggleSecondaryNav();
	});

	// init jscrollpane
/*
	var jspElem = jQuery('.vbtnsinner');
	jspElem.jScrollPane({
		showArrows: true
	});
	var jspAPI = jspElem.data('jsp');
*/

	getEpisodesByShow('latest','LATEST EPISODES',null,false);
};

var activeShowAZ = "latest";
var popOverlayVids = true;
var currentPlaylist = new Array();
function getEpisodesByShow (targetColxId,newHdrTxt,bannerSrc,playNew) {

	// update the left menu style
	jQuery('#' + activeShowAZ + ' div').removeClass('colxnavactv');
	jQuery('#' + activeShowAZ + ' div').addClass('colxnav');
	jQuery('#' + targetColxId + ' div').removeClass('colxnav');
	jQuery('#' + targetColxId + ' div').addClass('colxnavactv');
	activeShowAZ = targetColxId;

	// clear out old buttons
	jQuery('.makeshift').html('');

	var hdrURL = findHdrURL(targetColxId);
	// build the data path based on the content requested
	var collectionPath;
	if (targetColxId == "latest") {
		collectionPath = latestPath;
		jQuery('.vbtnsinner').css('height','543px');
		jQuery('.vmshowhdr').css('display','none');
//		jQuery('.vmhdrsortbox').css('display','none');
		jQuery('div.vmshowhdr img').attr('src','http://i.cdn.turner.com/toon/tools/img/pixel.gif');
		newHdrTxt = "LATEST EPISODES";
		bannerSrc = null;
		playNew = false;
	} else {
		collectionPath = showsPathPrefix + targetColxId;
		jQuery('.vbtnsinner').css('height','469px');
		jQuery('.vmshowhdr').css('display','block');
//		jQuery('.vmhdrsortbox').css('display','block');
		for (z = 0; z < colxDataArray.length; z++) {
			
			if (colxDataArray[z][0] == targetColxId) {
				newHdrTxt = colxDataArray[z][1];
				bannerSrc = colxDataArray[z][3];
				jQuery('div.vmshowhdr img').attr('src',bannerSrc);
			}
		}
		if ((hdrURL != "") && (hdrURL != "undefined")){
			if (targetColxId != "latest") {
				jQuery('.vmshowhdr a').attr('href',hdrURL);
			}
		}
	}

	currentButton = "";

	// get the data
	jQuery.ajax({
		type: "GET",
		url: collectionPath,
		dataType: "xml",
		error: function (request, error) {
			// do this on AJAX error
		},
		success: function(data) {
			currentPlaylist.length=0;
			var i = 1;
			var overBtnsLimit = 8;
			if (jQuery(data).find('episode').length < 8) {
				overBtnsLimit = jQuery(data).find('episode').length;
			}
			jQuery(data).find('episode').each(function() {
				// put all the data in a variable
				var epiId = jQuery(this).attr('id');
				currentPlaylist.push(epiId);
				var epiShow = jQuery(this).find('showTitle').text();
				var epiEpiTitle = jQuery(this).find('episodeTitle').text();
				var epiThumb = jQuery(this).find('thumbnailUrl').text();
				var epiMode = jQuery(this).find('tveMode').text();
				var epiAuthType = jQuery(this).find('authType').text();
				var epiTitle = jQuery(this).find('title').text();
				var epiShort = jQuery(this).find('shortBlurb').text();
				var epiDesc = jQuery(this).find('description').text();
				var epiEmb = jQuery(this).find('embeddable').text();
				var epiDur = jQuery(this).find('duration').text();
				var epiGrouper = jQuery(this).find('grouperId').text();
				var epiSeason = jQuery(this).find('seasonNumber').text();
				var epiNumber = jQuery(this).find('episodeNumber').text();
				var epiRating = jQuery(this).find('tvRatingCode').text();
				var epiLink;
				var hideFB = false;
				var fbtest = epiRating.toLowerCase();
				if (fbtest.indexOf('tv-pg') < 0) {
					hideFB = true;
				}
				var epiExpire = jQuery(this).find('expirationDate').text();
				var epiExpireDots = epiExpire.replace(/\/+/g,'.');
				var epiPublish = jQuery(this).find('publishDate').text();
				var publishArray = epiPublish.split(' ');
				var modPublish = publishArray[1] + " " + publishArray[2];
				var infoPublish =  publishArray[1] + " " + publishArray[2] + " " + publishArray[0];
				if ((hdrURL != "") && (hdrURL != "undefined")) {
					epiLink = hdrURL;
				} else {
					epiLink = "/tv_shows/index.html";
				}
				
				var rateImgSrc = "http://i.cdn.turner.com/toon/tools/img/schedule/ratings/" + epiRating + ".gif";
				
				// build buttons in the overlays
				if ((popOverlayVids) && i <= overBtnsLimit) {
					overBtnStr  = '<div class="vbimg" style="background: #000000 url(' + epiThumb + ') center top no-repeat;">';
					overBtnStr += '<img src="' + defaultImgSrc + '" width="160" height="90" alt="' + epiTitle + '" border="0"></div>';
					overBtnStr += '<div class="vbtext"><span class="vbshow">' + epiShow + '</span></div>';
					overBtnStr += '<div class="vbtext"><span class="vbtitle">' + epiEpiTitle + '</span></div>';
					overBtnStr += '<div class="vbtext"><span class="vbdur">' + epiDur + '</span></div>';
//					jQuery('<div></div>').addClass('ovlvideobtn').html(overBtnStr).appendTo('#fullEpisodesBox .playlistbox .plbtns');
					jQuery('<div></div>').addClass('ovlvideobtn').html(overBtnStr).appendTo('#notFoundBox .playlistbox .plbtns');
//					jQuery('<div></div>').addClass('ovlvideobtn').html(overBtnStr).appendTo('#errorBox .playlistbox .plbtns');
//					jQuery('<div></div>').addClass('ovlvideobtn').html(overBtnStr).appendTo('#previewEndBox .playlistbox .plbtns');
				}
				if (i == overBtnsLimit) {
					popOverlayVids = false;
				}

				// build all the buttons in the video nav (bottom of page)
				// do this before calling any video to ensure the bound data is available
				var currentDivId = epiId;
				jQuery('<div></div>').attr('id',currentDivId).addClass('videobutton').addClass('vvb').data(
				 	{
						epShow	:	epiShow,
						epTitle	:	epiEpiTitle,
						epRate	:	rateImgSrc,
						epDesc	:	epiDesc,
						epDur	:	epiDur,
						epSeas	:	epiSeason,
						epNmbr	:	epiNumber,
						epIPub	:	infoPublish,
						epFB	:	hideFB
					}
				).bind('click',function(event) {
					// AUTHBOOL is authentication state
					updateInfoFields(epiId);
					if (AUTHBOOL) {
						getAuthorization(epiId);
						jQuery('html, body').animate({scrollTop:150}, 'fast');
					} else {
						// call deep link code if the user isn't authenticated
						WAITINGVIDEO = epiId;
						//deepLinkAuth(epiId);
						startTheShow();
					}
				}).appendTo('#videoButtonsBox .makeshift');

				// if processing the first video/a deep link request, change all the empty headers to match the episode
				// and populate the info hover card
				if (firstVid == null) {
					firstVid = epiId;
					WAITINGVIDEO = epiId;
					updateInfoFields(epiId);
				} else if (firstVid == epiId) {
					updateInfoFields(epiId);
				}

				var bkgString = "background: #000000 url(" + epiThumb + ") top center no-repeat;";
				jQuery('<div></div>').attr('style',bkgString).addClass('vbimg').appendTo('#' + currentDivId);
				jQuery('<img />').attr('src',defaultImgSrc).attr('width',160).attr('height',90).attr('alt',epiTitle).attr('border',0).appendTo('#' + currentDivId + ' .epiThumbBox');

				jQuery('<div></div>').addClass('vbtext').appendTo('#' + currentDivId);
				jQuery('<span></span>').addClass('vbshow').text(epiShow).appendTo('#' + currentDivId + ' .vbtext:last');
				jQuery('<div></div>').addClass('vbtext').appendTo('#' + currentDivId);
				jQuery('<span></span>').addClass('vbtitle').text(epiEpiTitle).appendTo('#' + currentDivId + ' .vbtext:last');
/*
				jQuery('<div></div>').addClass('vbtext').appendTo('#' + currentDivId);
				jQuery('<span></span>').addClass('vbrating').text(epiRating).appendTo('#' + currentDivId + ' .vbtext:last');
				jQuery('<span></span>').html('<img src="tools/img/thumb.jpg" width="11" height="13" alt="" border="0">').appendTo('#' + currentDivId + ' .vbtext:last');
*/
				jQuery('<div></div>').addClass('vbtext').appendTo('#' + currentDivId);
				jQuery('<span></span>').addClass('vbdate').text('Posted on: ' + modPublish).appendTo('#' + currentDivId + ' .vbtext:last');

				// play the first video in the list if the property is selected from the secondary (tray) nav
				// this is exactly the same as clicking on a video button and should probably be externalized as a seperate function
				if ((i == 1) && (playNew)) {
					// AUTHBOOL is authentication state
					if (AUTHBOOL) {
						updateInfoFields(epiId);
						// make sure the content is authorized
						getAuthorization(epiId);
					} else {
						// call deep link code if the user isn't authenticated
						deepLinkAuth(epiId);
					}
				}
				i++;
			});
		}
	});
	
//	jspAPI.reinitialise();
}

// updates all the info fields with data associated to the div with the id attribute of videoId
function updateInfoFields (videoId) {
	sourceDiv = '#' + videoId;
	// video box header
	jQuery('div.nowplaying span.title').html(jQuery(sourceDiv).data('epShow'));
	jQuery('.hdrrating img').attr('src',jQuery(sourceDiv).data('epRate'));

	// info panels
	jQuery('#infoPanelTitle span').html(jQuery(sourceDiv).data('epTitle'));
	jQuery('#infoPanelDesc').html(jQuery(sourceDiv).data('epDesc'));
	jQuery('#infoPanelData div:nth-child(2)').html(jQuery(sourceDiv).data('epDur'));
	jQuery('#infoPanelData div:nth-child(3)').html(jQuery(sourceDiv).data('epSeas'));
	jQuery('#infoPanelData div:nth-child(4)').html(jQuery(sourceDiv).data('epNmbr'));
	jQuery('#infoPanelData div:first img').attr('src',jQuery(sourceDiv).data('epRate'));
	jQuery('#infoPanelDates span:first').html(jQuery(sourceDiv).data('epIPub'));
	jQuery('#ipShowLink a').html('VIEW ' + jQuery(sourceDiv).data('epShow') + ' SHOW PAGE');
	jQuery('#epiLinkInput').attr('value','http://www.cartoonnetwork.com/full-episodes/?videoID=' + videoId);
	if (jQuery(sourceDiv).data('efFB')) {
//		jQuery('#sharePanel div.sharecolumn:last').css('display','none');
	} else {
//		jQuery('#sharePanel div.sharecolumn:last').css('display','block');
	}
	jQuery('#infoPanel .showlinktext').html('VIEW ' + jQuery(sourceDiv).data('epShow') + ' SHOW PAGE');

	// keep track of the currectly active div's id
	if ((currentButton != "undefined") && (currentButton != "") && (currentButton != null)) {
		jQuery(currentButton).removeClass('videobuttonactive').addClass('videobutton');
	}
	jQuery(sourceDiv).removeClass('videobutton').addClass('videobuttonactive');
	currentButton = "#" + videoId;
}

// handle deep links by inserting the data into a cookie
function deepLinkAuth (episodeId) {
	// create cookie and set value to episode ID
	var cookieName = "cntvDLEpi"
	var cookieValue = episodeId;
	setCookie(cookieName,cookieValue,0)
	
	// call no auth login
//	authenticateUser("CartoonNetwork")
	jQuery('html, body').animate({scrollTop:150}, 'fast');
	goToPanel('providerInfoBox');
}

// detect flash
function checkFlashVersion() {
	var isFlashCurrent = FlashDetect.versionAtLeast(10, 1, 51);
	if (isFlashCurrent != true) {
		jQuery.facebox('This website requires the Flash 10.1 (or higher) player.<br><br>You may upgrade your Flash plug-in by visiting the <a href="http://get.adobe.com/flashplayer/" style="color:black;text-decoration:underline;">Flash Download Center.</a><br><br>Please note you may need to reboot your system.');
	} else {
		return isFlashCurrent;
	}
}


function checkFirstVidStatus() {
}

function pickProvider(id) {
	// send the selected provider into the authentication piece
	AUTH.selectProvider(id);
}

// build up the custum proder picker
// called from AUTH object
function displayProviderPicker (props) {
/*
AUTH.getProvider(function (mvpdobj) {
		var mvpdId;
		if (mvpdobj && mvpdobj.MVPD) {
			mvpdId = mvpdobj.MVPD;
			fwAEVal = jQuery.md5(mvpdId.toLowerCase());
			fwAEVal = fwAEVal.toLowerCase();
			TURNERPLAYER.setAdKeyValue('_fw_ae',fwAEVal);
			TURNERPLAYER.setAdKeyValue('_fw_ar',1);
			if (WAITINGVIDEO != null) {
				playWaitingVideo();
			}
		}
	});
*/
	if (document.getElementById('cvp_props') == null) {
		jQuery('<div></div>').attr('id','cvp_props').appendTo('#providerInfoBox .providerbuttons');
		jQuery('<div></div>').attr('id','cvp_backer').appendTo('#providerInfoBox .providerbuttons');
	} else {
		document.getElementById('cvp_props').style.display = 'none';
	}
	var divFill = "";
	props.sort(function(a,b) { x = a.ID.toUpperCase(); y = b.ID.toUpperCase(); if (x < y) return -1; if (x == y) return 0; if (x > y) return 1;});
	for (var i = 0; i < props.length; i++) {
		divFill += '<div class="providerbutton" onclick="CVP.AuthManager.cancelPicker(true); CVP.AuthManager.selectProvider(\'' + props[i].ID + '\');"><img border="no" src="' + props[i].logoURL + '"></div>';
	}
	if (props.length % 3 > 0) {
		divFill += '<div class="providerbuttonoff"><img border="no" src="http://i.cdn.turner.com/toon/tools/img/pixel.gif"></div>';
	}
	if ((parseInt(props.length) + 1) % 3 > 0) {
		divFill += '<div class="providerbuttonoff"><img border="no" src="http://i.cdn.turner.com/toon/tools/img/pixel.gif"></div>';
	}
	document.getElementById('cvp_props').innerHTML = divFill;
	jQuery('<div></div>').addClass('clr').appendTo('#cvp_props');
	this.pickerInstantiated = true;
	this.centerPicker(404,400,'cvp_props');
}

// handle the HD button and bit rate
function enableHQButton() {
	jQuery('hdBtnBox').css('display','block');
}

function disableHQButton() {
	jQuery('hdBtnBox').css('display','none');
}

function showHDToggleOn() {
	if (TURNERPLAYER.getBitrateId() == hqBitrateId) {
		jQuery('#hdBtnBox').addClass('hdboxon');
		jQuery('#hdBtnBox').removeClass('hdbox');
	} else {
		showHDToggleOff();
	}
}

function showHDToggleOff() {
	//////alert('showHDToggleOff ' + player.getBitrateId());
	if (TURNERPLAYER.getBitrateId() == standardBitrateId) {
		jQuery('#hdBtnBox').addClass('hdbox');
		jQuery('#hdBtnBox').removeClass('hdboxon');
	} else {
		showHDToggleOn();
	}
}

// toggle for HD stream
function switchHD(newRate) {
	if (newRate == switchingState) {
//		theLoadingButton();
	} else if (newRate == standardBitrateId) {
		showHDToggleOff();
	} else if (newRate == hqBitrateId) {
		showHDToggleOn();
	}
}

function hqReady() {
	var currentBitrateId = TURNERPLAYER.getBitrateId();
	var isSwitching = false;
	if (currentBitrateId == standardBitrateId) {
		isSwitching = TURNERPLAYER.switchBitrateId(hqBitrateId);
		showHDToggleOn();
		bIsHD = true;
	} else if (currentBitrateId == hqBitrateId) {
		isSwitching = TURNERPLAYER.switchBitrateId(standardBitrateId);
//		showHDToggleOff();
		bIsHD = false;
		jQuery('#hdBtnBox').removeClass('hdboxon');
		jQuery('#hdBtnBox').addClass('hdbox');
	}
	if (isSwitching) {
		switchHD(switchingState);
	}
}

function killCookies() {
}

// handle overlay panels
var activeOverlay = "";
var hoverEnabled = false;
function goToPanel (panelId) {
	if (activeOverlay != "") {
		jQuery('#' + activeOverlay).css('display','none');
		if (activeOverlay == "iconNavBox") {
			twoNavState = "closed";
		}
	}
	jQuery('#' + panelId).css('display','block');
	if (panelId == "iconNavBox") {
		scndNavPanel(1);
	}
	if (panelId == "providerInfoBox") {
		authenticateUser();
		if ((document.getElementById('cvp_props') != null) && (document.getElementById('cvp_props').style.display != "block")) {
			document.getElementById('cvp_props').style.display = "block";
		}
	}

/*
	if (panelId == "providerBox") {
		if ((document.getElementById('mvpddiv') != null) && (document.getElementById('mvpddiv').style.display != "none")) {
			var mvpOffset = jQuery('#mvpddiv').offset();
		
			var newMVPPos = new Object();
			newMVPPos.top = mvpOffset.top + 130;
			newMVPPos.left = mvpOffset.left + 130;
		
			// apply the new offset to the inner DIV
			jQuery('#mvpddiv').offset(newMVPPos);
		}
	}
*/

	activeOverlay = panelId;
}

// handle the close button on any overlay panel
function closePanel () {
	if (activeOverlay != "") {
		jQuery('#' + activeOverlay).css('display','none');
	}
	activeOverlay = "";
}

var activeHoverPanel = '';
//handle info hover panels
function doHoverPanel(panelId) {
	if (activeHoverPanel != '') {
		jQuery('#' + activeHoverPanel).css('display','none');
	}
	jQuery('#' + panelId).css('display','block');
	activeHoverPanel = panelId;
}

function hoverCheck(toggle) {
	if (hoverEnabled) {
		if (toggle == "on") {
			jQuery('#videoInfoBox').css('display','block');
		} else {
/*
			jQuery('#infoPanel').css('display','none');
			jQuery('#sharePanel').css('display','none');
*/
			activeInfoPanel = "";
			jQuery('#videoInfoBox').css('display','none');
		}
	}
}

function closeInfoPanel () {
	if (activeHoverPanel != "") {
		jQuery('#' + activeHoverPanel).css('display','none');
	}
	activeHoverPanel = "";
}

// handle the FAQ overlay panel
var activeInfoPanel = "";
function doMoreInfo(targetId) {
	if (activeInfoPanel != "") {
		jQuery('#' + activeInfoPanel).css('display','none');
	}
	activeInfoPanel = targetId;
	jQuery('#' + targetId).css('display','block');
}

// handle the secondary nav overlay panel
var twoNavState = "closed";
function toggleSecondaryNav() {
	if (twoNavState == "closed") {
		hoverEnabled = false;
		twoNavState = "open";
		goToPanel('iconNavBox');
	} else {
		hoverEnabled = true;
		if (AUTHBOOL) {
			twoNavState = "closed";
			closePanel ();
		} else {
			hideTheShow();
		}
	}
}


// mechanics for the left show nav
var slide1 = parseInt(jQuery('#showsMenuInner').height())
var slide2 = parseInt(jQuery('#showsMenu').height());

var slideLimit = slide1 - slide2;
var currentSlide = 0;
function slideMenu (direction) {
//	alert(slideLimit);
	// determine difference in height between inner and outer DIVs
	var hDiff = jQuery('#showsMenuInner').height() - jQuery('#showsMenu').height();
	// determine top for each div
	var outerOffset = jQuery('#showsMenu').offset();
	var innerOffset = jQuery('#showsMenuInner').offset();
	var divisor = jQuery('#showsMenuInner').find('div').length;
	var scrollDistance = Math.floor((hDiff / divisor) * 2);

	if (scrollDistance <= 0) {
		scrollDistance = 0;
	}

	var newTop;
	// if inner is larger than outer
	if (hDiff > 0) {
		// determine new position for moving DIV up/menu down
		if (((outerOffset.top - innerOffset.top) <= hDiff) && (direction == "down")) {
			newTop = innerOffset.top - 65;
		}
		// determine new position for moving DIV down/menu up
		if (((outerOffset.top - innerOffset.top) > 0) && (direction == "up")) {
			newTop = innerOffset.top + 65;
		}
	} else {
	// otherwise, do nothing
	// should probably grey out/deactivate buttons
	}

	// assign new top value to an offset object
	var newOffset = new Object();
	newOffset.top = newTop;
	newOffset.left = innerOffset.left;

	// apply the new offset to the inner DIV
	jQuery('#showsMenuInner').offset(newOffset);
/*
	if (currentSlide < 0) {
		tempSlide = currentSlide * -1;
	} else {
		tempSlide = currentSlide;
	}

	if (direction == "down") {
		jQuery('#showsMenuInner').animate({
		top: '-=70'
		}, 200, function() {
			currentSlide -= 70;
		});
	}
	if ((direction == "up") && (currentSlide < 0)) {
		jQuery('#showsMenuInner').animate({
		top: '+=70'
		}, 200, function() {
			currentSlide += 70;
		});
	}
*/
}

// mechanics for the left show nav
/************************************
	SLIDE NAV - BRENDELLYA 7/7/2011
************************************/

jQuery(document).ready(function(){
//var default_num			= 0;
var current_num			= 0;
var total_num			= jQuery("#showsMenuInner li").length;
	
	
	function checkState(){
		if(current_num == 0){ /*Up*/
			jQuery("#scrollL").css("background","url(/full-episodes/tools/img/scroll_l_hover.png) 0 0 no-repeat");
			jQuery("#scrollL").css("cursor", "default");
		}else{
			jQuery("#scrollL").css("background","url(/full-episodes/tools/img/scroll_l.png) 0 0 no-repeat");
			jQuery("#scrollL").css("cursor", "pointer");			
		}
		
		if(current_num == (total_num-7)){ /*Down*/
			jQuery("#scrollR").css("background","url(/full-episodes/tools/img/scroll_r_hover.png) 0 0 no-repeat");
			jQuery("#scrollR").css("cursor", "default");
		}else{
			jQuery("#scrollR").css("background","url(/full-episodes/tools/img/scroll_r.png) 0 0 no-repeat");
			jQuery("#scrollR").css("cursor", "pointer");			
		}
	}
	
	
	/*  UP */
	function slideUp(){
		if(current_num > 0){
			last_num		= current_num - 1;
	  		jQuery("#showsMenuInner li:eq("+last_num+")").animate({ 
	   			marginTop: "0px"
     			}, 100 );
	 		current_num	= current_num - 1;
		}
	 checkState();
	}
	/* DOWN */
	function slideDown(){	
		if(current_num < (total_num -7)){		
			jQuery("#showsMenuInner li:eq("+current_num+")").animate({ 
	   			marginTop: "-67px"
     			}, 100 );
	 		current_num	= current_num + 1; 
		}
	 checkState();
	}

	jQuery("#scrollL").click(function(){
		slideDown();
		return false;
	});
	jQuery("#scrollR").click(function(){
		slideUp();
		return false;
	});
	
	/****** load *******/
	jQuery(window).load(function(){
		checkState();
	});
	
});
/************************************
	SLIDE NAV - BRENDELLYA 7/7/2011
************************************/


// handle facebook sharing
function doFBLink () {
	tempArray = currentButton.substring(1,currentButton.length);
	window.open('/fb/video_share.html?episodeID=' + tempArray,'fbBufferWin','width=627,height=310');
	return false;
}

// handle copy functions
function doLinkCopy (d) {
	var doc = eval(document.getElementById('epiLinkInput'));
	cp = doc.createTextRange();
	doc.focus();
	doc.select();
	cp.execCommand("Copy");
}

var actScndNavPanel = 1;
function scndNavPanel(targetPanel) {
	if (targetPanel == "prev") {
		if ((actScndNavPanel - 1) < 1) {
			targetPanel = 1;
		} else {
			targetPanel = actScndNavPanel - 1;
		}
	} else if (targetPanel == "next") {
		if ((actScndNavPanel + 1) > jQuery('div.navdots').find('div.navdot').length) {
			targetPanel = actScndNavPanel;
		} else {
			targetPanel = actScndNavPanel + 1;
		}
	} else {
		targetPanel = targetPanel;
	}
	oldPanel = "#icons" + actScndNavPanel;
	newPanel = "#icons" + targetPanel;
	jQuery(oldPanel).css('display','none');
	jQuery(newPanel).css('display','block');
	jQuery('div.navdot:eq(' + (actScndNavPanel - 1) + ')').css('background-image','url(tools/img/btn_page_off.png)');
	jQuery('div.navdot:eq(' + (targetPanel - 1) + ')').css('background-image','url(tools/img/btn_page_on.png)');
	actScndNavPanel = targetPanel;
}

function startTheShow() {
	hideActiveLoadBox();
	jQuery('#presentationBox').css('display','block');
	activeLoadBox = "presentationBox";
	deepLinkAuth(WAITINGVIDEO);
}

function hideTheShow() {
	hideActiveLoadBox();
	jQuery('#welcomeBox').css('display','block');
	activeLoadBox = "welcomeBox";
}

var woohoomorespaghetticode = false;
function preHelp() {
	hideActiveLoadBox();
	jQuery('#presentationBox').css('display','block');
	activeLoadBox = "presentationBox";
	woohoomorespaghetticode = true;
	goToPanel('moreInfoBox');
}
function doInfoBack() {
	if (woohoomorespaghetticode) {
		woohoomorespaghetticode = false;
		hideTheShow();
	} else {
		goToPanel('providerInfoBox');
	}
}

function preError() {
	hideActiveLoadBox();
	jQuery('#presentationBox').css('display','block');
	activeLoadBox = "presentationBox";
	goToPanel('errorBox');
}

var showInfoArray = [];
function getStillMoreDataForWorkArounds() {

	jQuery.ajax({
		// get the collections XML
		type: "GET",
		url: "/cnservice/cartoonsvc/content/xml/getContentsByContentType.do?contentTypeName=Video Collection&depth=1",
		dataType: "xml",
		error: function (request, error) {
			// do this on AJAX error
		},
		success: function(data) {
			jQuery(data).find('Video_Collection').each(function() {
				for (i = 0; i < colxDataArray.length; i++) {
					if (colxDataArray[i][0] == jQuery(this).attr('contentId')) {
						colxDataArray[i][4] = jQuery(this).find('showImage').find('altText').text();
					}
				}
			});
		}
	});
}

function findHdrURL(colxId){
	for (i = 0; i < colxDataArray.length; i++) {
		if (colxId == colxDataArray[i][0]) {
			return colxDataArray[i][4];
		} 
	}
}

function submitEmailForm() {
	jQuery('#sendResponse').css('display','block');
	document.getElementById('sendtofriend').submit();
}

var playListVideo;
function playNextInList() {
	dIds = new Array();
	jQuery('.makeshift').find('.vvb').each(function() {
		dIds.push(jQuery(this).attr('id'));
	});
	var currIndex = 0;
	for (i = 0; i < dIds.length; i++){
		if (playListVideo == dIds[i]) {
			currIndex = i;
		}
	}

	if ((currIndex + 1) < dIds.length) {
		nextIndex = currIndex + 1;
	} else {
		nextIndex = 0;
	}
	getAuthorization(dIds[nextIndex]);
	updateInfoFields(dIds[nextIndex]);
}
