// QRCODE reader Copyright 2011 Lazar Laszlo
// http://www.webqr.com
var gCtx = null;
var gCanvas = null;
var c = 0;
var stype = 0;
var gUM = false;
var webkit = false;
var moz = false;
var v = null;
var imghtml = '
' +
'
drag and drop a QRCode here' +
' or select a file' +
'' +
'
' +
'
';
var vidhtml = '';
function dragenter(e) {
e.stopPropagation();
e.preventDefault();
}
function dragover(e) {
e.stopPropagation();
e.preventDefault();
}
function drop(e) {
e.stopPropagation();
e.preventDefault();
var dt = e.dataTransfer;
var files = dt.files;
if (files.length > 0) {
handleFiles(files);
}
else
if (dt.getData('URL')) {
qrcode.decode(dt.getData('URL'));
}
}
function handleFiles(f) {
var o = [];
for (var i = 0; i < f.length; i++) {
var reader = new FileReader();
reader.onload = (function (theFile) {
return function (e) {
gCtx.clearRect(0, 0, gCanvas.width, gCanvas.height);
qrcode.decode(e.target.result);
};
})(f[i]);
reader.readAsDataURL(f[i]);
}
}
function initCanvas(w, h) {
gCanvas = document.getElementById("qr-canvas");
gCanvas.style.width = w + "px";
gCanvas.style.height = h + "px";
gCanvas.width = w;
gCanvas.height = h;
gCtx = gCanvas.getContext("2d");
gCtx.clearRect(0, 0, w, h);
}
function captureToCanvas() {
if (stype != 1)
return;
if (gUM) {
try {
gCtx.drawImage(v, 0, 0);
try {
qrcode.decode();
}
catch (e) {
console.log(e);
setTimeout(captureToCanvas, 500);
};
}
catch (e) {
console.log(e);
setTimeout(captureToCanvas, 500);
};
}
}
function htmlEntities(str) {
return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
}
function read(a) {
var html = " ";
if (a.indexOf("http://") === 0 || a.indexOf("https://") === 0)
html += "" + a + " ";
html += "" + htmlEntities(a) + "