var MAX_FAQ_COUNT = 20; // NOTE - if changed, ensure that this is updated client and server side

/**
 * Function to vote for a given FAQ
 */
function vote() {
  var check = false;
  for (var i = 0; i < document.approvalForm.lV.length; i++) {
    if (document.approvalForm.lV[i].checked) {
      check = true;
    }
  }
  if (check) {
    document.approvalForm.submit();
  } else {
    alert("Please select an option from 1 to 5");
  }
}

var lNextFreeQuestion = 2;

/**
 * Function to confirm a link before visiting it
 * Used to protect against deletion etc
 */
function confirmLink(l) {
  if (confirm("Are you sure?")) {
    document.location=l;
  }
}


/**
 * Function to trap the "Enter" key press to stop it from submitting the form
 * when the user hits 'enter' on an <input /> control
 */
function noenter() {
  return !(window.event && window.event.keyCode == 13);
}

/**
 * Function to update the status of a question and to enable or disable its
 * input fields accordingly
 */
function updateQuestion(q,s) {
  if (s==0) {
    eval("document.form1." + document.getElementById("_b" + q).name)[2].checked=true;
//    document.getElementById("_q" + q).disabled=true;
//    document.getElementById("_a" + q).disabled=true;
//    document.getElementById("_sF" + q).disabled=true;
    if (document.getElementById("_sI" + q) != null) {
//      document.getElementById("_sI" + q).disabled=true; // disabling the element means the form data isn't carried through
    }
    document.getElementById("_d" + q).style.display="none";
  } else {
//    document.getElementById("_q" + q).disabled=false;
//    document.getElementById("_a" + q).disabled=false;
//    document.getElementById("_sF" + q).disabled=false;
//    if (document.getElementById("_sI" + q) != null) {
//      document.getElementById("_sI" + q).disabled=false;
//    }
    if (s==5) {
      eval("document.form1." + document.getElementById("_b" + q).name)[1].checked=true;
      document.getElementById("_d" + q).style.display="inline";
    } else {
    eval("document.form1." + document.getElementById("_b" + q).name)[0].checked=true;
      document.getElementById("_d" + q).style.display="none";
    }
  }
}
function setAllDates(x) {
  // update all questions
  for (var i = 1; i <= MAX_FAQ_COUNT; i++) {
    if (document.getElementById("questionWrapper" + i).style.display!="inline") {
      return;
    }
    document.getElementById("d" + i).style.display="inline";
    updateQuestion(i,5);
    document.getElementById("lY" + i).options.selectedIndex = document.getElementById("lY" + x).options.selectedIndex;
    document.getElementById("lM" + i).options.selectedIndex = document.getElementById("lM" + x).options.selectedIndex;
    document.getElementById("lD" + i).options.selectedIndex = document.getElementById("lD" + x).options.selectedIndex;
  }
}

/**
 * Function to add a question to the current FAQ
 * Works by unhiding the next free question
 */
function addQuestion() {
  if (lNextFreeQuestion > MAX_FAQ_COUNT) {
    alert("Sorry, max number of questions has been reached.");
  } else {
    document.getElementById("questionWrapper" + lNextFreeQuestion).style.display='inline';
    document.getElementById("_bA" + lNextFreeQuestion).value="10";
    
    updateQuestion(lNextFreeQuestion++);
  }
}

function toggleAccess() {
  if (document.form1.lGen.checked) {
    document.getElementById("access").style.display="none";
  } else {
    document.getElementById("access").style.display="block";
  }
}

function showUserFilterTypes() {
  var lAccess = 0;
  for (var i = 0; i < document.form1.lAccess.length; i++) {
    if (document.form1.lAccess[i].checked) {
      lAccess = document.form1.lAccess[i].value;
      break;
    }
  }

  if (lAccess <= 0) {
    document.getElementById('permissions').style.display="none";
  } else {
    document.getElementById('permissions').style.display="";
  }
}

