var shouldReplaceHebrewText = false; var hebrewTextBox = false; var selectedRange = false; function decorateHebrewText(hebText, hoverText) { var htmlString, hovTxt; htmlString = "<" + "span onclick=\"hebrewOnClick();\" class=\"hebrewText\""; if (hoverText != "") { htmlString = htmlString + " title=\"" + hoverText + "\""; } htmlString = htmlString + ">" + hebText + ""; return htmlString; } function undecorateHebrewText(hebHTML) { var startIndex = hebHTML.indexOf(">")+1; var endIndex = hebHTML.indexOf(""); if (endIndex == -1) endIndex = hebHTML.length; return hebHTML.substring(startIndex,endIndex); } function defaultHebrewHandler(hebStr) { if (hebrewTextBox) { if (!shouldReplaceHebrewText) { if (selectedRange) { selectedRange.text = hebStr + " "; selectedRange = false; } else { appendToTextBox(hebrewTextBox," " + hebStr); } } else { hebrewTextBox.value = hebStr; } } else { alert("Missing getHebrewTextBox() method"); } } function hebrewOnClick() { var hebWord = window.event.srcElement.innerHTML; // do something with it } function appendHebrewText(textBox) { var topFunction = "defaultHebrewHandler", args = arguments; if (args.length > 1) { topFunction = args[1]; } shouldReplaceHebrewText = false; hebrewTextBox = textBox; var selectedText = document.selection; if (selectedText.type == "Text") { selectedRange = selectedText.createRange(); } var newwin = openWin('http://www.questionbag.com/QBAdmin/createHebrewWord.asp?topFunction=' + topFunction,600,450); } function changeHebrewText(hebHTML, textBox) { var topFunction = "defaultHebrewHandler", args = arguments; if (args.length > 2) { topFunction = args[2]; } shouldReplaceHebrewText = true; hebrewTextBox = textBox; var hebStr = undecorateHebrewText(hebHTML); var newwin = openWin('http://www.questionbag.com/QBAdmin/createHebrewWord.asp?initialHebrewText=' + escape(hebStr) + '&topFunction=' + escape(topFunction),600,450); }