/*
###########################################################
# Hieroglyph Translator
# Version: 1.0
# Author:  Uncover the World Ltd
# Email:   webmaster@uncovertheworld.travel
# Website: http://www.uncovertheworld.travel/
###########################################################
# Hieroglyph Translator, translates letters to hieroglyphs.
# Copyright (C) Uncover the World Ltd
#
# This script is not a free script; you cannot redistribute
# it, copy it, or alter it without prior written permission
# from Uncover the World Ltd.
###########################################################
*/

var text = '';
var hieros = '';
var input = '';
var k = '';
var b = '';
var length = 0;
var maxlength = 14;
var printlinktext = '';

/*  Get User Agent */
var agt = navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
var ns  = (navigator.appName.indexOf("Netscape") != -1);
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
var mac = (agt.indexOf("mac")!=-1);


function getKeyNs(k) {  //  FIREFOX, Netscape
  if (!k) k = event;
  var input = k.keyCode || k.which;
  input = String.fromCharCode(input);
  input = input.toLowerCase();
  if ( input == '' || input == '' || input == '' || input == '' ) {
    var nix = 'nix';
  } else {
    output(input);
  }
}
function getKeyMs(k) {  //  IE
  if (!k) k = event;
  var input = k.keyCode || k.which;
  input = String.fromCharCode(input);
  input = input.toLowerCase();
  output(input);
}

if ( ns == 1) { //  FIREFOX
  document.onkeyup = getKeyNs;  
} else if ( ie == 1 ) { //  IE
  document.onkeypress = getKeyMs;
}

document.onload = clear;

function getButton(b) {  
  var input = b.toLowerCase();
  output(input);
}

function output(input) {
  var output=document.getElementById("output");
  var inputBox=document.getElementById("inputBox");
  var dev=document.getElementById("dev");
  var printlink=document.getElementById("printlink");
  
  switch(input) {
    case 'a': hieros = hieros + '<img src="/images/hiero/a.gif" class="a" >'; break;
    case 'b': hieros = hieros + '<img src="/images/hiero/b.gif" class="b" >'; break;
    case 'c': hieros = hieros + '<img src="/images/hiero/c.gif" class="c" >'; break;
    case 'd': hieros = hieros + '<img src="/images/hiero/d.gif" class="d" >'; break;
    case 'e': hieros = hieros + '<img src="/images/hiero/e.gif" class="e" >'; break;
    case 'f': hieros = hieros + '<img src="/images/hiero/f.gif" class="f" >'; break;
    case 'g': hieros = hieros + '<img src="/images/hiero/g.gif" class="g" >'; break;
    case 'h': hieros = hieros + '<img src="/images/hiero/h.gif" class="h" >'; break;
    case 'i': hieros = hieros + '<img src="/images/hiero/i.gif" class="i" >'; break;
    case 'j': hieros = hieros + '<img src="/images/hiero/j.gif" class="j" >'; break;
    case 'k': hieros = hieros + '<img src="/images/hiero/k.gif" class="k" >'; break;
    case 'l': hieros = hieros + '<img src="/images/hiero/l.gif" class="l" >'; break;
    case 'm': hieros = hieros + '<img src="/images/hiero/m.gif" class="m" >'; break;
    case 'n': hieros = hieros + '<img src="/images/hiero/n.gif" class="n" >'; break;
    case 'o': hieros = hieros + '<img src="/images/hiero/o.gif" class="o" >'; break;
    case 'p': hieros = hieros + '<img src="/images/hiero/p.gif" class="p" >'; break;
    case 'q': hieros = hieros + '<img src="/images/hiero/q.gif" class="q" >'; break;
    case 'r': hieros = hieros + '<img src="/images/hiero/r.gif" class="r" >'; break;
    case 's': hieros = hieros + '<img src="/images/hiero/s.gif" class="s" >'; break;
    case 't': hieros = hieros + '<img src="/images/hiero/t.gif" class="t" >'; break;
    case 'u': hieros = hieros + '<img src="/images/hiero/u.gif" class="u" >'; break;
    case 'v': hieros = hieros + '<img src="/images/hiero/v.gif" class="v" >'; break;
    case 'w': hieros = hieros + '<img src="/images/hiero/w.gif" class="w" >'; break;
    case 'x': hieros = hieros + '<img src="/images/hiero/x.gif" class="x" >'; break;
    case 'y': hieros = hieros + '<img src="/images/hiero/y.gif" class="y" >'; break;
    case 'z': hieros = hieros + '<img src="/images/hiero/z.gif" class="z" >'; break;
    case ' ': hieros = hieros + '<img src="/images/hiero/space.gif" class="space" width="70" height="40">'; break;    
    default:
      break;
  }
  
  if (input == 'bs') {
    text = text.substring(0, length-1);
    
    //var last_slash = pfad.lastIndexOf('\\');
    //path = pfad.substr(0, last_slash+1);
    
    var lastHiero = hieros.lastIndexOf('<');
    hieros = hieros.substr(0, lastHiero);
    
    //hieros = '';
    length = length-1;
  } else if (input == 'clear') {
    text = '';
    hieros = '';
    length = 0;
  } else if ( input == 'clear2' ) {  
    if (length == 0) {
      text = '';
      hieros = '';
    }
  } else {
    if (length < maxlength) {
      text = text+input;
      hieros = hieros;
    } else {
      text = text;
      hieros = hieros;
      alert('sorry, you can only use '+maxlength+' characters');
    }
    length = text.length;
  }
  output.innerHTML= hieros;
  //inputBox.value= text;
  inputBox.innerHTML= text;
  dev.innerHTML= length;
  var printlinktext = '<a href="#" onclick="printIt(\'/kidszone/hieroglyph_translator_print.php?text='+text+'\');" ><img src="/images/hieroglyphics_bookmark.gif" alt="print as bookmark" width="200" height="30" /></a>';
  printlink.innerHTML= printlinktext;
}
function printIt(url) {
  printwindow = window.open(url, '', 'width=310,height=700,status=yes,scrollbars=yes,resizable=yes,menubar=yes,toolbar=yes');
  printwindow.focus();
}

