//Define the search text for all variables;
searchCanadian = "";
searchEnergy   = "";
searchGovern   = "";
//Number of stories we limit
defaultDisplay = 12;
displayCanadian= defaultDisplay;
displayEnergy  = defaultDisplay;
displayGovern  = defaultDisplay;
maxCanadian    = defaultDisplay-4;
maxEnergy	   = defaultDisplay-4;
maxGovern      = defaultDisplay-4;


var xmlHttp = createXmlHttp();

function searchNews(search, section){

	if(section == 'CanadianNewsDiv'){
		searchCanadian = search;
	}else if(section == 'EnergyNewsDiv'){
		searchEnergy = search;
	}else if(section == 'GovernmentNewsDiv'){
		searchGovern = search;
	}
	
	SearchNewsSections(search, section);

}  

function SearchNewsSections(search, section){
	
	if (xmlHttp)
	   {
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
		 {
			xmlHttp.open("GET", "news/_newsSearchAll.php?search=" + search + "&section=" + section, true);  			
			xmlHttp.onreadystatechange = handleNewsReturn;
			xmlHttp.send(null);
			
		}			
	  } else
	  {
		alert('There was an error creating the XML Object.');
	  }
	
}

function swapStoryInfo(newsCounter, lockNewsNext, lockNewsPrev, displayNumber, maxLength, divLeft, divRight, javalink, searched){
	imgBack  = "<a href=\"javascript:"+javalink+"('prev')\"><img src=\"images/btn_back.png\" align=\"absmiddle\" border=\"0\"/></a> ";
	imgFwd   = " <a href=\"javascript:"+javalink+"('next')\"><img src=\"images/btn_fwd.png\" align=\"absmiddle\" border=\"0\"/></a> ";
	if(divLeft == "NewsBText"){
		text1 = "<a href=\"javascript:"+javalink+"(0)\">1</a> ";
		text2 = "<a href=\"javascript:"+javalink+"(1)\">2</a>";
		text3 = "<a href=\"javascript:"+javalink+"(2)\">3</a> ";
		switch(newsCounter){
			case 0: 
				text1 = "<span style=\"color:#68808B;\">1</span> ";
				break;
			case 1: 
				text2 = "<span style=\"color:#68808B;\">2</span> ";
				break;
			case 2: 
				text3 = "<span style=\"color:#68808B;\">3</span> ";
				break;
		}
	}else{
		textNext = "<a href=\"javascript:"+javalink+"('next')\">Next 4</a> ";
		textPrev = "<a href=\"javascript:"+javalink+"('prev')\">Prev 4</a>";
	}
	
	if(lockNewsNext == true){
		if(divLeft != "NewsBText"){
			textNext = "<span style=\"color:#68808B;\">Next 4 </span>";
		}
			imgFwd  = " <img src=\"images/btn_fwd_fade.png\" align=\"absmiddle\"/> ";
	}
							
	if(lockNewsPrev == true){
		if(divLeft != "NewsBText"){
			textPrev = "<span style=\"color:#68808B;\">Prev 4</span>";
		}
		imgBack  = "<img src=\"images/btn_back_fade.png\" align=\"absmiddle\"/> ";
	}
	
	
	if(divLeft == "NewsBText"){
		document.getElementById(divRight).innerHTML = imgBack+text1+" | "+text2+" | "+text3+imgFwd;
	}else{
		newsCounterTo = newsCounter+maxLength;
	
		newsCounter = newsCounter+1;
		if(searched){
			if(maxLength == 0){
				newsCounter = 0;
			}
			document.getElementById(divLeft).innerHTML = "Displaying search results "+newsCounter+"-"+newsCounterTo+" of "+displayNumber;
		}else{
			document.getElementById(divLeft).innerHTML = "Displaying stories "+newsCounter+"-"+newsCounterTo+" of "+displayNumber;
		}
		document.getElementById(divRight).innerHTML = imgBack+textPrev+" | "+textNext+imgFwd;
	}
}

News1Counter = 0;
News2Counter = 0;
News3Counter = 0;
NewsBCounter = 0;
// Default locking for the next/prev buttons
lockNews1Next = false;
lockNews2Next = false;
lockNews3Next = false;
lockNewsBNext = true;
lockNews1Prev = true;
lockNews2Prev = true;
lockNews3Prev = true;
lockNewsBPrev = true;

//We start here, each "section" has its own function
//Canadian Press News
function getNextStories1(direction){
	if(direction == "next"){
		News1Counter = News1Counter + 4;
		lockNews1Prev = false;
		if(News1Counter >= maxCanadian){
			lockNews1Next = true;
		}
	}else{
		News1Counter = News1Counter - 4;
		lockNews1Next = false;
		if(News1Counter == 0){
			lockNews1Prev = true;
		}
	}
	

	//All seperate functions call to this to get the news stories for that section
	getNextStories('CanadianNewsDiv', News1Counter, searchCanadian, maxCanadian);
	
}

