Handling of login/logout. Still missing iPhone layout on login page.
[pazpar2-moved-to-github.git] / www / iphone / iphone.js
1 var count = 0;
2 var termlist = {};
3 var JSON = JSON || {};
4 var inApp = false;
5
6 var callback = {};
7
8 callback.init = function() {
9         if (!inApp) {
10                 callback.type = 'browser';
11         } else {
12                 callback.type = 'iphone';
13         }
14 };
15
16 String.prototype.replaceAll = function(stringToFind,stringToReplace) {
17                 var temp = this;
18                 var index = temp.indexOf(stringToFind);
19                 while(index != -1){
20                         temp = temp.replace(stringToFind,stringToReplace);
21                         index = temp.indexOf(stringToFind);
22                 }
23                 return temp;
24     }
25
26 callback.send = function() 
27 {
28         var args = [].splice.call(arguments,0);
29         for (var i = 0; i < args.length; i++) {
30                 if (args[i])
31                         args[i] = args[i].replaceAll(':','_'); 
32                 else 
33                         alert("args was null: " + i);
34         }
35         var message = "myapp:" + args.join(":");
36         if (this.type == 'iphone')
37                 document.location = message;
38         else
39                 document.getElementById("log").innerHTML = message;
40 }
41
42 // implement JSON.stringify serialization
43 JSON.stringify = JSON.stringify || function(obj) {
44         var t = typeof (obj);
45         if (t != "object" || obj === null) {
46                 // simple data type
47                 if (t == "string")
48                         obj = '"' + obj + '"';
49                 return String(obj);
50         } else {
51                 // recurse array or object
52                 var n, v, json = [], arr = (obj && obj.constructor == Array);
53                 for (n in obj) {
54                         v = obj[n];
55                         t = typeof (v);
56                         if (t == "string")
57                                 v = '"' + v + '"';
58                         else if (t == "object" && v !== null)
59                                 v = JSON.stringify(v);
60                         json.push((arr ? "" : '"' + n + '":') + String(v));
61                 }
62                 return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
63         }
64 };
65
66 function search(message) {
67         document.search.query.value = message;
68         onFormSubmitEventHandler();
69         return false;
70 }
71
72 function loaded() {
73         callback.init();
74 }
75
76 function onFormSubmit() {
77         return search(document.search.query.value);
78 }