Tizen 2.0 Release
[samples/web/Tenframe.git] / js / license.js
1 /*
2  * Copyright (c) 2012, Intel Corporation.
3  *
4  * This program is licensed under the terms and conditions of the
5  * Apache License, version 2.0.  The full text of the Apache License is at
6  * http://www.apache.org/licenses/LICENSE-2.0
7  *
8  */
9
10 function license_init(id, hpageid)
11 {
12     var lbtn = document.getElementById(id+"btnl");
13     var qbtn = document.getElementById(id+"btnq");
14     var lpage = document.getElementById(id+"page");
15     var hpage = document.getElementById(hpageid);
16     var ltext = document.getElementById(id+"text");
17     var lscroll = document.getElementById(id+"scroll");
18     var timer;
19
20     var request = new XMLHttpRequest();
21     request.open("GET", "README.txt", false);
22     request.onload = function(e) {
23         var text = this.responseText;
24         text = text.replace("<","&lt;");
25         text = text.replace(">","&gt;");
26         var lines = text.split("\n");
27         lines[0] = "<br><br>"+lines[0];
28         for(var i in lines)
29         {
30             if(lines[i].match(/--------------------/))
31             {
32                 lines[i] = "";
33             }
34             else
35             {
36                 lines[i] += "<br>";
37             }
38         }
39         lscroll.innerHTML = lines.join("\n");
40     }
41     request.send();
42
43     lbtn.onclick = function() {
44         /* initialize scroll rate */
45         var dY = 2;
46         var t0 = 0;
47         var delay = 1000;
48
49         /* set the scroller to the top position */
50         lscroll.style.top = "0px";
51
52         /* display the license page, hide its parent */
53         hpage.style.display="none";
54         lpage.style.display="block";
55
56         /* calculate the scroll length when the window is shown */
57         var maxY = lscroll.clientHeight - ltext.clientHeight;
58
59         /* start the autoscroll interval */
60         timer = setInterval(function() {
61             /* get the actual interval, in case performance slows us down */
62             var t1 = (new Date()).getTime();
63             var dT = (t0 == 0)?20:(t1-t0);
64             t0 = t1;
65
66             /* delay specific number of milliseconds */
67             delay -= dT;
68             if(delay > 0)
69                 return;
70
71             /* calculate the new top position using dY and dT */
72             var newY = Math.abs(parseInt(lscroll.style.top)) + ((dT/40)*dY);
73             if(newY > 0)
74                 lscroll.style.top = (-1 * newY) + "px";
75             else
76                 lscroll.style.top = "0px";
77
78             /* if the lscroll has hit the limit, delay and swing */
79             /* the other way */
80             if(newY >= maxY)
81             {
82                 delay = 5000;
83                 dY = -20;
84             }
85             else if(newY <= 0)
86             {
87                 delay = 5000;
88                 dY = 2;
89             }
90         }, 40);
91     };
92
93     qbtn.onclick = function() {
94         hpage.style.display="block";
95         lpage.style.display="none";
96         clearInterval(timer);
97     };
98 }
99