Bouquins
diff --git a/search.html b/search.html
new file mode 100644
index 0000000..ac3dbf8
--- /dev/null
+++ b/search.html
@@ -0,0 +1,45 @@
+
+
+
+
Bouquins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/search.js b/search.js
new file mode 100644
index 0000000..90c4a30
--- /dev/null
+++ b/search.js
@@ -0,0 +1,90 @@
+var app = new Vue({
+ el: '#app',
+ data: {
+ urlParams: {},
+ authors: [],
+ series: [],
+ books: []
+ },
+ methods: {
+ urlParse: function() {
+ var match,
+ pl = /\+/g, // Regex for replacing addition symbol with a space
+ search = /([^&=]+)=?([^&]*)/g,
+ decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
+ query = window.location.search.substring(1);
+ while (match = search.exec(query))
+ this.urlParams[decode(match[1])] = decode(match[2]);
+ },
+ sendQuery: function(url, error, success) {
+ var xmh = new XMLHttpRequest();
+ var v;
+
+ xmh.onreadystatechange = function() {
+ v = xmh.responseText;
+ if (xmh.readyState === 4 && xmh.status === 200) {
+ var res;
+ try {
+ res = JSON.parse(v);
+ } catch (err) {
+ if (null !== error)
+ error(err.name, err.message);
+ }
+ if (null !== success)
+ success(res);
+ } else if (xmh.readyState === 4) {
+ if (null !== error)
+ error(xmh.status, v);
+ }
+ };
+
+ xmh.open('GET', url, true);
+ xmh.send(null);
+ },
+ stdError: function(code, resp) {
+ console.log('ERROR ' + code + ': ' + resp);
+ },
+ searchParams: function(url) {
+ var res = url;
+ var first = true;
+ for (var i=0; i