var WEB= {
    gallery : {
    	id : null,
    	current : 0,
    	images : null,
    	details : null,
    	width : null,
    	height : null,
	    init : function(id,images,details) {
			WEB.gallery.id = id;
			WEB.gallery.images = images;
			WEB.gallery.details = details;
    	},
    	// ------------------------------
    	diashow : {
    		imageRef : null,
    		parentRef : null,
    		images : null,
    		currentIndex : 0,
    		opacity : 1.0,
    		pause : 5000,
    		steps : 0.05,
    		delay : 60,
    		random : false,	// not implemented yet :(
    		infinite : true,
	    	// ------------------------------
	    	// ------------------------------
	    	next : function() {
	    		if (!WEB.gallery.diashow.images)
	    			return null;

				if (++WEB.gallery.diashow.currentIndex >= WEB.gallery.diashow.images.length) {
					if (!WEB.gallery.diashow.infinite)
						return null;
					WEB.gallery.diashow.currentIndex = 0;
				}
				return WEB.gallery.diashow.images[WEB.gallery.diashow.currentIndex];
	    	},
	    	// ------------------------------
	    	// ------------------------------
	    	setOpacity : function(value) {
	    		if (WEB.gallery.diashow.imageRef) {
					WEB.gallery.diashow.imageRef.style.filter = 'alpha(opacity=' + (value * 100) + ')';	// IE
					WEB.gallery.diashow.imageRef.style.opacity = value;									// Gecko
				}
	    	},
	    	// ------------------------------
	    	// ------------------------------
			fadeOut : function() {

				if (WEB.gallery.diashow.opacity > 0.0) {
					WEB.gallery.diashow.setOpacity(WEB.gallery.diashow.opacity -= WEB.gallery.diashow.steps);
					window.setTimeout("WEB.gallery.diashow.fadeOut()",WEB.gallery.diashow.delay);
				}
				else if ((src = WEB.gallery.diashow.next()) != null) {
					WEB.gallery.diashow.setOpacity(WEB.gallery.diashow.opacity = 0.0);
					WEB.gallery.diashow.imageRef.src = src;
					window.setTimeout("WEB.gallery.diashow.fadeIn()",WEB.gallery.diashow.pause);
				}
			},
	    	// ------------------------------
	    	// ------------------------------
			fadeIn : function() {
				if (WEB.gallery.diashow.opacity < 1.0) {
					WEB.gallery.diashow.setOpacity(WEB.gallery.diashow.opacity += WEB.gallery.diashow.steps);
					window.setTimeout("WEB.gallery.diashow.fadeIn()",WEB.gallery.diashow.delay);
				}
				else if ((src = WEB.gallery.diashow.next()) != null) {
					WEB.gallery.diashow.setOpacity(WEB.gallery.diashow.opacity = 1.0);
					WEB.gallery.diashow.parentRef.style.background = 'url(' + src + ') no-repeat top left';
					window.setTimeout("WEB.gallery.diashow.fadeOut()",WEB.gallery.diashow.pause);
				}
			},
	    	// ------------------------------
	    	// ------------------------------
			init : function(images,pause,delay,steps,offset,random,infinite) {
				WEB.gallery.diashow.images = images;
				WEB.gallery.diashow.pause = pause;
				WEB.gallery.diashow.delay = delay;
				WEB.gallery.diashow.steps = steps;
				WEB.gallery.diashow.currentIndex = offset;
				WEB.gallery.diashow.random = random;
				WEB.gallery.diashow.infinite = infinite;
			},
	    	// ------------------------------
	    	// ------------------------------
			checkReferences : function() {
				if (!WEB.gallery.diashow.imageRef || !WEB.gallery.diashow.parentRef) {
					WEB.gallery.diashow.imageRef = document.getElementById("GalleryImage" + WEB.gallery.id);
					WEB.gallery.diashow.parentRef = document.getElementById("DiashowContainer" + WEB.gallery.id);
					return false;
				}
				return true;
			},
	    	// ------------------------------
	    	// ------------------------------
			start : function() {
				// Referenzen pr?fen und ggf. 1/2 Sekunde warten...
				if (!WEB.gallery.diashow.checkReferences()) {
					window.setTimeout("WEB.gallery.diashow.start()",500);
					return ;
				}
				var src = WEB.gallery.diashow.next();
				if (src) {
					WEB.gallery.diashow.parentRef.style.background = 'url(' + src + ') no-repeat top left';
					window.setTimeout("WEB.gallery.diashow.fadeOut()",WEB.gallery.diashow.pause);
				}
			}
		}
    	}
};

