summaryrefslogtreecommitdiffstats
path: root/usr/local/www/javascript/numericupdown/js/numericupdown.js
diff options
context:
space:
mode:
Diffstat (limited to 'usr/local/www/javascript/numericupdown/js/numericupdown.js')
-rw-r--r--usr/local/www/javascript/numericupdown/js/numericupdown.js287
1 files changed, 0 insertions, 287 deletions
diff --git a/usr/local/www/javascript/numericupdown/js/numericupdown.js b/usr/local/www/javascript/numericupdown/js/numericupdown.js
deleted file mode 100644
index a6af0d4..0000000
--- a/usr/local/www/javascript/numericupdown/js/numericupdown.js
+++ /dev/null
@@ -1,287 +0,0 @@
-// As usual, we keep the generic functions out of the namespace
-function addEvent(obj, evType, fn, useCapture){
- if (obj.addEventListener){
- obj.addEventListener(evType, fn, useCapture);
- return true;
- } else if (obj.attachEvent){
- var r = obj.attachEvent("on"+evType, fn);
- return r;
- }
- return false;
-}
-
-function removeEvent(obj, evType, fn, useCapture){
- if (obj.removeEventListener){
- obj.removeEventListener(evType, fn, useCapture);
- return true;
- } else if (obj.detachEvent){
- var r = obj.detachEvent("on"+evType, fn);
- return r;
- }
- return false;
-}
-
-if(!String.prototype.trim) String.prototype.trim = function() { return this.replace(/^\s*/,'').replace(/\s*$/, ''); };
-
-var incrementalInputController;
-
-// Encapsulate the Timer and incrementalInput objects
-(function() {
-
-// WEBFX Timer : http://www.webfx.com/
-function Timer(nPauseTime) {
- this._pauseTime = typeof nPauseTime == "undefined" ? 1000 : nPauseTime;
- this._timer = null;
- this._isStarted = false;
-}
-
-Timer.prototype.start = function () {
- if (this.isStarted())
- this.stop();
- var oThis = this;
- this._timer = window.setTimeout(function () {
- if (typeof oThis.ontimer == "function")
- oThis.ontimer();
- }, this._pauseTime);
- this._isStarted = false;
-};
-
-Timer.prototype.stop = function () {
- if (this._timer != null)
- window.clearTimeout(this._timer);
- this._isStarted = false;
-};
-
-Timer.prototype.isStarted = function () {
- return this._isStarted;
-};
-
-Timer.prototype.getPauseTime = function () {
- return this._pauseTime;
-};
-
-Timer.prototype.setPauseTime = function (nPauseTime) {
- this._pauseTime = nPauseTime;
-};
-
-function incrementalInput(inp, range, increment, classInc, classDec) {
- if(!inp || !range) return;
-
- this._inp = inp;
- this._buttonInc;
- this._buttonDec;
- this._value;
- this._classInc = classInc;
- this._classDec = classDec;
- this._minv = Number(range[0]);
- this._maxv = Number(range[1]);
- this._incBase = Number(increment) || 1;
- this._precision = 0;
- if(increment.indexOf('.') != -1) {
- this._precision = increment.substr(increment.indexOf('.')+1, increment.length);
- this._precision = this._precision.length;
- }
-
- this._increment;
- this._timerInc = 1000;
- this._timer = new Timer(1000);
- this._stop = false;
- this._key = false;
-
- this._events = {
-
- dec: function(e) {
- self._increment = -self._incBase;
- self.updateValue();
- return false;
- },
- inc: function(e) {
- self._increment = self._incBase;
- self.updateValue();
- return false;
- },
- keydec: function(e) {
- var kc;
- if (!e) var e = window.event;
-
- if (e.keyCode) kc = e.keyCode;
- else if (e.charCode) kc = e.charCode;
-
- if ( kc != 13 || self._key ) return true;
-
- self._key = true;
- self._increment = -self._incBase;
- self._timerInc = 1000;
- self.updateValue();
- return false;
- },
- keyinc: function(e) {
- var kc;
- if (!e) var e = window.event;
-
- if (e.keyCode) kc = e.keyCode;
- else if (e.charCode) kc = e.charCode;
-
- if ( kc != 13 || self._key ) return true;
-
- self._key = true;
- self._increment = self._incBase;
- self._timerInc = 1000;
- self.updateValue();
- return false;
- },
- clearTimer: function(e) {
- self._key = false;
- self._events.stopTimer();
- },
- stopTimer: function(e) {
- self._timer.stop();
- self._timerInc = 1000;
- self._timer.setPauseTime(self._timerInc);
- },
- onchange: function(e){
- var value = Number(parseFloat(self._inp.value).toFixed(self._precision));
-
- if( Number(value % self._incBase).toFixed(self._precision) != self._incBase ) {
- value -= Number(parseFloat(value % self._incBase)).toFixed(self._precision);
- };
- if(value < self._minv) value = self._minv;
- else if(value > self._maxv) value = self._maxv;
- self._inp.value = parseFloat(value).toFixed(self._precision);
- }
- };
-
- this.updateValue = function() {
- if(self._inp.disabled) {
- stopTimer();
- return;
- }
-
-
- var value = Number(parseFloat(self._inp.value).toFixed(self._precision));
- var stop = self._timerInc == 0 ? true : false;
-
- if( Math.abs(Number(value % self._incBase).toFixed(self._precision)) != self._incBase ) {
- value -= Number(parseFloat(value % self._incBase)).toFixed(self._precision);
- }
-
- value += Number(parseFloat(self._increment).toFixed(self._precision));
-
- if(value < self._minv) {
- value = self._minv;
- stop = true;
- } else if(value > self._maxv) {
- value = self._maxv;
- stop = true;
- }
-
- self._inp.value = parseFloat(value).toFixed(self._precision);
-
- if(self._timerInc > 50) {
- self._timerInc = 50 + Math.round(((self._timerInc - 50) / 1.8));
- }
-
- self._timer.setPauseTime(self._timerInc);
- if(!stop) self._timer.start();
- };
-
- this.construct = function() {
- var h = self._inp.offsetHeight;
-
- self._inp.onchange = self._events.onchange;
-
- self._buttonInc = document.createElement('button');
- self._buttonDec = document.createElement('button');
-
- if(self._classDec) self._buttonDec.className = self._classDec;
- if(self._classInc) self._buttonInc.className = self._classInc;
-
- self._buttonDec.setAttribute('type','button');
- self._buttonInc.setAttribute('type','button');
-
- self._buttonDec.appendChild(document.createTextNode('-'));
- self._buttonInc.appendChild(document.createTextNode('+'));
-
- self._buttonDec.onmousedown = self._events.dec;
- self._buttonInc.onmousedown = self._events.inc;
-
- addEvent(self._buttonDec, "keypress", self._events.keydec, true);
- addEvent(self._buttonDec, "keyup", self._events.clearTimer, true);
- addEvent(self._buttonInc, "keypress", self._events.keyinc, true);
- addEvent(self._buttonInc, "keyup", self._events.clearTimer, true);
-
- self._buttonInc.onmouseout = self._events.stopTimer;
- self._buttonDec.onmouseout = self._events.stopTimer;
-
- addEvent(document, 'mouseup', self._events.stopTimer, false);
-
- if(self._inp.nextSibling) {
- self._inp.parentNode.insertBefore( self._buttonDec, self._inp.nextSibling );
- self._inp.parentNode.insertBefore( self._buttonInc, self._inp.nextSibling );
- } else {
- self._inp.parentNode.appendChild( self._buttonInc );
- self._inp.parentNode.appendChild( self._buttonDec );
- };
- };
-
- var self = this;
-
- self._timer.ontimer = function() { self.updateValue(); };
- self.construct();
-}
-
-incremetalInputController = {
- inputCollection: [],
- constructor: function() {
-
- if(!document.getElementById || !document.createElement) return;
-
- // TODO : cut the regExps down to readable levels - they are hideous at present...
- var regExp_1 = /fd_incremental_inp_range_([-]{0,1}[0-9]+(f[0-9]+){0,1}){1}_([-]{0,1}[0-9]+(f[0-9]+){0,1}){1}/ig;
- var regExp_2 = /fd_increment_([0-9]+(f[0-9]+){0,1}){1}/ig;
- var regExp_3 = /fd_classname_inc_([\-_0-9a-zA-Z]+){1}/ig;
- var regExp_4 = /fd_classname_dec_([\-_0-9a-zA-Z]+){1}/ig;
-
- var inputCollection = document.getElementsByTagName('input');
- var obj, range, classname, classes, classInc, classDec, increment;
-
- for(var i = 0, inp; inp = inputCollection[i]; i++) {
- if(inp.type == 'text' && inp.className && inp.className.search(regExp_1) != -1) {
- classes = inp.className.split(' ');
- increment = 1;
- range = [0,0];
- classInc = "";
- classDec = "";
-
- for(var z = 0, classname; classname = classes[z]; z++) {
- if(classname.search(regExp_1) != -1) {
- range = classname.trim();
- range = range.replace(/fd_incremental_inp_range_/ig, '');
- range = range.replace(/f/g,'.');
- range = range.split('_');
- } else if(classname.search(regExp_2) != -1) {
- increment = classname.trim();
- increment = increment.replace(/fd_increment_/ig, '');
- increment = increment.replace('f','.');
- } else if(classname.search(regExp_3) != -1) {
- classInc = classname.trim();
- classInc = classInc.replace(/fd_classname_inc_/ig, '');
- } else if(classname.search(regExp_4) != -1) {
- classDec = classname.trim();
- classDec = classDec.replace(/fd_classname_dec_/ig, '');
- }
- }
-
- if (inp.value.length == 0 || isNaN(inp.value) == true) { inp.value = 0; }
-
- obj = new incrementalInput(inp, range, increment, classInc, classDec);
- incremetalInputController.inputCollection.push(obj);
- }
- }
- }
-};
-
-// Close and call anonymous function
-})();
-
-addEvent(window, 'load', incremetalInputController.constructor, true); \ No newline at end of file
OpenPOWER on IntegriCloud