

addLoadEvent(setupRollovers);
//addLoadEvent(imagePreLoad);
addLoadEvent(prepareGallery)
addLoadEvent(addDesc);
addLoadEvent(listeners);
//addLoadEvent(galleryTitle);

function setupRollovers() {
  if (!document.getElementsByTagName)
    return;
  var all_links = document.getElementsByTagName('a');
  for (var i = 0; i < all_links.length; i++) {
    var link = all_links[i]; 
    if (link.className &&
        (' ' + link.className + ' ').indexOf(' rollover ') != -1) {
      if (link.childNodes &&
          link.childNodes.length == 1 &&
          link.childNodes[0].nodeName.toLowerCase() == 'img') {
        link.onmouseover = mouseover;
        link.onmouseout = mouseout;
      }
    }
  }
}

function find_target(e)
{
  var target; 

  if (window.event && window.event.srcElement) 
    target = window.event.srcElement;
  else if (e && e.target)
    target = e.target;
  if (!target)
    return null;

  while (target != document.body &&
      target.nodeName.toLowerCase() != 'a')
    target = target.parentNode;

  if (target.nodeName.toLowerCase() != 'a')
    return null;

  return target;
}

function mouseover(e) {
  var target = find_target(e);
  if (!target) return;
  var img_tag = target.childNodes[0];
  img_tag.src = img_tag.src.replace(/(\.[^.]+)$/, '-over$1');
}

function mouseout(e) {
  var target = find_target(e);
  if (!target) return;
  var img_tag = target.childNodes[0];
  img_tag.src = img_tag.src.replace(/-over(\.[^.]+)$/, '$1');
}

// Get all the list items and links and give them a unique Id for later reference
// Attach onclick event

// Listen for what picture is selected from thumbnail gallery
function prepareGallery(){
  if( document.getElementById && document.getElementsByTagName ){
    if( document.getElementById( 'gallery' ) ){
      var gallery = document.getElementById( 'gallery' );
      var links = gallery.getElementsByTagName( 'a' );
      for( var i=0; i < links.length; i++ ){
        links[i].setAttribute("id", "linkNo" + [i])
		links[i].parentNode.setAttribute("id", "listNo" + [i])
		links[i].onclick = function(){
          return showPic(this);
        };
      }
    }
  }
}

//Show picture in main window when thumbnail is clicked on
function showPic (whichpic) {
	if (!document.getElementById('mainphoto')) return false; 
		document.getElementById('mainphoto').src = whichpic.href;
		if (whichpic.title) {
			// Replace title value with value in image alt
			var gallerytitle = document.getElementById("gallerytitle")
			//alert(gallerytitle.id);
			//alert(gallerytitle.lastChild.length)
			//alert(whichpic.lastChild.alt)
			
			//alert(whichpic.lastChild.nodeType)
			
			if(whichpic.lastChild.alt) {
				var getAlt = whichpic.lastChild.alt;
				gallerytitle.lastChild.nodeValue = getAlt;
			} else {
				gallerytitle.lastChild.nodeValue = "";
			}
				
				
			var span = document.createElement("span");
			span.setAttribute("id", "no");
			span.className = "imgNo";
			var imageName = whichpic.getAttribute("title");
			for (var i = 0; i < imageName.length; i++) {
				var newSpan = document.createElement("span");
				var currentText = document.createTextNode(imageName.charAt(i));
				newSpan.appendChild(currentText);
				span.appendChild(newSpan);
			}	
			var parent = document.getElementById("desc");
			var innerSpan = document.getElementById("no");
			parent.replaceChild(span, innerSpan)
	}  return false;
}


// Add description to front of thumbnail based on text within the image title
function addDesc() {
	var currentImage = 0;
	if (!document.getElementById("gallery")) return false;
	var gallery = document.getElementById("gallery").getElementsByTagName("a");
	for (var i = 0; i < gallery.length; i++) {		
	var span = document.createElement("span");
		span.className = "imgNo";
		var imageName = gallery[i].getAttribute("title");
		for (var j = 0; j < imageName.length; j++) {
			var newSpan = document.createElement("span");			
			var currentText = document.createTextNode(imageName.charAt(j));
			newSpan.appendChild(currentText);
			span.appendChild(newSpan);
		}	
  	var parent = document.getElementById("listNo" + currentImage);
	var links = document.getElementById("linkNo" + currentImage);
	parent.insertBefore(span, links)
	currentImage++; 
	}
}