//Energy Press News
function getNextStories2(direction){
	if(direction == "next"){
		News2Counter = News2Counter + 4;
		lockNews2Prev = false;
		if(News2Counter >= maxEnergy){
			lockNews2Next = true;
		}
	}else{
		News2Counter = News2Counter - 4;
		lockNews2Next = false;
		if(News2Counter == 0){
			lockNews2Prev = true;
		}
	}
	
	//All seperate functions call to this to get the news stories for that section
	getNextStories('EnergyNewsDiv', News2Counter, searchEnergy, maxEnergy);
	
	
}

//Government Press News
function getNextStories3(direction){
	if(direction == "next"){
		News3Counter = News3Counter + 4;
		lockNews3Prev = false;
		if(News3Counter >= maxGovern){
			lockNews3Next = true;
		}
	}else{
		News3Counter = News3Counter - 4;
		lockNews3Next = false;
		if(News3Counter == 0){
			lockNews3Prev = true;
		}
	}
	
	//All seperate functions call to this to get the news stories for that section
	getNextStories('GovernmentNewsDiv', News3Counter, searchGovern, maxGovern);

	
}

//Automatic switch for Breaking News section
function initBreakingNews(loggedIn){
	intervalID = setInterval('getNextBreakingNews("next", '+loggedIn+')', 15000);
}

switchDirection = 'next';
intervalID = false;

//Breaking News
function getNextBreakingNews(direction, loggedIn){
	lockNewsBNext = false;
	lockNewsBPrev = false;

	if(intervalID){
		clearInterval(intervalID);
	}
	
	if(direction / 1 || direction == 0){
		NewsBCounter = direction;
	}else{
		switchDirection = direction;
		if(direction == "next"){
			NewsBCounter = NewsBCounter + 1;
		}else{
			NewsBCounter = NewsBCounter - 1;
		}
	}

	if(NewsBCounter == 2){
		lockNewsBNext = true;
		switchDirection = 'back'
	}
	if(NewsBCounter == 0){
		lockNewsBPrev = true;
		switchDirection = 'next';
	}
	
	//All seperate functions call to this to get the news stories for that section
	getNextStories('BreakingNewsDiv', NewsBCounter, loggedIn);
	//This will swap out the numbers and "Prev"/"Next" buttons
	swapStoryInfo(NewsBCounter, lockNewsBNext, lockNewsBPrev, 0, 0, 'NewsBText', 'NewsBControl', 'getNextBreakingNews', false);

	intervalID = setInterval("getNextBreakingNews('"+switchDirection+"', "+loggedIn+")", 15000);

}

function getNextStories(newsSection, counter, search, maxLimit){
//	xmlHttp1 = createXmlHttp();

      if (xmlHttp)
	   {
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
		 {
			xmlHttp.open("GET", "news/_newsSwitch.php?newsSection=" + newsSection + "&counter=" + counter + "&searchString=" + search + "&maxLimit=" + maxLimit, true);  			
			xmlHttp.onreadystatechange = handleNewsReturn;
			xmlHttp.send(null);
		}			
	  } else
	  {
		alert('There was an error creating the XML Object.');
	  }

}

