if (typeof(addDOMLoadEvent)!='function') addDOMLoadEvent=(function(){var e=[],t,s,n,i,o,d=document,w=window,r='readyState',c='onreadystatechange',x=function(){n=1;clearInterval(t);while(i=e.shift())i();if(s)s[c]=''};return function(f){if(n)return f();if(!e[0]){d.addEventListener&&d.addEventListener("DOMContentLoaded",x,false);/*@cc_on@*//*@if(@_win32)d.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");s=d.getElementById("__ie_onload");s[c]=function(){s[r]=="complete"&&x()};/*@end@*/if(/WebKit/i.test(navigator.userAgent))t=setInterval(function(){/loaded|complete/.test(d[r])&&x()},10);o=w.onload;w.onload=function(){x();o&&o()}}e.push(f)}})();

if (!(typeof(addEvent)=='function')) {
  function addEvent(name,obj,f) {
    if (window.attachEvent) {
      obj.attachEvent("on"+name,f);
    } else if (window.addEventListener) {
      obj.addEventListener(name,f,false);
    }
  }
}

addDOMLoadEvent(function() {
	var currentpage=0,a,p,n,thumbs,pages,links=[];

	function cancelDefault(e) {
		if (window.event) {
		}
		if (e.preventDefault) e.preventDefault();
		if (e.stopPropagation) e.stopPropagation();
	}

	function getTarget(e) {
		var targ;
		if (window.event) {
			targ = window.event.srcElement;
			window.event.cancelBubble=true;
			window.event.returnValue=false;
		} else {
			targ=e.target;
		}
		if (e.preventDefault) e.preventDefault();
		if (e.stopPropagation) e.stopPropagation();

		return targ;
	}

	function gotopage(pageno) {
		p.className=((pageno==0)?'disabled':'');
		n.className=((pageno==pages.length-1)?'disabled':'');
		for (var i=0;i<links.length;i++) {
			links[i].className= ((links[i].page==pageno)?'current':'');
			pages[i].className=((links[i].page==pageno)?'visible':'')
		}
		currentpage=pageno;
	}

	function prev(e) {
		var targ=getTarget(e);
		currentpage--;
		if (currentpage<0) currentpage=0;
		gotopage(currentpage);
	}

	function nxt(e) {
		var targ=getTarget(e);
		currentpage++;
		if (currentpage>=pages.length) currentpage=pages.length-1;
		gotopage(currentpage);
	}

	function clkgotopage(e) {
		var targ=getTarget(e);
		gotopage(targ.page);
	}

	thumbs=document.getElementById('thumbs');
	pages=thumbs.getElementsByTagName('tbody');

	if (pages.length > 0) {
		pages[0].className='visible';
		if (pages.length > 1) {
			var pager=document.createElement('span');

			p=document.createElement('a');
			p.href='#';
			p.id='prev';
			addEvent('click',p,prev);
			p.appendChild(document.createTextNode('\u00ab PREV'));
			pager.appendChild(p);

			for (var i=0;i<pages.length;i++) {
				a=document.createElement('a');
				a.page=i;
				a.href='#';
				addEvent('click',a,clkgotopage);
				a.appendChild(document.createTextNode(i+1));
				pager.appendChild(a);
				links.push(a);
			}

			n=document.createElement('a');
			n.href='#';
			n.id='next';
			addEvent('click',n,nxt);
			n.appendChild(document.createTextNode('NEXT \u00bb'));
			pager.appendChild(n);

			var div=document.createElement('div');
			div.className='thumbpager';
			div.appendChild(pager);

			if (!thumbs.nextSibling) {
				thumbs.parentNode.appendChild(div);
			} else {
				thumbs.parentNode.insertBefore(div,thumbs.nextSibling);
			}
			gotopage(0);
		}
	} else {
		var nxt=document.getElementById('nxt');
		var prev=document.getElementById('prev');
		var a=thumbs.getElementsByTagName('a')[0];
				
		function showcurrent() {
			while (a.hasChildNodes()) a.removeChild(a.firstChild);
			var img=document.createElement('img');
			img.src=photos.collection[photos.current].url;
			img.width=photos.collection[photos.current].width;
			img.height=photos.collection[photos.current].height;
			img.alt=photos.collection[photos.current].alt;
			a.appendChild(img);
			var photoCaption = document.createElement("p");
			photoCaption.id = "photo-caption";
			photoCaption.innerHTML=photos.collection[photos.current].alt;
			a.appendChild(photoCaption);
		}

		var slideshow=null;
		if (photos.autostart) {
			slideshow=setInterval(function() {
				photos.current++;
				if (photos.current >= photos.collection.length) photos.current=0;
				showcurrent();
			},5000);
		}

		addEvent('click',nxt,function(e) {
			var targ=getTarget(e);
			if (slideshow) {
				clearInterval(slideshow);
				slideshow=null;
			}
			photos.current++;
			if (photos.current >= photos.collection.length) photos.current=0;
			showcurrent();
		});

		addEvent('click',prev,function(e) {
			var targ=getTarget(e);
			if (slideshow) {
				clearInterval(slideshow);
				slideshow=null;
			}
			photos.current--;
			if (photos.current < 0) photos.current=photos.collection.length-1;
			showcurrent();
		});
	}
});