﻿// path to the image shown in the grid after correct answer
var field_yes = 'images/field_yes.png';

// path to the image shown in the grid after wrong answer
var field_no  = 'images/field_no.png';

// points must be reached for winning
var points_to_win = 1500;

// what can i get?
var price_text = 'Sie benötigen zum Gewinn des Spiels noch';

// show the right answer if player's answer was wrong (0 = no, 1 = yes)
var show_answer = 1;

// time to reset the board automatically in minutes.
var time_out = 10;

// the text for the player's actual score shown on the top:
var your_points = 'Ihre Punkte: ';

// flag to end the game before reaching points_to_win
var end_game = 0;

/*
--------------------------------------------------------------------------------
THE FOLLOWING LINES ARE FOR DEVELOPMENT ONLY
--------------------------------------------------------------------------------
*/

// switch debug mode on to get more messages and infos (0 = off, 1 = on)
var debug_mode = 0;

// points must be reached for winning in debug mode
var debug_to_win = 50;

// show debug messages (0 = no, 1 = yes)
var debug_msg = 0;

// this ist the version number:
var version = 'Version 1.2.0';

// do you want to see the version number (0 = no, 1 = yes)?
var show_version = 0;

/*
--------------------------------------------------------------------------------
DO NOT CHANGE ANYTHING BELOW THIS LINE !!!
--------------------------------------------------------------------------------
*/

var fields_left = 0;
var my_points = 0;
if (debug_mode == 1) {points_to_win = debug_to_win;}
time_out = time_out * 60 * 1000;

var aktiv;
function f_on_timeout() {
//  var x = confirm("10 Minuten Inaktivit&auml;t.\nTheoretisch w&uuml;rde das Board jetzt neu initialisiert.");
  f_show_hello();
  }
function f_timeout_start() {
aktiv = window.setTimeout("f_on_timeout()", time_out);
  }
function f_timeout_stop() {
  window.clearTimeout(aktiv);
  }


function f_show_hello() {
  
  f_timeout_stop();
  document.getElementById('print').style.display = 'none';
  document.getElementById('board').style.display = 'none';
  document.getElementById('message').style.display = 'none';
  document.getElementById('hello').style.display = 'block';
}  


function f_init_board() {
//  alert('This is f_init_board()');
  for (x = 0; x < fields.length; x++)  {
    document.getElementById(fields[x][f_id]).innerHTML = fields[x][f_points];
    fields[x][f_a] = -1;
  }
  my_points = 0;
//  document.getElementById('points').innerHTML = your_points + my_points;
  f_points_left();
  document.getElementById('print').style.display = 'none';
  document.getElementById('board').style.display = 'block';
  document.getElementById('message').style.display = 'none';
  document.getElementById('hello').style.display = 'none';
  end_game = 0;
  f_timeout_start();
} 



function f_check_field(f_id_sent) {
var a_alert = '';

  f_timeout_stop();
  f_timeout_start();

  for (x = 0; x < fields.length; x++)  {
    if (fields[x][f_id] == f_id_sent) {
      a_alert = (fields[x][f_a] == 0) ? 'falsch' : 'richtig';
      if (fields[x][f_a] == -1) {
        f_ask_question(f_id_sent);
        break;
      } else {
        alert ('Diese Frage wurde bereits '+ a_alert +' beantwortet');
        break;
      }
    }
  }
} 



function f_ask_question(f_id_sent) {
var q_text = '';
var debug_hint = '';
var q_link = '';

  f_timeout_stop();
  f_timeout_start();

  for (x = 0; x < fields.length; x++)  {
    if (fields[x][f_id] == f_id_sent) {
      q_text = '<h2>'+ fields[x][f_text] +'</h2>';
      q_link = fields[x][f_link];
      break;
    }
  }
  q_text += '<ul>';
  for (x = 0; x < answers.length; x++) {
    if (answers[x][a_f_id] == f_id_sent) {
      if (debug_mode == 1) {
        debug_hint = '('+ answers[x][a_eval] +') ';
      }
      q_text += '<li><input type="checkbox" onclick="f_eval_answer('+ answers[x][a_f_id]+','+ answers[x][a_eval] +');"> '+ answers[x][a_nr] +') '+ debug_hint + answers[x][a_text] +'</li>';
    }
  }
  q_text += '</ul>';
  if(q_link != '') {
    q_text += '<p>Hilfe zur Beantwortung dieser Frage finden Sie unter folgendem Link: <a href="'+ q_link +'" onclick="f_open_win(this.href);return false;">Weitere Informationen</a></p>';
  }
  q_text += '<p>Bitte klicken Sie auf das K&auml;stchen vor der von Ihnen gew&auml;hlten Antwort.</p>';
  document.getElementById('message').innerHTML = q_text;
  document.getElementById('message').style.display = 'block';
} 