function clear() {
  text = '';
  hieros = '';
  length = 0;
  output.innerHTML = '';
}


function getHieros() {
  var output=document.getElementById("output");
  var dev=document.getElementById("dev");
  var text ='';
  var text = getGets('text');
  var hieros = '';
  //dev.innerHTML= text;
  
  var search = new Array(' ','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
  var replace = new Array('- -','-a-', '-b-', '-c-', '-d-', '-e-', '-f-', '-g-', '-h-', '-i-', '-j-', '-k-', '-l-', '-m-', '-n-', '-o-', '-p-', '-q-', '-r-', '-s-', '-t-', '-u-', '-v-', '-w-', '-x-', '-y-', '-z-');
  hieros = str_replace(search, replace, text);
  
  var search = new Array('- -','-a-', '-b-', '-c-', '-d-', '-e-', '-f-', '-g-', '-h-', '-i-', '-j-', '-k-', '-l-', '-m-', '-n-', '-o-', '-p-', '-q-', '-r-', '-s-', '-t-', '-u-', '-v-', '-w-', '-x-', '-y-', '-z-');
  var replace = new Array('<img src=\"/images/hiero/space.gif\" >','<img src=\"/images/hiero/a.gif\" >', '<img src=\"/images/hiero/b.gif\" >', '<img src=\"/images/hiero/c.gif\" >', '<img src=\"/images/hiero/d.gif\" >', '<img src=\"/images/hiero/e.gif\" >', '<img src=\"/images/hiero/f.gif\" >', '<img src=\"/images/hiero/g.gif\" >', '<img src=\"/images/hiero/h.gif\" >', '<img src=\"/images/hiero/i.gif\" >', '<img src=\"/images/hiero/j.gif\" >', '<img src=\"/images/hiero/k.gif\" >', '<img src=\"/images/hiero/l.gif\" >', '<img src=\"/images/hiero/m.gif\" >', '<img src=\"/images/hiero/n.gif\" >', '<img src=\"/images/hiero/o.gif\" >', '<img src=\"/images/hiero/p.gif\" >', '<img src=\"/images/hiero/q.gif\" >', '<img src=\"/images/hiero/r.gif\" >', '<img src=\"/images/hiero/s.gif\" >', '<img src=\"/images/hiero/t.gif\" >', '<img src=\"/images/hiero/u.gif\" >', '<img src=\"/images/hiero/v.gif\" >', '<img src=\"/images/hiero/w.gif\" >', '<img src=\"/images/hiero/x.gif\" >', '<img src=\"/images/hiero/y.gif\" >', '<img src=\"/images/hiero/z.gif\" >'); 

  hieros = str_replace(search, replace, hieros);
  output.innerHTML = hieros;  
}


function getGets(name) {
  var args = new Object();
  var query = location.search.substring(1);
  var pairs = query.split("&");
  number_of_arguments = pairs.length;
  for (var i=0; i<number_of_arguments; i++){
    var pos = pairs[i].indexOf('=');
    if (pos == -1) continue;
    var argname = pairs[i].substring(0,pos);
    var value = pairs[i].substring(pos+1);
    args[argname] = unescape(value);
  }
  args["NB_OF_ARGS"] = number_of_arguments;
  switch(name){
    case "ALL_ARGS":
      return args;
      break;
    default:
      if (args[name]){
        return args[name];
      }
      else {
        return null;
      }
    break;
  }
}

function is_array(value) {
   var s = typeof value;
   if (s === 'object') {
      if (value) {
         if (value instanceof Array) {
            s = 'array';
         }
      } else {
         s = 'null';
      }
   }
   return s;
}

function str_replace(search, replace, subject) {
   if ( is_array(search) == 'array' )  {
      for(i=0; i<search.length; i++)  {
         subject = subject.split(search[i]).join(replace[i]);         
      }
   } else {
      subject = subject.split(search).join(replace);
   }
   return subject;
} 