function Gallery(a,b,c,e,d,f,g,i,h){this.id=a;this.url=b;if(c&&typeof c!=="string"){a="";for(b=0;b+1<c.length;b+=2){if(b>0)a+="&";a+=this.esc(c[b].toLowerCase())+"="+this.esc(c[b+1])}c=a}this.query=c;this.tw=e;this.width=d;this.page=f;this.pages=g;this.elms=[];this.htmls=[];this.htmlsPage=[];this.left=[];this.right=[];this.tottime=h?h:800;this.tip=i?true:false;this.motionFunc=function(j){return function(){j.motion()}}(this);this.init()}
Gallery.prototype={initialized:0,oldpos:0,pos:0,tpos:0,ttw:0,timer:0,loadedTo:0,loadedFrom:0,motioncur:0,used:1,init:function(){if(!this.initialized){this.table=document.getElementById(this.id);if(!this.table)return false;if(this.page>1)this.oldpos=this.tpos=this.motioncur=this.pos=this.loadedFrom=(this.page-1)*this.tw;var a,b;for(b=0;a=document.getElementById(this.id+"_"+b);b++){this.elms[b]=a;this.htmls[this.loadedFrom+b]=a.innerHTML;this.makeTip(a);if(a.innerHTML.length>=20||a.getAttribute("class")===
"hgalempty")this.loadedTo=b}if(this.page>1){this.loadedTo+=this.loadedFrom;this.loadFrom((this.page-2)*this.tw)}this.page<this.pages&&this.loadTo((this.page+1)*this.tw-1);this.ttw=b;this.initialized=1;for(b=0;a=document.getElementById(this.id+"left"+b);b++){a.href="javascript:void(0)";a.ttt_no=true;this.left[b]=a;a.onclick=this.generateNaviFunc(this,-this.tw)}for(b=0;a=document.getElementById(this.id+"right"+b);b++){a.href="javascript:void(0)";a.ttt_no=true;this.right[b]=a;a.onclick=this.generateNaviFunc(this,
this.tw)}if(this.pg=document.getElementById(this.id+"pg"))this.pg.style.display="inline";this.updateControls()}return true},generateNaviFunc:function(a,b){return function(){a.shift(b)}},loadFrom:function(a){if(a<0)a=0;if(!(a>=this.loadedFrom)){this.load(a,this.loadedFrom-1);this.loadedFrom=a}},loadTo:function(a,b){if(!(a<=this.loadedTo)){if(a-this.loadedTo<b)a+=b-(a-this.loadedTo);if(a>this.pages*this.tw-1)a=this.pages*this.tw-1;this.load(this.loadedTo+1,a);this.loadedTo=a}},load:function(a,b){if(!(a<
0||b<0||b<a)){for(var c=a;c<=b;c++)this.htmls[c]="wird geladen ...";var e;if(window.XMLHttpRequest)e=new window.XMLHttpRequest;else if(window.ActiveXObject)e=new window.ActiveXObject("Msxml2.XMLHTTP");if(!e)return false;var d=this;e.onreadystatechange=function(){d.rsc(e)};c=this.url+"?"+(this.query||"");if(this.query&&this.query.charAt(this.query.length-1)!=="&")c+="&";c+="from="+a+"&to="+b;e.open("GET",c);e.send(null)}},shiftok:function(a){a=Math.floor(((this.page-1)*this.tw+a)/this.tw)+1;return a>=
1&&a<=this.pages},filltable:function(a,b){for(var c=Math.min(this.pos,this.oldpos)-this.tpos,e=Math.max(this.pos,this.oldpos)+this.tw-this.tpos,d=a;d<b;d++){var f=d>=c&&d<e?this.htmls[d+this.tpos]:"";if(this.elms[d].innerHTML!==f){this.elms[d].innerHTML=f;this.makeTip(this.elms[d])}}if(this.pages>1)this.pg.innerHTML=this.page+"/"+this.pages},shift:function(a){if(!this.init())return true;if(this.pos+a<0&&this.pos>0)a=-this.pos;if(!this.shiftok(a))return false;this.page=Math.floor((this.pos+a)/this.tw)+
1;this.pos+=a;a>0?this.loadTo((this.page+this.used+1)*this.tw-1,this.used*this.tw):this.loadFrom((this.page-this.used-1)*this.tw);this.filltable(0,this.ttw);this.motionstart=(new Date).getTime();this.motionfrom=this.motioncur;this.motionto=this.pos;this.motion();this.updateControls();if(this.used===1){typeof window.ttt!=="undefined"&&window.ttt.subPixel&&window.ttt.subPixel("ajax","oevents=handyslider_"+this.id);this.used=2}else this.used=this.used>=5?5:this.used+1;return false},motion:function(){this.timer&&
window.clearTimeout(this.timer);var a=this.tottime,b=(new Date).getTime()-this.motionstart,c=1;if(b>=a)this.timer=0;else{c=0.5-0.5*Math.cos(3.14159265*b/a);this.timer=window.setTimeout(this.motionFunc,10)}c=this.motionfrom*(1-c)+this.motionto*c;if(c<this.tpos){this.tpos=this.oldpos-this.ttw+this.tw;this.filltable(this.ttw-this.tw-1,this.ttw);this.table.style.left=(this.tpos-this.motioncur)*this.width+"px";this.filltable(0,this.ttw-this.tw-1)}else if(c>=this.tpos+this.ttw-this.tw){this.tpos=this.oldpos;
this.filltable(0,this.tw+1);this.table.style.left=(this.tpos-this.motioncur)*this.width+"px";this.filltable(this.tw+1,this.ttw)}for(this.motioncur=c;this.motioncur<=this.oldpos-1;)this.oldpos--;for(;this.motioncur>=this.oldpos+1;)this.oldpos++;this.table.style.left=(this.tpos-this.motioncur)*this.width+"px";b>=a&&this.filltable(0,this.ttw)},updateControls:function(){if(this.pages<=1){this.setclass(this.left,"lhid");this.setclass(this.right,"rhid");this.pg.innerHTML=""}else{this.setclass(this.left,
this.shiftok(-this.tw)?"lact":"ldis");this.setclass(this.right,this.shiftok(this.tw)?"ract":"rdis")}},setclass:function(a,b){for(var c=0;c<a.length;c++)a[c].className=b},getTextFromChilds:function(a){for(var b="",c=0;c<a.childNodes.length;c++)if(a.childNodes[c].data)b+=a.childNodes[c].data;return b},rsc:function(a){if(!(a.readyState!==4||a.status!==undefined&&a.status!==200&&a.status!==0))if(a.responseXML){a=a.responseXML.getElementsByTagName("handy");for(var b=0;b<a.length;b++){var c=a[b];c.getAttribute("empty");
this.htmls[parseInt(c.getAttribute("element"),10)]=this.getTextFromChilds(c)}this.filltable(0,this.ttw);this.updateControls()}},makeTip:function(a){if(this.tip){a.onmouseover=null;a.onmouseout&&a.onmouseout();for(var b=a.getElementsByTagName("div"),c=0;c<b.length;c++)if(b[c].className.indexOf("hgaltool")>=0){this.bindTip(a,b[c]);break}}},bindTip:function(a,b){a.onmousemove=a.onmouseover=function(c){var e=c||window.event;c=e.clientX;e=e.clientY;var d=document,f=d.documentElement,g=f&&f.crollTop||d.body.scrollTop;
c+=f&&f.scrollLeft||d.body.scrollLeft;e+=g;b.style.left=c+10+"px";b.style.top=e+10+"px";b.style.display="block";document.body.appendChild(b)};a.onmouseout=function(){b.style.display="none";try{document.body.removeChild(b)}catch(c){}}},esc:function(a){if(!a)return a;for(var b=0,c=[],e=0;e<a.length;e++){var d=a.charCodeAt(e);if(!(d>=97&&d<=122||d>=48&&d<=57||d>=65&&d<=90||d>=39&&d<=42||d==45||d==95||d==126||d==46||d==33||d>256)){b<e&&c.push(a.substr(b,e-b));b=e+1;c.push("%"+d.toString(16))}}if(b===
0)return a;c.push(a.substr(b,e-b));return c.join("")}};

