﻿function cookie_read(n) {
  a = document.cookie;
  res = '';
  while(a != ''){
    while(a.substr(0,1) == ' '){
      a = a.substr(1,a.length);
    }
    cookiename = a.substring(0,a.indexOf('='));
    if(a.indexOf(';') != -1){
      cookiewert = a.substring(a.indexOf('=')+1,a.indexOf(';'));
    }else{
      cookiewert = a.substr(a.indexOf('=')+1,a.length);
    }
    if(n == cookiename){
      res = cookiewert;
    }
    i = a.indexOf(';')+1;
    if(i == 0){
      i = a.length;
    }
    a = a.substring(i,a.length);
  }
  return(res);
}

var kdict = 0;

function german_cookie() {
  if(document.cookie){
    kdict = cookie_read('kdict');
  }
  if (kdict == ""){
    kdict = 2;
  }
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  document.cookie = 'kdict='+kdict+'; expires='+a.toGMTString()+';';
  document.cookie = 'counter='+0+'; expires='+a.toGMTString()+';';
}

function korean_cookie() {
  if(document.cookie){
    kdict = cookie_read('kdict');
  }
  if (kdict == ""){
    kdict = 1;
  }
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  document.cookie = 'kdict='+kdict+'; expires='+a.toGMTString()+';';
}

function set_cookie() {
  if(document.cookie){
    a = document.cookie;
    wert = cookie_read('kdict');
    wert++;
  }
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  document.cookie = 'kdict='+wert+'; expires='+a.toGMTString()+';';
}

function cookie_kdict_read() {
  if(document.cookie){
    a = document.cookie;
    kdict = cookie_read('kdict');
  }
}

function cookie_counter() {
  if(document.cookie){
    a = document.cookie;
    counter = cookie_read('counter');
    counter++;
  }
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  document.cookie = 'counter='+counter+'; expires='+a.toGMTString()+';';
}

var quiz = 0;
var solved = 0;

function cookie_quiz() {
  if(document.cookie){
    a = document.cookie;
    quiz = cookie_read('quiz');
    quiz++;
  }else{
    quiz = 1;
  }
  if ((document.getElementById("sol_false").style.visibility!="visible") && (document.getElementById("sol_false_2").style.visibility!="visible") && (document.getElementById("sol_false_3").style.visibility!="visible")){
    if(document.cookie){
      a = document.cookie;
      solved = cookie_read('solved');
      solved++;
    }else{
      solved = 1;
    }
  }
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  document.cookie = 'quiz='+quiz+'; expires='+a.toGMTString()+';';
  document.cookie = 'solved='+solved+'; expires='+a.toGMTString()+';';
}

function cookie_quiz_delete() {
  if(document.cookie){
    a = document.cookie;
    quiz = cookie_read('quiz');
    quiz = 0;
    solved = cookie_read('solved');
    solved = 0;
  }
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  document.cookie = 'quiz='+quiz+'; expires='+a.toGMTString()+';';
  document.cookie = 'solved='+solved+'; expires='+a.toGMTString()+';';
}

function cookie_counter_read() {
  if(document.cookie){
    a = document.cookie;
    counter = cookie_read('counter');
  }
}

function cookie_counter_delete() {
  if(document.cookie){
    a = document.cookie;
    counter = cookie_read('counter');
    counter = 0;
  }
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  document.cookie = 'counter='+counter+'; expires='+a.toGMTString()+';';
}

function user_register() {
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  user = encodeURIComponent(document.getElementById("register_user").value);
  pwd = encodeURIComponent(document.getElementById("register_pwd").value);
  document.cookie = 'user='+user+'; expires='+a.toGMTString()+';';
  document.cookie = 'pwd='+pwd+'; expires='+a.toGMTString()+';';
  ajax_php('register.php?user='+user+'&pwd='+pwd+'', 'register');
  window.setTimeout("ajax_php('menu_register.php', 'register')",500);
  window.setTimeout("ajax_php('menu_signin.php', 'signin')",500);
  focus_search();
}