//Handle what to do with the news bits returned
function handleNewsReturn(){
	//Continue only if the server response if "OK"
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
		try{

			 var xmlResponse = xmlHttp.responseXML;
          	 var theDiv = xmlResponse.getElementsByTagName("newsDiv");
          	 var theCount = xmlResponse.getElementsByTagName("count");
          	 var theSearch = xmlResponse.getElementsByTagName("search");

          	 if(theDiv[0].firstChild.data == "BreakingNewsDiv"){
				//WE HAVE RECIEVED BREAKING NEWS!
          	 	var newsTitleA = xmlResponse.getElementsByTagName("newsTitle");
          	 	var newsHeaderA = xmlResponse.getElementsByTagName("newsHeader");
          	 	var newsImageA = xmlResponse.getElementsByTagName("newsImage");
          	 	var newsNewsA = xmlResponse.getElementsByTagName("newsNews");
          	 	var newsLinkA = xmlResponse.getElementsByTagName("newsLink");
          	 
          	 	newsTitle = newsTitleA[0].firstChild.data;
				newsHeader =  newsHeaderA[0].firstChild.data;
				newsImagePath = newsImageA[0].firstChild.data;
				newsNews =  newsNewsA[0].firstChild.data;
				newsLinkLink = newsLinkA[0].firstChild.data;

				newsLink = "<img src=\"images/button_arrow.gif\" style=\"padding-top: 2px; width: 11px; height: 11px;\"/> <a href=\"javascript:loadNewVideo('"+newsLinkLink+"');\">WATCH VIDEO</a>";
				newsImage = "<img src=\""+newsImagePath+"\" width=\"139\" height=\"106\" />";
				
				//alert(newsLink);
				document.getElementById('breakingNewsLink').innerHTML = newsLink;
				document.getElementById('breakingNewsTitle').innerHTML = newsTitle;
				document.getElementById('breakingNewsHeadline').innerHTML = newsHeader;
				document.getElementById('breakingNewsImage').innerHTML = newsImage;
				document.getElementById('breakingNewsText').innerHTML = newsNews;
				
				
          	 }else{
          	 
          	     // We are getting the regular news (Canadian, government, energy)
          		var baseURL = xmlResponse.getElementsByTagName("baseURL");
	          	var endURL = xmlResponse.getElementsByTagName("endURL");
				var titleArr = xmlResponse.getElementsByTagName("title");
		  	    var dateArr = xmlResponse.getElementsByTagName("date");
		  	    var errorArr = xmlResponse.getElementsByTagName("error");
		        baseLink = baseURL[0].firstChild.data;
				endLink =  endURL[0].firstChild.data;
				error = errorArr[0].firstChild.data;
				innerText = "";
				
          	 	maxLength = titleArr.length;
          	 	
          	 	if(theDiv[0].firstChild.data == "CanadianNewsDiv"){
          	 		//We have searched
          	 		if(theCount[0].firstChild.data != 'null'){
          	 			displayCanadian = theCount[0].firstChild.data;
          	 			maxCanadian = theCount[0].firstChild.data-4;
          	 			searchCanadian = theSearch[0].firstChild.data;
          	 			News1Counter = 0;
          	 			lockNews1Next = false;
          	 			if(maxLength < 4 || displayCanadian == 4){
          	 				lockNews1Next = true;
          	 			}
          	 			lockNews1Prev = true;
          	 		}

          	 		//This will swap out the numbers and "Prev"/"Next" buttons
					swapStoryInfo(News1Counter, lockNews1Next, lockNews1Prev, displayCanadian, maxLength, 'News1Text', 'News1Control', 'getNextStories1', searchCanadian);
          	 	
          	 	}else if(theDiv[0].firstChild.data == "EnergyNewsDiv"){
          	 		//We have searched
          	 		if(theCount[0].firstChild.data != 'null'){
          	 			displayEnergy = theCount[0].firstChild.data;
          	 			maxEnergy = theCount[0].firstChild.data-4;
          	 			searchEnergy = theSearch[0].firstChild.data;
          	 			News2Counter = 0;
          	 			lockNews2Next = false;
          	 			if(maxLength < 4 || displayEnergy == 4){
          	 				lockNews2Next = true;
          	 			}
          	 			lockNews2Prev = true;
          	 		}
          	 		
          	 		//This will swap out the numbers and "Prev"/"Next" buttons
					swapStoryInfo(News2Counter, lockNews2Next, lockNews2Prev, displayEnergy, maxLength, 'News2Text', 'News2Control', 'getNextStories2', searchEnergy);
          	 	
          	 	}else if(theDiv[0].firstChild.data == "GovernmentNewsDiv"){
          	 		//We have searched
          	 		if(theCount[0].firstChild.data != 'null'){
          	 			displayGovern = theCount[0].firstChild.data;
          	 			maxGovern = theCount[0].firstChild.data-4;
          	 			searchGovern = theSearch[0].firstChild.data;
          	 			News3Counter = 0;
          	 			lockNews3Next = false;
          	 			if(maxLength < 4 || displayGovern == 4){
          	 				lockNews3Next = true;
          	 			}
          	 			lockNews3Prev = true;
          	 		}
 
          	 		//This will swap out the numbers and "Prev"/"Next" buttons
					swapStoryInfo(News3Counter, lockNews3Next, lockNews3Prev, displayGovern, maxLength, 'News3Text', 'News3Control', 'getNextStories3', searchGovern);
          	 	
          	 	}
          	 	
			  	 for (var i=0; i<titleArr.length ; i++){
			       if (i%2==0){
			          myClass = 'item1';
			        }else{
			          myClass = 'item2';
			        }
			              
			      fulltitle = titleArr[i].firstChild.data;
				  fulldate = dateArr[i].firstChild.data;
	 
				  innerText += '<div class="'+myClass+'"><a href="'+baseLink+titleArr[i].getAttribute("id")+'&'+endLink+'">'+fulltitle+'</a><div class="date">'+fulldate+'</div></div>';	
				 } 
					 
				if(error != 'false'){
					 innerText = '<div class="item1">Your search for <span style="color: #FD812B;">\''+error+'\'</span> returned 0 results, please try again.</div>';	
				}
				document.getElementById(theDiv[0].firstChild.data).innerHTML = innerText;
  			}
  			
			//Detect IE5.5+
			version=0
			if (navigator.appVersion.indexOf("MSIE")!=-1){
			temp=navigator.appVersion.split("MSIE")
			version=parseFloat(temp[1])
			}
			
			if (version>=1 && version<=6) //NON IE browser will return 0
			correctPNG();
			
		}catch(z){
			alert("Error reading the response: "+ z.toString());
		}
		
	}else{
		// Display error message
		alert("There was an error getting the data:\n" + xmlHttp.statusText)
	}
	}

}


function switchCurrentVideos(currSec, nextSec){
	newsSection = "newsSection";
	document.getElementById(newsSection+currSec).style.display = 'none';
	document.getElementById(newsSection+nextSec).style.display = '';
}

