/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to trunk/Code Viewer Alt/AJAX/AjaxDemoApp7_makeBookingsTimer.html

  • Committer: Henrik G.
  • Date: 2013-03-26 23:22:55 UTC
  • Revision ID: henrik.gustavsson@his.se-20130326232255-ik6snyatlbkf3zs1
First seed of Lenasys ... Needs to be Organized Further

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html>
 
2
<head>
 
3
        <style>
 
4
                                        table {border: 1px dotted gray; padding: 1em;}
 
5
        </style>
 
6
 
 
7
        <script language="javascript" src="../jquery/jquery-1.8.2.min.js"></script>
 
8
 
 
9
        <script language="javascript">
 
10
 
 
11
                // We keep the resultset in a variable if we want to redraw dynamically
 
12
                // Size is updated through separate ajax call.
 
13
                
 
14
                var resultset;
 
15
                var isvalid=false;
 
16
                var size=0;
 
17
                var cnt=0;
 
18
 
 
19
                var resource="";
 
20
                var bookingdate="";
 
21
                
 
22
                function bookPosition(position,bookingstate)
 
23
                {
 
24
                        var rebate=0;
 
25
                        var customer=document.getElementById("userID").value;
 
26
                        $.ajax({
 
27
                                        type: 'POST',
 
28
                                        url: '../booking/makebooking_XML.php',
 
29
                                        data: {
 
30
                                                                resourceID: resource,
 
31
                                                                date: bookingdate,
 
32
                                                                customerID: customer,
 
33
                                                                rebate: rebate,
 
34
                                                                status: bookingstate,
 
35
                                                                position: position
 
36
                                                },
 
37
                                        success:  bookingmade
 
38
                                });
 
39
                }
 
40
                
 
41
                function bookingmade(returnedData)
 
42
                {
 
43
                        // Nothing;
 
44
                }
 
45
                
 
46
                function drawResult()
 
47
                {
 
48
 
 
49
                        // Use size from initial ajax call
 
50
                        // Generate Table including booking Javascript calls
 
51
                        var output="<table border='1'>";
 
52
                        output+="<tr>";
 
53
                        var matchedbooking,matched;
 
54
                        for(i = 0; i < size; i++) {
 
55
                                matched=0;
 
56
                                for (j = 0; j < resultset.childNodes.length; j++) {
 
57
                                        if(resultset.childNodes.item(j).nodeName=="booking"){
 
58
                                                var booking=resultset.childNodes.item(j);
 
59
                                                if(i==booking.attributes['position'].nodeValue){
 
60
                                                        matchedbooking=booking;
 
61
                                                        matched=booking.attributes['status'].nodeValue;
 
62
                                                }
 
63
                                        }
 
64
                                }
 
65
                        
 
66
                                if(matched==2){
 
67
                                        output+="<td bgcolor='#ffeedd'>&nbsp;&nbsp;</td>";
 
68
                                }else if(matched==1){
 
69
                                        output+="<td bgcolor='#ff00dd' onclick='bookPosition("+i+",2);' onmouseover='bookPosition("+i+",1)' style='cursor:pointer'>&nbsp;&nbsp;</td>";
 
70
                                }else{
 
71
                                        output+="<td bgcolor='#ffffff' onclick='bookPosition("+i+",2);' onmouseover='bookPosition("+i+",1)' style='cursor:pointer'>&nbsp;&nbsp;</td>";
 
72
                                }
 
73
                                if(i%4==3)
 
74
                                 output+="</tr><tr>";   
 
75
                        }
 
76
                        
 
77
                        output+="</tr>";
 
78
                        output+="</table>"
 
79
                        var div=document.getElementById('OutputDiv');
 
80
                        div.innerHTML=output;
 
81
 
 
82
                }
 
83
 
 
84
                function ResultBooking(returnedData)
 
85
                {
 
86
                        // An XML DOM document is returned from AJAX
 
87
                        resultset=returnedData.childNodes[0];
 
88
                        isvalid=true;
 
89
                        
 
90
                        drawResult();
 
91
                                        
 
92
                        setTimeout('refreshBookingList();',500);
 
93
 
 
94
                }       
 
95
 
 
96
                function ResultSize(returnedData)
 
97
                {
 
98
                        // An XML DOM document is returned from AJAX
 
99
                        var resultsetsize=returnedData.childNodes[0];
 
100
                        
 
101
                        // Iterate over all nodes in root node (i.e. customers)
 
102
                        for (i = 0; i < resultsetsize.childNodes.length; i++) {
 
103
                                if(resultsetsize.childNodes.item(i).nodeName=="resource"){
 
104
                                        var resource=resultsetsize.childNodes.item(i);
 
105
                                        size=resource.attributes['size'].nodeValue;
 
106
                                }
 
107
                        }
 
108
                }       
 
109
                
 
110
                function refreshBookingList()
 
111
                {
 
112
                        $.ajax({
 
113
                                type: 'POST',
 
114
                                url: '../booking/getbookings_XML.php',
 
115
                                data: {
 
116
                                        ///     type: escape("Hotell_Demo"),
 
117
                                                resourceID: resource,
 
118
                                                date: bookingdate
 
119
                                },
 
120
                                success:  ResultBooking
 
121
                        });
 
122
                        //getBookingsForDate(resource,bookingdate,"Hotell_Demo","ResultBooking");
 
123
 
 
124
                        var div=document.getElementById("OutputDivv");
 
125
                        div.innerHTML="Count:"+cnt;
 
126
                        cnt++;
 
127
                }       
 
128
                
 
129
                function processinputbox()
 
130
                {
 
131
                        resource=document.getElementById("resourceID").value;
 
132
                        bookingdate=document.getElementById("date").value;
 
133
 
 
134
                                $.ajax({
 
135
                                        type: 'POST',
 
136
                                        url: '../booking/getresourcesize_XML.php',
 
137
                                        data: { resourceID: resource},
 
138
                                        success:  ResultSize
 
139
                                });
 
140
                }
 
141
                
 
142
        </script>
 
143
</head>
 
144
<body onload="setTimeout('refreshBookingList();',500);">
 
145
        
 
146
        <form name='searchbookings'>
 
147
        userID:<br><input type='text' name='userID' id='userID' onchange="processinputbox()" onkeyup="processinputbox()"><br>
 
148
        resourceID:<br><input type='text' name='resourceID' id='resourceID' onchange="processinputbox()" onkeyup="processinputbox()"><br>
 
149
        date:<br><input type='text' name='date' id='date' onchange="processinputbox()" onkeyup="processinputbox()"><br>
 
150
        </form>
 
151
        <br>
 
152
        <div id="OutputDiv"></div>
 
153
        <br>
 
154
        <div id="OutputDivv"></div>
 
155
        
 
156
</body>
 
157
</html>