diff --git a/html/js/smoke.js b/html/js/smoke.js
index aab68fa69..bfde05060 100644
--- a/html/js/smoke.js
+++ b/html/js/smoke.js
@@ -1,519 +1,514 @@
/*
- SMOKE.JS - 0.1.3
- (c) 2011-2013 Jonathan Youngblood
- demos / documentation: http://smoke-js.com/
-*/
+ SMOKE.JS - 0.1.3
+ (c) 2011-2013 Jonathan Youngblood
+ demos / documentation: http://smoke-js.com/
+ */
-;(function(window, document) {
+;
+(function (window, document) {
- /*jslint browser: true, onevar: true, undef: true, nomen: false, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */
-
- var smoke = {
- smoketimeout: [],
- init: false,
- zindex: 1000,
- i: 0,
-
- bodyload: function(id) {
- var ff = document.createElement('div');
- ff.setAttribute('id','smoke-out-'+id);
- ff.className = 'smoke-base';
- ff.style.zIndex = smoke.zindex;
- smoke.zindex++;
- document.body.appendChild(ff);
- },
-
- newdialog: function() {
- var newid = new Date().getTime();
- newid = Math.random(1,99) + newid;
-
- if (!smoke.init) {
- smoke.listen(window,"load", function() {
- smoke.bodyload(newid);
- });
- }else{
- smoke.bodyload(newid);
- }
-
- return newid;
- },
-
- forceload: function() {},
-
- build: function (e, f) {
- smoke.i++;
-
- f.stack = smoke.i;
-
- e = e.replace(/\n/g,'
');
- e = e.replace(/\r/g,'
');
-
- var prompt = '',
- ok = 'OK',
- cancel = 'Cancel',
- classname = '',
- buttons = '',
- box;
-
- if (f.type === 'prompt') {
- prompt =
- '
'+
- ''+
- '
';
- }
-
- if (f.params.ok) {
- ok = f.params.ok;
- }
-
- if (f.params.cancel) {
- cancel = f.params.cancel;
- }
-
- if (f.params.classname) {
- classname = f.params.classname;
- }
-
- if (f.type !== 'signal') {
- buttons = '';
- if (f.type === 'alert') {
- buttons +=
- '';
- }
- else if (f.type === 'quiz') {
-
- if (f.params.button_1) {
- buttons +=
- '';
- }
-
- if (f.params.button_2) {
- buttons +=
- '';
- }
-
- if (f.params.button_3) {
- buttons +=
- '';
- }
- if (f.params.button_cancel) {
- buttons +=
- '';
- }
-
- }
-
- else if (f.type === 'prompt' || f.type === 'confirm') {
- if (f.params.reverseButtons) {
- buttons +=
- '' +
- '';
- } else {
- buttons +=
- ''+
- '';
- }
- }
- buttons += '
';
- }
-
-
- box =
- ''+
- ''+
- '
'+
- e+
- prompt+
- buttons+
- '
'+
- '
';
-
- if (!smoke.init) {
- smoke.listen(window,"load", function() {
- smoke.finishbuild(e,f,box);
- });
- } else{
- smoke.finishbuild(e,f,box);
- }
-
- },
-
- finishbuild: function(e, f, box) {
-
- var ff = document.getElementById('smoke-out-'+f.newid);
-
- ff.className = 'smoke-base smoke-visible smoke-' + f.type;
- ff.innerHTML = box;
-
- while (ff.innerHTML === "") {
- ff.innerHTML = box;
- }
-
- if (smoke.smoketimeout[f.newid]) {
- clearTimeout(smoke.smoketimeout[f.newid]);
- }
-
- smoke.listen(
- document.getElementById('smoke-bg-'+f.newid),
- "click",
- function () {
- smoke.destroy(f.type, f.newid);
- if (f.type === 'prompt' || f.type === 'confirm' || f.type === 'quiz') {
- f.callback(false);
- } else if (f.type === 'alert' && typeof f.callback !== 'undefined') {
- f.callback();
- }
- }
- );
-
-
- switch (f.type) {
- case 'alert':
- smoke.finishbuildAlert(e, f, box);
- break;
- case 'confirm':
- smoke.finishbuildConfirm(e, f, box);
- break;
- case 'quiz':
- smoke.finishbuildQuiz(e, f, box);
- break;
- case 'prompt':
- smoke.finishbuildPrompt(e, f, box);
- break;
- case 'signal':
- smoke.finishbuildSignal(e, f, box);
- break;
- default:
- throw "Unknown type: " + f.type;
- }
- },
-
- finishbuildAlert: function (e, f, box) {
- smoke.listen(
- document.getElementById('alert-ok-'+f.newid),
- "click",
- function () {
- smoke.destroy(f.type, f.newid);
- if (typeof f.callback !== 'undefined') {
- f.callback();
- }
- }
- );
-
- document.onkeyup = function (e) {
- if (!e) {
- e = window.event;
- }
- if (e.keyCode === 13 || e.keyCode === 32 || e.keyCode === 27) {
- smoke.destroy(f.type, f.newid);
- if (typeof f.callback !== 'undefined') {
- f.callback();
- }
- }
- };
- },
-
- finishbuildConfirm: function (e, f, box) {
- smoke.listen(
- document.getElementById('confirm-cancel-' + f.newid),
- "click",
- function ()
- {
- smoke.destroy(f.type, f.newid);
- f.callback(false);
- }
- );
-
- smoke.listen(
- document.getElementById('confirm-ok-' + f.newid),
- "click",
- function ()
- {
- smoke.destroy(f.type, f.newid);
- f.callback(true);
- }
- );
-
- document.onkeyup = function (e) {
- if (!e) {
- e = window.event;
- }
- /*if (e.keyCode === 13 || e.keyCode === 32) {
- smoke.destroy(f.type, f.newid);
- f.callback(true);
- } else*/
- if (e.keyCode === 27) {
- smoke.destroy(f.type, f.newid);
- f.callback(false);
- }
- };
- },
-
- finishbuildQuiz: function (e, f, box) {
- var a, b, c;
-
- smoke.listen(
- document.getElementById('quiz-cancel-' + f.newid),
- "click",
- function ()
- {
- smoke.destroy(f.type, f.newid);
- f.callback(false);
- }
- );
-
-
- if (a = document.getElementById('quiz-ok1-'+f.newid))
- smoke.listen(
- a,
- "click",
- function () {
- smoke.destroy(f.type, f.newid);
- f.callback(a.innerHTML);
- }
- );
-
-
- if (b = document.getElementById('quiz-ok2-'+f.newid))
- smoke.listen(
- b,
- "click",
- function () {
- smoke.destroy(f.type, f.newid);
- f.callback(b.innerHTML);
- }
- );
-
-
- if (c = document.getElementById('quiz-ok3-'+f.newid))
- smoke.listen(
- c,
- "click",
- function () {
- smoke.destroy(f.type, f.newid);
- f.callback(c.innerHTML);
- }
- );
-
- document.onkeyup = function (e) {
- if (!e) {
- e = window.event;
- }
- if (e.keyCode === 27) {
- smoke.destroy(f.type, f.newid);
- f.callback(false);
- }
- };
-
- },
-
- finishbuildPrompt: function (e, f, box) {
- var pi = document.getElementById('dialog-input-'+f.newid);
-
- setTimeout(function () {
- pi.focus();
- pi.select();
- }, 100);
-
- smoke.listen(
- document.getElementById('prompt-cancel-'+f.newid),
- "click",
- function () {
- smoke.destroy(f.type, f.newid);
- f.callback(false);
- }
- );
-
- smoke.listen(
- document.getElementById('prompt-ok-'+f.newid),
- "click",
- function () {
- smoke.destroy(f.type, f.newid);
- f.callback(pi.value);
- }
- );
-
- document.onkeyup = function (e) {
- if (!e) {
- e = window.event;
- }
-
- if (e.keyCode === 13) {
- smoke.destroy(f.type, f.newid);
- f.callback(pi.value);
- } else if (e.keyCode === 27) {
- smoke.destroy(f.type, f.newid);
- f.callback(false);
- }
- };
- },
-
- finishbuildSignal: function (e, f, box) {
-
-
- document.onkeyup = function (e) {
- if (!e) {
- e = window.event;
- }
- if (e.keyCode === 27) {
- smoke.destroy(f.type, f.newid);
- if (typeof f.callback !== 'undefined') {
- f.callback();
- }
- }
- };
-
- smoke.smoketimeout[f.newid] = setTimeout(function () {
- smoke.destroy(f.type, f.newid);
- if (typeof f.callback !== 'undefined') {
- f.callback();
- }
- }, f.timeout);
- },
-
-
- destroy: function (type,id) {
-
- var box = document.getElementById('smoke-out-'+id);
-
- if (type !== 'quiz') {
- var okButton = document.getElementById(type+'-ok-'+id);
- }
-
- var cancelButton = document.getElementById(type+'-cancel-'+id);
- box.className = 'smoke-base';
-
- if (okButton) {
- smoke.stoplistening(okButton, "click", function() {});
- document.onkeyup = null;
- }
-
- if (type === 'quiz') {
- var quiz_buttons = document.getElementsByClassName("quiz-button");
- for (var i = 0; i < quiz_buttons.length; i++) {
- smoke.stoplistening(quiz_buttons[i], "click", function() {});
- document.onkeyup = null;
- }
- }
-
- if (cancelButton) {
- smoke.stoplistening(cancelButton, "click", function() {});
- }
-
- smoke.i = 0;
- document.body.removeChild(box);
- },
-
- alert: function (e, f, g) {
- if (typeof g !== 'object') {
- g = false;
- }
-
- var id = smoke.newdialog();
-
- smoke.build(e, {
- type: 'alert',
- callback: f,
- params: g,
- newid: id
- });
- },
-
- signal: function (e, f, g) {
- if (typeof g !== 'object') {
- g = false;
- }
+ /*jslint browser: true, onevar: true, undef: true, nomen: false, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */
- var duration = 5000;
- if (g.duration !== 'undefined'){
- duration = g.duration;
- }
-
- var id = smoke.newdialog();
- smoke.build(e, {
- type: 'signal',
- callback: f,
- timeout: duration,
- params: g,
- newid: id
- });
- },
-
- confirm: function (e, f, g) {
- if (typeof g !== 'object') {
- g = false;
- }
-
- var id = smoke.newdialog();
- smoke.build(e, {
- type: 'confirm',
- callback: f,
- params: g,
- newid: id
- });
- },
-
- quiz: function (e, f, g) {
- if (typeof g !== 'object') {
- g = false;
- }
-
- var id = smoke.newdialog();
- smoke.build(e, {
- type: 'quiz',
- callback: f,
- params: g,
- newid: id
- });
- },
-
- prompt: function (e, f, g) {
- if (typeof g !== 'object') {
- g = false;
- }
-
- var id = smoke.newdialog();
- return smoke.build(e,{type:'prompt',callback:f,params:g,newid:id});
- },
-
- listen: function (e, f, g) {
- if (e.addEventListener) {
- return e.addEventListener(f, g, false);
- }
-
- if (e.attachEvent) {
- return e.attachEvent('on'+f, g);
- }
-
- return false;
- },
-
- stoplistening: function (e, f, g) {
- if (e.removeEventListener) {
- return e.removeEventListener(f, g, false);
- }
-
- if (e.detachEvent) {
- return e.detachEvent('on'+f, g);
- }
-
- return false;
- }
- };
-
-
- smoke.init = true;
+ var smoke = {
+ smoketimeout: [],
+ init: false,
+ zindex: 1000,
+ i: 0,
- if (typeof module != 'undefined' && module.exports) {
- module.exports = smoke;
- }
- else if (typeof define === 'function' && define.amd) {
- define('smoke', [], function() {
- return smoke;
- });
- }
- else {
- this.smoke = smoke;
- }
+ bodyload: function (id) {
+ var ff = document.createElement('div');
+ ff.setAttribute('id', 'smoke-out-' + id);
+ ff.className = 'smoke-base';
+ ff.style.zIndex = smoke.zindex;
+ smoke.zindex++;
+ document.body.appendChild(ff);
+ },
+
+ newdialog: function () {
+ var newid = new Date().getTime();
+ newid = Math.random(1, 99) + newid;
+
+ if (!smoke.init) {
+ smoke.listen(window, "load", function () {
+ smoke.bodyload(newid);
+ });
+ } else {
+ smoke.bodyload(newid);
+ }
+
+ return newid;
+ },
+
+ forceload: function () {},
+
+ build: function (e, f) {
+ smoke.i++;
+
+ f.stack = smoke.i;
+
+ e = e.replace(/\n/g, '
');
+ e = e.replace(/\r/g, '
');
+
+ var prompt = '',
+ ok = 'OK',
+ cancel = 'Cancel',
+ classname = '',
+ buttons = '',
+ box;
+
+ if (f.type === 'prompt') {
+ prompt =
+ '' +
+ '' +
+ '
';
+ }
+
+ if (f.params.ok) {
+ ok = f.params.ok;
+ }
+
+ if (f.params.cancel) {
+ cancel = f.params.cancel;
+ }
+
+ if (f.params.classname) {
+ classname = f.params.classname;
+ }
+
+ if (f.type !== 'signal') {
+ buttons = '';
+ if (f.type === 'alert') {
+ buttons +=
+ '';
+ } else if (f.type === 'quiz') {
+
+ if (f.params.button_1) {
+ buttons +=
+ '';
+ }
+
+ if (f.params.button_2) {
+ buttons +=
+ '';
+ }
+
+ if (f.params.button_3) {
+ buttons +=
+ '';
+ }
+ if (f.params.button_cancel) {
+ buttons +=
+ '';
+ }
+
+ } else if (f.type === 'prompt' || f.type === 'confirm') {
+ if (f.params.reverseButtons) {
+ buttons +=
+ '' +
+ '';
+ } else {
+ buttons +=
+ '' +
+ '';
+ }
+ }
+ buttons += '
';
+ }
+
+
+ box =
+ '' +
+ '' +
+ '
' +
+ e +
+ prompt +
+ buttons +
+ '
' +
+ '
';
+
+ if (!smoke.init) {
+ smoke.listen(window, "load", function () {
+ smoke.finishbuild(e, f, box);
+ });
+ } else {
+ smoke.finishbuild(e, f, box);
+ }
+
+ },
+
+ finishbuild: function (e, f, box) {
+
+ var ff = document.getElementById('smoke-out-' + f.newid);
+
+ ff.className = 'smoke-base smoke-visible smoke-' + f.type;
+ ff.innerHTML = box;
+
+ while (ff.innerHTML === "") {
+ ff.innerHTML = box;
+ }
+
+ if (smoke.smoketimeout[f.newid]) {
+ clearTimeout(smoke.smoketimeout[f.newid]);
+ }
+
+ smoke.listen(
+ document.getElementById('smoke-bg-' + f.newid),
+ "click",
+ function () {
+ smoke.destroy(f.type, f.newid);
+ if (f.type === 'prompt' || f.type === 'confirm' || f.type === 'quiz') {
+ f.callback(false);
+ } else if (f.type === 'alert' && typeof f.callback !== 'undefined') {
+ f.callback();
+ }
+ }
+ );
+
+
+ switch (f.type) {
+ case 'alert':
+ smoke.finishbuildAlert(e, f, box);
+ break;
+ case 'confirm':
+ smoke.finishbuildConfirm(e, f, box);
+ break;
+ case 'quiz':
+ smoke.finishbuildQuiz(e, f, box);
+ break;
+ case 'prompt':
+ smoke.finishbuildPrompt(e, f, box);
+ break;
+ case 'signal':
+ smoke.finishbuildSignal(e, f, box);
+ break;
+ default:
+ throw "Unknown type: " + f.type;
+ }
+ },
+
+ finishbuildAlert: function (e, f, box) {
+ smoke.listen(
+ document.getElementById('alert-ok-' + f.newid),
+ "click",
+ function () {
+ smoke.destroy(f.type, f.newid);
+ if (typeof f.callback !== 'undefined') {
+ f.callback();
+ }
+ }
+ );
+
+ document.onkeyup = function (e) {
+ if (!e) {
+ e = window.event;
+ }
+ if (e.keyCode === 13 || e.keyCode === 32 || e.keyCode === 27) {
+ smoke.destroy(f.type, f.newid);
+ if (typeof f.callback !== 'undefined') {
+ f.callback();
+ }
+ }
+ };
+ },
+
+ finishbuildConfirm: function (e, f, box) {
+ smoke.listen(
+ document.getElementById('confirm-cancel-' + f.newid),
+ "click",
+ function ()
+ {
+ smoke.destroy(f.type, f.newid);
+ f.callback(false);
+ }
+ );
+
+ smoke.listen(
+ document.getElementById('confirm-ok-' + f.newid),
+ "click",
+ function ()
+ {
+ smoke.destroy(f.type, f.newid);
+ f.callback(true);
+ }
+ );
+
+ document.onkeyup = function (e) {
+ if (!e) {
+ e = window.event;
+ }
+ /*if (e.keyCode === 13 || e.keyCode === 32) {
+ smoke.destroy(f.type, f.newid);
+ f.callback(true);
+ } else*/
+ if (e.keyCode === 27) {
+ smoke.destroy(f.type, f.newid);
+ f.callback(false);
+ }
+ };
+ },
+
+ finishbuildQuiz: function (e, f, box) {
+ var a, b, c;
+
+ smoke.listen(
+ document.getElementById('quiz-cancel-' + f.newid),
+ "click",
+ function ()
+ {
+ smoke.destroy(f.type, f.newid);
+ f.callback(false);
+ }
+ );
+
+
+ if (a = document.getElementById('quiz-ok1-' + f.newid))
+ smoke.listen(
+ a,
+ "click",
+ function () {
+ smoke.destroy(f.type, f.newid);
+ f.callback(a.innerHTML);
+ }
+ );
+
+
+ if (b = document.getElementById('quiz-ok2-' + f.newid))
+ smoke.listen(
+ b,
+ "click",
+ function () {
+ smoke.destroy(f.type, f.newid);
+ f.callback(b.innerHTML);
+ }
+ );
+
+
+ if (c = document.getElementById('quiz-ok3-' + f.newid))
+ smoke.listen(
+ c,
+ "click",
+ function () {
+ smoke.destroy(f.type, f.newid);
+ f.callback(c.innerHTML);
+ }
+ );
+
+ document.onkeyup = function (e) {
+ if (!e) {
+ e = window.event;
+ }
+ if (e.keyCode === 27) {
+ smoke.destroy(f.type, f.newid);
+ f.callback(false);
+ }
+ };
+
+ },
+
+ finishbuildPrompt: function (e, f, box) {
+ var pi = document.getElementById('dialog-input-' + f.newid);
+
+ setTimeout(function () {
+ pi.focus();
+ pi.select();
+ }, 100);
+
+ smoke.listen(
+ document.getElementById('prompt-cancel-' + f.newid),
+ "click",
+ function () {
+ smoke.destroy(f.type, f.newid);
+ f.callback(false);
+ }
+ );
+
+ smoke.listen(
+ document.getElementById('prompt-ok-' + f.newid),
+ "click",
+ function () {
+ smoke.destroy(f.type, f.newid);
+ f.callback(pi.value);
+ }
+ );
+
+ document.onkeyup = function (e) {
+ if (!e) {
+ e = window.event;
+ }
+
+ if (e.keyCode === 13) {
+ smoke.destroy(f.type, f.newid);
+ f.callback(pi.value);
+ } else if (e.keyCode === 27) {
+ smoke.destroy(f.type, f.newid);
+ f.callback(false);
+ }
+ };
+ },
+
+ finishbuildSignal: function (e, f, box) {
+
+
+ document.onkeyup = function (e) {
+ if (!e) {
+ e = window.event;
+ }
+ if (e.keyCode === 27) {
+ smoke.destroy(f.type, f.newid);
+ if (typeof f.callback !== 'undefined') {
+ f.callback();
+ }
+ }
+ };
+
+ smoke.smoketimeout[f.newid] = setTimeout(function () {
+ smoke.destroy(f.type, f.newid);
+ if (typeof f.callback !== 'undefined') {
+ f.callback();
+ }
+ }, f.timeout);
+ },
+
+ destroy: function (type, id) {
+
+ var box = document.getElementById('smoke-out-' + id);
+
+ if (type !== 'quiz') {
+ var okButton = document.getElementById(type + '-ok-' + id);
+ }
+
+ var cancelButton = document.getElementById(type + '-cancel-' + id);
+ box.className = 'smoke-base';
+
+ if (okButton) {
+ smoke.stoplistening(okButton, "click", function () {});
+ document.onkeyup = null;
+ }
+
+ if (type === 'quiz') {
+ var quiz_buttons = document.getElementsByClassName("quiz-button");
+ for (var i = 0; i < quiz_buttons.length; i++) {
+ smoke.stoplistening(quiz_buttons[i], "click", function () {});
+ document.onkeyup = null;
+ }
+ }
+
+ if (cancelButton) {
+ smoke.stoplistening(cancelButton, "click", function () {});
+ }
+
+ smoke.i = 0;
+ document.body.removeChild(box);
+ },
+
+ alert: function (e, f, g) {
+ if (typeof g !== 'object') {
+ g = false;
+ }
+
+ var id = smoke.newdialog();
+
+ smoke.build(e, {
+ type: 'alert',
+ callback: f,
+ params: g,
+ newid: id
+ });
+ },
+
+ signal: function (e, f, g) {
+ if (typeof g !== 'object') {
+ g = false;
+ }
+
+ var duration = 5000;
+ if (g.duration !== 'undefined') {
+ duration = g.duration;
+ }
+
+ var id = smoke.newdialog();
+ smoke.build(e, {
+ type: 'signal',
+ callback: f,
+ timeout: duration,
+ params: g,
+ newid: id
+ });
+ },
+
+ confirm: function (e, f, g) {
+ if (typeof g !== 'object') {
+ g = false;
+ }
+
+ var id = smoke.newdialog();
+ smoke.build(e, {
+ type: 'confirm',
+ callback: f,
+ params: g,
+ newid: id
+ });
+ },
+
+ quiz: function (e, f, g) {
+ if (typeof g !== 'object') {
+ g = false;
+ }
+
+ var id = smoke.newdialog();
+ smoke.build(e, {
+ type: 'quiz',
+ callback: f,
+ params: g,
+ newid: id
+ });
+ },
+
+ prompt: function (e, f, g) {
+ if (typeof g !== 'object') {
+ g = false;
+ }
+
+ var id = smoke.newdialog();
+ return smoke.build(e, {type: 'prompt', callback: f, params: g, newid: id});
+ },
+
+ listen: function (e, f, g) {
+ if (e.addEventListener) {
+ return e.addEventListener(f, g, false);
+ }
+
+ if (e.attachEvent) {
+ return e.attachEvent('on' + f, g);
+ }
+
+ return false;
+ },
+
+ stoplistening: function (e, f, g) {
+ if (e.removeEventListener) {
+ return e.removeEventListener(f, g, false);
+ }
+
+ if (e.detachEvent) {
+ return e.detachEvent('on' + f, g);
+ }
+
+ return false;
+ }
+ };
+
+
+ smoke.init = true;
+
+ if (typeof module != 'undefined' && module.exports) {
+ module.exports = smoke;
+ } else if (typeof define === 'function' && define.amd) {
+ define('smoke', [], function () {
+ return smoke;
+ });
+ } else {
+ this.smoke = smoke;
+ }
})(window, document);