var gallery = {
	
	/**
	object properties
	*/
	
	thumbs: [],
	viewerImg: '',
	viewerLink: '',
	
	ImagesDirName: 'images',
	largeImgDirName: 'large',
	thumbImgDirName: 'thumb',
	xlargeImgDirName: 'gallarge',
	
	init: function() {
		// get the tumbnails
		if (!document.getElementsByTagName || !document.getElementById) return;
		if(!document.getElementById('gallerythumbs') || !document.getElementById('viewer')) return;

		gallery.thumbs = document.getElementById('gallerythumbs').getElementsByTagName('img');
		if (!gallery.thumbs) return;

		gallery.viewerImg = document.getElementById('viewer').getElementsByTagName('img')[0];
		gallery.viewerLink=gallery.viewerImg.parentNode;			
		
		if(gallery.viewerLink.nodeName.toLowerCase() == 'a'){
			gallery.viewerLink.href = gallery.getLargeImgUrl(gallery.viewerImg, 'XL');
			$(gallery.viewerLink).click(function() {
				$(gallery.thumbs[0].parentNode).trigger('click');
				return false;
			});
		}

		var link;
		for (var i = 0; i < gallery.thumbs.length; i++) {
			$(gallery.thumbs[i]).mouseover(gallery.mOver);
			$(gallery.thumbs[i]).focus(gallery.mOver);			
			
			link = gallery.thumbs[i].parentNode;
			if (!link || link.nodeName.toLowerCase()!='a') continue;

			link.href = gallery.getLargeImgUrl(gallery.thumbs[i], 'XL');			
		}
	},
	
	mOver: function(e) {
		var img;
		if(window.event && window.event.srcElement) img = window.event.srcElement;
		if(e && e.target) img = e.target;
		if (!img) return;
		
		gallery.viewerImg.src = gallery.getLargeImgUrl(img,'L');
		viewerLink = gallery.viewerImg.parentNode;
		link = img.parentNode;
		$(gallery.viewerLink).unbind('click');
		$(gallery.viewerLink).click(function() {
			$(link).trigger('click');
			return false;
		});
		
		if(gallery.viewerLink && link && link.nodeName.toLowerCase()=='a') 
			gallery.viewerLink.href = link; 
	},
	
	getLargeImgUrl: function(img, size) {
		suburl = img.src.split(gallery.ImagesDirName)[1];
		urlArr = suburl.split('/');
		if (size == 'XL') {
			return '/'+gallery.ImagesDirName+'/'+urlArr[1]+'/'+gallery.xlargeImgDirName+'/'+urlArr[3];
		}
		else if (size == 'L') {
			return '/'+gallery.ImagesDirName+'/'+urlArr[1]+'/'+gallery.largeImgDirName+'/'+urlArr[3];
		}
		else {
			return '/'+gallery.ImagesDirName+'/'+urlArr[1]+'/'+gallery.thumbImgDirName+'/'+urlArr[3];
		}
					
	}
}

$(document).ready(function() {
	gallery.init();
});

