<?php
	
    //Verify user is logged on before allowing them to enter site: 
    
 	ob_start();
 	define("REQUEST", "external");

 	/* Directory paths
		Only change these if your files are outside the original directory
		of the application. Use ../ for each folder you are out by.

		By default, it uses the original CodeIgniter values.
 	*/
	// $system_path = "../system";
	// $application_folder = "../application";

    include('index_check.php');
    ob_end_clean();
    $CI =& get_instance();

    if(!$CI->user->loggedin) {
    	redirect(site_url("login"));
    } else {
        $uid = $_REQUEST['uid'];
    }
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>JED-Eye Web</title>
    <!-- Bootstrap basic: -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon">
    <link rel="icon" href="images/favicon.ico" type="image/x-icon">
    <style>
      .boxed-content {
        padding: 15px;
        font-size: 14px;
        background: #FFFFFF;
        margin-bottom: 15px;
      }
      .navbar {
        background: #EEEEEE;
      }
      body {
        background: #FFFFFF;
      }
      .hidden {
        display: none;
      }
    </style>


  </head>
  <body>
      
    <!-- Stripe Payment Modal Dialog -->
    <div class="modal" id="modStripe">
      <div class="modal-dialog">
        <div class="modal-content">
          <!-- Header -->
          <div class="modal-header">
            <h4 class="modal-title" id="payTitle"></h4>
            <button type="button" class="close" data-dismiss="modal">
              &times
            </button>
          </div>
          
          <!-- Body -->
          <div class="modal-body">
            <p id="payBody"></p>
          </div>
          
          <!-- Footer -->
          <div class="modal-footer">
            <button type="button" class="btn btn-danger" 
              data-dismiss="modal">Close</button>
          </div>
        </div>
      </div>
    </div>
    
    <div class="container">

      <nav class="navbar"> <!-- sticky-top to restore sticky-->
        <ul id="menuTabs" class="nav nav-pills">
          <a href="#" class="navbar-brand">
            <img src="images/logo.png" height="40" />
          </a>
          <!--
          <li class="nav-item">
            <a href="#login" class="nav-link" data-toggle="tab">Log In</a>
          </li>
          -->
          <li class="nav-item dropdown">
            <a id="filedropdown" href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">File</a>
            <div class="dropdown-menu">
              <a id="new" href="#" class="dropdown-item">New</a>
              <div class="dropdown-divider"></div>
              <a id="quit" href="#" class="dropdown-item">Quit</a>
            </div>
          </li>
          
          <li class="nav-item">
            <a id="loadsurveytab" href="#load" class="nav-link" data-toggle="tab">Load</a>
          </li>
          
          <li class="nav-item">
            <a id="measurementtab" href="#measurement" class="nav-link" data-toggle="tab">Measurement</a>
          </li>
          <li class="nav-item">
            <a id="surveyinfotab" href="#surveyinfo" class="nav-link" data-toggle="tab">Survey Info</a>
          </li>
          <li class="nav-item">
            <a id="recommendationtab" href="#recommendation" class="nav-link" data-toggle="tab">Recommendations</a>
          </li>
          
          <li class="nav-item">
            <a id="abouttab" href="#about" class="nav-link active" data-toggle="tab">User Guides</a>
          </li>
        </ul>
        <div id="woDisplay"><h1 id="woHead">None</h1></div>
      </nav>

        <div class="tab-content">
        <!--
          <div class="tab-pane fade show active" id="login">
            
            <div class="boxed-content">
              <form>
                <div class="form-group row">
                  <label for="inputUser" class="col-sm-2 col-form-label">User</label>
                  <div class="col-sm-10">
                    <input type="text" class="form-control" id="inputUser">
                  </div>
                </div>
                <div class="form-group row">
                  <label for="inputPwd" class="col-sm-2 col-form-label">Password</label>
                  <div class="col-sm-10">
                    <input type="password" class="form-control" id="inputPwd">
                  </div>
                </div>
                <div class="form-group row">
                  <div class="col-sm-10 offset-sm-2">
                    <label class="form-check-label">
                      <input type="checkbox">Remember Me
                    </label>
                  </div>
                </div>
                <div class="form-group row">
                  <div class="col-sm-10 offset-sm-2">
                    <button id="btnLogin" type="button" class="btn btn-primary">Log In</button>
                  </div>
                </div>
              </form>
            </div>
          </div>
          -->
          <div class="tab-pane fade" id="load">
            <p>Load Survey stuff goes here...</p>

          </div>

          <div class="tab-pane fade" id="measurement">
            <div class="boxed-content row">
                <div class="col-sm-6">
                    <button id="btnMeasurementSave" type="button" class="btn btn-primary">Save</button>
                    &nbsp;&nbsp;&nbsp;&nbsp;
                    <h6>Important! Recommendations are invalid unless Save clicked!</h6>
                </div>
            </div>
            <div class="boxed-content row">
              <div class="col-md-6">
                <!-- Equipment type & power type formlet -->
                <h3>Equipment Type:</h3>
                <div class="form-group row">
                  <label for="inputEquipmentType" class="col-sm-2 col-form-label text-right">
                    Type:
                  </label>
                  <div class="col-sm-10">
                    <select class="form-control" id="inputEquipmentType">
                      <option value="" selected>Choose One</option>
                      <!-- populated via db... -->

                    </select>
                  </div>
                </div>
                <div class="form-group row">
                  <label for="inputPowerType" class="col-sm-2 col-form-label text-right">
                    Power:
                  </label>
                  <div class="col-sm-10">
                    <select class="form-control" id="inputPowerType">
                      <option value="" selected>Choose One</option>
                      <!-- populated via db... -->
                      
                    </select>
                  </div>
                </div>

                <!-- Measure distance and angle -->
                <h3>Distance and Angle:</h3>

                <div class="form-group row">
                  <table class="table">
                    <thead>
                      <tr><th>Distance</th><th>Angle</th><th>↑</th></tr>
                    </thead>
                    <tbody id="measTable">
                      <tr>
                        <td>
                          <input type="text" class="form-control" id="inputDistance">
                        </td>
                        <td>
                          <input type="text" class="form-control" id="inputAngle">
                        </td>
                      </tr>
                    </tbody>
                  </table>
                </div>
                <div class="form-group row">
                    <div id="UpOver" class="col-sm-12">
                        <p><strong>Up and Over Height:</strong></p>
                        <input type='text' class='form-control' 
                            id='inputUpOverHeight'>
                    </div>
                </div>

              </div>
              <div class="col-md-6">
                <!-- Opening Width / Height, Max Weight, and 500#? / What wieght(TH) -->
                <h3>Job Information:</h3>
                
                <p><strong>Opening Width / Height</strong></p>
                <div class="form-group row">
                  
                  <label for="inputOpeningWidth" class="col-sm-2 col-form-label text-right">
                    Width:
                  </label>
                  <div class="col-sm-4">
                    <input type="text" class="form-control" id="inputOpeningWidth">
                  </div>
                  <label for="inputOpeningHeight" class="col-sm-2 col-form-label text-right">
                    Height::
                  </label>
                  <div class="col-sm-4">
                    <input type="text" class="form-control" id="inputOpeningHeight">
                  </div>
                </div>

                <hr />

                <div class="form-group row">
                  <div class="col-sm-6"><strong>Max Terrain Weight</strong></div>
                </div>
                
                <div class="form-group row">
                    <label for="inputMaxTerrWeight" class="col-sm-2 col-form-label text-right">
                      Weight:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputMaxTerrWeight">
                    </div>
                </div>

                <hr />

                <strong>Lift Weight</strong>
                <!-- show only one depending on TH or otherwise: -->
                
                <div class="form-group row" id="Weight500">
                    <div class="checkbox">
                        <label><input type="checkbox"  id="cb500" value="true">
                            Machine will be lifting more than 500 pounds
                        </label>
                    </div>
                </div>
                
                <div class="form-group row" id="rowWeight">
                    Max weight being lifted:
                    <input type="text" class="form-control" 
                        id="inputLiftWeight" placeholder="required!">
                </div> 
                
                <div class="form-group row" id="rowLedge">
                    <div class='checkbox'>
                        <label><input type='checkbox' id='cbLedge' value='true'>
                        Check if going up and over a ledge
                        </label>
                    </div>
                </div>
              </div>

            </div>
            <div class="boxed-content row">
              <div class="col-md-6">
                <h3>Accessories:</h3>
                <div id="accessoriesDiv"></div>

              </div>
              <div class="col-md-6">
                <h3>Safety Equipment</h3>                
                <div id="safetyDiv"></div>
              </div>
            </div>
            <div class="boxed-content row">
                <div class="col-sm-6">
                    <button id="btnMeasurementSave2" type="button" class="btn btn-primary">Save</button>
                    &nbsp;&nbsp;&nbsp;&nbsp;
                    <h6>Important! Recommendations are invalid unless Save clicked!</h6>
                </div>
            </div>
          </div>
          

          <div class="tab-pane fade container" id="surveyinfo">
            
            <div class="boxed-content row">
                <div class="col-sm-6">
                    <button id="btnSurveySave" type="button" class="btn btn-primary">Save</button>
                    &nbsp;&nbsp;&nbsp;&nbsp;
                    <h6>Important! Recommendations are invalid unless Save clicked!</h6>
                </div>
            </div>  
            <form>
              <div class="boxed-content row">
                <div class="col-md-6">
                  <!-- Site formlet -->
                  <h3>Site:</h3>
                  <div class="form-group row">
                    <label for="inputSiteName" class="col-sm-2 col-form-label text-right">
                      Name:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputSiteName">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputSiteAddr1" class="col-sm-2 col-form-label text-right">
                      Addr 1:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputSiteAddr1">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputSiteAddr2" class="col-sm-2 col-form-label text-right">
                      Addr 2:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputSiteAddr2">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputSiteCity" class="col-sm-2 col-form-label text-right">
                      City:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputSiteCity">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputSiteState" class="col-sm-2 col-form-label text-right">
                      State:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputSiteState">
                    </div>
                  
                    <label for="inputSitePC" class="col-sm-2 col-form-label text-right">
                      Zip/PC:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputSitePC">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputSitePhone1" class="col-sm-2 col-form-label text-right">
                      Phone 1:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputSitePhone1">
                    </div>
                  
                    <label for="inputSitePhone2" class="col-sm-2 col-form-label text-right">
                      Phone 2:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputSitePhone2">
                    </div>
                  </div>
                </div>
                
                <div class="col-md-6">
                  <!-- Contractor Formlet -->
                  <h3>Contractor:</h3>
                  <div class="form-group row">
                    <label for="inputConName" class="col-sm-2 col-form-label text-right">
                      Name:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputConName">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="selectConName" class="col-sm-2 col-form-label text-right">
                      Or Select:
                    </label>
                    <div class="col-sm-10">
                      <select class="form-control" id="selectConName">
                        <option value="" selected>Choose One</option>
                      </select>
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputConAddr1" class="col-sm-2 col-form-label text-right">
                      Addr 1:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputConAddr1">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputConAddr2" class="col-sm-2 col-form-label text-right">
                      Addr 2:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputConAddr2">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputConCity" class="col-sm-2 col-form-label text-right">
                      City:
                    </label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" id="inputConCity">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputConState" class="col-sm-2 col-form-label text-right">
                      State:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputConState">
                    </div>
                  
                    <label for="inputConPC" class="col-sm-2 col-form-label text-right">
                      Zip/PC:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputConPC">
                    </div>
                  </div>

                  <div class="form-group row">
                    <label for="inputConPhone1" class="col-sm-2 col-form-label text-right">
                      Phone 1:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputConPhone1">
                    </div>
                  
                    <label for="inputConPhone2" class="col-sm-2 col-form-label text-right">
                      Phone 2:
                    </label>
                    <div class="col-sm-4">
                      <input type="text" class="form-control" id="inputConPhone2">
                    </div>
                  </div>
                </div>
              </div>
              
            </form>
              
          </div>
          <div class="tab-pane fade" id="recommendation">
            
          </div>
          <div class="tab-pane fade show active" id="about">
              <div class="boxed-content row">
                <div class="col-md-12">
                    <p><h2>User Guides</h2></p>
                    <p><a target="blank" href="pdf/about.pdf"><h3>User Guide</h3></a></p>
                    <p><a target="blank" href="pdf/scissor.pdf"><h3>Getting Started: Scissor Lifts</h3></a></p>
                </div>
              </div>
          </div>
        </div>
        
      </div>
    </div>
    
    

    <!-- JS files: jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

    <!-- Datacom JS -->
    <script type="text/javascript">

      var accessories = [];
      var userid = "";
      var userkey = -999;
      var working = {};
      var isNew = false;
      
      $(document).ready(function() {
        
        //$("[data-toggle='tooltip']").tooltip();
        
        /*
        auth is:
        a - normal login
        for testing only:
        b - never paid ()
        c - expired
        r - reserved
        */
        let auth = "a"; 
        
        //login exception codes: (retexception)
        let err_neverpaid = "2";
        let err_expired = "7";
        let err_reserved = "43";
        
        userid = "<?php echo $uid; ?>";
        var loginurl = "php/login.php?user=" + userid +"&auth=" + auth;
        //console.log(loginurl);
        
        //hide selection-driven measurement form fields:
        $("#UpOver").hide();
        $("#Weight500").hide();
        $("#rowWeight").hide();
        $("#rowLedge").hide();
        
        $.get(loginurl, function(data, success){
          pData = JSON.parse(data);
          //console.log(data);
          
          userkey = pData.retkey;
          var retcode = pData.retcode;
          var retmsg = pData.retmsg;
          var retexception = pData.retexception;
          
          let pt = $("#payTitle");
          let pb = $("#payBody");
          
          if (retcode == 93) {
            switch(retexception) {
              case err_neverpaid:
                pt.text("Setup Payments");
                var neverpaid="<strong><i>TEST MESSAGE -- IGNORE</i></strong><br />";
                neverpaid += retmsg;
                pb.html(neverpaid);
                break;
              case err_expired:
                pt.text("Renew Payment");
                var expired="<strong><i>TEST MESSAGE -- IGNORE</i></strong><br />";
                expired += retmsg;
                pb.html(expired);
                break;
              case err_reserved:
                pt.text("Reserved Error");
                var reserved="<strong><i>TEST MESSAGE -- IGNORE</i></strong><br />";
                reserved += retmsg;
                pb.html(reserved);
                break;
                break;
              default:
                    
            }
            $("#modStripe").modal();
          }
            
          //pull in "questions" info and customer (contractor) info: 
          var url = "php/survey.php";
          var types       = [];
          var power       = [];
          //accessories defined at global scope.
          var safety      = [];
          $.get(url, function(data, status) {
            var formData = JSON.parse(data);
            for(var key in formData) {
              var entry = formData[key];

              switch(entry["ordpos"]) {
                case "10" :
                  types.push(entry["displayname"]);
                  break;
                case "20" :
                  power.push(entry["displayname"]);
                  break;
                case "70" :
                  if(entry["description"] != "safety") {
                    accessories.push(["B4", entry["displayname"]]);
                  } else {
                    safety.push(entry["displayname"]);
                  }
                  break;
                case "75" :
                  if(entry["description"] != "safety") {
                    accessories.push(["BE", entry["displayname"]]);
                  }
                  break;
                case "80" :
                  if(entry["description"] != "safety") {
                    accessories.push(["S4", entry["displayname"]]);
                  }
                  break;
                case "85" :
                  if(entry["description"] != "safety") {
                    accessories.push(["SE", entry["displayname"]]);
                  }
                  break;
                case "90" :
                  if(entry["description"] != "safety") {
                    accessories.push(["T", entry["displayname"]]);
                  }
                  break;
                default :
                  //nothing
              }  
            }
            //console.log("513");
            //set measurement page equipment types: 
            var typeOptions = "<option value='' selected>Choose One</options>";
            for (var i = 0, len = types.length; i < len; i++) {
              typeOptions += "<option value='" + types[i] + "'>" + types[i] + "</option>";
            }
            $("#inputEquipmentType").html(typeOptions);
            
            //set measurement page power types: 
            var powerOptions = "<option value='' selected>Choose One</options>";
            for (var i = 0, len = power.length; i < len; i++) {
              powerOptions += "<option value='" + power[i] + "'>" + power[i] + "</option>";
            }
            $("#inputPowerType").html(powerOptions);

            //set safety section checkboxes:
            var safetyChecks = "";
            //console.log(safety);
            for (var i = 0, len = safety.length; i < len; i++) {
              safetyChecks += "<div class='form-group row' id='rowSafety'>";
              safetyChecks += "<div class='checkbox'>";
              safetyChecks += "<label><input type='checkbox' id='" + safety[i] + "' value='true'>";
              safetyChecks += safety[i] + "</label></div></div>";
            }
            //alert(safetyChecks);
            $("#safetyDiv").html(safetyChecks);
          });
          loadSurveys();
          //comment OUT the following to NOT begin a new survey when loading
          //the page: 
          newSurvey();
        });

        $("#inputEquipmentType").on("change", function() {
          setMeasurementFields();
        });

        $("#inputPowerType").on("change", function() {
          setMeasurementFields();
        });

        $("#btnSurvey").click(function() {
          if ( $("#inputSiteName").val().length === 0 ) {
            //No site... fail
            alert("You must enter a Site Name!");
          } else {
            //save the information in the fields to the database: 

          }
        });

        $("#recommendationtab").click(function() {
            let spinnerHTML = "<p></p><div class='spinner-border text-primary'></div>";
            $("#recommendation").html(spinnerHTML);
          var thereAreRecords = true;
          let wonum = $("#woDisplay h1").text();
          //console.log(wonum);
          //console.log( $("#woDisplay h1").css("color") );
          var recTabText = "";
          if(wonum == "None") {
            recTabText = "<p><br />There is no active survey. Please select a survey from the ";
            recTabText += "<strong><i>Load</i></strong> menu or start a new survey with ";
            recTabText += "the <strong><i>New</i></strong> button.</p>";
            $("#recommendation").html(recTabText);
            return;
          } else if( $("#woDisplay h1").css("color") == 'rgb(255, 0, 0)' ) {
            //it's an unsaved new work order: 
            recTabText = "This is a new survey and <strong>must</strong> be saved before viewing equipment recommendations.";
            $("#recommendation").html(recTabText);
            return;
          } else {
            let url = "php/recommend.php?siteid=" + wonum + "&surveytype=&enditemqty=0&note=WebVersion+0.3";
            //console.log(url);
            $.get(url, function(data, success){
              let recEquip = JSON.parse(data);
              
              //console.log(recEquip);
              let recordkeys = Object.keys(recEquip);
              //console.log(recordkeys);
              if (isEmpty(recordkeys)) {
                  thereAreRecords = false;
              }
              if(recordkeys[0] == "0") {
                var outstr = recEquip["0"]["returnmessage"];
                //console.log(outstr);
                $("#recommendation").html(outstr);
              }
              
              //console.log(thereAreRecords);
              
              if (thereAreRecords) {
                recTabText = "<p><br />Showing recommended equipment for survey number " + wonum + ". Click an image to view the datasheet.</p>";
                
                recTabText += "<div class='boxed-content row'>";
                recTabText += "<div class='col-sm-12'>";
                recTabText += "<table class='table'><tbody>";

                  
              
                var i = 0;
                //console.log(recEquip);
                for(var key in recEquip) {
                  let piece = recEquip[key];
                  let model = piece["modelno"].replace("/", ":");
                  let imagepath = encodeURI("recimages/" + piece["manufacturer"] + "_" + model + ".jpg");
                
                  //console.log(piece);
                  recTabText += "<tr><td>" + piece["manufacturer"] + "</td>" +
                  "<td>" + piece["modelno"] + "</td>" +
                  "<td>" + 
                  "<a target='_blank' href='https://ibeamma.com/jedeye/pdf/" + 
                  piece["linkpdf"] + "'>" + "<img src='" + imagepath;
                  recTabText += "' height='100'></img>" + "</a></td></tr>";
                  i++;
                
                }
                //console.log(recTabText);
                recTabText += "</tbody></table></div></div>";
              }
              else {
                recTabText = "<p></p>There are no equipment recommendations for this set of measurements.";
              }
              $("#recommendation").html(recTabText);
            });
            
          }
          
        });

        $("#new").click(function() {
          newSurvey();
        });
        
        $("#quit").click(function() {
            window.location.href = "https://ibeamma.com/JedEyeWeb/";
        });

        $("#btnSurveySave").click(function() {
          save();
        });
        
        $("#btnMeasurementSave").click(function() {
          save(); 
        });
        
        $("#btnMeasurementSave2").click(function() {
          save(); 
        });

        $("#loadsurveytab").click(function() {
          loadSurveys();
        });
        
        $("#inputLiftWeight").on("input", function() {
          $("#inputLiftWeight").css("background-color", "white");
        });
        
      });
      
      function save() {
          //alert("Working..."); //return;
          //console.log("EquipType:" + $("#inputEquipmentType").val());
          //if telehandler, make sure there is a lift weight: 
          if( $("#inputEquipmentType").val() == "Telehandler" ) {
            //console.log("Telehandler at 641");
            if( !$("#inputLiftWeight").val() ) {
              alert("For Telehandlers, you must enter the Max Weight being lifted.");
              $("inputLiftWeight").css("background-color", "yellow");
              return;
            }
          }
          //nullify all fields:
          nullifyAll();

          working.workorderno = $("#woDisplay h1").text();

          //grab up Survey window fields, and store in working: 
          //site:
          if ( $("#inputSiteName").val() != "" ) {
            working.s_lname = $("#inputSiteName").val();
          }
          if ( $("#inputSiteAddr1").val() != "" ) {
            working.s_addr1 = $("#inputSiteAddr1").val();
          }
          if ( $("#inputSiteAddr2").val() != "" ) {
            working.s_addr2 = $("#inputSiteAddr2").val();
          }
          if ( $("#inputSiteCity").val() != "" ) {
            working.s_city = $("#inputSiteCity").val();
          }
          if ( $("#inputSiteState").val() != "" ) {
            working.s_state = $("#inputSiteState").val();
          }
          if ( $("#inputSitePC").val() != "" ) {
            working.s_postalcode = $("#inputSitePC").val();
          }
          if ( $("#inputSitePhone1").val() != "" ) {
            working.s_phone = $("#inputSitePhone1").val();
          }
          if ( $("#inputSitePhone2").val() != "" ) {
            working.s_phone2 = $("#inputSitePhone2").val();
          }
          //contractor: 
          if ( $("#inputConName").val() != "" ) {
            working.c_lname = $("#inputConName").val();
          }
          if ( $("#inputConAddr1").val() != "" ) {
            working.c_addr1 = $("#inputConAddr1").val();
          }
          if ( $("#inputConAddr2").val() != "" ) {
            working.c_addr2 = $("#inputConAddr2").val();
          }
          if ( $("#inputConCity").val() != "" ) {
            working.c_city = $("#inputConCity").val();
          }
          if ( $("#inputConState").val() != "" ) {
            working.c_state = $("#inputConState").val();
          }
          if ( $("#inputConPC").val() != "" ) {
            working.c_postalcode = $("#inputConPC").val();
          }
          if ( $("#inputConPhone1").val() != "" ) {
            working.c_phone = $("#inputConPhone1").val();
          }
          if ( $("#inputConPhone2").val() != "" ) {
            working.c_phone2 = $("inputConPhone2").val();
          }

          //date stamp the object: YYYY-MM-DD+HH:MM:SS 
          var months = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"]
          var d = new Date();
          var year = d.getFullYear();
          var month = months[d.getMonth()];
          var day = d.getDate();
          if (day < 10) { day = "0" + day; }
          var hour = d.getHours();
          if (hour < 10) { hour = "0" + hour; }
          var min = d.getMinutes();
          if (min < 10) { min = "0" + min; }
          var sec = d.getSeconds();
          if (sec < 10) { sec = "0" + sec; }

          if (isNew) {
            var stamp = year + "-" + month + "-" + day + "+" + hour + ":" + min + ":" + sec;
            working.entereddatetime = stamp;
          }

          //build the query string: 
          var url = queryString();
          //html encode the query string
          url = encodeURI(url);
          //console.log(url);
          //save the survey information: 
          $.get(url, function(data, status) {
            var d = JSON.parse(data);
            var msg = "";
            if (d["returncode"] == "17") {
              if(d["resultcode"] == "1") {
                msg = "Survey #" + working.workorderno + " saved";
              } else if(d["resultcode"] == "2") {
                msg = "Survey #" + working.workorderno + " created";
              }
              //alert(msg);
            }
          });

          //save the measurement key/value pairs:
          //FIRST, THE DEFAULT HMTL FIELDS

          //query string form is php/setsinglepair.php?surveyID=x&key=x&value=y
          var url = "php/setsinglepair.php?surveyID=" + working.workorderno;
          //type and power
          var kvstring = "&key=Type&value=" + $("#inputEquipmentType").val();
          kvstring = encodeURI(kvstring);
          //console.log("to get: " + url + kvstring);
          $.get(url + kvstring);
          kvstring = "&key=Power&value=" + $("#inputPowerType").val();
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);
          //distance and angle - if something is is the inputs:
          if( $("#inputDistance").val() && $("#inputAngle").val() ) {
            //find the last element:
            var elementNumber = 0;
            for(var i = 0; ; i++) {
              //console.log(i);
              elementNumber = i;
              if( !$("#distance" + i).length ) {
                break;
              } 
            }
            //console.log("enum:" + elementNumber);
            var distKey = "MeasDistance" + elementNumber;
            var angKey = "MeasAngle" + elementNumber;
            kvstring = "&key=" + distKey + "&value=" + $("#inputDistance").val();
            $.get(url + kvstring);
            kvstring = "&key=" + angKey + "&value=" + $("#inputAngle").val();
            $.get(url + kvstring);
          }
            
          //opening width and height: 
          kvstring = "&key=OpeningWidth&value=" + $("#inputOpeningWidth").val();
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);
          kvstring = "&key=OpeningHeight&value=" + $("#inputOpeningHeight").val();
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);

          //terrain weight: 
          kvstring = "&key=TerWeight&value=" + $("#inputMaxTerrWeight").val();
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);

          //NOW THE LOADED FIELDS:
          //up and over: 
          if( $("#inputUpOverHeight").length ) {
            kvstring = "&key=WallHeight&value=" + $("#inputUpOverHeight").val();
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }
          //500 pound constraint: 
          if( $("#cb500").length ){
            var isChecked = "false";
            if ( $("#cb500").prop("checked") ) {
                isChecked = "true";
                //console.log(isChecked);
            }
            kvstring = "&key=gt500&value=" + isChecked;
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
            //console.log(url+kvstring);
          }
          //lift weight (telehandlers):
          if( $("#inputLiftWeight").length ) {
            kvstring = "&key=LiftWeight&value=" + $("#inputLiftWeight").val();
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }
          
          //ledge (telehandlers):
          if( $("#cbLedge").length ){
            var isChecked = "false";
            if ( $("#cbLedge").prop("checked") ) {isChecked = "true";}
            kvstring = "&key=Ledge&value=" + isChecked;
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }
          
          //accessories: 
          let acb = "#Anti-Crush\\ Bar";
          if( $(acb).length ) {
            var isChecked1 = "false";
            if ( $("#Anti-Crush\\ Bar").prop("checked") ) {isChecked1 = "true";}
            kvstring = "&key=Anti-Crush Bar&value=" + isChecked1;
            kvstring = encodeURI(kvstring);
            //console.log(url + kvstring);
            $.get(url + kvstring, function(data, status){});
          }

          let dd = "#Drip\\ Diaper";
          if( $(dd).length ) {
            var isChecked2 = "false";
            if ( $("#Drip\\ Diaper").prop("checked") ) {isChecked2 = "true";}
            kvstring = "&key=Drip Diaper&value=" + isChecked2;
            kvstring = encodeURI(kvstring);
            //console.log(url + kvstring);
            $.get(url + kvstring);
          }

          let gk = "#Glazing\\ Kit";
          if( $(gk).length ) {
            var isChecked3 = "false";
            if ( $("#Glazing\\ Kit").prop("checked") ) {isChecked3 = "true";}
            kvstring = "&key=Glazing Kit&value=" + isChecked3;
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }

          let sp = "#Sky\\ Power";
          if( $(sp).length ) {
            var isChecked4 = "false";
            if ( $("#Sky\\ Power").prop("checked") ) {isChecked4 = "true";}
            kvstring = "&key=Sky Power&value=" + isChecked4;
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }

          let sw = "#Sky\\ Welder";
          if( $(sw).length ) {
            var isChecked5 = "false";
            if ( $("#Sky\\ Welder").prop("checked") ) {isChecked5 = "true";}
            kvstring = "&key=Sky Welder&value=" + isChecked5;
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }

          let ts = "#Tire\\ Socks";
          if( $(ts).length ) {
            var isChecked6 = "false";
            if ( $("#Tire\\ Socks").prop("checked") ) {isChecked6 = "true";}
            kvstring = "&key=Tire Socks&value=" + isChecked6;
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }

          let ef = "#Extended\\ Forks";
          if( $(ef).length ) {
            var isChecked7 = "false";
            if ( $("#Extended\\ Forks").prop("checked") ) {isChecked7 = "true";}
            kvstring = "&key=Extended Forks&value=" + isChecked7;
            kvstring = encodeURI(kvstring);
            $.get(url + kvstring);
          }

          //Safety Equipment: 
          let safg = "#Safety\\ Glasses";
          var hasSafety1 = "false";
          if ( $(safg).prop("checked") ) {hasSafety1 = "true";}
          kvstring = "&key=Safety Glasses&value=" + hasSafety1;
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);

          let safgl = "#Gloves";
          var hasSafety2 = "false";
          if ( $(safgl).prop("checked") ) {hasSafety2 = "true";}
          kvstring = "&key=Gloves&value=" + hasSafety2;
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);


          let safrsv = "#Reflective\\ Safety\\ Vest";
          var hasSafety3 = "false";
          if ( $(safrsv).prop("checked") ) {hasSafety3 = "true";}
          kvstring = "&key=Reflective Safety Vest&value=" + hasSafety3;
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);

          let safhh = "#Hard\\ Hat";
          var hasSafety4 = "false";
          if ( $(safhh).prop("checked") ) {hasSafety4 = "true";}
          kvstring = "&key=Hard Hat&value=" + hasSafety4;
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring); 

          let safsh = "#Safety\\ Harness";
          var hasSafety5 = "false";
          if ( $(safsh).prop("checked") ) {hasSafety5 = "true";}
          kvstring = "&key=Safety Harness&value=" + hasSafety5;
          kvstring = encodeURI(kvstring);
          $.get(url + kvstring);

          //final bookkeeping: 
          isNew = false;
          
          $("#woDisplay").html("<h1 style='color: #000000;'>" + working.workorderno + "</h1>");
          //console.log(working);
          
          alert("Save successful. Please click Recommendations to view results.");
      }

      function newSurvey() {
        var url = "php/surveyid.php?userid=" + userid + "&deviceid=74bab429-f5a2-4795-859f-807bce86c15b";
          $.get(url, function(data, status) {
            var woInfo = JSON.parse(data);
            var wonum = woInfo["surveyid"];
            isNew = true;
            $("#woDisplay").html("<h1 style='color: #FF0000;'>" + wonum + "</h1>");
    
            $("#inputSiteName").val("");
            $("#inputSiteAddr1").val("");
            $("#inputSiteAddr2").val("");
            $("#inputSiteCity").val("");
            $("#inputSiteState").val("");
            $("#inputSitePC").val("");
            $("#inputSitePhone1").val("");
            $("#inputSitePhone2").val("");
        
            $("#inputConName").val("");
            $("#inputConAddr1").val("");
            $("#inputConAddr2").val("");
            $("#inputConCity").val("");
            $("#inputConState").val("");
            $("#inputConPC").val("");
            $("#inputConPhone1").val("");
            $("#inputConPhone2").val("");
    
            $("#inputEquipmentType").val("");
            $("#inputPowerType").val("");
            setMeasurementFields();
            $("#inputDistance").val("");
            $("#inputAngle").val("");
    
            var measTableHTML = "<tr><td>";
            measTableHTML += "<input type='text' class='form-control' id='inputDistance'>";
            measTableHTML += "</td><td>";
            measTableHTML += "<input type='text' class='form-control' id='inputAngle'>";
            measTableHTML += "</td></tr>";
    
            $("#measTable").html(measTableHTML);
    
            $("#inputOpeningHeight").val("");
            $("#inputOpeningWidth").val("");
            $("#inputMaxTerrWeight").val("");
            $("#inputWallHeight").val("");
            //$("#rowWeight").html("");
    
          });
      }
      
      function loadSurveys() {
        var url = "php/fetchsurveys.php?emptkey=" + userkey + "&status=o&history=0&mindate=2019-01-01+00:00:00";
          $.get(url, function(data, status) {
            //Send JSON back from the server, write html table here. 
            var outstr = "<table class='table'><thead>";
            outstr += "<tr><th>WO #</th><th>Site</th><th>Contractor</th>";
            outstr += "<th>User</th></tr></thead><tbody>";
            var surveys = JSON.parse(data);   //surveys is an object
            for(var key in surveys) {

              var survey = surveys[key];      //survey is an object
              //console.log(survey["s_lname"]);
              outstr += "<tr>";
              outstr += "<td><button class='btn btn-primary' type='button' " + 
                "id='btnOpen" + survey["workorderno"] + "' onclick='openwo(" + survey["workorderno"] + ", " + data + ")'>" + survey["workorderno"] + "</button></td>";
              outstr += "<td>" + survey["s_lname"] + "</td>";
              outstr += "<td>" + survey["c_lname"] + "</td>";
              outstr += "<td>" + survey["usertkey"] + "</td>";
              outstr += "</tr>";
            }
            outstr += "</tbody></table>";
            //alert(outstr);
            $("#load").html(outstr);
          });  
        
      }

      function setMeasures(index) {
        $("#inputDistance").val($("#distance" + index).html());
        $("#inputAngle").val($("#angle" + index).html());
      }
      
      function setMeasurementFields() {
        //alert($("#inputPowerType").val());
        var typeValue = $("#inputEquipmentType").val();
        var weightHTML = "";
        var ledgeHTML = "";
        var outstr = "";
        switch( $("#inputPowerType").val() ) {
          case "4 X 4" :
            if( typeValue == "Telescopic Boom Lift" || typeValue == "Articulating Boom Lift" ) {
              if( typeValue == "Articulating Boom Lift") {
                //alert(typeValue);
                $("#UpOver").show();
              } else {
                $("#UpOver").hide();
              }
              
              for(var i = 0, len = accessories.length; i < len; i++) {
                if(accessories[i][0] == "B4") {
                  outstr += "<div class='form-group row' id='rowAcc'>";
                  outstr += "<div class='checkbox'>";
                  outstr += "<label><input type='checkbox' id='" + accessories[i][1] + "' value='true'>";
                  outstr += accessories[i][1] + "</label></div></div>";
                }
              }
              $("#inputAngle").val("");
              $("#Weight500").show();
              $("#rowWeight").hide();
              $("#rowLedge").hide();
              
            }
            if( typeValue == "Scissor Lift") {
              //$("#UpOver").html("");
              for(var i = 0, len = accessories.length; i < len; i++) {
                if(accessories[i][0] == "S4") {
                  outstr += "<div class='form-group row' id='rowAcc'>";
                  outstr += "<div class='checkbox'>";
                  outstr += "<label><input type='checkbox' id='" + accessories[i][1] + "' value='true'>";
                  outstr += accessories[i][1] + "</label></div></div>";
                }
              }
              $("#inputAngle").val("90");
              $("#Weight500").show();
              $("#rowWeight").hide();
              $("#rowLedge").hide();
              $("#UpOver").hide();
            }
            if( typeValue == "Telehandler") {
              $("#inputPowerType").val("4 X 4");
              //$("#UpOver").html("");
              for(var i = 0, len = accessories.length; i < len; i++) {
                if(accessories[i][0] == "T") {
                  outstr += "<div class='form-group row' id='rowAcc'>";
                  outstr += "<div class='checkbox'>";
                  //outstr += "<label><input type='checkbox' data-toggle='tooltip' title='Equipment recommendations will use standard fork length.' id='" + accessories[i][1] + "' value='true'>";
                  outstr += "<label><input type='checkbox' id='" + accessories[i][1] + "' value='true' onClick='efAlert();'>";
                  outstr += accessories[i][1] + "</label></div></div>";
                }
              }
              $("#inputAngle").val("");
              $("#Weight500").hide();
              $("#rowWeight").show();
              $("#rowLedge").show();
              $("#UpOver").hide();
            }
            
            break;
          case "Electric" :
            if( typeValue == "Telescopic Boom Lift" || typeValue == "Articulating Boom Lift" ) {
              if( typeValue == "Articulating Boom Lift") {
                //alert(typeValue);
                $("#UpOver").show();
              } else {
                $("#UpOver").hide();
              }
              
              for(var i = 0, len = accessories.length; i < len; i++) {
                if(accessories[i][0] == "BE") {
                  outstr += "<div class='form-group row' id='rowAcc'>";
                  outstr += "<div class='checkbox'>";
                  outstr += "<label><input type='checkbox' id='" + accessories[i][1] + "' value='true'>";
                  outstr += accessories[i][1] + "</label></div></div>";
                }
              }
              $("#inputAngle").val("");
              $("#Weight500").show();
              $("#rowWeight").hide();
              $("#rowLedge").hide();
              
            }
            if( typeValue == "Scissor Lift") {
              //$("#UpOver").html("");
              for(var i = 0, len = accessories.length; i < len; i++) {
                if(accessories[i][0] == "SE") {
                  outstr += "<div class='form-group row' id='rowAcc'>";
                  outstr += "<div class='checkbox'>";
                  outstr += "<label><input type='checkbox' id='" + accessories[i][1] + "' value='true'>";
                  outstr += accessories[i][1] + "</label></div></div>";
                }
              }
              $("#inputAngle").val("90");
              $("#Weight500").show();
              $("#rowWeight").hide();
              $("#rowLedge").hide();
              $("#UpOver").hide();
            }
            if( typeValue == "Telehandler") {
              $("#inputPowerType").val("4 X 4");
              for(var i = 0, len = accessories.length; i < len; i++) {
                if(accessories[i][0] == "T") {
                  outstr += "<div class='form-group row' id='rowAcc'>";
                  outstr += "<div class='checkbox'>";
                  outstr += "<label><input type='checkbox' id='" + accessories[i][1] + "' value='true'>";
                  outstr += accessories[i][1] + "</label></div></div>";
                }
              }
              $("#inputAngle").val("");
              $("#Weight500").hide();
              $("#rowWeight").show();
              $("#rowLedge").show();
              $("#UpOver").hide();
            }
            break;
          default :
            break;
        }
        //console.log("acc: " + outstr);
        $("#accessoriesDiv").html(outstr);
        //$("#rowWeight").html(weightHTML);
        //$("#rowLedge").html(ledgeHTML);
      }

      function openwo(wonum, data) {
        $("#woDisplay").html("<h1>" + wonum + "</h1>");
        //console.log(data);
        var properKey = "";
        var gt500cbState = false;
        var ledgecbState = false;
        var safetyCbStateMap = [false, false, false, false, false];
        var liftWeightText = "";
        
        //the data is coming in with the grouping key as the 
        //site lastname. We need to find the site name for the 
        //record with the given work order: 
        for (var key in data) {
          if (data[key]["workorderno"] == wonum) {
            properKey = key;
            break;
          }
        }
        //then pull out that record only: 
        var survey = data[properKey];
        
        $("#inputSiteName").val(survey["s_lname"]);
        $("#inputSiteAddr1").val(survey["s_addr1"]);
        $("#inputSiteAddr2").val(survey["s_addr2"]);
        $("#inputSiteCity").val(survey["s_city"]);
        $("#inputSiteState").val(survey["s_state"]);
        $("#inputSitePC").val(survey["s_postalcode"]);
        $("#inputSitePhone1").val(survey["s_phone"]);
        $("#inputSitePhone2").val(survey["s_phone2"]);
        
        $("#inputConName").val(survey["c_lname"]);
        $("#inputConAddr1").val(survey["c_addr1"]);
        $("#inputConAddr2").val(survey["c_addr2"]);
        $("#inputConCity").val(survey["c_city"]);
        $("#inputConState").val(survey["c_state"]);
        $("#inputConPC").val(survey["c_postalcode"]);
        $("#inputConPhone1").val(survey["c_phone"]);
        $("#inputConPhone2").val(survey["c_phone2"]);
        

        var url = "php/fetchkvpairs.php?surveyid=" + wonum;
        $.get(url, function(data, status) {
          //alert(data);
          var measArray = [];
          var pairs = JSON.parse(data);
          //console.log(pairs);
          var dist = "";
          var ang = "";
          //first pass: non-accessory stuff: 
          for (var key in pairs) {
            switch(true) {
              case key == "Type":
                $("#inputEquipmentType").val(pairs[key]);
                //alert(pairs[key]);
                break;
              case key == "Power":
                $("#inputPowerType").val(pairs[key]);
                break;
              case key == "WallHeight":
                $("#inputWallHeight").val(pairs[key]);
                break;
              case key == "OpeningWidth":
                $("#inputOpeningWidth").val(pairs[key]);
                break;
              case key == "OpeningHeight":
                $("#inputOpeningHeight").val(pairs[key]);
                break;
              case key == "TerWeight":
                $("#inputMaxTerrWeight").val(pairs[key]);
                break;
              case ((/^MeasDistance\d+/).test(key)):
                if(ang != "") {
                  dist = pairs[key];
                  measArray.push([dist, ang]);
                  dist = ""; ang = "";
                } else {
                  dist = pairs[key];
                }                  
                break;
              case ((/^MeasAngle\d+/).test(key)):
                if(dist != "") {
                  ang = pairs[key];
                  measArray.push([dist, ang]);
                  ang = ""; dist = "";
                } else {
                  ang = pairs[key];
                }      
                break;
              //safety: 
              case key == "Safety Glasses":
                if(pairs[key] == "true") {
                  safetyCbStateMap[0] = true;
                }
                break;
              case key == "Gloves":
                if(pairs[key] == "true") {
                  safetyCbStateMap[1] = true;
                }
                break;
              case key == "Reflective Safety Vest":
                if(pairs[key] == "true") {
                  safetyCbStateMap[2] = true;
                }
                break;
              case key == "Hard Hat":
                if(pairs[key] == "true") {
                  safetyCbStateMap[3] = true;
                }
                break;
              case key == "Safety Harness":
                if(pairs[key] == "true") {
                  safetyCbStateMap[4] = true;
                }
                break;
              
              //variable items:
              case key == "gt500":
                if(pairs[key] == "true") {
                  gt500cbState = true;
                } 
                break;
              case key == "Ledge":
                if(pairs[key] == "true") {
                  ledgecbState = true;
                }
              case key == "LiftWeight":
                liftWeightText = pairs[key];
                break;


              default:
                //nada
            }
          }
          setMeasurementFields();
          //console.log("Ledge::" + ledgecbState);
          $("#cb500").prop("checked", gt500cbState);
          $("#cbLedge").prop("checked", ledgecbState);
          $("#inputLiftWeight").val(liftWeightText);
          var daHTML = "<tr><td>";
          daHTML += "<input type='text' class='form-control' id='inputDistance'>";
          daHTML += "</td><td>";
          daHTML += "<input type='text' class='form-control' id='inputAngle'>";
          daHTML += "</td></tr>";
          
          for(var i = 0, len = measArray.length; i < len; i++) {
            let distanceID = "distance" + i;
            let angleID = "angle" + i;
            //console.log(distanceID);
            daHTML += "<tr><td id='" + distanceID + "'>" + measArray[i][0] + "</td>";
            daHTML += "<td id='" + angleID + "'>" + measArray[i][1] + "</td>";
            daHTML += "<td><button onclick='setMeasures(" + i + ")'>↑</button></td></tr>";
          }
          
          //alert(daHTML);
          $("#measTable").html(daHTML);
          //safety equipment:
          $("#Safety\\ Glasses").prop("checked", safetyCbStateMap[0]);
          $("#Gloves").prop("checked", safetyCbStateMap[1]);
          $("#Reflective\\ Safety\\ Vest").prop("checked", safetyCbStateMap[2]);
          $("#Hard\\ Hat").prop("checked", safetyCbStateMap[3]);
          $("#Safety\\ Harness").prop("checked", safetyCbStateMap[4]);

          //second pass, accessories: 
          for (var key in pairs) {
            if(pairs[key] == "true") {
              switch(true) {
                case key == "Anti-Crush Bar":
                  $("#Anti-Crush\\ Bar").prop("checked", true);
                  break;
                case key == "Drip Diaper":
                  $("#Drip\\ Diaper").prop("checked", true);
                  break;
                case key == "Glazing Kit":
                  $("#Glazing\\ Kit").prop("checked", true);
                  break;
                case key == "Sky Power":
                  $("#Sky\\ Power").prop("checked", true);
                  break;
                case key == "Sky Welder":
                  $("#Sky\\ Welder").prop("checked", true);
                  break;
                case key == "Tire Socks":
                  $("#Tire\\ Socks").prop("checked", true);
                  break;
                case key == "Extended Forks":
                  $("#Extended\\ Forks").prop("checked", true);
                  break;
                default:
                  //nada
              }
            }
          }
          alert("Survey #" + wonum + " now loaded.");
        });
      }

      function nullifyAll() {
        
        // database accepts NULL input on a field to mean "do not update,"
        // "" input means "enter the blank string." Use this method to
        // set all values to NULL before setting individual value to
        // ensure overwriting doesn't happen.

        working.surveyid = "NULL";

        working.entereddatetime = "NULL";
        working.startdatetime = "NULL";
        working.enddatetime = "NULL";
        working.status = "NULL";
        working.desc = "NULL";
        
        working.surveytype = "NULL";
        working.enditem = "NULL";
        working.enditemqty = "NULL";
        
        working.note = "NULL";
        working.trackingno = "NULL";
        working.customerpo = "NULL";
        working.authorizationno = "NULL";
        
        working.contractorid = "NULL";
        working.c_fname = "NULL";
        working.c_lname = "NULL";
        working.c_addr1 = "NULL";
        working.c_addr2 = "NULL";
        working.c_city = "NULL";
        working.c_state = "NULL";
        working.c_postalcode = "NULL";
        
        working.c_phone = "NULL";
        working.c_phone2 = "NULL";
        working.c_note = "NULL";
        
        working.siteid = "NULL";
        working.s_fname = "NULL";
        working.s_lname = "NULL";
        working.s_addr1 = "NULL";
        working.s_addr2 = "NULL";
        working.s_city = "NULL";
        working.s_state = "NULL";
        working.s_postalcode = "NULL";
        
        working.s_phone = "NULL";
        working.s_phone2 = "NULL";
        working.s_note = "NULL";
        
        working.gps = "NULL";
      }

      function queryString() {
        var retval = "php/savesurvey.php?";
        retval += "surveyid=" + working.workorderno;
        retval += "&entereddatetime=" + working.entereddatetime;
        retval += "&startdatetime=" + working.startdatetime;
        retval += "&enddatetime=" + working.enddatetime;
        retval += "&status=" + working.status;
        retval += "&description=" + working.desc;
        retval += "&type=" + working.surveytype;
        retval += "&enditem=" + working.enditem;
        retval += "&enditemqty=" + working.enditemqty;
        retval += "&note=" + working.note;
        retval += "&trackingno=" + working.trackingno;
        retval += "&customerpo=" + working.customerpo;
        retval += "&authorizationno=" + working.authorizationno;
        retval += "&contractorid=" + working.contractorid;
        retval += "&c_fname=" + working.c_fname;
        retval += "&c_lname=" + working.c_lname;
        retval += "&c_addr1=" + working.c_addr1;
        retval += "&c_addr2=" + working.c_addr2;
        retval += "&c_city=" + working.c_city;
        retval += "&c_state=" + working.c_state;
        retval += "&c_postalcode=" + working.c_postalcode;
        retval += "&c_phone=" + working.c_phone;
        retval += "&c_phone2=" + working.c_phone2;
        retval += "&c_note=" + working.c_note;
        retval += "&siteid=" + working.siteid;
        retval += "&s_fname=" + working.s_fname;
        retval += "&s_lname=" + working.s_lname;
        retval += "&s_addr1=" + working.s_addr1;
        retval += "&s_addr2=" + working.s_addr2;
        retval += "&s_city=" + working.s_city;
        retval += "&s_state=" + working.s_state;
        retval += "&s_postalcode=" + working.s_postalcode;
        retval += "&s_phone=" + working.s_phone;
        retval += "&s_phone2=" + working.s_phone2;
        retval += "&s_note=" + working.s_note;
        retval += "&gps=" + working.gps;
        retval += "&empno=" + userkey;

        return retval;
      }
      
      function isEmpty(map) {
        for(var key in map) {
          if (map.hasOwnProperty(key)) {
            return false;
          }
        }
        return true;
      }
      
      function efAlert() {
        if( $("#Extended\\ Forks").prop("checked") ) {
          alert("Equipment recommendations will be based on standard fork length");
        }
      }
      
    </script>

  </body>
</html>

<!--
self.appSettings!["URL"]! +
            "deletesurvey.php?surveyid=" + surveyid +
            "&reftype=workorderno" +
            "&note=" + note +
            "&empid=" + empid +
            "&deviceid=" + self.deviceID!
-->
