function Progressbar(length, parent) { // the number of steps of the bar this.length = length; // the current position, expressed in steps (so 100% = length) this.position = 0; // the current percentage of the bar this.percentage = 0 // use this function to display the progress, because it updates everything this.step = function(count) { if (this.position < this.length) this.position += count; // update the bar this.percentage = this.position*(100/this.length); this.fill.style.width = this.percentage + "%"; // if the end is reached, the bar is hidden/removed if(this.position >= this.length) { this.fill.style.visibility = "hidden"; } } // the actual progressbar var bar = document.createElement("div"); bar.id = "resProgBar"; bar.className ="ProgressBar"; // the actual bar this.fill = document.createElement("div"); this.fill.id = "resProgFill"; this.fill.className = "ProgressBarFill"; this.fill.style.width = "0%" bar.appendChild(this.fill); // the container for the elements used by the Progressbar this.element = document.createElement("div"); this.element.style.textAlign = "center"; // get hasLayout in IE, needed because of the percentage as width of the bar this.element.className = "gainlayout"; // results counter inside progress bar var resCounter = document.getElementById("resCounter"); resCounter.style.display = "inline"; bar.appendChild(resCounter); // the result sites navigation var resNav = document.getElementById("resNav"); resNav.style.display = "inline"; bar.appendChild(resNav); this.element.appendChild(bar); parent.appendChild(this.element); } function addHover() { if (document.all&&document.getElementById) { var divs = document.getElementsByTagName("div"); for (i=0; i<divs.length; i++) { var node = divs[i]; if (node.className=="searchresults") { node.onmouseover=function() { this.className+=" hover"; } node.onmouseout=function() { this.className=this.className.replace(" hover", ""); } } } } } function statistics(offset, itemscount, itemsperpage, totalcount, localResourceSize, remoteResourceSize, remoteIndexCount, remotePeerCount, navurlbase) { if (totalcount == 0) return; if (offset >= 0) document.getElementById("resultsOffset").firstChild.nodeValue = offset; if (itemscount >= 0) document.getElementById("itemscount").firstChild.nodeValue = itemscount; document.getElementById("totalcount").firstChild.nodeValue = totalcount; if (document.getElementById("localResourceSize") == null) return; document.getElementById("localResourceSize").firstChild.nodeValue = localResourceSize; document.getElementById("remoteResourceSize").firstChild.nodeValue = remoteResourceSize; document.getElementById("remoteIndexCount").firstChild.nodeValue = remoteIndexCount; document.getElementById("remotePeerCount").firstChild.nodeValue = remotePeerCount; document.getElementById("resNav").firstChild.nodeValue = "X"; // compose page navigation resnav = ""; thispage = Math.floor(offset / itemsperpage); if (thispage == 0) { resnav += ("<img src=\"env/grafics/navdl.gif\" alt=\"arrowleft\" width=\"16\" height=\"16\" /> "); } else { resnav += ("<a id=\"prevpage\" href=\""); resnav += (navurlbase + "&startRecord=" + ((thispage - 1) * itemsperpage)); resnav += ("\"><img src=\"env/grafics/navdl.gif\" alt=\"arrowleft\" width=\"16\" height=\"16\" /></a> "); } numberofpages = Math.min(10, 1 + ((totalcount - 1) / itemsperpage)); if (!numberofpages) numberofpages = 10; for (i = 0; i < numberofpages; i++) { if (i == thispage) { resnav += "<img src=\"env/grafics/navs"; resnav += (i + 1); resnav += (".gif\" alt=\"page"); resnav += (i + 1); resnav += ("\" width=\"16\" height=\"16\" /> "); } else { resnav += ("<a href=\""); resnav += (navurlbase + "&startRecord=" + (i * itemsperpage)); resnav += ("\"><img src=\"env/grafics/navd"); resnav += (i + 1); resnav += (".gif\" alt=\"page"); resnav += (i + 1); resnav += ("\" width=\"16\" height=\"16\" /></a> "); } } if (thispage >= numberofpages) { resnav += ("<img src=\"env/grafics/navdr.gif\" alt=\"arrowright\" width=\"16\" height=\"16\" />"); } else { resnav += ("<a id=\"nextpage\" href=\""); resnav += (navurlbase + "&startRecord=" + ((thispage + 1) * itemsperpage)); resnav += ("\"><img src=\"env/grafics/navdr.gif\" alt=\"arrowright\" width=\"16\" height=\"16\" /></a>"); } document.getElementById("resNav").innerHTML = resnav; }