/*
 *	Thumbnail Image Gallery javascript
 */
 
ImageGallery = {

	// ID's for navigation, etc...
	thumbsListID: 'thumbs',
	largeContainerID: 'photo',
	// CSS classes to attach
	closeClass: 'close',
	nextClass: 'next',
	prevClass: 'prev',
	hideClass: 'hide',
	showClass: 'show',
	// labels...
	closeLabel: 'close',
	prevContent: '<img src="/user/left.png" alt="Previous" />',
	nextContent: '<img src="/user/right.png" alt="Next" />',
	
	// initialize the image gallery...
	init: function() {
		if ( !document.getElementById || !document.createTextNode ) { return; }
		ImageGallery.tlist = document.getElementById( ImageGallery.thumbsListID );
		if ( !ImageGallery.tlist ) { return; }
		var thumbsLinks = ImageGallery.tlist.getElementsByTagName('a');
		ImageGallery.all = thumbsLinks.length;
		for ( var i = 0; i < thumbsLinks.length; i++ ) {
			DOM.addEvent( thumbsLinks[i], 'click', ImageGallery.showPic, false );
			thumbsLinks[i].onclick = DOM.safariClickFix;
			thumbsLinks[i].i = i;
		}
		ImageGallery.createContainer();
		//ImageGallery.debug( "We created a container: " + document.getElementById(ImageGallery.largeContainerID) +
		//					" named: " + document.getElementById( ImageGallery.largeContainerID).id );
	},
	
	// create a container...
	createContainer: function() {
		ImageGallery.container = document.createElement('div');
		ImageGallery.container.id = ImageGallery.largeContainerID;
		
		var p = document.createElement('p');
		var c1 = DOM.createLink('#', ImageGallery.closeLabel );
		c1.className = ImageGallery.closeClass;
		p.appendChild( c1 );
		DOM.addEvent( c1, 'click', ImageGallery.setPic, false );
		c1.onclick = DOM.safariClickFix;
		ImageGallery.container.appendChild(p);
		
		var il = DOM.createLink('#','');
		DOM.addEvent(il,'click',ImageGallery.setPic,false);
		il.onclick = DOM.safariClickFix;
		ImageGallery.container.appendChild(il);
		
		// create the next link ImageGallery...
		ImageGallery.next = DOM.createLink('#','' );
		ImageGallery.next.innerHTML = ImageGallery.nextContent;
		ImageGallery.next.className = ImageGallery.nextClass;
		DOM.addEvent( ImageGallery.next, 'click', ImageGallery.navPic, false );
		ImageGallery.next.onclick = DOM.safariClickFix;
		ImageGallery.container.appendChild( ImageGallery.next );
		
		// create the previous link ImageGallery...
		ImageGallery.prev = DOM.createLink('#', '' );
		ImageGallery.prev.innerHTML = ImageGallery.prevContent;
		ImageGallery.prev.className = ImageGallery.prevClass;
		DOM.addEvent( ImageGallery.prev, 'click', ImageGallery.navPic, false );
		ImageGallery.prev.onclick = DOM.safariClickFix;
		ImageGallery.container.appendChild( ImageGallery.prev );
		
		// add the container...
		ImageGallery.tlist.parentNode.appendChild( ImageGallery.container );
	},
	
	// show a picture...
	showPic: function(e) {

		var t = DOM.getTarget(e);
		if ( t.nodeName.toLowerCase() != 'a' ) {
			t = t.parentNode;
		}
		ImageGallery.current = t.i;
		var largePic = t.getAttribute('href');
		ImageGallery.setPic( largePic );
		DOM.cancelClick( e );
	},
	
	// set the picture src...
	setPic: function(pic) {
		var a;
		var picLink = ImageGallery.container.getElementsByTagName('a')[1];
		var picHolder = document.createElement('div');
		picHolder.id = 'main_photo';
		picHolder.innerHTML = '';
		picLink.innerHTML = '';
		if ( typeof pic == 'string' ) {
			ImageGallery.container.className = ImageGallery.showClass;
			var i = document.createElement('img');
			i.setAttribute('src',pic);
			picHolder.appendChild( i );
			picLink.appendChild( picHolder );
		} else {
			ImageGallery.container.className = '';
		}
		
		a = ImageGallery.current == 0 ? 'add' : 'remove';
		DOM.cssjs( a, ImageGallery.prev, ImageGallery.hideClass );
		a = ImageGallery.current == ImageGallery.all-1 ? 'add' : 'remove';
		DOM.cssjs( a, ImageGallery.next, ImageGallery.hideClass );
	},
	
	// navPic function...
	navPic: function(e) {
		var t = DOM.getTarget( e );
		if ( t.nodeName.toLowerCase() != 'a' ) {
			t = t.parentNode;
		}
		var c = ImageGallery.current;
		if ( t == ImageGallery.prev ) {
			c -= 1;
		} else {
			c += 1;
		}
		ImageGallery.current = c;
		var pic = ImageGallery.tlist.getElementsByTagName('a')[c];
		ImageGallery.setPic( pic.getAttribute('href') );
		DOM.cancelClick( e );
	},
	
	// debug function
	debug: function( str ) {
		alert( str );
	}
}
//DOM.addEvent( window, 'load', ImageGallery.init, false );