// JavaScript Document

// ** This is here to suppress an error with loading images
// ** The error isn't an error, just a bug
// ** comment out the next two lines to show errors
function stopErrors(){return true;}
window.onerror = stopErrors;

// Original code(below) was raising an error and continuing
// New code uses the eval function
// window.onload=initAll();
var OnLoad = 'initAll()';
window.onload = function() {eval(OnLoad);};

var xmlDoc;
var items = new Array();
var pictures = new Array();
var links = new Array();
var buttons = new Array();
var buttonContent = new Array();
var currentSelected = 1;
var playerViewer;

function initAll(){
	/*alert("started");
	parseXML();
	getPictures();
	getLinks();
	getItems();
	getButtons();*/
	loadXMLDoc("xml/featureItems.xml");
}

function getPictures(){
	var arr = new Array();
	pictures = xmlDoc.responseXML.getElementsByTagName("picture");
	for(var i=0; i<pictures.length; i++){
	 	arr.push(pictures[i].firstChild.data);
	}
	//alert(arr[1]);
}



function getItems(){
	
	var arr = new Array();
	items = xmlDoc.responseXML.getElementsByTagName("featuredItem");
	for(var i=0; i<items.length; i++){
	 	arr.push(items[i].firstChild.data);
	}
}

function getButtons(){
	
	/*getItems();
	var arr = new Array();
	buttons = items;
	for(var i=0; i<buttons.length; i++){
	 	arr.push(buttons[i].getAttribute("name"));
	}*/
	var arr = new Array();
	buttons = xmlDoc.responseXML.getElementsByTagName("button");
	for(var i=0; i<buttons.length; i++){
	 	arr.push(buttons[i].firstChild.data);
	}
	//alert(arr);
}

function getLinks(){
	var arr = new Array();
	links = xmlDoc.responseXML.getElementsByTagName("link");
	for(var i=0; i<links.length; i++){
	 	arr.push(links[i].firstChild.data);
	}
	//alert(arr);
}

function loadXMLDoc(url) {
	xmlDoc = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			xmlDoc = new XMLHttpRequest();
        } catch(e) {
			xmlDoc = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	xmlDoc = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		xmlDoc = false;
        	}
		}
    }
	if(xmlDoc) {
		xmlDoc.onreadystatechange = processReqChange;
		xmlDoc.open("GET", url, true);
		xmlDoc.send("");
	}
}

function processReqChange() {
    // only if xmlDoc shows "loaded"
    if (xmlDoc.readyState == 4) {
        
        if (xmlDoc.status == 200) {
			//alert("XML READY");
            //alert(xmlDoc.responseXML.getElementById("featuredItemImg").firstChild.src);
			//parseXML();
			getPictures();
			getLinks();
			getItems();
			getButtons();
			createBtns();
			startPlayer();
        } else {
            alert("There was a problem retrieving the XML data:\n" +
                xmlDoc.statusText);
        }
    }
}

function parseXML()
{
	try //Internet Explorer
  	{
  		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  	}
	catch(e)
  	{
  		try //Firefox, Mozilla, Opera, etc.
    	{
    		xmlDoc=document.implementation.createDocument("","",null);
    	}
  		catch(e)
    	{
    		alert(e.message);
    		return;
    	}
  	}
	xmlDoc.async=false;
	xmlDoc.load("xml/featureItems.xml");
	//alert("finished XML Parse");
}

