
var numTotal;
var arrayTotal = new Array();
var randArray = new Array();
var modeSelect;
var seqNum = 0;
var rNum;	

//var xmlDoc;

//THIS WORKS IN IE 6  
  if (window.XMLHttpRequest)
  {
  xhttp=new window.XMLHttpRequest();
  }
else // Internet Explorer 5/6
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET","caVol1_200s.xml",false);
xhttp.send("");
xmlDoc=xhttp.responseXML;

/*
if (window.XMLHttpRequest)
  {
  xmlDoc=new window.XMLHttpRequest();
  xmlDoc.open("GET","caVol1_200s.xml",false);
  xmlDoc.send("");
  xmlDoc=xmlDoc.responseXML;
  }
// IE 5 and IE 6
else if (ActiveXObject("Microsoft.XMLDOM"))
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.load("caVol1_200s.xml");
  }
  */
 
function setUp()
{
numTotal = xmlDoc.getElementsByTagName('issue');
        //PUTS THE NUMBER OF ONLINE ISSUES ON THE BACK
        document.getElementById('issNum').innerHTML = numTotal.length + "<br />Issues<br />Online!";
	
        //POPULATE ARRAY: INDEX = ARRAY[INDEX].VALUE
        for(i = 0; i < numTotal.length; i++)
        {
            arrayTotal[i] = i;
            randArray[i] = i;
        }
		setVolumeList();
}

//*******************END SET UP SECTION*********************//
var x=xmlDoc.getElementsByTagName("issue");

function changeIssue()
{
	//IF IN RANDOM MODE CREATE RANDOM NUMBER EACH SELECTION
	if(document.getElementById("random").checked)
	{
		rNum = Math.floor(Math.random() * randArray.length);
        placeIssue(randArray[rNum]);
        
        //REMOVE THE ISSUE FROM randArray
		randArray.splice(rNum,1);
        
        //IF THE ARRAY GETS TOO LOW, REPOPULATE
        //WILL ONLY HAPPEN IN RANDOM MODE
        if(randArray.length < 2)
        {
            for(i = 0; i < numTotal.length; i++)
            {
                randArray[i] = i;
            }
        }
	}
    
	//IF PROGRESSIVE MODE ADDS 1 RANDOM NUMBER (=0) EACH SELECTION
	else
	{
		seqNum++;
		if(seqNum >= arrayTotal.length)
		{
			seqNum = 0;
		}
        placeIssue(arrayTotal[seqNum]);
	}

}


function placeIssue(newIssue)
{
    
//**********NEW XML ITEM TESTING****************//
//var newIssue = arrayTotal.length -1;
 
    //PUT THE INFO INTO THE WIDGET - ISSUE[X] = ARRAY[rNum]
	document.getElementById('synopsis').innerHTML = x[newIssue].getElementsByTagName('synopsis')[0].childNodes[0].nodeValue;
	document.getElementById('title').innerHTML = x[newIssue].getElementsByTagName('title')[0].childNodes[0].nodeValue;
	var credits = x[newIssue].getElementsByTagName('credits')[0].childNodes[0].nodeValue;
	credits = credits.replace(/_/gi,"<br />")
	credits = credits.replace(/:/gi,"<br />")
	credits = credits.replace(/;/gi,"<br /><br />")
	document.getElementById('credits').innerHTML = credits;
	var cover = x[newIssue].getElementsByTagName('img-url')[0].childNodes[0].nodeValue;
	document.getElementById('cover').innerHTML = "<img src='http://www.possibli.com/capCovers/"+cover+"'/>";
	var sideBar = x[newIssue].getElementsByTagName('sideBar-url')[0].childNodes[0].nodeValue;
	document.getElementById('sideBar').innerHTML = "<img src='http://www.possibli.com/sideBar/"+sideBar+"'/>";
}

//CALLED WHEN PROGRESSIVE MODE IS SELECETED 
//ALL HIDDEN WHILE BACK IS SHOWING

function changeMode(newMode)
{
	//widget.setPreferenceForKey(newMode,"modeSelect");

	if(document.getElementById("sequence").checked)
	{
		placeIssue(arrayTotal[seqNum]);
	}	
}


//USE THIS ARRAY TO TRACK THE XML NUMBER 
var trackArray = new Array();
var cutColon;

//CHANGE DROPDOWN ISSUE ON CHANGE OF VOLUME/SERIES CHANGE
function setVolumeList()
{
    var y;
    var z;
    var v=document.getElementById("issSelect");
    var volName = document.getElementById("volSelect").value;
    var serName;
    
    //CLEAR THE ISSUE DROPDOWN ON CHANGE
    for(j = 0; j < v.length; i++)
    {
        v.remove(v.j);
    }
    
    //EMPTY THE TRACKING ARRAY ON CHANGE
    trackArray.splice(0,trackArray.length);
    
    //ADD COLON TO START, BUT ONLY UNTIL SELECTION IS MADE
    y = document.createElement('option');
    y.text = ":"
    v.add(y, null);
    cutColon = true;
    
    for(i = 0; i < numTotal.length; i++)
	{   
        //XML ELEMENT 'volume'
        z=x[arrayTotal[i]].getElementsByTagName('volume')[0].childNodes[0].nodeValue;
        //XML ELEMENT 'series'
        serName = x[arrayTotal[i]].getElementsByTagName('series')[0].childNodes[0].nodeValue;
        
        //FOR SERIES 1, 2, 3, 4 & 5
        if(volName == z && serName == "Captain America")
        {
            y=document.createElement('option');
            y.text = x[arrayTotal[i]].getElementsByTagName('number')[0].childNodes[0].nodeValue;
            v.add(y,null);
            trackArray.push(i);
        }
        //FOR ANNUALS
        else if(volName == "annual" && z == "Annual")
        {
            y=document.createElement('option');
            y.text = x[arrayTotal[i]].getElementsByTagName('number')[0].childNodes[0].nodeValue;
            v.add(y,null);
            trackArray.push(i);
        }
        //FOR SERIES THE FALCON
        else if(volName == "falcon" && serName == "The Falcon")
        {
            y=document.createElement('option');
            y.text = x[arrayTotal[i]].getElementsByTagName('number')[0].childNodes[0].nodeValue;
            v.add(y,null);
            trackArray.push(i);
        }
        //DO I WANT TO INCLUDE SELECTION OF OTHER COMICS?
        else if(volName == "other" && serName != "Captain America" && serName != "The Falcon")
        {
            y=document.createElement('option');
            y.text = x[arrayTotal[i]].getElementsByTagName('series')[0].childNodes[0].nodeValue;
            v.add(y,null);
            trackArray.push(i);
        }
	}
}

function setIssueList()
{ 
    var v=document.getElementById("issSelect");
    
    //CUT OUT THE COLON FOR ONLY THE FIRST TIME
    if(cutColon == true)
    {
        v.remove(0);
        cutColon = false;
    }  
    seqNum = arrayTotal[trackArray[v.selectedIndex]];
    placeIssue(arrayTotal[trackArray[v.selectedIndex]]);
}

