1 var DB_NAME
= "mdl_offline_db";
3 function ajaxget(id
, page
) {
4 alert('ajaxget ' + id
+ ' ' + page
);
5 var pagecontent
= fetchpage(id
, page
);
6 document
.write(pagecontent
);
10 function ajxget(url
, formname
) {
11 alert('ajxget: ' + url
+ ' ' + formname
);
12 var frm
= document
.getElementById(formname
);
13 var id
= frm
.id
.value
;
14 var pageid
= frm
.pageid
.value
;
15 var page
= eval(pageid
);
17 var jumpto
= eval(frm
.jumpto
.value
);
20 } else if (jumpto
> 0) {
24 alert('ajxget: formname ' + formname
+ ' id ' + id
+ ' pageid ' + pageid
+ ' jumpto ' + jumpto
);
26 var nextpage
= getnextpage(page
);
28 ajaxget(id
, nextpage
);
30 ajxget2(formname
, frm
, id
, pageid
, page
);
34 function ajxget2(formname
, frm
, id
, pageid
, page
) {
39 for (var i
=0;i
<frm
.answerid
.length
;i
++) {
40 if(frm
.answerid
[i
].checked
) {
41 answervalue
= frm
.answerid
[i
].value
;
45 var db
= google
.gears
.factory
.create('beta.database', '1.0')
48 // get answer info for this page
49 var rs
= db
.execute( "select jumpto, answer, response from mdl_lesson_answers where id =" + answervalue
);
50 while (rs
.isValidRow()) {
52 answertxt
= rs
.field(1);
53 responsetxt
= rs
.field(2);
59 alert("db not found");
63 } else if (jumpto
> 0) {
67 var nextpage
= getnextpage(page
);
68 // now create a response and write to document
69 var content
= "</div><em>Your answer</em> : <p>";
70 content
= content
+ answertxt
;
71 content
= content
+ "</p><div class='response ";
73 content
= content
+ "correct";
76 content
= content
+ "incorrect";
78 content
= content
+ "'><p>"
79 content
= content
+ responsetxt
;
80 content
= content
+ "</p></div>";
81 content
= content
+ "<p style='text-align:center' onclick='ajaxget(" + id
+ ', ' + page
+ ' )' + "'>Continue</p>";
82 var pagecontent
= fetchpage(id
,pageid
);
83 var txt
= pagecontent
;
84 var start
= txt
.indexOf('<form id="answerform"');
85 var end
= txt
.indexOf('</form>',start
);
86 var newtxt
= txt
.substr(0,start
) + content
+ txt
.substring(end
+7,txt
.length
);
87 document
.write(newtxt
);
91 function getnextpage(page
) {
94 var db
= google
.gears
.factory
.create('beta.database', '1.0');
98 rs
= db
.execute("select nextpageid from mdl_lesson_pages where id =" + page
);
99 if (rs
.isValidRow()) {
100 nextpage
= rs
.field(0);
102 alert('row ' + page
+ ' not found in mdl_lesson_pages');
106 rs
= db
.execute("select jumpto, answer, response from mdl_lesson_answers where pageid =" + nextpage
);
107 if (rs
.isValidRow()) {
108 if (!(rs
.field(1).length
> 0 || rs
.field(2).length
> 0)) {
109 var nextpageid
= rs
.field(0);
110 if(nextpageid
== -1) {
111 nextpage
= nextpage
+ 1;
113 nextpage
= nextpageid
;
116 alert('end of branch returning to: ' + nextpage
);
122 alert("db not found");
127 function fetchpage(id
,page
) {
129 var target
= "view.php?id=" + id
+ "&pageid=" + page
131 var target
= "http://tony-desktop/moodle/course/view.php?id=" + id
+ "&pageid=1";
133 var req
= new XMLHttpRequest();
134 req
.open("GET", target
, false);
136 if(req
.status
== 200) {
137 return(req
.responseText
);