var request = false;

// Provide the XMLHttpRequest class for IE 5.x-6.x:
// Other browsers (including IE 7.x-8.x) ignore this
//   when XMLHttpRequest is predefined
if (XMLHttpRequest == undefined) {
  XMLHttpRequest = function() {
    try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
      catch(e) {}
    try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
      catch(e) {}
    try { return new ActiveXObject("Msxml2.XMLHTTP"); }
      catch(e) {}
    try { return new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(e) {}
    throw new Error("This browser does not support XMLHttpRequest.");
  };
}

function create_request() {
try {
  request = new XMLHttpRequest();
} catch (trymicrosoft) {
  try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
    try {
      request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
      request = false;
    }
  }
if (!request)
  alert("Error initializing XMLHttpRequest!"); } }

function toggleCompl(sq, type) {
   create_request();
   var url = "summaryreport_flag.jsp?squareId=" + sq.value + "&type=" + type + "&compl=" + (sq.checked?"Y":"N");
   request.open("GET", url, true);
   request.onreadystatechange = function() {
     if(request.readyState == 4) {
       var resp = request.responseText;
       if (resp.indexOf("success") < 0) {
         alert("There was a problem saving the status for square " + sq.value + ". Please try again.")
         sq.checked = !sq.checked;
       }
     }
   }
   request.send(null);
}

function changeTarget(sq) {
   create_request();
   var url = "summaryreport_flag.jsp?squareId=" + sq.name + "&target=" + sq.value;
   request.open("GET", url, true);
   request.onreadystatechange = function() {
     if(request.readyState == 4) {
       var resp = request.responseText;
       if (resp.indexOf("success") < 0) {
         alert("There was a problem saving the target for square " + sq.name + ". Please try again.")
         sq.value = sq.defaultValue;
       }
     }
   }
   request.send(null);
}

function changeUser(sq) {
   create_request();
   var url = "summaryreport_flag.jsp?squareId=" + sq.name + "&user=" + (sq.value != ''?sq.value:'0');
   request.open("GET", url, true);
   request.onreadystatechange = function() {
     if(request.readyState == 4) {
       var resp = request.responseText;
       if (resp.indexOf("success") < 0) {
         alert("There was a problem saving the assigned user for square " + sq.name + ". Please try again.")
         sq.value = sq.defaultValue;
       }
     }
   }
   if (sq.value != '') showUser(sq);
   else request.send(null);
}

function showUser(sq) {
   if (sq.value == "") return;
   create_request();
   var url = "summaryreport_flag.jsp?show=yes&user=" + sq.value;
   request.open("GET", url, true);
   request.onreadystatechange = function() {
     if(request.readyState == 4) {
       var resp = request.responseText;
       i = resp.indexOf("Contact info:");
       if (i >= 0) {
         alert(resp.substring(i))
       }
     }
   }
   request.send(null);
}
function removeUser(id) {
   if (id == "" || isNaN(id) ||
      !confirm("Please confirm that you want to deactivate this user. This is normally only done for duplicate or invalid registrations, and atlassers who no longer which to participate in the project.")) return;

   create_request();
   var url = "viewusers_del.jsp?id=" + id;
   request.open("GET", url, true);
   request.onreadystatechange = function() {
     if(request.readyState == 4) {
       var resp = request.responseText;
       i = resp.indexOf("success");
       if (i >= 0) {
         alert("The atlasser has been deactivated.");
         v = document.getElementById("row" + id);
         v.style.visibility = 'hidden';
         v.style.height = '0';
       } else {
         alert("There was a problem removing the atlasser.");
       }
     }
   }
   request.send(null);
}

