var contentArray = [];
var slideArray = [];
var isPaused=false;
var currentSlide=0;
var clickingIsAllowed=false;
var isHome=false;
var myTimeOut;
function loadExternalContentDone(req, url, numInArray) {
  //alert(req.readyState);
if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
      var cleanResponseString=getDivOnly(req.responseText);
	 // alert(req.reqnum);
      //alert(cleanResponseString);
	  contentArray.push([cleanResponseString, numInArray]); 
    } else {
      contentArray.push(["<a>Error Loading this content</a>",numInArray]);
    }
	if(contentArray.length==slideArray.length){
		//alert("ARRAYS MATCH SO CREATE BUTTONS");
		//ARRAY SIZES MATCH SO IT IS OK TO CREATE BUTTONS;
		contentArray.sort(sortMultiDimensional); 
		createContentDivs();
		setTimeout(enableButtonClick,1500);
		createButtons();
		}
  }
}

function enableButtonClick(){
	clickingIsAllowed=true;
	}
//
function loadExternalContent(url, numInArray) {
  var req;
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
	//req=new ActiveXObject("Msxml2.XMLHTTP");
  }
  if (req !== undefined) {
	  var arrPosition=numInArray
	//req.reqnum=numInArray;
    req.onreadystatechange = function() {loadExternalContentDone(req, url, arrPosition);};
    req.open("GET", url, true);
    req.send("");
  }
 }  

function mmt_loadContent(htmlFileName, numInArray) {
	
	loadExternalContent(htmlFileName, numInArray);
	return false;
	
	
}


function displaySnippet(num){
	
	//alert(contentArray[num]);
	if(num>=contentArray.length){
		num=0;
		}
for(var i=0; i<contentArray.length;i++){
	//HIDE ALL SLIDE DIVS
	document.getElementById('slide_'+i).style.display='none';
	}
	//NOW SHOW THE ONE WE NEED
document.getElementById('slide_'+num).style.display='block';
currentSlide=num;
updateButtonCss(num);
	
}
	

var buttonOutputDivString="";
function loadContentToArray(){
for(var i=0;i<slideArray.length;i++){
mmt_loadContent(slideArray[i],i);}
}

function initialiseSnippets(_isHome){
	if(_isHome){
		//DETECT IF THIS IS HOME PAGE SNIPPETS WHICH DISPLAY DIFFERENTLY
		isHome=true;
		//HIDE THE HOME PAGE NO SCRIPT DIV
		document.getElementById('home-snippets-no-script').style.visibility = "hidden";
		}
		else{
		//HIDE THE NO SCRIPT DIV
		//document.getElementById('snippets-no-script').style.visibility = "hidden";
		}
	loadContentToArray();
	}
//

var buttonOutputDivString="";
function createButtons(){
for(var j=0;j<slideArray.length;j++){
var BUTTONSTRING = createLinkButton(j);
buttonOutputDivString=buttonOutputDivString+BUTTONSTRING;
}
//
if(!isHome){
var PAUSEBUTTONSTRING = '<a id="playPauseLink" class="pause_button" href="javascript:pauseSlides();"><img id="playPause" src="http://images.hoddereducation.mmtdigital.co.uk/CSS/pause.png" border="0"/></a>';	
var PREVIOUSSTRING = '<a class="previous_button" href="javascript:previousSlide();">&#0171;&nbsp;PREVIOUS</a>';
var NEXTSTRING = '<a class="next_button" href="javascript:nextSlide();">NEXT&nbsp;&#0187;</a>';
}
else{
	//THIS IS FOR THE HOME PAGE SLIDES
var PAUSEBUTTONSTRING = '<a id="playPauseLink" class="pause_button" href="javascript:pauseSlides();"><img id="playPause" src="http://images.hoddereducation.mmtdigital.co.uk/CSS/pauseBlue.png" border="0"/></a>';
var PREVIOUSSTRING = '<a class="previous_button" href="javascript:previousSlide();">&#0171;</a>';
var NEXTSTRING = '<a class="next_button" href="javascript:nextSlide();">&#0187;</a>';
}
document.getElementById('button-links').innerHTML=PAUSEBUTTONSTRING+PREVIOUSSTRING+'|'+buttonOutputDivString+NEXTSTRING;
displaySnippet(0);
myTimeOut=setTimeout(loadNextContent,5000);
}


