gallery = {

        addEvent: function(elm, evType, fn, useCapture){
		if (elm.addEventListener){
			elm.addEventListener(evType, fn, useCapture);
			return true;
		}
                else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		}
                else {
			elm['on' + evType] = fn;
	        }
	},
	

        getElementsByClassName : function(oElm, strTagName, strClassName){
                 var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
                 var arrReturnElements = new Array();
                 strClassName = strClassName.replace(/\-/g, "\\-");
                 var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
                 var oElement;
                 for(var i=0; i<arrElements.length; i++){
                         oElement = arrElements[i];      
                         if(oRegExp.test(oElement.className)){
                                arrReturnElements.push(oElement);
                        }   
                }
                return (arrReturnElements)
        },
        
        
        init : function() {
                if (!document.getElementById || !document.createTextNode) { return; }
                var thumbList = gallery.getElementsByClassName(document, 'a', 'thumb'); 
                document.imageArray = new Array(thumbList.length);
                for (var i=0; i<thumbList.length; i++) {
                    var thumbImg = thumbList[i].getElementsByTagName('img')[0];
                    var thumbPath = thumbImg.getAttribute('src');
                    var thumbAlt = thumbImg.getAttribute('alt');
                    var re = /thumbs/g;
                    var fullPath = thumbPath.replace(re, 'full');
                    document.imageArray[i] = new Image;
                    document.imageArray[i].src= fullPath;
                    document.imageArray[i].alt = thumbAlt;
                    gallery.addEvent(thumbList[i], 'click', gallery.loadPhoto, false);
                }
        },
        
        loadPhoto : function(e) {
                var trgt;
                if(window.event) trgt = window.event.srcElement;
                else if (e) trgt = e.target;                        
                
                var hldr = document.getElementById('photo-holder');
                var trgtId = trgt.getAttribute('id');
                var indx = Number(trgtId.substring(trgtId.length-2,trgtId.length));
                hldr.src = document.imageArray[indx].src;
                hldr.width=document.imageArray[indx].width;
                hldr.height=document.imageArray[indx].height;
                hldr.alt = document.imageArray[indx].alt;
                document.getElementById('photo-caption').innerHTML = document.imageArray[indx].alt;
        }
        
}

gallery.addEvent(window, 'load', gallery.init, false);

