function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
var flagged = false;

var slideShow = null;

function slideshow() {
	
	var	status = document.getElementById('pauseBtn').getAttribute("rel");
	if(status == "pause") {
	document.getElementById('pauseBtn').setAttribute("rel","play");	
	document.getElementById('pauseBtn').src = '/pshs/images/photogallery/BTNplay.png';
	clearInterval(slideShow);		
	} else {	
	slideShow = setInterval("nextImg()", 8000);		
	document.getElementById('pauseBtn').src = '/pshs/images/photogallery/BTNpause.png';
	document.getElementById('pauseBtn').setAttribute("rel","pause");	
	}
}

function removeThumbBorder() {
	var thumbnails = document.getElementById('photoGalleryThumbs').getElementsByTagName('li');
	for (i=0;i<thumbnails.length;i++) {
		thumbnails[i].removeAttribute("id");
	}
}

function changeImage(newUrl,captionTxt,altTxt) {
	removeThumbBorder();	
	var curUrl = document.getElementById('featureImage').src;
	if ((curUrl.search(newUrl)) != -1) return false;
	$('featureImageContainerInner').fade();
	setTimeout("document.getElementById('featureImage').src='"+newUrl+"'",2000);
	document.getElementById('featureImage').setAttribute("alt",altTxt);
	setTimeout("document.getElementById('featureImageCaption').innerHTML = '<p>"+captionTxt+"</p>'",2000);
	setTimeout("$('featureImageContainerInner').appear();",2000);
	controls(newUrl);
}

function wireThumbnails(newUrl) {
 if(!document.getElementById('photoGalleryThumbs')) return false;
	var thumbnails = document.getElementById('photoGalleryThumbs').getElementsByTagName('li');
	for (i=0;i<thumbnails.length;i++) {
		if(i==0){
		thumbnails[i].setAttribute("id","active");
		}
		thumbnails[i].onclick = function() {
			newUrl = this.getElementsByTagName('a')[0].getAttribute("href");
			caption = this.getElementsByTagName('a')[0].getAttribute("title");
			altTxt = this.getElementsByTagName('img')[0].getAttribute("alt");							
			changeImage(newUrl,caption,altTxt);
			this.setAttribute("id","active");
			//stops the slide show
				var	status = document.getElementById('pauseBtn').getAttribute("rel");
				if(status == "pause") {
				document.getElementById('pauseBtn').setAttribute("rel","play");	
				document.getElementById('pauseBtn').src = '/pshs/images/photogallery/BTNplay.png';
				clearInterval(slideShow);
				}
		return false;
		}
	}
}

function getCurPic() {
	var curpic = document.getElementById('featureImage').src;
	var photos = document.getElementById('photogalleryPhotos');
	galleryLength = photos.getElementsByTagName('div');
	for (i=0;i<galleryLength.length;i++) {
		src[i] = galleryLength[i].getElementsByTagName('img')[0].src;
		if (src[i].search(curpic) != -1) {
		var index = i;
		return index;
		}
	}
}

function prevImg() {
	index = getCurPic();
	arrayLength = document.getElementById('photogalleryPhotos').getElementsByTagName('div');
	if(index==0) {
	var prev = arrayLength.length-1;
	} else {		
	var prev = index-1;
	}

	src = arrayLength[prev].getElementsByTagName('img')[0].src;
	alt = arrayLength[prev].getElementsByTagName('img')[0].getAttribute("alt");	
		if (arrayLength[prev].getElementsByTagName('p')[0].firstChild) {
					caption = galleryLength[i].getElementsByTagName('p')[0].innerHTML;
					} else {
					caption = "";
				}
	changeImage(src,caption,alt);
	removeThumbBorder();
	document.getElementById('photoGalleryThumbs').getElementsByTagName('li')[prev].setAttribute("id","active");	
}

function nextImg() {
	index = getCurPic();
	arrayLength = document.getElementById('photogalleryPhotos').getElementsByTagName('div');
	if(index==arrayLength.length-1) {
	var next = 0;
	} else {		
	var next = index+1;
	}

	src = arrayLength[next].getElementsByTagName('img')[0].src;
	alt = arrayLength[next].getElementsByTagName('img')[0].getAttribute("alt");
	if (arrayLength[next].getElementsByTagName('p')[0].firstChild) {
					caption = galleryLength[next].getElementsByTagName('p')[0].innerHTML;
					} else {
					caption = "";
				}
	changeImage(src,caption,alt);
	removeThumbBorder();
	document.getElementById('photoGalleryThumbs').getElementsByTagName('li')[next].setAttribute("id","active");	
}