function f_eval_answer(f_id_sent, eval_sent) {
var eval_text = '';

//  alert('DEBUG f_eval_answer: '+ f_id_sent +' und '+ eval_sent);

  f_timeout_stop();
  f_timeout_start();

  if (eval_sent == 1) {
    eval_text = '<h3>Diese Antwort war richtig!</h3>';
    document.getElementById(f_id_sent).innerHTML = '<img class="field" src="'+ field_yes +'" width="90" height="75" alt="Richtige Antwort" />';
  } else {
    eval_text = '<h3>Diese Antwort war leider falsch.</h3>';
    eval_text += '<p><b>Die richtige Antwort w&auml;re gewesen:</b></p>';
    document.getElementById(f_id_sent).innerHTML = '<img class="field" src="'+ field_no +'" width="90" height="75" alt="Leider falsch" />';
  }
  if (show_answer == 1) {
    for (x = 0; x < fields.length; x++) {
      if (fields[x][f_id] == f_id_sent) {
        eval_text += '<p>'+ fields[x][f_answer] +'</p>';
        if (fields[x][f_link] != '') {
          eval_text += '<p><a href="'+ fields[x][f_link] +'" onclick="f_open_win(this.href);return false;">Weitere Informationen finden Sie hier.</a></p>';
        }
        break;
      }
    }
  }
  eval_text += '<p><br /><br /><br /><br /><br /><input type="button" name="absenden" value="Weiter..." onclick="f_calculate_points('+ f_id_sent +', '+ eval_sent +');"></p>';
  document.getElementById('message').innerHTML = eval_text;
} 



function f_calculate_points(f_id_sent, eval_sent) {

//  alert('DEBUG f_calculate_points: '+ f_id_sent +' und '+ eval_sent);

  f_timeout_stop();
  f_timeout_start();

  document.getElementById('message').style.display = 'none';  
  fields_left = 0;
  for (x = 0; x < fields.length; x++)  {
    if (fields[x][f_id] == f_id_sent) {
      fields[x][f_a] = eval_sent;
      if (eval_sent == 1) {
        my_points += fields[x][f_points];
      }
      //break;
    }
    if (fields[x][f_a] == -1){
      fields_left = 1;
    }
  }
//  alert('DEBUG my_points = '+ my_points);
//  document.getElementById('points').innerHTML = your_points + my_points;
  f_points_left();
  if ((my_points >= points_to_win) || (end_game == 1) || (fields_left == 0)) {
    f_show_winners_screen(my_points);
  }
}



function f_points_left() {
var poinst_left = 0;
  points_left = (points_to_win >= my_points) ? points_to_win - my_points : 0;
  document.getElementById('pointsleft').innerHTML = 'Sie haben '+ my_points +' von '+ points_to_win +'<br />möglichen Punkten.';
}



function f_end_game() {
  
  end_game = 1;
  f_calculate_points(0, 0);
}



function f_show_winners_screen(points_sent) {
var winners_text = '';

  f_timeout_stop();
  f_timeout_start();

  winners_text = '<h2>Herzlichen Glückwunsch - Sie haben '+ points_sent +' Punkte erreicht!</h2>';
  winners_text += '<p>Und Sie haben bestimmt mehr über Schlafstörungen erfahren.<br />';
  winners_text += 'Wenn Ihnen unser Quiz Spaß bereitet hat: empfehlen Sie es doch weiter.</p>';
  winners_text += '<p><input type="button" name="Text2" value="Weiter spielen" onclick="f_continue_game();" class="reset" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" name="Text2" value="Spiel zur&uuml;cksetzen" onclick="f_show_hello();" class="reset" /></p>';
  
  document.getElementById('message').innerHTML = winners_text;
  document.getElementById('message').style.display = 'block';
//alert(document.printform.points.value);

}