function user_login() {
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  user = encodeURIComponent(document.getElementById("user").value);
  pwd = encodeURIComponent(document.getElementById("pwd").value);
  document.cookie = 'user='+user+'; expires='+a.toGMTString()+';';
  document.cookie = 'pwd='+pwd+'; expires='+a.toGMTString()+';';
  window.setTimeout("ajax_php('menu_register.php', 'register')",500);
  window.setTimeout("ajax_php('menu_signin.php', 'signin')",500);
  focus_search();
}

function user_logout() {
  var a = new Date();
  a = new Date(a.getTime() +1000*60*60*24*365);
  user = "";
  pwd = "";
  document.cookie = 'user='+user+'; expires='+a.toGMTString()+';';
  document.cookie = 'pwd='+pwd+'; expires='+a.toGMTString()+';';
  window.setTimeout("ajax_php('menu_register.php', 'register')",500);
  window.setTimeout("ajax_php('menu_signin.php', 'signin')",500);
  focus_search();
}

var greet_var = 1;

function greeting() {
  window.setTimeout("greetings('welcome_korean')",3000);
  window.setTimeout("greetings('welcome_german')",6000);
  window.setTimeout("greetings('')",9000);
  cookie_counter_read();
  window.setTimeout("greetings('welcome_iam')",12000);
}

function greetings(greet) {
  if (greet_var == 1){
    ajax_php('talk.php?greeting='+greet, 'talk');
  }
}

function message(message) {
  ajax_php('talk.php?greeting='+message, 'talk');
}

function lin() {
  ajax_php('talk.php?greeting=lin', 'talk');
  greet_var = 0;
  focus_search();
}

function tim() {
  ajax_php('talk.php?greeting=tim', 'talk');
  greet_var = 0;
  focus_search();
}

function focus_search() {
  window.setTimeout("try{document.getElementById('search').blur()}catch(e){}",400);
  window.setTimeout("try{document.getElementById('search').select()}catch(e){}",450);
  window.setTimeout("try{document.getElementById('search').focus()}catch(e){focus_search()}",500);
}

function focus_report() {
  window.setTimeout("try{document.getElementById('reason').blur()}catch(e){}",400);
  window.setTimeout("try{document.getElementById('reason').select()}catch(e){}",450);
  window.setTimeout("try{document.getElementById('reason').focus()}catch(e){focus_german()}",500);
}

function focus_german() {
  window.setTimeout("try{document.getElementById('german').blur()}catch(e){}",400);
  window.setTimeout("try{document.getElementById('german').select()}catch(e){}",450);
  window.setTimeout("try{document.getElementById('german').focus()}catch(e){focus_german()}",500);
}

function language() {
  set_cookie();
  focus_search();
  set_title();
  ajax_php('header.php', 'header');
  if(document.cookie){
    a = document.cookie;
    counter = cookie_read('counter');
    if (counter == 0){
      ajax_php('empty.php', 'resultlist');
    }else{
      tauschen = new Array();
      var n = 1;
      while (n <= counter){
        n++;
        try{tauschen[n] = encodeURIComponent(document.getElementById("tausch"+n).value)}catch(e){};
      }
      ajax_php('empty.php', 'resultlist');
      var n = 1;
      while (n <= counter){
        n++;
        var m = n - 1;
        var l = n * 500;
        window.setTimeout("ajax_php('result.php?search="+tauschen[n]+"&count="+m+"', 'id"+m+"')",l);
      }
    }
  }
  ajax_php('menu_special.php', 'special');
  ajax_php('menu_download.php', 'download');
  ajax_php('menu_quiz.php', 'quiz');
  ajax_php('menu_wordoftheday.php', 'wordofday');
  ajax_php('menu_register.php', 'register');
  ajax_php('menu_signin.php', 'signin');
  ajax_php('menu_statistic.php', 'statistic');
  ajax_php('footer.php', 'footer');
  message('language');
  greet_var = 0;
}

function set_title(){
  kdict = cookie_read('kdict');
  var korean = '\uD55C\uAD6D\uC5B4 \uB3C5\uC77C\uC5B4 \uC0AC\uC804';
  var german = 'Koreanisch Deutsch Wörterbuch';
  if (kdict % 2 == 0){
    parent.document.title = german + ' ' + korean;
  }else{
    parent.document.title = korean + ' ' + german;
  }
}