function controls(curpic) {
	//Let's get the index of the image
	
	//First let's get the images - again
	
	var photos = document.getElementById('photogalleryPhotos');
	galleryLength = photos.getElementsByTagName('div');
	src = new Array();
	alt = new Array();
	caption2 = new Array();	
	for (i=0;i<galleryLength.length;i++) {
		src[i] = galleryLength[i].getElementsByTagName('img')[0].src;
		alt[i] = galleryLength[i].getElementsByTagName('img')[0].getAttribute("alt");	

		if (galleryLength[i].getElementsByTagName('p')[0].firstChild) {
					caption2[i] = galleryLength[i].getElementsByTagName('p')[0].innerHTML;
					} else {
					caption2[i] = "";
				}
		
		if (((src[i].search(curpic)) != -1) && (curpic)) {
		var index = i;
		}
	}

	if(index==0) {
	var prev = src.length-1;
	var next = index+1;		
	} else if(index==src.length-1) {
	var prev = index-1;
	var next = 0;		
	} else {
	var next = index+1;		
	var prev = index-1;
	}

	//Next pic values
	var nextPic = src[next];
	var nextPicAlt = alt[next];
	var nextPicCaption = caption2[next];	
	
	//Prev pic values
	var prevPic = src[prev];	
	var prevPicAlt = alt[prev];
	var prevPicCaption = caption2[prev];	
}


function prepareGallery() {
	
	//Create the markup for the gallery 
	document.getElementById('photogalleryPhotos').style.height = '0';
	document.getElementById('photogalleryPhotos').style.overflow = 'hidden';	
	document.getElementById('photogalleryPhotos').style.display = 'block';		
	
	var container = document.getElementById('photoGalleryContainer');	
	
	// Now looping through the images to get the src and the caption

	var photos = document.getElementById('photogalleryPhotos');
	galleryLength = photos.getElementsByTagName('div');
	var firstimage = galleryLength[0].getElementsByTagName('img')[0].src;
	var firstimageAltTxt = galleryLength[0].getElementsByTagName('p')[0].getAttribute("alt");	
	var galleryCaptions = new Array();
	var galleryImagesAltTxt = new Array();	
	var galleryImages = new Array();	
	var galleryImagesHeight = new Array();	
	var galleryImagesWidth = new Array();		
	for (i=0;i<galleryLength.length;i++){

				if (galleryLength[i].getElementsByTagName('p')[0].firstChild) {
					galleryCaptions[i] = galleryLength[i].getElementsByTagName('p')[0].innerHTML;
					} else {
					galleryCaptions[i] = "";
				}
		
				galleryImagesAltTxt[i] = galleryLength[i].getElementsByTagName('img')[0].getAttribute("alt");				
				galleryImages[i] = galleryLength[i].getElementsByTagName('img')[0].src;
				galleryImagesWidth[i] = galleryLength[i].getElementsByTagName('img')[0].width;
				galleryImagesHeight[i] = galleryLength[i].getElementsByTagName('img')[0].height;				
	}
	
//	Prepare Thumbnails 
	
	var	thumbnails = "";
		for(i=0;i<galleryCaptions.length;i++) {
			if (galleryImagesWidth[i] >= galleryImagesHeight[i]) {
			newHeight = 55;	
			newWidth = galleryImagesWidth[i]/(galleryImagesHeight[i]/newHeight);
			newOffset = 0;
			} else {
			newWidth = 55; 
			newHeight = galleryImagesHeight[i]/(galleryImagesWidth[i]/newWidth);
			newOffset = -5;
			}
			
			thumbnails += "<li><div><a href='"+galleryImages[i]+"' title='"+galleryCaptions[i]+"'><img src='"+galleryImages[i]+"' alt='"+galleryImagesAltTxt[i]+"' width='"+newWidth+"' height='"+newHeight+"' style='overflow: hidden; position: relative; top: "+newOffset+"px;' /><div class='dimmer'></div></a></div></li>";
		}
	
	var gallery = container.innerHTML = '<div id="photoGalleryContainerLeft"><div id="featureImageContainerInner"><div id="featureImageContainer"><img src="'+firstimage+'" id="featureImage" alt="'+firstimageAltTxt+'" /><div id="featureImageCaption"><p>'+galleryCaptions[0]+'</p></div><!-- /featureImageCaption --></div></div><!-- /featureImageContainer--><!-- /featureImageContainerInner--></div><!-- /photoGalleryContainerLeft --><div id="photoGalleryContainerRight"><ul id="photoGalleryThumbs"></ul><div id="photoGalleryControls"><img id="prevBtn" src="/pshs/images/photogallery/BTNprevious.png" alt="Previous image" onclick="prevImg();"/><img src="/pshs/images/photogallery/BTNpause.png" alt="Pause" id="pauseBtn" onclick="slideshow();" /><img src="/pshs/images/photogallery/BTNnext.png" alt="Next image" id="nextBtn" onclick="nextImg();"/></div><!-- /photoGalleryControls--></div><!-- /photoGalleryContainerRight -->';

// Write content on the page
document.getElementById('photoGalleryThumbs').innerHTML = thumbnails;
wireThumbnails();
slideshow();
controls(firstimage);

//function ends
}