//Add listeners to the next and previous image buttons
function listeners() {
	if(!document.getElementById("imagenav")) return false;
	var navigation = document.getElementById("imagenav").getElementsByTagName("a");
	for (var i = 0; i < navigation.length; i++) {
		var currentLink = navigation[i];
		addEvent(currentLink, 'click', prevNext, false);
	}
}

//Find what image is being show and then show the next or previous image depending on what button is selected
function prevNext(e) {
	if (window.event) {
		var links = window.event.srcElement;
		window.event.cancelBubble = true;
	} else {
		var links = e.target;
		e.stopPropagation();
	}
	
	var currentImage = document.getElementById("mainphoto").src;
	var gallery = document.getElementById("gallery").getElementsByTagName("a");
	
	if(links.id == "next") {		
		
		if (window.event) {
			window.event.returnValue = false;
		} else {
			e.preventDefault();
		}
		
		for (var i = 0; i < gallery.length; i++) {
		if (gallery[i].href == currentImage) {
		var startPos = gallery[i].id.indexOf("linkNo");
		var restOfString = gallery[i].id.substr(startPos +6);
		var imgNumber = parseInt(restOfString);
		var nextImageNo = imgNumber + 1;
		var nextImg = "linkNo" + nextImageNo;
		var next = document.getElementById(nextImg)
		if (nextImageNo == gallery.length) return false; 
		document.getElementById('mainphoto').src = next.href;
		if (next.title) {
			
			// Replace title value with value in image alt
			var gallerytitle = document.getElementById("gallerytitle")
			if(next.lastChild.alt) {
				var getAlt = next.lastChild.alt;
				gallerytitle.lastChild.nodeValue = getAlt;
			} else {
				gallerytitle.lastChild.nodeValue = "";
			}			
			
			var span = document.createElement("span");
			span.setAttribute("id", "no");
			span.className = "imgNo";
			var imageName = next.getAttribute("title");
			for (var i = 0; i < imageName.length; i++) {
				var newSpan = document.createElement("span");
				var currentText = document.createTextNode(imageName.charAt(i));
				newSpan.appendChild(currentText);
				span.appendChild(newSpan);
			}	
			var parent = document.getElementById("desc");
			var innerSpan = document.getElementById("no");
			parent.replaceChild(span, innerSpan)
		}  return false;
		}
		}
	}
	if(links.id == "prev") {
		
		if (window.event) {
			window.event.returnValue = false;
		} else {
			e.preventDefault();
		}
		
		for (var i = 0; i < gallery.length; i++) {
		if (gallery[i].href == currentImage) {
		var startPos = gallery[i].id.indexOf("linkNo");
		var restOfString = gallery[i].id.substr(startPos +6);
		var imgNumber = parseInt(restOfString);
		var prevImageNo = imgNumber - 1;
		var prevImg = "linkNo" + prevImageNo;
		var prev = document.getElementById(prevImg)
		if (prevImageNo == -1) return false; 
		document.getElementById('mainphoto').src = prev.href;
		if (prev.title) {
			var span = document.createElement("span");
			span.setAttribute("id", "no");
			span.className = "imgNo";
			var imageName = prev.getAttribute("title");
			for (var i = 0; i < imageName.length; i++) {
				var newSpan = document.createElement("span");
				var currentText = document.createTextNode(imageName.charAt(i));
				newSpan.appendChild(currentText);
				span.appendChild(newSpan);
			}	
			var parent = document.getElementById("desc");
			var innerSpan = document.getElementById("no");
			parent.replaceChild(span, innerSpan)
		}  return false;		
		}
		}
	}
		
}

//AQH = "G9A", "G9B", "G9C", "G9D", "G9E";  

/*function galleryTitle() {
var gallerytitle = document.getElementById("gallerytitle");
var currentImage = document.getElementById("mainphoto").src;
if (currentImage.indexOf("G1")) {
gallerytitle.lastChild.nodeValue = "baws"
} else {
gallerytitle.lastChild.nodeValue = "ADASFD"
}
}*/