var say = "";

function search_me() {
  if(document.getElementById("search").value != ""){
    say = encodeURIComponent(document.getElementById("search").value);
    ajax_php('talk.php?say='+say, 'talk');
    greet_var = 0;
    cookie_counter();
    cookie_counter_read();
    ajax_php_input('result.php', 'id'+counter, 'search', 'search');
    window.setTimeout('document.getElementById("suggestion").style.display="none"',550);
    try{document.getElementById("search").value = ""}catch(e){};
    try{document.getElementById('umlaute').style.visibility='hidden'}catch(e){};
    focus_search();
  }
}

function suggested(word) {
  say = encodeURIComponent(word);
  ajax_php('talk.php?say_suggest='+say, 'talk');
  greet_var = 0;
  cookie_counter();
  cookie_counter_read();
  document.getElementById("search").value = word;
  document.getElementById("suggestion").style.display="none";
  ajax_php_input('result.php', 'id'+counter, 'suggest', word);
  try{document.getElementById("search").value = ""}catch(e){};
  try{document.getElementById('umlaute').style.visibility='hidden'}catch(e){};
  focus_search();
}

function vocabulary_add(word, count) {
  ajax_php('vocabulary.php?add&word='+word+'&count='+count, 'vocabulary'+count, 'noimage');
  focus_search();
}

function vocabulary_remove(word, count) {
  ajax_php('vocabulary.php?remove&word='+word+'&count='+count, 'vocabulary'+count, 'noimage');
  focus_search();
}

function vocabulary() {
  cookie_counter();
  cookie_counter_read();
  ajax_php('result.php?vocabulary', 'id'+counter);
  focus_search();
}

function edit(word, count) {
  ajax_php('edit.php?word='+word+'&count='+count, 'replace'+count);
  focus_german();
}

function edit_submit(word, count) {
  ajax_php_input('edit.php?count='+count, 'replace'+count, 'edit');
  window.setTimeout("ajax_php('result.php?word="+word+"&count="+count+"', 'replace"+count+"')",500);
  focus_search();
}

function report(word, count) {
  ajax_php('report.php?word='+word+'&count='+count, 'replace'+count);
  focus_report();
}

function report_submit(word, count) {
  ajax_php_input('report.php?count='+count, 'replace'+count, 'report', 'reason');
  window.setTimeout("ajax_php('result.php?word="+word+"&count="+count+"', 'replace"+count+"')",5000);
  focus_search();
}

function like(word, count) {
  ajax_php('like.php?word='+word+'&count='+count, 'like'+count, 'noimage');
  focus_search();
}

function word(word, count) {
  ajax_php('result.php?word='+word+'&count='+count, 'replace'+count);
  focus_search();
}

function find(word, count) {
  ajax_php('result.php?search='+word, 'id'+count);
  focus_search();
}

function add_word() {
  cookie_counter();
  cookie_counter_read();
  ajax_php('add_word.php', 'id'+counter);
  focus_german();
}

function submit_word() {
  count = encodeURIComponent(document.getElementById("add_counter").value);
  count++;
  ajax_php_input('result.php', 'replace'+count, 'insert');
  focus_search();
}

function clear() {
  cookie_counter_delete();
  ajax_php('empty.php', 'resultlist', 'noimage');
  focus_search();
  message('delete');
  greet_var = 0;
}

function special(special) {
  cookie_counter();
  cookie_counter_read();
  ajax_php('result.php?special='+special, 'id'+counter);
  focus_search();
}

function solve() {
  var solve = "1";
}

function sol_right(){
  cookie_quiz();
  document.getElementById("sol_right").style.visibility="visible";
  window.setTimeout("try{ajax_php('menu_quiz.php', 'quiz');}catch(e){}",2000);
}
function sol_false(){
  document.getElementById("sol_false").style.visibility="visible";
}
function sol_false_2(){
  document.getElementById("sol_false_2").style.visibility="visible";
}
function sol_false_3(){
  document.getElementById("sol_false_3").style.visibility="visible";
}
function quiz_next(){
  ajax_php('menu_quiz.php', 'quiz');
}
function quiz_delete(){
  cookie_counter_delete();
  cookie_quiz_delete();
  window.setTimeout("try{ajax_php('menu_quiz.php', 'quiz');}catch(e){}",200);
}