function setItemPicture(item){
	switch (item) {
		case 0: document.getElementById("featuredItemImgLink").firstChild.src = pictures[0].firstChild.data;
				document.getElementById("featuredItemImg").firstChild.href = links[0].firstChild.data;
				
			break;
		case 1: document.getElementById("featuredItemImgLink").firstChild.src = pictures[1].firstChild.data;
				document.getElementById("featuredItemImg").firstChild.href = links[1].firstChild.data;
				
			break;
		case 3: document.getElementById("featuredItemImgLink").firstChild.src = pictures[3].firstChild.data;
				document.getElementById("featuredItemImg").firstChild.href = links[3].firstChild.data;
				
			break;
		case 2: document.getElementById("featuredItemImgLink").firstChild.src = pictures[2].firstChild.data;
				document.getElementById("featuredItemImg").firstChild.href = "http://www.neb.uk.com/search/search.asp?searchType=products&yider=simplechip&submit.x=0&submit.y=0";
				
			break;
		default: document.getElementById("featuredItemImgLink").firstChild.src = pictures[0].firstChild.data;
				 document.getElementById("featuredItemImg").firstChild.href = links[0].firstChild.data;
				
	}
}

function createBtns(){

    var arr = new Array;
	buttonContent = items;
	
	for (var i = 0; i < buttonContent.length; i++) {
			if(i == 0){
				if(i == buttonContent.length - 1){
					arr.push("<div class=\"selected\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div>");
				}else{
					arr.push("<div class=\"selected\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div><div class=\"featureItemSpacer\"></div>");
				}
			currentSelected = i;
			}else{
				if(i == buttonContent.length - 1){
					arr.push("<a href=\"javascript:setSelected(" + i + ")\"><div class=\"itemBtn\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div></a>");
				}else{
					arr.push("<a href=\"javascript:setSelected(" + i + ")\"><div class=\"itemBtn\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div></a><div class=\"featureItemSpacer\"></div>");	
				}
			}
		
	}

	setItemPicture(currentSelected);
	
	var strReplaceAll = arr.toString();
    var intIndexOfMatch = strReplaceAll.indexOf( "," );
  
    // Loop over the string value replacing out each matching
    // substring.
    while (intIndexOfMatch != -1){
        // Relace out the current instance.
        strReplaceAll = strReplaceAll.replace(",", "");
  
        // Get the index of any next matching substring.
        intIndexOfMatch = strReplaceAll.indexOf( "," );
    }

    //alert(strReplaceAll);
	document.getElementById("featuredItemBtn").innerHTML = strReplaceAll;
	
}

function setSelected(item){

    var arr = new Array;
	buttonContent = items;
	
	for (var i = 0; i < buttonContent.length; i++) {
			if(i == item){
				if(i == buttonContent.length - 1){
					arr.push("<div class=\"selected\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div>");
				}else{
					arr.push("<div class=\"selected\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div><div class=\"featureItemSpacer\"></div>");
				}
			currentSelected = i;
			}else{
				if(i == buttonContent.length - 1){
					arr.push("<a href=\"javascript:setSelected(" + i + ")\"><div class=\"itemBtn\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div></a>");
				}else{
					arr.push("<a href=\"javascript:setSelected(" + i + ")\"><div class=\"itemBtn\" id=\""+ buttons[i].firstChild.data + "\" align=\"centre\"><div class=\"featuredItemText\">" + buttons[i].firstChild.data + "</div></div></a><div class=\"featureItemSpacer\"></div>");	
				}
			}
		
	}
	
	setItemPicture(currentSelected);

	var strReplaceAll = arr.toString();
    var intIndexOfMatch = strReplaceAll.indexOf( "," );
  
    // Loop over the string value replacing out each matching
    // substring.
    while (intIndexOfMatch != -1){
        // Relace out the current instance.
        strReplaceAll = strReplaceAll.replace(",", "");
  
        // Get the index of any next matching substring.
        intIndexOfMatch = strReplaceAll.indexOf( "," );
    }

	document.getElementById("featuredItemBtn").innerHTML = strReplaceAll;
	setItemPicture(item);
}


//var selectionTimerVar = setInterval("selectionTimer()", 5000);

function selectionTimer()
{
  	if(currentSelected == 3)
		setSelected(0);
	else
		setSelected(currentSelected + 1);
}

function startPlayer(){
	playViewer = setInterval("selectionTimer()", 10000);
}

function gotoPage(page){
	window.location.href = page;
}
