//-----------XML Variables-----------
var xmlURL = 'Gallery.xml';
var xmlhttp;
var xmlDoc;
var xGallerySet;
var xGalleries;
var xCurrentGallery;
var xCurrentPics;
var xPicLength;
//------------------------------------------
var iContainer='AlbumHolder';
var iCurrentAlbum='CurrentAlbum';
var iImageDiv = 'ImgDiv';
var iImageDesc = 'imgDesc';
var iImageCount = 'imgCount';
var iPrevious = 'previous';
var iNext = 'next';
//-----------------------------------------
var oContainer=document.getElementById(iContainer);
var oCurrentAlbum=document.getElementById(iCurrentAlbum);
var oImageDiv=document.getElementById(iImageDiv);
var oImgDesc=document.getElementById(iImageDesc);
var oImgCount=document.getElementById(iImageCount);
var oPrevious=document.getElementById(iPrevious);
var oNext=document.getElementById(iNext);
var oCounter;

function CreateGallery(){
	xmlDoc = loadXMLDoc(xmlURL);
	xGallerySet = xmlDoc.getElementsByTagName("myGallerySet");
	//alert(xGallerySet[0]);
	xGalleries = xGallerySet[0].getElementsByTagName("Gallery");
	oContainer.innerHTML='<br>';
	for(var i=0; i<=xGalleries.length-1;i++){
		oContainer.innerHTML += "* <a href='#' class='Menu' onclick=createAlbum('"+i+"')>" + xGalleries[i].getAttribute('name') + "</a><br>";
	}
}	

function createAlbum(v){
	oCounter=0;
	xCurrentGallery=xGalleries[v];
	xCurrentPics = xCurrentGallery.getElementsByTagName("Pic");

	oCurrentAlbum.innerHTML = "<b>" + xCurrentGallery.getAttribute('name') + ": </b>" + xCurrentGallery.getAttribute('description');
	oImageDiv.innerHTML = '';
	oImageDiv.innerHTML = "<img src='" +xCurrentGallery.getAttribute('path') + xCurrentPics[0].getAttribute('image')+ "' />";
	oImgDesc.innerHTML = xCurrentPics[0].getAttribute('description');
	xPicLength=xCurrentPics.length;
	oImgCount.innerHTML = (oCounter+1) +" of "+ (xCurrentPics.length);
	
	oImgCount.style.visibility="visible";
	oImgDesc.style.visibility="visible";
	oPrevious.style.visibility ="hidden";
	if(xCurrentPics.length==1)
		oNext.style.visibility ="hidden";
	else
		oNext.style.visibility ="visible";
}

function navigate(v){
	if(v=='+'){
		oCounter +=1;
		oPrevious.style.visibility ="visible";
	}
	else{
		oCounter -=1;
		oNext.style.visibility ="visible";
	}
	//alert(oCounter);
	
	oImageDiv.innerHTML = '';
	oImageDiv.innerHTML = "<img src='" +xCurrentGallery.getAttribute('path') + xCurrentPics[oCounter].getAttribute('image')+ "' />";
	oImgCount.innerHTML = (oCounter+1) +" of "+ (xCurrentPics.length);
	
	if((oCounter+1)==xCurrentPics.length)
		oNext.style.visibility ="hidden";
	if(oCounter==0)
		oPrevious.style.visibility ="hidden";
	
}



function loadXMLDoc(dname) {
	var xmlhttp;
	// create an XMLHttpRequest object
    if (window.XMLHttpRequest)//for firefox and others
        xmlhttp = new window.XMLHttpRequest();
    else// IE 5 and IE 6
		xmlhttp=new ActiveXObject("Microsoft.XMLHttp");
	
	// Read XML file or display an error message
	if (!xmlhttp)
		alert("Error creating the XMLHttpRequest object.");
	else{
		xmlhttp.open("GET", dname, false);
		//Optional - xmlhttp.onreadystatechange
		//xmlhttp.onreadystatechange = handleRequestStateChange;
		xmlhttp.send(null);
		return xmlhttp.responseXML;
	}
}

function handleRequestStateChange() 
{
  // continue if the process is completed
  if (xmlhttp.readyState == 4) 
  {
    // continue only if HTTP status is "OK"
	
    if (xmlhttp.status == 200) 
    {
      try
      {
        // retrieve the response
        response = xmlHttp.responseText;
		// do something with the response
        // ...
        // ...
      }
      catch(e)
      {
        // display error message
        alert("Error reading the response: " + e.toString());
      }
    } 
    else
    {
      // display status message
      alert("There was a problem retrieving the data:\n" + 
            xmlhttp.statusText);
    }
  }
}