function today() {
  ajax_php('menu_wordoftheday.php', 'wordofday');
}
function yesterday() {
  ajax_php('menu_wordoftheday.php?yesterday', 'wordofday');
}
function twodaysago() {
  ajax_php('menu_wordoftheday.php?twodaysago', 'wordofday');
}

function wordlist() {
  cookie_counter();
  cookie_counter_read();
  ajax_php('wordlist.php', 'id'+counter);
  focus_search();
}

var inhalt_old;

function listener(){
  if(up == 0){
    try{var inhalt = encodeURIComponent(document.getElementById("search").value)}catch(e){};
    if (inhalt == ""){
      try{document.getElementById('suggestion').style.visibility='hidden'}catch(e){};
    }else{
      try{document.getElementById('suggestion').style.visibility='visible'}catch(e){};
    }
    if (inhalt != inhalt_old){
      try{window.setTimeout("ajax_php_suggest('suggestion.php', 'suggestion')", 50)}catch(e){};
    }
    inhalt_old = inhalt;
  }
  try{window.setTimeout("listener()", 250)}catch(e){"listener()"};
}

document.onkeydown = suggestion;

function suggestion (event) {
  if (!event){
    event = window.event;
  }
  if (event.keyCode == 17){
    document.onkeydown = combination;
  }
  if (event.keyCode == 38){
    suggest_up();
  }
  if (event.keyCode == 40){
    suggest_down();
  }
}

function combination (event){
  if (!event){
    event = window.event;
  }
  if(event.keyCode == 40){
    add_word();
  }if(event.keyCode == 38){
    clear();
  }
  document.onkeydown = suggestion;
}

document.onkeyup = umlaut;

function umlaut(event){
if (!event)
  event = window.event;
  try{inhalt = encodeURIComponent(document.getElementById('search').value)}catch(e){};
  if (inhalt == "" || typeof inhalt == "undefined"){
    try{document.getElementById('umlaute').style.visibility='hidden'}catch(e){};
  }else{
    if (event.keyCode == 13 || event.keyCode == 33 || event.keyCode == 34){
      try{document.getElementById('umlaute').style.visibility='hidden'}catch(e){};
    }else{
      try{document.getElementById('umlaute').style.visibility='visible'}catch(e){};
    }
  }
}

function uml(letter) {
  if (letter=="ae") letter = "ä";
  if (letter=="oe") letter = "ö";
	if (letter=="ue") letter = "ü";
	if (letter=="sz") letter = "ß";
  if (letter=="Ae") letter = "Ä";
  if (letter=="Oe") letter = "Ö";
	if (letter=="Ue") letter = "Ü";
  var textarea = document.getElementById("search");
  textarea.value = textarea.value + letter;
  document.getElementById('search').focus();
}

var sug = 0;
var up = 0;

function suggest_up(){
  if (document.getElementById("search").value != 0){
    if (sug == 1){
      document.getElementById("search").value = original;
      up = 0;
    }
    if (sug > 0){
      document.getElementById('suggest'+sug).style.backgroundColor = '#ffffff';
      sug--;
      if (sug > 0){
        document.getElementById("search").value = document.getElementById('input'+sug).value;
        document.getElementById('suggest'+sug).style.backgroundColor = '#f0f0f0';
      }
    }
  }
}

function suggest_down(){
  up = 1;
  if (document.getElementById("search").value != 0){
    if (sug < document.getElementById("suggestions").value){
      if (sug != 0){
        document.getElementById('suggest'+sug).style.backgroundColor = '#ffffff';
      }else{
        original = document.getElementById("search").value;
      }
      sug++;
      document.getElementById("search").value = document.getElementById('input'+sug).value;
      document.getElementById('suggest'+sug).style.backgroundColor = '#f0f0f0';
    }
  }
}
