/*----------------------------------------------------------------------
FILE: global.js

AUTHOR: Bruce R. Saunders bruce@pykyl.com

HISTORY: Created 12/17/2006

LEGAL: This code is presented as is, with no warrantee either implied
or otherwise. Copyright (c) 2006, Pykyl, All rights reserved.
----------------------------------------------------------------------*/
function chrToPhonetic(chr) {
	var chr = chr.toUpperCase();
	var to_print = chr;
	switch(chr) {
		case "A":
			to_print = "Alpha";
			break;
		case "B":
			to_print = "Bravo";
			break;
		case "C":
			to_print = "Charlie";
			break;
		case "D":
			to_print = "Delta";
			break;
		case "E":
			to_print = "Echo";
			break;
		case "F":
			to_print = "Foxtrot";
			break;
		case "G":
			to_print = "Golf";
			break;
		case "H":
			to_print = "Hotel";
			break;
		case "I":
			to_print = "India";
			break;
		case "J":
			to_print = "Juliet";
			break;
		case "K":
			to_print = "Kilo";
			break;
		case "L":
			to_print = "Lima";
			break;
		case "M":
			to_print = "Mike";
			break;
		case "N":
			to_print = "November";
			break;
		case "O":
			to_print = "Oscar";
			break;
		case "P":
			to_print = "Papa";
			break;
		case "Q":
			to_print = "Quebec";
			break;
		case "R":
			to_print = "Romeo";
			break;
		case "S":
			to_print = "Sierra";
			break;
		case "T":
			to_print = "Tango";
			break;
		case "U":
			to_print = "Uniform";
			break;
		case "V":
			to_print = "Victor";
			break;
		case "W":
			to_print = "Whiskey";
			break;
		case "X":
			to_print = "X-ray";
			break;
		case "Y":
			to_print = "Yankee";
			break;
		case "Z":
			to_print = "Zulu";
			break;
		case "0":
			to_print = "Zero";
			break;
		case "1":
			to_print = "One";
			break;
		case "2":
			to_print = "Two";
			break;
		case "3":
			to_print = "Three";
			break;
		case "4":
			to_print = "Four";
			break;
		case "5":
			to_print = "Five";
			break;
		case "6":
			to_print = "Six";
			break;
		case "7":
			to_print = "Seven";
			break;
		case "8":
			to_print = "Eight";
			break;
		case "9":
			to_print = "Nine";
			break;
		case " ":
			to_print = "Space";
			break;		
	}	
	return to_print;
}

function initForm(input_box) {
	var myinput_box = document.getElementById(input_box);
	myinput_box.value = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	populateGrid(input_box);
	myinput_box.select();
}

function highlightStringBox(input_box) {
	document.getElementById(input_box).select();
}

function populateGrid(input_box) {
	var string_to_parse = document.getElementById(input_box).value;
	var my_string_array = string_to_parse.split("");
	var numchrs = my_string_array.length;
	var tmpchr = "";
	for (i = 1; i <= 100; i++) {
		var mychr = document.getElementById("letter_" + i.toString());
		var myphon = document.getElementById("phon_" + i.toString());
		if (i <= numchrs) {
			tmpchr = my_string_array[i - 1];
			tmpchr = tmpchr.toUpperCase();			
			if (tmpchr == " ") {
				mychr.innerHTML = "&nbsp;";
				myphon.innerHTML = chrToPhonetic(" ");				
			} else {
				mychr.innerHTML = tmpchr;
				myphon.innerHTML = chrToPhonetic(tmpchr);
			}
		} else {
			mychr.innerHTML = "&nbsp;";
			myphon.innerHTML = chrToPhonetic(" ");		
		}
	}
}

function getPageCoords (element) {
	var coords = {x: 0, y: 0};
	while (element) {
		coords.x += element.offsetLeft;
		coords.y += element.offsetTop;
		element = element.offsetParent;
	}
	return coords;
}

function showTip(tip_to_show, tip_clicked) {
	var mytip = document.getElementById(tip_to_show);
	var myclickedtip = document.getElementById(tip_clicked);
	var coords = getPageCoords(myclickedtip);
	mytip.style.top = coords.y + "px";
	mytip.style.left =  coords.x + "px";
	mytip.style.visibility = "visible";
}

function closeTip(tip_to_hide) {
	var mytip = document.getElementById(tip_to_hide);
	mytip.style.visibility = 'hidden';
	mytip.style.top = 0;
	mytip.style.left = 0;
}