var galleryManager = 
{
	objOverlay:null,
	objGallery:null,
	objImageContainer:null,
	objImage:null,
	efxOverlay:null,
	efxImageContainer:null,
	efxImageContainerW:null,
	efxImageContainerH:null,
	efxImage:null,
	show: function() {
		this.efxOverlay.custom(0,0.8);
		this.objGallery.setStyle("display","");
	},
	
	hide: function() {				
		this.efxOverlay.hide();
	},
	setup: function() {
		var working = false;
		document.getElements("a").each(function(anchor){
			if (anchor.rel.toLowerCase().match("gallery")) {					
				anchor.onclick = galleryManager.loadImage.bindAsEventListener(anchor);
				working = true;
			}
		});

		if (working) {
		var objBody = document.getElementsByTagName("body").item(0);
		this.objOverlay = new Element("div");
		this.objOverlay.id = "overlay";
		this.objOverlay.setStyle("width",Window.getWidth());
		this.objOverlay.setStyle("height",Window.getHeight());
		objBody.appendChild(this.objOverlay);
		this.efxOverlay = this.objOverlay.effect("opacity",{duration:300});
		this.efxOverlay.hide();
		this.objOverlay.addEvent("click",galleryManager.close);
		this.objGallery = new Element("div");
		this.objGallery.id = "imgGallery";
		this.objGallery.setStyle("display","none");
		objBody.appendChild(this.objGallery);
		this.objGallery.addEvent("click",galleryManager.close);					
		this.objImageContainer = new Element("div");
		this.objImageContainer.id = "imageContainer";
		this.objGallery.appendChild(this.objImageContainer);
		this.objImageContainer.addEvent("click",galleryManager.close);
		this.efxImageContainer = this.objImageContainer.effect("opacity",{duration:300});
		this.efxImageContainerW = this.objImageContainer.effect("width",{duration:600});
		this.efxImageContainerH = this.objImageContainer.effect("height",{duration:600, onComplete:function(){
			galleryManager.efxImage.custom(0,1);}});
		this.efxImageContainer.hide();
		this.objImage = new Element("img");
		this.objImage.id = "img";
		this.objImageContainer.appendChild(this.objImage);
		this.objImage.addEvent("click",galleryManager.close);
		this.efxImage = this.objImage.effect("opacity",{duration:300});
		this.efxImage.hide();
		}
	},
	loadImage: function() {
		galleryManager.show();
		var imgToLoad = new Image();
		imgToLoad.onload = function(){
			galleryManager.objImageContainer.setStyle("top","20px");
			galleryManager.efxImageContainer.custom(0,1);
			galleryManager.efxImageContainerH.custom(galleryManager.objImageContainer.offsetHeight,imgToLoad.height);
			galleryManager.efxImageContainerW.custom(galleryManager.objImageContainer.offsetWidth,imgToLoad.width);
			galleryManager.objImage.src=imgToLoad.src;
		};
		imgToLoad.src = this.href;
		return false;
	},
	close: function() {
		galleryManager.efxImage.hide();
		galleryManager.efxImageContainer.hide();
		galleryManager.objGallery.setStyle("display","none");
		galleryManager.hide();
	}
}

window.onload = function() {
	galleryManager.setup();
}
