HTML Code:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Crazy Home ( via HTML5 )</title>
<style type="text/css" media="all" >.....</style>
<script>
var Lang = {
it :function() {
.......
}
};
var Close = {
it :function () {
.......
}
};
var Table = {
cnt :0,
curtr :null,
see :function(tid)
{ var s,vi;
s=document.getElementById(tid);
vi=s.firstChild; vi.style.display="block";
return vi;
},
head :function(a)
{ var thd,i,t;
i=0;
thd=document.createElement("thead");
while(i<a.length) {
t=document.createElement("th"); t.textContent=a[i];
i++;
thd.appendChild(t);
};
return thd;
},
saveDesc :function (ev)
{ ...
},
edit :function(isn,v) {
.......
},
describe :function (ev)
{ .... },
aRef :function(r) {
var ar,k;
k=r.indexOf("//");
if(k==-1) k=0; else k+=2;
ar=r.substr(k,15);
return ar;
},
markNew :function(tid) {
var vi,t,tb;
vi=Table.see(tid);
t=vi.getElementsByTagName("table").item(0);
tb=t.getElementsByTagName("tbody").item(0);
tb.firstChild.setAttribute("n","n");
},
add :function (tid,isn,tm,ref) {
var s,vi,t,tr,td,q,cnt,tc,a,zlnk;
zlnk=Table.aRef(ref);
vi=Table.see(tid);
t=vi.getElementsByTagName("table").item(0);
tb=t.getElementsByTagName("tbody").item(0);
tr=document.createElement("tr"); tr.setAttribute("i",isn);
td=document.createElement("td"); td.textContent=tm; tr.appendChild(td);
td=document.createElement("td"); td.textContent=zlnk;; tr.appendChild(td);
td=document.createElement("td"); td.textContent="?";
td.addEventListener("click",Table.describe,false);
tr.setAttribute("n","n");
tr.appendChild(td);
td=document.createElement("td"); td.textContent="0"; tr.appendChild(td);
q=tb.firstChild;
if(!q.hasAttribute("class")) tr.setAttribute("class","odd");
tb.insertBefore(tr,q);
cnt=tb.childNodes.length;
tc=t.getElementsByTagName("caption").item(0);
a=tc.textContent.split(")");
tc.textContent="("+cnt+")"+a[1];
},
make :function(ti,tid,dd)
{ var a,n,i,s,t,isn,cn,xtime,lng,ref,tb,tr,vi,tc,ca,th,thd,bf;
a=dd.split("&"); n=a.length;
i=0; Table.cnt=0;
s=document.getElementById(tid);
if(s.firstChild!=null) s.removeChild(s.firstChild);
vi=document.createElement("div");
cls=Close.it();
if(n<2) { vi.textContent="no data!";
s.appendChild(vi); vi.appendChild(Close.it());
return;
};
vi.style.width=(window.innerWidth-64)+"px";
vi.style.height=window.innerHeight+"px";
vi.style.overflow="auto";
vi.appendChild(cls);
i=0;
t=document.createElement("table");
t.style.width="100%";
ca=document.createElement("caption");
ca.textContent=ti;
t.appendChild(ca);
tb=document.createElement("tbody");
n-=6; bf=true;
while(i<n) {
tr=document.createElement("tr");
if(bf) tr.setAttribute("class","odd");
bf=!bf;
isn=a[i]; i++; tr.setAttribute("i",isn);
cn=a[i]; i++;
xtime=a[i]; i++;
lng=a[i]; i++;
ref=a[i]; i++;
descr=a[i]; i++;
tc=document.createElement("td"); tc.textContent=xtime; tr.appendChild(tc);
tc=document.createElement("td"); tc.textContent=ref; tr.appendChild(tc);
tc=document.createElement("td"); tc.textContent=descr;
tc.addEventListener("click",Table.describe,false);
tr.appendChild(tc);
tc=document.createElement("td"); tc.textContent=cn; tr.appendChild(tc);
tb.appendChild(tr);
Table.cnt++;
};
ca.textContent="("+Table.cnt+")"+ti;
thd=Table.head(["time","URL","description","attr cnt"]);
thd.childNodes.item(0).style.width="15%";
thd.childNodes.item(1).style.width="20%";
thd.childNodes.item(2).style.width="50%";
thd.childNodes.item(3).style.width="15%";
t.appendChild(thd);
t.appendChild(tb);
vi.appendChild(t);
s.appendChild(vi);
document.body.getElementsByTagName("footer").item(0).textContent=ti;
}
};
var Xdate = {
selectByDate :function(zdate)
{ ......
}
};
var NewItem = {
znew :0,
sendURL :function(ev) {
.......
},
it :function() { ....};
var ToolBar = {
setLang :function(ev) {
Lang.it();
},
addItems :function(ev) {
NewItem.it();
},
dates :function(ev) {
.....
},
today :function(ev) {
var hte=new XMLHttpRequest();
hte.overrideMimeType('text/xml');
hte.onreadystatechange=function() {
if(hte.readyState==3) return; if(hte.readyState!=4) return;
if(hte.status!=200) return;
var v=hte.responseText;
Table.make("today links","today",v);
};
Info.it("today");
hte.open('GET',"./today.php",true);
hte.send(null);
},
menu :function() {
var nav;
nav=document.body.getElementsByTagName("nav").item(0);
nav.style.display="table-cell";
nav.style.width="64px";
nav.style.height=window.innerHeight+"px";
nav.style.background="#0000ff";
}
}
var Info = {
it :function(v)
{ document.body.getElementsByTagName("header").item(0).textContent=v;
}
}
var Login = {
ok :function() {
document.body.getElementsByTagName("footer").item(0).style.display="none";
Info.it("ok!");
ToolBar.menu();
},
fail :function() {
document.body.getElementsByTagName("footer").item(0).textContent="fail!";
},
enter :function(ev) {
var hte;
var ilogin=document.getElementById("ilogin").value;
var ipass=document.getElementById("ipass").value;
Info.it("authentification");
var hte=new XMLHttpRequest();
hte.overrideMimeType('text/xml');
hte.onreadystatechange=function() {
if(hte.readyState==3) return; if(hte.readyState!=4) return;
if(hte.status!=200) return;
var v=hte.responseText;
if(v.indexOf("ok;")!=-1) Login.ok();
else Login.fail();
};
var par="xxlogin="+ilogin+"&xxpass="+ipass;
hte.open('POST',"./login.php",true);
hte.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
hte.send(par);
}
};
</script>
<link rel="shortcut icon" href="./im/smarthome.gif" />
</head>
<body>
<header>
</header>
<nav>
<img id="iaddurl" src="./mu/addurl.jpg" onclick="ToolBar.addItems(event)" /><br />
<img src="./mu/today.jpg" onclick="ToolBar.today(event)" /><br/>
<img src="./mu/calendar.jpg" onclick="ToolBar.dates(event)" /><br/>
<img src="./mu/setlang.jpg" onclick="ToolBar.setLang(event)" /><br/>
</nav>
<section id="qdescr">
</section>
<section id="newitem">
</section>
<section id="lastitems">
</section>
<section id="bydate">
</section>
<section id="dates">
</section>
<section id="today">
</section>
<footer>
login:<input type="text" id="ilogin" value="" size="20" /><br>
xpass:<input type="password" id="ipass" value="" size="20" /><br>
<button onclick="Login.enter(event)">Sign On</button>
</footer>
</body>
</html>