/* ImageList-Funktionen
 *
 */
	ip.imageList = {
		mouseMinX : null,
		mouseMaxX : null,
		mouseMinY : null,
		mouseMaxY : null,
		zoomActive : false,
		
		zoom : function(id,pic_filename,w,h,obj,event) {
			if(document.forms.frmResultSettings.showImageZoom.checked && ip.pageLoaded) {
				var div,innerDiv,x,y,divW,divH;
				if(this.zoomActive) {
					div = ip.get('divPicZoomContainer');
					div.onmousemove = null;
					document.body.removeChild(div);
				}
				var bodyEl = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ? window.document.documentElement : window.document.body || null;
				var objW = obj.firstChild.offsetWidth;
				var objH = obj.firstChild.offsetHeight;
				var objX = (event.pageX && event.layerX) ? event.pageX-event.layerX+parseInt(obj.firstChild.offsetLeft) : ip.helper.getLeft(obj);
				var objY = (event.pageY && event.layerX) ? event.pageY-event.layerY+parseInt(obj.firstChild.offsetTop) : ip.helper.getTop(obj);
				
				// Korrektur für NS 8
				isNS8 = false;
				if(window.pageYOffset > bodyEl.scrollTop) {
					isNS8 = true;
					objY = event.pageY;
					objX = event.pageX;
				}
				
				div = document.createElement('div');
				div.id = 'divPicZoomContainer';
				div.className = 'boxShadow';
				divW = w+20+6;
				divH = h+32+20+7;
				x = Math.round((objX+objW/2)-divW/2);
				y = Math.round((objY+objH/2)-divH/2);
				dir = id/1000;
				innerDiv = document.createElement('div');
				innerDiv.innerHTML = '<p>'+obj.parentNode.parentNode.getElementsByTagName('DIV')[1].innerHTML+'</p>';
				innerDiv.innerHTML += '<a href="'+obj.href+'"><img src="/'+pic_filename+'" width="'+w+'" height="'+h+'" alt="" /></a>';
				
				// Ist noch im Viewport?
				ch = (window.innerHeight) ? window.innerHeight : bodyEl.clientHeight;
				cw = (window.innerWidth) ? window.innerWidth - (ip.helper.scrollbarVisible() ? 20 : 0) : bodyEl.clientWidth;
				if(!isNS8) {
					if(x < 0+bodyEl.scrollLeft) x = 0+bodyEl.scrollLeft;
					if(y < 0+bodyEl.scrollTop) y = 0+bodyEl.scrollTop;
					if(x > cw-divW+bodyEl.scrollLeft) x = cw-divW+bodyEl.scrollLeft;
					if(y > ch-divH+bodyEl.scrollTop) y = ch-divH+bodyEl.scrollTop;
				}
				div.style.left = (x)+'px';
				div.style.top = y+'px';
				
				div.appendChild(innerDiv);
				document.body.appendChild(div);
				
				// Bounds festlegen (mit Padding von 5px)
				this.mouseMinX = objX-5;
				this.mouseMaxX = objX+objW+5;
				this.mouseMinY = objY-5;
				this.mouseMaxY = objY+objH+5;
				
				div.onmousemove = this.checkMouseZoomLeave;
				this.zoomActive = true;
			}
		},
		
		checkMouseZoomLeave : function(e) {
			var div = ip.get('divPicZoomContainer');
			if(!e) e = window.event;
			var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ? window.document.documentElement : window.document.body || null;
			
			mouseY = e.pageY ? e.pageY : e.clientY + body.scrollTop;
			mouseX = e.pageX ? e.pageX : e.clientX + body.scrollLeft;
			
			if(mouseY < ip.imageList.mouseMinY || mouseY > ip.imageList.mouseMaxY || mouseX < ip.imageList.mouseMinX || mouseX > ip.imageList.mouseMaxX) {
				ip.imageList.zoomActive = false;
				div.onmousemove = null;
				document.body.removeChild(div);
			}
		},
		
		setZoomBehavior : function(obj) {
			var v;
			v = obj.checked ? 1 : 0;
			ip.cookie.write('zoom',v);
		},
		
		initZoomCheckbox : function() {
			var v = ip.cookie.read('zoom');
			if(v == '') v=1;
			document.forms.frmResultSettings.showImageZoom.checked = (v==1) ? true : false;
		},
		
		onChangeMaxImages : function(obj) {
			var value = obj.value;
			ip.cookie.write('ip_nop',value);
			document.location.href = document.location.href;
		}
	}
