/* Designed by J.Tabuchi This software is distributed under "Common Public License". (see for detail infomation) http://www.farfree.cn/ */ /* ### SAMPLE ### --------------------------------------------------- var p = new QrSpinner(_defaultValue, _defaultSize, _name); // Create QrPulldown Object. Any parameters may not be specified. // str = p.getHTML(); // get HTML for inserting this Pulldown; p.render(); // equals to document.write(p.getHTML()); p.set(value); // set value. p.get(); // get value. --------------------------------------------------- link to the JavaScript code is needed for using. */ function QrSpinner(_defaultValue, _defaultSize, _Name){ if(!_defaultValue) _defaultValue = ""; if(!_defaultSize) _defaultSize = "4"; if(!_Name) _Name = " name=\""+_Name+"\" "; else _Name = ""; this.id = QrSpinner.lastId++; this.defaultValue = _defaultValue; this.defaultSize = _defaultSize; this.name = _Name; QrSpinner.instanceMap["QrSpinner"+this.id] = this; } QrSpinner.prototype.getHTML = function(){ var html = ""; if(QrXPCOM.isIE()) html=html.replace(/\$IEPoint/,"margin-top:-1px;"); else html=html.replace(/\$IEPoint/,""); return html.replace(/\$spinnerId/g,"QrSpinner"+this.id) .replace(/\$defaultSize/g,this.defaultSize) .replace(/\$defaultValue/g,this.defaultValue) .replace(/\$NamePoint/g,this.name); } QrSpinner.prototype.render = function(){ document.write(this.getHTML()); } QrSpinner.prototype.set = function(value){ document.getElementById("QrSpinner"+this.id+"#input").value = value; if(QrSpinner.instanceMap["QrSpinner"+this.id].onChange){ QrSpinner.instanceMap["QrSpinner"+this.id].onChange(value); } } QrSpinner.prototype.get = function(){ return document.getElementById("QrSpinner"+this.id+"#input").value; } QrSpinner.lastId = 0; QrSpinner.instanceMap = new Array; QrSpinner.onHover = function(e, id){ var p = QrXPCOM.getMousePoint(e); var d = QrXPCOM.getDivPoint(document.getElementById(id+"#button")); if((p.y - d.y)<10){ document.getElementById(id+"#button").src = "qrx/spinner-updown.gif"; } if((p.y - d.y)>10){ document.getElementById(id+"#button").src = "qrx/spinner-downdown.gif"; } } QrSpinner.onOut = function(e, id){ document.getElementById(id+"#button").src = "qrx/spinner-normal.gif"; } QrSpinner.onKeyup = function(id){ if(QrSpinner.instanceMap[id].onChange){ QrSpinner.instanceMap[id].onChange(document.getElementById(id+"#input").value); } } QrSpinner.onDown = function(e, id){ var p = QrXPCOM.getMousePoint(e); var d = QrXPCOM.getDivPoint(document.getElementById(id+"#button")); var v = parseInt(document.getElementById(id+"#input").value); if(!v) v = 0; if((p.y - d.y)<10){ document.getElementById(id+"#input").value = ++v; } if((p.y - d.y)>10){ document.getElementById(id+"#input").value = --v; } if(QrSpinner.instanceMap[id].onChange){ QrSpinner.instanceMap[id].onChange(v); } }