function f_check_form(salutation_sent,title_sent,firstname_sent,lastname_sent,street_sent,number_sent,zip_sent,city_sent,email_sent,points_sent) {
//alert('DEBUG: This is f_check_form');
var errors = 0;

  if (salutation_sent == '') {
    document.printform.salutation.focus();
    document.printform.salutation.select();
    errors += 1;
    alert('Bitte geben Sie eine Anrede ein.');
  }
  else if (firstname_sent == '') {
    document.printform.firstname.focus();
    document.printform.firstname.select();
    errors += 1;
    alert('Bitte geben Sie Ihren Vornamen ein.');
  }
  else if (lastname_sent == '') {
    document.printform.lastname.focus();
    document.printform.lastname.select();
    errors += 1;
    alert('Bitte geben Sie Ihren Nachnamen ein.');
  }
  else if (street_sent == '') {
    document.printform.street.focus();
    document.printform.street.select();
    errors += 1;
    alert('Bitte geben Sie den Straßennamen ein.');
  }
  else if (number_sent == '') {
    document.printform.number.focus();
    document.printform.number.select();
    errors += 1;
    alert('Bitte geben Sie die Hausnummer ein ein.');
  }
  else if (zip_sent == '') {
    document.printform.zip.focus();
    document.printform.zip.select();
    errors += 1;
    alert('Bitte geben Sie die Postleitzahl ein.');
  }
  else if (city_sent == '') {
    document.printform.city.focus();
    document.printform.city.select();
    errors += 1;
    alert('Bitte geben Sie den Ort ein.');
  }
  else if (email_sent == '') {
    document.printform.email.focus();
    document.printform.email.select();
    errors += 1;
    alert('Bitte geben Sie Ihre E-Mail-Adresse ein.');
  }
  
  if (errors == 0) {
    f_show_certificate(salutation_sent,title_sent,firstname_sent,lastname_sent,street_sent,number_sent,zip_sent,city_sent,email_sent,points_sent);
  }
}


function f_show_certificate(salutation_sent,title_sent,firstname_sent,lastname_sent,street_sent,number_sent,zip_sent,city_sent,email_sent,points_sent) {
var c_text = '';
var title = (title_sent == '') ? '' : ' '+ title_sent;
var my_date = new Date();
var my_month = my_date.getMonth()+1;
var print_date = my_date.getDate() +'.'+ my_month +'.'+ my_date.getFullYear()

  f_timeout_stop();
  f_timeout_start();

  c_text = '<img src="images/bg.png" width="800" height="155" alt="Header" />';
  c_text += '<h1 class="concern">Teilnahmebest&auml;tigung</h1>';
  c_text += '<br /><br /><br />';
  c_text += '<h2 class="concern">'+ salutation_sent + title + ' '+ firstname_sent +' '+ lastname_sent +' hat am '+ print_date +' erfolgreich am Quiz teilgenommen.</h2>';
  c_text += '<table cellspacing="0" cellpadding="0" class="print">';
  c_text += '<tr><td colspan="2"><b>Kontaktdaten:</b></td></tr>';
  c_text += '<tr><td>Anrede</td><td>'+ salutation_sent +'</td></tr>';
  c_text += '<tr><td>Titel</td><td>'+ title_sent +'</td></tr>';
  c_text += '<tr><td>Vorname</td><td>'+ firstname_sent +'</td></tr>';
  c_text += '<tr><td>Nachname</td><td>'+ lastname_sent +'</td></tr>';
  c_text += '<tr><td colspan="2"><br /><b>Klinik- oder Praxisadresse:</b></td></tr>';
  c_text += '<tr><td>Adresse</td><td>'+ street_sent +' '+ number_sent +'</td></tr>';
  c_text += '<tr><td>Ort</td><td>'+ zip_sent +' '+ city_sent +'</td></tr>';
  c_text += '<tr><td></td><td></td></tr>';
  c_text += '<tr><td>E-Mail-Adresse</td><td>'+ email_sent +'</td></tr>';
  c_text += '<tr><td>&nbsp;</td><td>&nbsp;</td></tr>';
  c_text += '<tr><td>Erreichte Punkte</td><td>'+ points_sent +'</td></tr>';
  c_text += '<tr><td colspan="2"><br /><br /><br />';
  c_text += '<input type="button" name="Text1" value="Best&auml;tigung jetzt drucken" onclick="window.print();" />&nbsp;&nbsp;&nbsp;';
  c_text += '<input type="button" name="Text2" value="Spiel zur&uuml;cksetzen" onclick="f_show_hello();" />';
  c_text += '<tr><td>';
  c_text += '</table>';
//  c_text += '<script type="text/javascript">window.print();</script>';

  document.getElementById('print').innerHTML = c_text;
  document.getElementById('print').style.display = 'block';
  document.getElementById('message').style.display = 'none';
  document.getElementById('board').style.display = 'none';
  document.getElementById('hello').style.display = 'none';
  window.print();
}

function f_show_version() {

  if (show_version == 1) {
    document.getElementById('version').innerHTML = version;
  }
}



function f_continue_game() {

  end_game = 0;
  document.getElementById('message').style.display = 'none';  
}