//

function createLinkButton(buttonNumber) {
var myStr='<a href="javascript:updateFromClick('+buttonNumber+');" id="link-button_'+(buttonNumber+1)+'"'+ 'class="link-button">'+(buttonNumber+1)+'</a>|';
return myStr;
}

function updateFromClick(num){
	if(clickingIsAllowed){
		displaySnippet(num);
		}
	}

function updateButtonCss(buttonNum){
	for(var i=0;i<slideArray.length;i++){
		//alert("RESET CSS");
		document.getElementById('link-button_'+(i+1)).className = "link-button";
		//document.getElementById('link-button_'+(i+1)).style.backgroundColor='transparent';
	}
	document.getElementById('link-button_'+(buttonNum+1)).className = "link-button-active";
	//document.getElementById('link-button_'+(buttonNum+1)).style.backgroundColor='#ccc';
	}

function loadNextContent(){
	if(!isPaused){
		currentSlide++;
		displaySnippet(currentSlide);
		myTimeOut=setTimeout(loadNextContent,5000);
		}
	
	}


function pauseSlides(){
	clearTimeout(myTimeOut);
	isPaused=true;
	if(!isHome){
	document.getElementById("playPause").src="http://images.hoddereducation.mmtdigital.co.uk/CSS/play.png";
	}
	else{
		document.getElementById("playPause").src="http://images.hoddereducation.mmtdigital.co.uk/CSS/playBlue.png";
		
		}
		document.getElementById("playPauseLink").href="javascript:playSlides()";
	}
	
function playSlides(){
	isPaused=false;
	if(!isHome){
	document.getElementById("playPause").src="http://images.hoddereducation.mmtdigital.co.uk/CSS/pause.png";
	}
	else{
	document.getElementById("playPause").src="http://images.hoddereducation.mmtdigital.co.uk/CSS/pauseBlue.png";
		}
	document.getElementById("playPauseLink").href="javascript:pauseSlides()";
	loadNextContent();
	}
	
function previousSlide(){
	if(clickingIsAllowed){
	var slideToGoTo;
	if(currentSlide-1==-1){
		slideToGoTo=slideArray.length-1;
		}
	else{
		slideToGoTo=currentSlide-1;
		}
	displaySnippet(slideToGoTo);
	}
}
	
function nextSlide(){
	if(clickingIsAllowed){
	var slideToGoTo;
	if(currentSlide+1==slideArray.length){
		slideToGoTo=0;
		}
	else{
		slideToGoTo=currentSlide+1;
		}
	displaySnippet(slideToGoTo);
	}
}

function getDivOnly(stringToClean){
	var str=stringToClean;
	if(str.indexOf('<div class="snippet_frame">')!=-1){
	var startIndex=str.indexOf('<div class="snippet_frame">');
	var endIndex=str.indexOf('<!--endofsnippet-->');
	var cleanStr=str.substring(startIndex,endIndex)+"</div>";
	return cleanStr;
	}
	else
	{
	return str;
	}
}


function createContentDivs(){
	for(var i=0;i<slideArray.length;i++){
		var SLIDEDIVSTRING = '<div id="slide_'+i+'" class="slide_content">'+contentArray[i][0]+'</div>'
		document.getElementById('loadedcontent').innerHTML+=SLIDEDIVSTRING;
		}
	
	}
	
	
function sortMultiDimensional(a,b){
	return ((a[1] < b[1]) ? -1 : ((a[1] > b[1]) ? 1 : 0));
}
