function addLoadEvent(func){var oldonload=window.onload;window.onload=(typeof window.onload!='function')?func:function(){oldonload();func();};};var getElementsByClassName=function(className,tag,elm){if(document.getElementsByClassName){getElementsByClassName=function(className,tag,elm){elm=elm||document;var elements=elm.getElementsByClassName(className),nodeName=(tag)?new RegExp("\\b"+tag+"\\b","i"):null,returnElements=[],current;for(var i=0,il=elements.length;i<il;i+=1){current=elements[i];if(!nodeName||nodeName.test(current.nodeName)){returnElements.push(current);}}return returnElements;};}else if(document.evaluate){getElementsByClassName=function(className,tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck="",xhtmlNamespace="http://www.w3.org/1999/xhtml",namespaceResolver=(document.documentElement.namespaceURI===xhtmlNamespace)?xhtmlNamespace:null,returnElements=[],elements,node;for(var j=0,jl=classes.length;j<jl;j+=1){classesToCheck+="[contains(concat(' ', @class, ' '), ' "+classes[j]+" ')]";}try{elements=document.evaluate(".//"+tag+classesToCheck,elm,namespaceResolver,0,null);}catch(e){elements=document.evaluate(".//"+tag+classesToCheck,elm,null,0,null);}while((node=elements.iterateNext())){returnElements.push(node);}return returnElements;};}else{getElementsByClassName=function(className,tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck=[],elements=(tag==="*"&&elm.all)?elm.all:elm.getElementsByTagName(tag),current,returnElements=[],match;for(var k=0,kl=classes.length;k<kl;k+=1){classesToCheck.push(new RegExp("(^|\\s)"+classes[k]+"(\\s|$)"));}for(var l=0,ll=elements.length;l<ll;l+=1){current=elements[l];match=false;for(var m=0,ml=classesToCheck.length;m<ml;m+=1){match=classesToCheck[m].test(current.className);if(!match){break;}}if(match){returnElements.push(current);}}return returnElements;};}return getElementsByClassName(className,tag,elm);};var ajax_http_mode="GET";var ajax_asynchronous=true;var ajax_loading=1;var ajax_loaded=2;var ajax_interactive=3;var ajax_complete=4;var OK=200;
function req(url){this._url=url;this._ie=window.XMLHttpRequest?false:true;this._xmlhttp=this._ie?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();this._xmlhttp.open(ajax_http_mode,this._url,ajax_asynchronous);var __this=this;var __xmlhttp=this._xmlhttp;this.send=function(parms){this._xmlhttp.send(parms);return OK;};this._xmlhttp.onreadystatechange=function(){this._xmlhttp=__xmlhttp;if(this._xmlhttp.readyState!=ajax_complete){return;}if(__this.ondata){__this.ondata(this._xmlhttp.responseXML);}if(__this.ontext){__this.ontext(this._xmlhttp.responseText);}}}
function tabContent(){
	if (typeof window.episodeRecap == 'undefined') {
		var header = document.getElementsByTagName('head');
		headerTag = header[0];
		var linkElem = document.createElement('link');
		linkElem.href = 'http://static.amctv.com/css/originals/breaking-bad/breaking-bad-episode.css';
		linkElem.type = 'text/css';
		linkElem.rel = 'stylesheet';
		headerTag.appendChild(linkElem);
		var episodeReview = getElementsByClassName('episode-review');
		var episodeRecap = getElementsByClassName('episode-recap');
		var episodeContainer = getElementsByClassName('featured-episode-content');
		var headers = episodeContainer[0].getElementsByTagName('h3');
		var newDiv = document.createElement('div');
		newDiv.className = 'spanHeaderContainer';
		var spanOne = document.createElement('span');
		var spanTwo = document.createElement('span');
		spanOne.innerHTML = headers[1].innerHTML;
		spanTwo.innerHTML = headers[0].innerHTML;
		headers[0].innerHTML = '';
		newDiv.appendChild(spanOne);
		newDiv.appendChild(spanTwo);
		headers[0].appendChild(newDiv);
		episodeContainer[0].style.paddingTop = '0';
		spanOne.className = 'tab-one';
		spanTwo.className = 'tab-two';
		episodeReview[0].style.display = 'none';
		headers[1].style.display = 'none';
		spanOne.onclick = function(){
			episodeReview[0].style.display = 'none';
			episodeRecap[0].style.display = 'block';
			this.className = 'tab-one';
			spanTwo.className = 'tab-two';
		};
		spanTwo.onclick = function(){
			episodeRecap[0].style.display = 'none';
			episodeReview[0].style.display = 'block';
			this.className = 'tab-two border-bottom-white';
			spanOne.className = 'tab-one border-bottom-black';
		}
	}
}

