var startpage_indx = 0, endpage_indx = 7;

function initSession() {
  var answers = document.forms.session.answers.value;
  var pageindx = document.forms.session.pageindx.value;
  if (parseInt(pageindx) == endpage_indx) { 
    computeResults(answers);
  }
}

function initSession_() {
  var title = getQuery('title');
  var email = getQuery('email');
  var country = getQuery('country');
  var pageindx = getQuery('pageindx'); 
  var answers = getQuery('answers'); 

  if (title) document.session.title.value = title;
  if (email) document.session.email.value = email; 
  if (email) document.session.country.value = country; 
  if (pageindx) document.session.pageindx.value = pageindx; 
  if (answers) document.session.answers.value = answers;

  if (parseInt(pageindx) == endpage_indx) { 
    computeResults(answers);
  }
}

function computeResults(answers) { 
  var persons = new Array('healer', 'warrior', 'thief');
  var r = new Array(0, 0, 0);
  var l = answers.length; 
  for (var i=0; i < l; i++) { 
    switch(answers.charAt(i)) {
      case 'K' : r[0] += 1; break;
      case 'W' : r[1] += 1; break;
      case 'T' : r[2] += 1; break;
    }
  }
  var person = persons[0];
  var most = r[0];
  for (var k=1; k < persons.length; k++) { 
    if (r[k] > most) { most = r[k]; person = persons[k]; }
  }
  setDisplay(person, 'block');
}

function deleteSession() {
  document.forms.session.title.value = ''; 
  document.forms.session.email.value = ''; 
  document.forms.session.country.value = ''; 
  document.forms.session.pageindx.value = '';
  document.forms.session.answers.value = '';
}

function getAnswer(qindx, Qindx) {
// poll radio buttons
  var formname = 'q' + qindx + '_Q' + Qindx + '_form'; 
  var radiobttns = "document.forms['" + formname + "'].radio_options";
  var l = eval(radiobttns + ".length");
  var answer = "";
  for (var i=0; i < l; i++) 
    if (eval(radiobttns + "[i].checked")) answer = eval(radiobttns + "[i].value");
  return answer; 
}

function saveAnswer(answer) {
  var answers = document.forms.session.answers.value;
  answers += answer;
  document.forms.session.answers.value = answers; 
}

function changeq(qindx, Qindx) {
  var answer = getAnswer(qindx, Qindx);
  if (answer) {
    setState('alert', 'hide');
    saveAnswer(answer);
    var nqindx = (parseInt(qindx) + 1).toString(); 
    setDisplay('q' + qindx + 'Q' + Qindx, 'none'); setDisplay('q' + nqindx + 'Q' + Qindx,  'block'); 
  }
  else {
    setState('alert', 'show');
    showHTML('alert', "Please select an option!"); 
  }
}

function changeQ(qindx, Qindx) {
  var answer = getAnswer(qindx, Qindx);
  if (answer) {
    setState('alert', 'hide');
    saveAnswer(answer);
    var nextindx = (parseInt(Qindx) + 1).toString(); 
    setDisplay('Q' + Qindx, 'none'); setDisplay('Q' + nextindx, 'block');
  }
  else {
    setState('alert', 'show');
    showHTML('alert', "Please select an option!"); 
  }
}

function changeP(qindx, Qindx) {
  var answer = getAnswer(qindx, Qindx);
  if (answer) {
    setState('alert', 'hide');
    saveAnswer(answer);
    var npindx = incrementPageIndx();
    document.forms.session.action = 'books/kold/game/page' + npindx + '/';
    document.forms.session.submit();
  }
  else {
    setState('alert', 'show');
    showHTML('alert', "Please select an option!"); 
  }
}

function change(changeType, Qindx, qindx) {
  switch(changeType) {
    case 'q': changeq(qindx, Qindx); break;
    case 'Q': changeQ(qindx, Qindx); break;
    case 'P': changeP(qindx, Qindx); break;
  }
}

function incrementPageIndx() {
  var npindx;
  var pindx = document.forms.session.pageindx.value;
  if (pindx) npindx = (parseInt(pindx) + 1).toString();
  else npindx = startpage_indx + 1; 
  document.forms.session.pageindx.value = npindx;
  return npindx;
}

function toResults() {
  var npindx = incrementPageIndx();
//  document.session.action = 'books/kold/game/page' + npindx + '/';
  document.forms.session.action = 'books/kold/game/send_mail.php';
  document.forms.session.submit();
}

function isValidEmail2() {
  var email = document.forms.session.email.value;
  var AtPos = email.indexOf("@");
  var StopPos = email.lastIndexOf(".");
  if (email == "") return 0;
  if (AtPos == -1 || StopPos == -1) return 0;
  if (StopPos < AtPos) return 0;
  if (StopPos - AtPos == 1) return 0;
  return 1;
}

function checkForm() {
// Checks 'session' form for valid 'email' and entered 'name' and 'agree' checked

//  if (!document.forms.session.agree.checked) {
//    setDisplay('alert', 'block');
//    showHTML('alert', 'You have to agree with our terms in order to play the game.');
//    return;
//  }

  if (document.forms.session.title.value) {
    if (isValidEmail2()) {
      var loc;
//      if (document.forms.session.country[0].checked) {loc = "UK";}
//      else if (document.forms.session.country[1].checked) {loc = "US";}
//      else {
//        setDisplay('alert', 'block');
//        showHTML('alert', 'Please select your country.');
//        return;
//      }
      loc = "NA";
      var query_str = '?email=' + document.forms.session.email.value + '&title=' +  document.forms.session.title.value + '&country=' + loc;
      window.open('http://www.natashamostert.com/books/kold/game/enter/' +  query_str,'','top=0,left=0,height=670,width=1060,toolbar=no,status=no,location=no,menubar=no,sc rollbars=no,resizable');
    }
    else { 
      setDisplay('alert', 'block');
      showHTML('alert', 'Please Enter A Valid E-mail Address');
      return;
    }
  }
  else {
    setDisplay('alert', 'block');
    showHTML('alert', 'Please Enter Your Name');
    return;
  }
}