Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 29th, 2012  |  syntax: None  |  size: 2.12 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. var xmlhttpreq = GetHTTPRequest();;
  2.  
  3. function precompute() {
  4.         var arcflags = document.getElementById("Precompute").arcflags.checked;
  5.         var numOfRegions = document.getElementById("Precompute").numOfRegions.value;
  6.         var landmarks = document.getElementById("Precompute").landmarks.checked;
  7.         var randLandmarks = document.getElementById("Precompute").randomLandmarks.checked;
  8.        
  9.         if (isDigits(numOfRegions) == false) {
  10.            alert("Field '#Regions' is not numeric");
  11.            return false;
  12.         }
  13.        
  14.         url = "http://localhost:8888/precompute?arcflags=" + arcflags;
  15.         if (numOfRegions) {
  16.                 url += "&numOfRegions=" + numOfRegions;
  17.         }
  18.         url += "&landmarks=" + landmarks;
  19.         url += "&randomLandmarks=" + randLandmarks;
  20.         url += "&callback=?";
  21.        
  22.         StartRequest(url);
  23. }
  24.  
  25. function isDigits(argvalue) {
  26.         argvalue = argvalue.toString();
  27.         var validChars = "0123456789";
  28.         var startFrom = 0;
  29.         if (argvalue.substring(0, 2) == "0x") {
  30.                 validChars = "0123456789abcdefABCDEF";
  31.                 startFrom = 2;
  32.         } else if (argvalue.charAt(0) == "0") {
  33.                 validChars = "01234567";
  34.                 startFrom = 1;
  35.         }
  36.         for ( var n = 0; n < argvalue.length; n++) {
  37.                 if (validChars.indexOf(argvalue.substring(n, n + 1)) == -1) {
  38.                         return false;
  39.                 }
  40.         }
  41.         return true;
  42. }
  43.  
  44. function GetHTTPRequest() {
  45.         var xmlhttp = false;
  46.     try {
  47.         xmlhttp = new XMLHttpRequest();
  48.     } catch (trymicrosoft) {
  49.         try {
  50.                 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  51.         } catch (othermicrosoft) {
  52.                 try {
  53.                         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  54.                 } catch (failed) {
  55.                         xmlhttp = false;
  56.                 }
  57.         }
  58.     }
  59.     return xmlhttp;
  60. }
  61.  
  62. function StartRequest(url) {
  63.         // open a persistant connection
  64.         xmlhttpreq.open('GET', url, true);
  65.         xmlhttpreq.onreadystatechange = handle_response;
  66.         xmlhttpreq.send(null);
  67. }
  68.  
  69. function handle_response() {
  70.         var notDone = true;
  71.         if (!(xmlhttpreq.readyState==4) && xmlhttpreq.status==200) {
  72.                 var status = xmlhttpreq.responseText;          
  73.                 if(status.indexOf("done") >= 0) {
  74.                         notDone = false;
  75.                 }
  76.                 document.getElementById("server_messages").innerHTML = status;
  77.         }
  78.  
  79.         // If connection gets disconnected, restart it!
  80.         if (!(xmlhttpreq.readyState==4) && notDone) {
  81.                 StartRequest();
  82.         }
  83. }