| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 
 | <!-- | 
 |   Licensed to the Apache Software Foundation (ASF) under one | 
 |   or more contributor license agreements. See the NOTICE file | 
 |   distributed with this work for additional information | 
 |   regarding copyright ownership. The ASF licenses this file | 
 |   to you under the Apache License, Version 2.0 (the | 
 |   "License"); you may not use this file except in compliance | 
 |   with the License. You may obtain a copy of the License at | 
 |  | 
 |     http://www.apache.org/licenses/LICENSE-2.0 | 
 |  | 
 |   Unless required by applicable law or agreed to in writing, | 
 |   software distributed under the License is distributed on an | 
 |   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
 |   KIND, either express or implied. See the License for the | 
 |   specific language governing permissions and limitations | 
 |   under the License. | 
 | --> | 
 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | 
 | <head> | 
 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 
 |   <title>Thrift Javascript Bindings - Tutorial Example</title> | 
 |  | 
 |   <script src="../../lib/js/thrift.js"                   type="text/javascript"></script> | 
 |   <script src="../gen-js/tutorial_types.js"    type="text/javascript"></script> | 
 |   <script src="../gen-js/shared_types.js"      type="text/javascript"></script> | 
 |   <script src="../gen-js/SharedService.js"     type="text/javascript"></script> | 
 |   <script src="../gen-js/Calculator.js"        type="text/javascript"></script> | 
 |  | 
 |   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> | 
 |  | 
 |  | 
 |   <script type="text/javascript" charset="utf-8"> | 
 |   //<![CDATA[ | 
 |   $(document).ready(function(){ | 
 |     // remove pseudo child required for valid xhtml strict | 
 |     $("#op").children().remove(); | 
 |     // add operations to it's dropdown menu | 
 |     $.each(Operation, function(key, value) { | 
 |       $('#op').append($("<option></option>").attr("value",value).text(key));  | 
 |     }); | 
 |      | 
 |      $('table.calculator').attr('width', 500); | 
 |   }); | 
 |  | 
 |   function calc() { | 
 |     var transport = new Thrift.Transport("/thrift/service/tutorial/"); | 
 |     var protocol  = new Thrift.Protocol(transport); | 
 |     var client    = new CalculatorClient(protocol); | 
 |  | 
 |     var work = new Work() | 
 |     work.num1 = $("#num1").val(); | 
 |     work.num2 = $("#num2").val(); | 
 |     work.op = $("#op").val(); | 
 |      | 
 |     try { | 
 |       result = client.calculate(1, work); | 
 |       $('#result').val(result); | 
 |       $('#result').css('color', 'black'); | 
 |     } catch(ouch){ | 
 |       $('#result').val(ouch.why); | 
 |       $('#result').css('color', 'red'); | 
 |     } | 
 |   } | 
 |    | 
 |   function auto_calc() { | 
 |     if ($('#autoupdate:checked').val() !== undefined) { | 
 |       calc(); | 
 |     } | 
 |   } | 
 |   //]]> | 
 |   </script> | 
 |  | 
 | </head> | 
 | <body> | 
 |   <h2>Thrift Javascript Bindings</h2> | 
 |   <form action=""> | 
 |   <table class="calculator"> | 
 |     <tr> | 
 |       <td>num1</td> | 
 |       <td><input type="text" id="num1" value="20" onkeyup="javascript:auto_calc();"/></td> | 
 |     </tr> | 
 |     <tr> | 
 |       <td>Operation</td> | 
 |       <td><select id="op" size="1" onchange="javascript:auto_calc();"><option></option></select></td> | 
 |     </tr> | 
 |     <tr> | 
 |       <td>num2</td> | 
 |       <td><input type="text" id="num2" value="5" onkeyup="javascript:auto_calc();"/></td></tr> | 
 |     <tr> | 
 |       <td>result</td> | 
 |       <td><input type="text" id="result" value=""/></td></tr> | 
 |     <tr> | 
 |       <td><input type="checkbox" id="autoupdate" checked="checked"/>autoupdate</td> | 
 |       <td><input type="button" id="calculate" value="calculate" onclick="javascript:calc();"/></td> | 
 |     </tr> | 
 |   </table> | 
 |   </form> | 
 |    | 
 |   <p>This Java Script example uses <a href="https://svn.apache.org/repos/asf/thrift/trunk/tutorial/tutorial.thrift">tutorial.thrift</a> and a Thrift server using JSON protocol and HTTP transport. | 
 |   </p> | 
 |     <p> | 
 |         <a href="http://validator.w3.org/check/referer"><img | 
 |             src="http://www.w3.org/Icons/valid-xhtml10" | 
 |             alt="Valid XHTML 1.0!" height="31" width="88" /></a> | 
 |     </p> | 
 | </body> | 
 | </html> |