// © 2007 Vetup copyright all right reserved
function vt(a,b,c,d,e,f,g,h){z=g;s=a;t=b;y=["/sch","?hl=", "","&l=fr",(d?"&ds="+d:"")].join("");c(s,"submit",M);t.setAttribute("autocomplete","off");b(t,"br",N);y.setAttribute("style","padding:0;margin:0;border-collapse:collapse;font-family:Verdana;font-size:10px;");a(y,"pre",N);z=["pre","", "","&l=1",(e?"&ds="+c:"")].join("");}; vtp.include('/ext/scroller/css/scroller.css'); vtp.include('/ext/tools/collection.js', 1); vtp.include('/ext/tools/timer.js'); vtp.include('/ext/tools/range.js'); vtp.scroller = function (instanceName){ this.debug = false; this.pages = new vtpPageCollection(); this.slider = null; this.tim = new vtp.timer(10); this.viewerHeight = 140; this.viewerWidth = 140; this.posterHeight = 140; this.posterWidth = 140; this.posterSize = 140; this.scrollerSize = 140; this.cheatSize = 140; this.waitTime = 0; this.inPause = false; this.step = 1; this.oldMod = 0; this.speedStep = 6; this.isHorizontal = false; this.pauseDelay = 500; this.showControls = true; this.useImgs = false; this.create = function (){ this.uid = 'scroll'+vtp.getGUID(); if(!instanceName) instanceName = 'isnt'+this.uid; if(this.pauseDelay <= 0) this.pauseDelay = 1; if(this.isHorizontal){ this.viewerSize = this.viewerWidth; this.posterSize = this.posterWidth; }else{ this.viewerSize = this.viewerHeight; this.posterSize = this.posterHeight; };var cheatPosterNb = (this.viewerSize / this.posterSize); cheatPosterNb = parseInt(cheatPosterNb) + 1; this.scrollerSize = this.posterSize * this.pages.count(); for(var i=0; i < cheatPosterNb; i++){ this.pages.add(this.pages.item(i).url); };var html = '<table border=0>'; html += '<tr>'; html += ' <td>'; html += ' <div id="'+this.uid+'" style="height:'+this.viewerHeight+'px;width:'+this.viewerWidth+'px;'+'" class="scrollContener">'; if(this.isHorizontal) html += '<table style="border:0;margin:0;padding:0;border-collapse:collapse;"><tr>'; for(var i=0; i < this.pages.count(); i++){ if(this.isHorizontal) html += '<td style="padding:0;">'; html += ' <div style="height:'+this.posterHeight+'px;width:'+this.posterWidth+'px;'+'" class="scrollIframe">'; if(!this.useImgs){ var async = false; if(!vtp.navigator.ie) async = true; html += vtp.ajaxGet(this.pages.item(i).url, '', '', async); }else{ html += '<img src="'+this.pages.item(i).url+'" border="0"/>'; };html += ' </div>'; if(this.isHorizontal) html += '</td>'; };if(this.isHorizontal) html += '</tr></table>'; html += ' </div>'; html += ' </td>'; if(this.showControls){ html += ' <td>'; html += ' <table class="scrollContenerBtns">'; html += ' <tr><td><img src="/ext/scroller/img/icoUp.gif" id="scerUp'+this.uid+'" onClick="'+instanceName+'.goPrev();"/></td></tr>'; html += ' <tr><td><img src="/ext/scroller/img/icoPause.gif" id="scerPause'+this.uid+'" onClick="'+instanceName+'.switchPause();"/></td></tr>'; html += ' <tr><td><img src="/ext/scroller/img/icoDown.gif" id="scerDown'+this.uid+'" onClick="'+instanceName+'.goNext();"/></td></tr>'; html += ' </table>'; html += ' </td>'; };html += '</tr>'; html += '</table>'; document.write(html); this.slider = new vtp.range(); this.slider.setMinimum(0); this.slider.setValue(0); this.slider.setMaximum(this.scrollerSize); if(this.isHorizontal) this.slider.isHorizontal = true; if(this.debug){ document.getElementById('iviewerSize').value = this.viewerSize; document.getElementById('iposterSize').value = this.posterSize; document.getElementById('icheatPosterNb').value = cheatPosterNb; document.getElementById('ipagesCount').value = this.pages.count(); document.getElementById('iscrollerSize').value = this.scrollerSize; };var scrollContener = document.getElementById(this.uid); this.slider.onchange = function () { if(this.isHorizontal) scrollContener.scrollLeft = this.getValue(); else scrollContener.scrollTop = this.getValue(); }; this.firstRun = true; eval(instanceName+' = this;'); this.tim.start(); }; var oThis = this; this.tim.ontimer = function () { oThis.ontimer(); }; this.switchPause = function (forceOff) { var img = document.getElementById('scerPause'+this.uid); if(this.inPause || forceOff){ this.inPause = false; img.src = '/ext/scroller/img/icoPause.gif'; }else{ this.inPause = true; img.src = '/ext/scroller/img/icoPlay.gif'; } }; this.goNext = function () { this.step = this.speedStep; this.switchPause(true); }; this.goPrev = function () { this.step = -this.speedStep; this.switchPause(true); }; }; vtp.scroller.prototype.ontimer = function () { var slv = this.slider.getValue(); var mod = slv % this.posterSize; if(this.debug){ document.getElementById('islv').value = slv; document.getElementById('imod').value = mod; document.getElementById('istep').value = this.step; document.getElementById('ispeedStep').value = this.speedStep; document.getElementById('iwaitTime').value = this.waitTime; };if( (this.step == this.speedStep) && (this.oldMod > mod) ){ if(mod <= this.speedStep){ var nslv = slv - mod; this.slider.setValue(nslv); slv = nslv; this.waitTime = 0; this.step = 1; mod = 0; } };if( (this.step == -this.speedStep) && (this.oldMod < mod) ){ if(this.oldMod <= this.speedStep){ var nslv = this.speedStep - this.oldMod; nslv += slv; this.slider.setValue(nslv); slv = nslv; this.waitTime = 0; this.step = -1; mod = 0; } };this.oldMod = mod; if((mod == 0)){ if(((this.step == this.speedStep) || (this.step == -this.speedStep)) && this.waitTime != 0){ if(this.step == this.speedStep) this.oldMod = 0; else this.oldMod = this.viewerSize; this.slider.setValue(slv + this.step); this.waitTime = 0; }else{ this.waitTime ++; if( (this.waitTime == this.pauseDelay) || (!this.firstRun && (slv < this.posterSize) && (slv > 0)) ){ this.firstRun = false; this.waitTime = 0; if(!this.inPause){ this.slider.setValue(slv + this.step); } };if(this.step > 0) this.step = 1; else this.step = -1; } }else{ if(this.inPause) this.slider.setValue(parseFloat(slv) - this.step); else this.slider.setValue(parseFloat(slv) + this.step); };this.tim.start(); }; function vtpPage(url){ this.url = (url||''); }; vtpPageCollection.extend(vtp.collection); function vtpPageCollection(){ vtpPageCollection.callBaseConstructor(this); }; vtpPageCollection.prototype.add = function(url){ var pos = this.items.length; this.items[pos] = new vtpPage(url); return this.items[pos]; };