function injectEpisodeList(){
if (typeof window.episodeRecap == 'undefined') {
	var newLI = document.createElement('li');
	var newIMG = document.createElement('img');
	newIMG.src = 'http://www.workofcesar.com/AMC-TV/the-prisoner/1960-minisite/episode-guide/img/ajax-loader.gif';
	newIMG.style.marginLeft = '40%';
	newLI.style.textAlign = 'center';
	newLI.appendChild(newIMG);
	var episodeContainer = getElementsByClassName('episode-guide-sidebar');
	var episodeUL = episodeContainer[0].getElementsByTagName('ul');
	episodeUL[0].appendChild(newLI);
	var listItems = episodeUL[0].getElementsByTagName('li');
	var timeStamp = new Date().getTime();
	var xhr = new req('/2351143/2632927/breaking-bad-episode-list.html?timestap=' + timeStamp);
	xhr.send(null);
	xhr.ontext = function(data){
		var newDiv = document.createElement('div');
		var seasonOneUL = document.createElement('ul');
		seasonOneUL.className = 'season-one-list clearFix';
		var seasonTwoUL = document.createElement('ul');
		seasonTwoUL.className = 'season-two-list clearFix';
		var theData = data;
		newDiv.innerHTML = theData;
		var seasonOneListItems = newDiv.getElementsByTagName('ul')[0].innerHTML;
		episodeUL[0].parentNode.removeChild(episodeUL[0]);
		seasonOneUL.innerHTML = seasonOneListItems;
		episodeContainer[0].appendChild(seasonOneUL);
		
		
		var seasonTwoListItems = newDiv.getElementsByTagName('ul')[1].innerHTML;
		seasonTwoUL.innerHTML = seasonTwoListItems;
		episodeContainer[0].appendChild(seasonTwoUL);
		showListAnimate();
	}
}	
}

function showListAnimate(){
	var seasonTwoLi = getElementsByClassName('season-two', 'li');
	var seasonOneLi = getElementsByClassName('season-one', 'li');
	var seasonOneAnchor = seasonOneLi[0].getElementsByTagName('a')[0];
}
function episodeRecapType(){
		
	var recapTargetElem = document.getElementById('contentNavArea');        
        if (typeof window.episodeRecap  != 'undefined' && window.episodeRecap  == '1') {
            var timeStamp = new Date().getTime();
            var xhr = new req('/2351143/2632927/breaking-bad-episode-list.html?timestap=' + timeStamp);
            xhr.send(null);
            xhr.ontext = function(data){
                var newDiv = document.createElement('div');
                var seasonOneUL = document.createElement('ul');
                seasonOneUL.className = 'season-one-list clearFix';
                var seasonTwoUL = document.createElement('ul');
                seasonTwoUL.className = 'season-two-list clearFix';
                var theData = data;
					newDiv.innerHTML = theData;
					recapTargetElem.innerHTML = '<h4>episode guide</h4>' + newDiv.innerHTML;
					recapTargetElem.className = 'episode-guide-sidebar';
					var seasonOneListItems = recapTargetElem.getElementsByTagName('ul')[0];
							seasonOneListItems.className = 'season-one-list clearFix';
					
					var seasonTwoListItems = recapTargetElem.getElementsByTagName('ul')[1];
							seasonTwoListItems.className = 'season-one-list clearFix';
            }
            
        }
			
}

function init(){
injectEpisodeList();
episodeRecapType();
}
addLoadEvent(init);
tabContent();