
var thumbList = new Array();

addLoadEvent(initClicks);

// Initialize objects and events
function initClicks(){
		var scanId = document.getElementById("thumbnails");
		var nodeList = scanId.getElementsByTagName("a");
		
		// Loop through all the thumbnails on the page and create objects
		// and assign event handlers
		for (var i = 0; i < nodeList.length; i++){
			var linkRef = nodeList.item(i);
			imgSrc = linkRef.firstChild.src;
			thumbFileName = getFileNameFromPath(imgSrc);
			thumbArtId = getParam(linkRef.href, "c");
			thumbArtistId = getParam(linkRef.href, "a");
		
			// Create thumbnail object for each thumbnail
			thumbList[i] = new vrnThumbnailObject(linkRef,thumbFileName,thumbArtId,thumbArtistId,i);
			
			// Determine static selected image (this is if the user has followed
			// in a link that has a selected image
			if (linkRef.className == "selected") 
				{
					vrnThumbnailObject.selectedThumbRef = linkRef;
					vrnThumbnailObject.selectedThumbIndex = i;
				};
			
			// Attach event
			linkRef.onclick = thumbList[i].handleThumbClick;
			
		}
		
		// Set variable with totalThumbnails
		vrnThumbnailObject.totalThumbs = nodeList.length;
		
		// Init NextPrevious links
		document.getElementById("navPrevious").onclick = vrnThumbnailObject.doNavPrevious;
		document.getElementById("navNext").onclick = vrnThumbnailObject.doNavNext;
		document.getElementById("navNext").href = "";
		document.getElementById("navPrevious").href = "";

}


// Thumbnail Object
function vrnThumbnailObject(vrnThumb, vrnThumbFileName, vrnThumbArtId, vrnThumbArtistId,vrnThumbLinkId)
	{
		//define object's props
		this.thumbLinkRef = vrnThumb;
		str = vrnThumbFileName;
      this.filename = str.replace("_s.jpg", "");		
		this.artId = vrnThumbArtId;
		this.artistId = vrnThumbArtistId;
		this.thumbLinkId = vrnThumbLinkId;
		
		// define methods
		this.handleThumbClick= vrnHandleThumbClick;
		this.swapImage = vrnSwapImage;
		this.setHighlight = vrnSetHighlight;
		this.setCurrent = vrnSetCurrent;
		this.setEnlarge = vrnDoUpdateEnlargeLink;
		this.swapDetails = vrnSwapDetails;
	}
vrnThumbnailObject.doNavPrevious = vrnDoNavPrevious;
vrnThumbnailObject.doNavNext = vrnDoNavNext;



// Thumbnail Class methods

// Next link action
function vrnDoNavPrevious()
	{
		if (vrnThumbnailObject.selectedThumbIndex == 0){vrnDoSwap(vrnThumbnailObject.totalThumbs-1);}
		else {vrnDoSwap(vrnThumbnailObject.selectedThumbIndex-1);}
		return false;
	}

// Previous link action
function vrnDoNavNext()
	{
		if (vrnThumbnailObject.selectedThumbIndex == vrnThumbnailObject.totalThumbs-1){vrnDoSwap(0);}
		else{vrnDoSwap(vrnThumbnailObject.selectedThumbIndex+1);}
		return false;
	}


// Enlarge link action
function vrnDoUpdateEnlargeLink()
	{
		document.getElementById("navEnlarge").href = "/artist/detail.php?c=" + this.artId;
	}


// Object methods

// Swap big image method
function vrnSwapImage(){
	srcW = "/artist/assets/" + this.artistId + "/" + this.filename + "_m.jpg";
	srcWO = "assets/"+this.filename;
	
	if(this.artistId){src = srcW;} else {src=srcWO;}
	
	document.getElementById("bigImage").src = src;
}

// Highlight thumbnail method
function vrnSetHighlight(){
		// Highlight this
		vrnThumbnailObject.selectedThumbRef.className = "";
		this.thumbLinkRef.className = "selected";
}

// Set object properties for current selected item
function vrnSetCurrent(){
		vrnThumbnailObject.selectedThumbRef = this.thumbLinkRef;
		vrnThumbnailObject.selectedThumbIndex = this.thumbLinkId;

}


// Thumbnail click event method
function vrnHandleThumbClick()
	{
		// Determine the link ID
		var thumbLinkId = this.id;
		var len = thumbLinkId.length;
		var pos = thumbLinkId.indexOf("_");
		thumbLinkId = (thumbLinkId.substring(pos+1, len))-1;
		vrnDoSwap(thumbLinkId);

		// Disable HREF
		return false;
	}
	
	
// Calls methods to swap a thumbnail	
function vrnDoSwap(thumbLinkId)
	{
		thumbList[thumbLinkId].swapImage();
		thumbList[thumbLinkId].setHighlight();
		thumbList[thumbLinkId].setCurrent();
		thumbList[thumbLinkId].setEnlarge();
		thumbList[thumbLinkId].swapDetails();		
	}


// Swap in the details	
function vrnSwapDetails()
	{

	if (xmlhttp)
		{
			
			// Loading message
			var message = "Loading Details...";
			
			// Containing 
			var cloneDiv = document.getElementById("artDetails");
			
			/* if (XHTML)
				{
					var newSpan = document.createElement("span");
					var newText = document.createTextNode(message);
					newSpan.appendChild(newText);
					var replaced = cloneDiv.replaceChild(newSpan, cloneDiv.firstChild);
				}
			else
				{*/
					document.getElementById("artDetails").innerHTML = "<span>" + message + "</span>";
				/*}*/
			
			// Load details
			 xmlhttp.open("GET", "/artist/get_artdetails.php?c=" + this.artId,true);
			 xmlhttp.onreadystatechange=function() {
			  if (xmlhttp.readyState==4) {
				  
				//var respDoc  = xmlhttp.responseXML.firstChild.cloneNode(true);
				
				/* if (XHTML) {
					cloneDiv.replaceChild(respDoc, cloneDiv.firstChild);
				}
				else
				{*/
					document.getElementById("artDetails").innerHTML = xmlhttp.responseText;
				// }
				document.getElementById("artDetails").style.color = "#FFF";
				fadeIn(255,'artDetails');
			  }
			 }
			 xmlhttp.send(null);
		}
		 
	}

































