function doLoad() {
  ajaxGetObject('divWait').style.display = 'none';
  ajaxGetObject('divQuestions').style.display = 'block';
}
function doWait() {
  if (chkOblig()) return;
  ajaxGetObject('divWait').style.display = 'block';
  ajaxGetObject('divEditTout').style.display = 'none';
  ajaxGetObject('divBoutons').style.display = 'none';
  myGO('questform').submit();
}
function doParam(param,val) {
  ajaxGetDocument('set_param.php?'+param+'='+val+noCache(''));
  document.location.reload();
}
function doToggle() {
  var obj = document.getElementById('Options').style;

  if ((obj.display  != 'none') && (obj.display !== '')) {
    obj.display = 'none';
    ajaxGetObject('panelOptions').className = 'divOptions divOptions2';
  } else {
    obj.display = 'block';
    ajaxGetObject('panelOptions').className = 'divOptions';
  }
}
function doNbCoches(elem, numQ, nb) {
  if (nb <= 0) return true;

  var tabElem = ajaxGetObject('Reponse'+numQ).getElementsByTagName('input');

  for (var idx = 0; idx < tabElem.length; idx++)
      if ((tabElem[idx].type == 'checkbox') && (tabElem[idx].checked)) nb--;

  if (nb >= 0) return true;

  for (idx = 0; idx < tabElem.length; idx++)
    if (nb >= 0) return;
    else if ((tabElem[idx].type == 'checkbox') && (tabElem[idx].checked) && (tabElem[idx] != elem)) {
      tabElem[idx].checked = false;
      if (myGO(tabElem[idx].id+'T')) myGO(tabElem[idx].id+'T').disabled = true;
      nb++;
    }
}
function doCoche(elem, numQ, nb) {
  var input = myGO('Q'+numQ+elem.id);
  var coche;

  if (elem.nodeName == 'TD') {
    coche = input;
    if ((input.type != 'radio') || (!input.checked)) input.checked = !input.checked;
  }
  else coche = elem;

  if (myGO(coche.id+'T')) {
    myGO(coche.id+'T').disabled = !coche.checked ;
    myGO(coche.id+'T').focus();
  }

  if (nb > 0) doNbCoches(coche, numQ, nb);
}

function Coche(elem, change) {
  obj = ajaxGetObject(elem);
  if (!change) obj.checked = false;
  else if (ajaxGetObject(elem+'T').value !== '') obj.checked = true;
}
function chkTxt(elem, numQ) {
  var tabElem = ajaxGetObject('Reponse'+numQ).getElementsByTagName('input');
  for (var idx = 0; idx < tabElem.length; idx++)
    if ((tabElem[idx].type == 'radio') && ajaxGetObject(tabElem[idx].id+'T') && !tabElem[idx].disabled)
      ajaxGetObject(tabElem[idx].id+'T').disabled = tabElem[idx].id != elem;
}

function chkRadio(elem) {
  var tabElem2 = elem.getElementsByTagName('input');

  for (var idx2 = 0; idx2 < tabElem2.length; idx2++)
    if (tabElem2[idx2].checked) return(false);

  return(true);
}
function chkEdit(elem, tagType) {
  var tabElem2 = elem.getElementsByTagName(tagType);

  for (var idx2 = 0; idx2 < tabElem2.length; idx2++)
    if (tabElem2[idx2].value !== '') return(false);

  return(true);
}
function chkList(elem) {
  var tabElem2 = elem.getElementsByTagName('select');

  for (var idx2 = 0; idx2 < tabElem2.length; idx2++)
    if (tabElem2[idx2].selectedIndex === 0) return(true);

  return(false);
}
function chkTable(elem) {
  var tabElem2 = elem.getElementsByTagName('input');
  var nb = 0;

  for (var idx2 = 0; idx2 < tabElem2.length; idx2++)
    if (tabElem2[idx2].checked) nb = nb+1;

  if (nb >= (tabElem2.length / (elem.getElementsByTagName('th').length - 1))) return(false);
  return(true);
}
function chkOblig() {
  var tabElem = document.getElementsByTagName('table');
  var res;
  var ret = true;

  for (var idx = 0; idx < tabElem.length; idx++)
    if (tabElem[idx].getAttribute('oblig') === null) continue;
    else {
      var obj = myGO('QuestOblig'+tabElem[idx].id.substr('table'.length));
      switch (parseInt(tabElem[idx].getAttribute('oblig'),10)) {
        case 1 : // Unique
        case 2 : res = chkRadio(tabElem[idx]); break; // Multiple
        case 3 : res = chkTable(tabElem[idx]); break; // Tableau
        case 4 : res = chkEdit(tabElem[idx], 'input');    break; // Texte
        case 5 : res = chkEdit(tabElem[idx], 'textarea'); break; // Memo
        case 6 : res = chkList(tabElem[idx]); break; // Listes
      }
      if (res) obj.className = 'h3QuestRed'; else obj.className = 'h3QuestOblig';
      ret = ret & !res;
    }
  if (!ret) if (typeof(msg_oblig) != 'undefined') alert (msg_oblig); else alert('** Vous n\'avez pas répondu à toutes les questions obligatoires');
  return(!ret);
}
