var C; var g_niceEditors; var g_inpTextAreaControl = []; var g_outTextAreaControl = []; var STD_TEXTAREA_CTL_CONST = 0; var NICE_TEXTAREA_CTL_CONST = 1; var TEXTAREA_INP_CONST = 0; var TEXTAREA_OUT_CONST = 1; var g_currentTextAreaCtlShown = []; var g_currentTextAreaCtlShown_locator = NICE_TEXTAREA_CTL_CONST; var g_bShowNice_Init = false; var g_paddingChar_preserveText = "\v"; // vertical character... to be removed later. This is needed so that regexp can detect it later... var g_textArea_NicEditorMap = [ // input control details {textAreaCtlStr:"ip-file-content", stdTextAreaCtlLoc:STD_TEXTAREA_CTL_CONST, niceTextAreaCtlLoc:NICE_TEXTAREA_CTL_CONST, inpTextAreaArrLoc:TEXTAREA_INP_CONST, outTextAreaArrLoc:TEXTAREA_OUT_CONST, nicEditiorCtlStr:"", }, //output control details {textAreaCtlStr:"Tool_Execute_Result", stdTextAreaCtlLoc:STD_TEXTAREA_CTL_CONST, niceTextAreaCtlLoc:NICE_TEXTAREA_CTL_CONST, inpTextAreaArrLoc:TEXTAREA_INP_CONST, outTextAreaArrLoc:TEXTAREA_OUT_CONST, nicEditiorCtlStr:"", }, ]; bkLib.onDomLoaded(function() { g_niceEditors = nicEditors.allTextAreas(C,g_textArea_NicEditorMap[TEXTAREA_INP_CONST].textAreaCtlStr,g_textArea_NicEditorMap[TEXTAREA_OUT_CONST].textAreaCtlStr); var tempCtl = null; tempCtl = nicEditors.findEditor(g_textArea_NicEditorMap[TEXTAREA_INP_CONST].textAreaCtlStr); g_inpTextAreaControl[STD_TEXTAREA_CTL_CONST] = tempCtl.e; g_inpTextAreaControl[NICE_TEXTAREA_CTL_CONST] = tempCtl.elm; g_inpTextAreaControl[NICE_TEXTAREA_CTL_CONST].style.maxHeight= tempCtl.elm.style.minHeight; g_inpTextAreaControl[NICE_TEXTAREA_CTL_CONST].style.overflow = "auto"; tempCtl = nicEditors.findEditor(g_textArea_NicEditorMap[TEXTAREA_OUT_CONST].textAreaCtlStr); g_outTextAreaControl[STD_TEXTAREA_CTL_CONST] = tempCtl.e; g_outTextAreaControl[NICE_TEXTAREA_CTL_CONST] = tempCtl.elm; g_outTextAreaControl[NICE_TEXTAREA_CTL_CONST].style.maxHeight= tempCtl.elm.style.minHeight; g_outTextAreaControl[NICE_TEXTAREA_CTL_CONST].style.overflow = "auto"; switchTextAreaControls (NICE_TEXTAREA_CTL_CONST, g_bShowNice_Init, STD_TEXTAREA_CTL_CONST, !g_bShowNice_Init, TEXTAREA_INP_CONST); switchTextAreaControls (NICE_TEXTAREA_CTL_CONST, g_bShowNice_Init, STD_TEXTAREA_CTL_CONST, !g_bShowNice_Init, TEXTAREA_OUT_CONST); createModalWindow("windowGroup", "window", false, 1); }); var g_processButtonCtlsArr_fontMapper = []; var g_processButtonCtlsArr_fontConv = []; var g_childCtlObjArr = []; var TAM_GUIDE_CSV_DATA_LOC = 0; var WORD_LIST_TO_ENTER_CSV = 1; var g_currentLoadedGuideIndex = -1; var g_defWordListSep="\r"; var g_loadedTEXTFromFileArr=[]; var g_loadedWordListFromFile = ""; var g_bGuide_MatchFullWords = false; var g_bMatchDictWordOnContent = false; function resetAllGlobalData () { var i = 0, j=0; while (g_childCtlObjArr.length>0) { g_childCtlObjArr.pop(); } } function switchTextAreaControls (textAreaCtlState_Show, bShowCtl_1, textAreaCtlState_Hide, bShowCtl_2, arrLoc) { var niceTextAreaCtl = null; niceTextAreaCtl = (arrLoc == TEXTAREA_INP_CONST)?g_inpTextAreaControl[textAreaCtlState_Show]:g_outTextAreaControl[textAreaCtlState_Show]; var stdTextAreaCtl = null; stdTextAreaCtl = (arrLoc == TEXTAREA_INP_CONST)?g_inpTextAreaControl[textAreaCtlState_Hide]:g_outTextAreaControl[textAreaCtlState_Hide]; if (stdTextAreaCtl == null || niceTextAreaCtl == null) return; niceTextAreaCtl.style.display = bShowCtl_1?"block":"none"; stdTextAreaCtl.style.display = bShowCtl_2?"block":"none"; // both bShowCtl_1 and bShow 2 cannot be true, as only standard or nice edits are shown. if (bShowCtl_1 == true) { g_currentTextAreaCtlShown[arrLoc] = niceTextAreaCtl; g_currentTextAreaCtlShown_locator = textAreaCtlState_Show; } if (bShowCtl_2 == true) { g_currentTextAreaCtlShown[arrLoc] = stdTextAreaCtl; g_currentTextAreaCtlShown_locator = textAreaCtlState_Hide; } } function getSetContent_TextAreas_Adv (textAreaCtl, bGetText, contentsToUpdate, bUseCtlForContents=false, inputCtl=null) { var textAreaChild_CtlObjArr = []; if (bGetText){ resetAllGlobalData (); if(textAreaCtl.nodeName.toLowerCase() == "textarea") { var tempObj = getNewTextAreaChildObj(); tempObj.childCtl = textAreaCtl; tempObj.orjText = textAreaCtl.innerText || textAreaCtl.contents || textAreaCtl.value || textAreaCtl.textContent ; tempObj.innerHTML = textAreaCtl.innerHTML; textAreaChild_CtlObjArr.push(tempObj); } else { textAreaChild_CtlObjArr = getAllDescendant (textAreaCtl); } } else { var l_contentsToUpdate = contentsToUpdate; if (textAreaCtl.nodeName.toLowerCase() == "textarea"){ if (inputCtl!=null && bUseCtlForContents) l_contentsToUpdate = inputCtl.value || inputCtl.textContent ; textAreaCtl.textContent = textAreaCtl.value = l_contentsToUpdate; } else { if (inputCtl!=null && bUseCtlForContents) l_contentsToUpdate = inputCtl.innerHTML; textAreaCtl.innerHTML = l_contentsToUpdate; } } return textAreaChild_CtlObjArr; } function getAllDescendant (node) { var tempObj; if (node.childNodes.length ==0) { tempObj = getNewTextAreaChildObj (); tempObj.childCtl = node; tempObj.orjText = node.innerText || node.contents || node.value || node.textContent ; tempObj.innerHTML = node.innerHTML; g_childCtlObjArr.push(tempObj); return g_childCtlObjArr; } for (var i = 0; i < node.childNodes.length; i++) { var child = node.childNodes[i]; getAllDescendant(child); } return g_childCtlObjArr; } function getNewTextAreaChildObj (){ var objToReturn = { childCtl:null, orjText:"", newText:"", innerHTML:"", }; return objToReturn; } function getSetContent_TextAreas (textAreaCtl, bGetText, contentsToUpdate) { var textToreturn = ""; if (bGetText){ return textToreturn = (textAreaCtl.nodeName.toLowerCase() == "textarea")?textAreaCtl.value:textAreaCtl.innerHTML; } else { if (textAreaCtl.nodeName.toLowerCase() == "textarea"){ textAreaCtl.value = contentsToUpdate; } else { textAreaCtl.innerText = contentsToUpdate; } return ""; } } function onSwitchTextAreaCtl(switchTextAreaCtlStr, labelCtlStr, preserveTextFormatCtlStr, preserveTextFormatLabelStr) { var switchTextAreaCtl = document.getElementById(switchTextAreaCtlStr); var labelCtl = document.getElementById(labelCtlStr); var preserveTextFormatCtl = document.getElementById(preserveTextFormatCtlStr); var preserveTextFormatLabel = document.getElementById(preserveTextFormatLabelStr); var textAreaCtlState_Show, textAreaCtlState_Hide; if (switchTextAreaCtl.checked) { labelCtl.innerHTML = "Uncheck: To use Nice Textarea"; textAreaCtlState_Show = STD_TEXTAREA_CTL_CONST; textAreaCtlState_Hide = NICE_TEXTAREA_CTL_CONST; preserveTextFormatCtl.style.display = "none"; //preserveTextFormatCtl.checked = true; // set to true for now preserveTextFormatLabel.style.display = "none"; }else { labelCtl.innerHTML = "Check: To use Std. Textarea"; textAreaCtlState_Show = NICE_TEXTAREA_CTL_CONST; textAreaCtlState_Hide = STD_TEXTAREA_CTL_CONST; preserveTextFormatCtl.style.display = "block"; //preserveTextFormatCtl.checked = true; preserveTextFormatLabel.style.display = "block"; } onCheckPreserveTextFormat(preserveTextFormatCtlStr); switchTextAreaControls (textAreaCtlState_Show, true, textAreaCtlState_Hide, false, TEXTAREA_INP_CONST); switchTextAreaControls (textAreaCtlState_Show, true, textAreaCtlState_Hide, false, TEXTAREA_OUT_CONST); } function onCheckPreserveTextFormat(preserveTextFormatCtlStr) { var preserveTextFormatCtl = document.getElementById(preserveTextFormatCtlStr); g_preserveTextFormat = preserveTextFormatCtl.checked; var inpTextArea = g_currentTextAreaCtlShown[TEXTAREA_INP_CONST]; // if (inpTextArea.style.color == "red") inpTextArea.style.color = "Green";else {inpTextArea.style.color = "red";} var inpHTML = cleanPaste(inpTextArea.innerHTML); inpTextArea.innerHTML = inpHTML; var contentsArr = getSetContent_TextAreas_Adv(inpTextArea, true, ""); // get the contents for (var i=0; i"+(contentsArr[i].childCtl.textContent ||contentsArr[i].childCtl.value || contentsArr[i].newText)+"&bsp;"; } else { contentsArr[i].childCtl.parentNode.style.fontWeight="bold"; // contentsArr[i].childCtl.innerHTML = "&bsp;"+(contentsArr[i].childCtl.textContent ||contentsArr[i].childCtl.value || contentsArr[i].newText)+"&bsp;"; } } } //getSetContent_TextAreas_Adv(inpTextArea, false, inpHTML); // place the contents of input into output area, to preserve format } //============== var CleanWordHTML = function ( str ) { str = str.replace(/\s*<\/o:p>/g, "") ; str = str.replace(/.*?<\/o:p>/g, " ") ; str = str.replace( /\s*mso-[^:]+:[^;"]+;?/gi, "" ) ; str = str.replace( /\s*MARGIN: 0cm 0cm 0pt\s*;/gi, "" ) ; str = str.replace( /\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"" ) ; str = str.replace( /\s*TEXT-INDENT: 0cm\s*;/gi, "" ) ; str = str.replace( /\s*TEXT-INDENT: 0cm\s*"/gi, "\"" ) ; str = str.replace( /\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"" ) ; str = str.replace( /\s*PAGE-BREAK-BEFORE: [^\s;]+;?"/gi, "\"" ) ; str = str.replace( /\s*FONT-VARIANT: [^\s;]+;?"/gi, "\"" ) ; str = str.replace( /\s*tab-stops:[^;"]*;?/gi, "" ) ; str = str.replace( /\s*tab-stops:[^"]*/gi, "" ) ; str = str.replace( /\s*face="[^"]*"/gi, "" ) ; str = str.replace( /\s*face=[^ >]*/gi, "" ) ; str = str.replace( /\s*FONT-FAMILY:[^;"]*;?/gi, "" ) ; str = str.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ; str = str.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ; str = str.replace( /\s*style="\s*"/gi, '' ) ; str = str.replace( /]*>\s* \s*<\/SPAN>/gi, ' ' ) ; str = str.replace( /]*><\/SPAN>/gi, '' ) ; str = str.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ; str = str.replace( /(.*?)<\/SPAN>/gi, '$1' ) ; str = str.replace( /(.*?)<\/FONT>/gi, '$1' ) ; str = str.replace(/<\\?\?xml[^>]*>/gi, "") ; str = str.replace(/<\/?\w+:[^>]*>/gi, "") ; str = str.replace( /\s*<\/H\d>/gi, '' ) ; str = str.replace( /]*)>/gi, '' ) ; str = str.replace( /]*)>/gi, '' ) ; str = str.replace( /]*)>/gi, '' ) ; str = str.replace( /]*)>/gi, '' ) ; str = str.replace( /]*)>/gi, '' ) ; str = str.replace( /]*)>/gi, '' ) ; str = str.replace( /<\/H\d>/gi, '
' ) ; //remove this to take out breaks where Heading tags were str = str.replace( /<(U|I|STRIKE)> <\/\1>/g, ' ' ) ; str = str.replace( /<(B|b)> <\/\b|B>/g, '' ) ; str = str.replace( /<([^\s>]+)[^>]*>\s*<\/\1>/g, '' ) ; str = str.replace( /<([^\s>]+)[^>]*>\s*<\/\1>/g, '' ) ; str = str.replace( /<([^\s>]+)[^>]*>\s*<\/\1>/g, '' ) ; //some RegEx code for the picky browsers var re = new RegExp("(]*>.*?)(<\/P>)","gi") ; str = str.replace( re, "" ) ; var re2 = new RegExp("(]*>.*?)(<\/FONT>|<\/font>)","gi") ; str = str.replace( re2, "") ; str = str.replace( /size|SIZE = ([\d]{1})/g, '' ) ; return str ; } var cleanPaste = function(html) { // Run the standard YUI cleanHTML method //html = this.Editor.cleanHTML(html); // Remove additional MS Word content // html = html.replace(/<(\/)*(\\?xml:|meta|link|span|font|del|ins|st1:|[ovwxp]:)((.|\s)*?)>/gi, ''); // Unwanted tags html = html.replace(/<(\/)*(\\?xml:|meta|link|font|del|ins|st1:|[ovwxp]:)((.|\s)*?)>/gi, ''); // keep span // html = html.replace(/(class|style|type|start)=("(.*?)"|(\w*))/gi, ''); // Unwanted sttributes html = html.replace(/(class|type|start)=("(.*?)"|(\w*))/gi, ''); // Unwanted sttributes; keep the style html = html.replace(//gi, ''); // Style tags html = html.replace(//gi, ''); // Script tags html = html.replace(//gi, ''); // HTML comments if (html.indexOf('\u00A0')!=-1) html = html.replace(/[\u00A0]/gi, '\u0020'); // HTML spaces return html; } //=============== function enterDesignMode() { var pwd="", pwd1="Govinda*108:show", pwd2="Govinda*108:hide"; var ver =getVersionObject(); var verStr = "Version:"+ ver.versionString +"\rHtml file Version: "+ver.htmlVersion+ "\rVersion Format: "+ver.versionStrDesc +"\r"; pwd = prompt( verStr, "Govinda*108:show", "Enter Password"); if (pwd != null && (pwd == pwd1 || pwd == pwd2)) { //alert ("Password accepted - Some of the additional features will now be enabled!!!!"); var controlsToShowHide = {'0':"confirm_translit_prmpt", '1':"Spell_check_options_group", '2':"more_tools_group", '3':"Bengali Verse", '4':"Tamil Pasuram", '5':"WordToWordBttn", '6':"checkDiac", '7':"checkDiacLabel",}; var bShowStr = "block", i, inp; if (pwd==pwd1) bShowStr="block";else bShowStr="none"; //alert (bShowStr+controlsToShowHide.length); for (i = 0; controlsToShowHide[i] != null; i++) { inp = document.getElementById(controlsToShowHide[i]); if (inp != null) inp.style.display=bShowStr; } // enable all of the selections for the SELECT use_numbers var useNumSelection = document.getElementById ("use_numbers"); for (i=0; i< useNumSelection.options.length; i++) { useNumSelection.options [i].style.display="block"; } } else { alert ("Incorrect password \r Intensely Chant......... \rGovinda! Govinda! Govinda!.... 108 times! and then type:show or :hide \r .................and be happy!"); } } function updateVersion (ver) { //alert("getVersion"); var inp = document.getElementById('version_str'); inp.disabled = true; inp.innerHTML= "T.Engine Ver: "+ver.versionString+"
T.HTML Ver: "+ver.htmlVersion; } function onSlokaTypeChange() { var i, opt2; var tObj = getTransliterationObject (); var showHideStr = ["display:none", "display:block"]; var showHideIndex = 0; var ver =getVersionObject(); var inp = document.getElementById('sloka_type'); var inp2 = document.getElementById('TransOption'); var optList = tObj.translitFuncList; var optItemListCount = 0; for (i = 0; i< optList.length; i++) { if (i== inp.selectedIndex && ver.slokaVerseTypeInst[i] != 0) { // alert (i); showHideIndex = 1; } else { showHideIndex = 0; } for (j=0; j< optList[i].length; j++) { opt2 = document.getElementById(optList[i][j]+"_"+String(optItemListCount++)); opt2.setAttribute("style", showHideStr[showHideIndex]); // alert (i+","+j+","+opt2.id+",show = "+showHideIndex); } } } function setupPage () { var ver =getVersionObject(); updateVersion(ver); var i, opt, textNode, opt2, textNode2, opt3, textNode3, opt4, textNode4; var tObj = getTransliterationObject (); var showHideStr = ["display:none", "display:block"]; var showHideIndex = 0; var inp = document.getElementById('sloka_type'); var inp2 = document.getElementById('TransOption'); var inp3 = document.getElementById('wordSepList'); var inp4 = document.getElementById('convert_unicode'); for (i = 0; i< tObj.slokaTypeList.length; i++) { opt = document.createElement("option"); opt.setAttribute("value", tObj.slokaTypeList[i]); opt.setAttribute("id", tObj.slokaTypeList[i]); opt.setAttribute("style", showHideStr[ver.slokaVerseTypeInst[i]]); textNode = document.createTextNode(tObj.slokaTypeList[i]); opt.appendChild(textNode); inp.appendChild(opt); } inp.selectedIndex = tObj.selSlokaTypeIndex; var optList = tObj.translitFuncList; var optItemListCount = 0; for (i = 0; i< optList.length; i++) { if (i== inp.selectedIndex && ver.slokaVerseTypeInst[i] != 0) { showHideIndex = 1; } else { showHideIndex = 0; } for (j=0; j< optList[i].length; j++) { opt2 = document.createElement("option"); opt2.setAttribute("id", optList[i][j]+"_"+String(optItemListCount)); opt2.setAttribute("style", showHideStr[showHideIndex]); opt2.setAttribute("value", String(j)); textNode2 = document.createTextNode(optList[i][j]); opt2.appendChild(textNode2); inp2.appendChild(opt2); optItemListCount++; } } for (i = 0; i< tObj.wordSepLabel.length; i++) { opt3 = document.createElement("option"); opt3.setAttribute("value", String(i)); opt3.setAttribute("id", tObj.wordSepLabel[i]); opt3.setAttribute("style", "display:block"); textNode3 = document.createTextNode(tObj.wordSepLabel[i]); opt3.appendChild(textNode3); inp3.appendChild(opt3); } for (i = 0; i< tObj.supportedConversionFontFamily_map.length; i++) { opt4 = document.createElement("option"); opt4.setAttribute("value", tObj.supportedConversionFontFamily_map[i][1]); opt4.setAttribute("id", tObj.supportedConversionFontFamily_map[i][1]); opt4.setAttribute("style", "display:block"); textNode4 = document.createTextNode(tObj.supportedConversionFontFamily_map[i][0]); opt4.appendChild(textNode4); inp4.appendChild(opt4); } var arrayControlsStr_fontMapper = [ {ctl:"load_font_mapper_static", bEnable: true, bShow: true,}, {ctl:"load_font_mapper_file",bEnable: true, bShow: true,}, {ctl:"font_mapper_from_server_listCtl",bEnable: true, bShow: true,}, ]; var arrayControlsStr_fontConv = [ {ctl:"convert_to_uni",bEnable: true, bShow: true,}, {ctl:"convert_to_non_uni",bEnable: true, bShow: true,}, ]; loadGlobalControlsArray (arrayControlsStr_fontMapper, g_processButtonCtlsArr_fontMapper); loadGlobalControlsArray (arrayControlsStr_fontConv, g_processButtonCtlsArr_fontConv); inp4.selectedIndex = 0; inp4.dispatchEvent(new Event('change', { bubbles: true })); var fontMapperFileExtStr =".csv", folder = "fontMappers_list.html"; loadDataFileList_FromServer('font_mapper_from_server_listCtl', folder, fontMapperFileExtStr); } function checkWordToWord (inpData, outputTextArea) { var transliterateObj = getTransliterationObject (); var sel = document.getElementById('sloka_type'); transliterateObj.selSlokaTypeIndex = sel.selectedIndex; var trans = document.getElementById ('TransOption'); transliterateObj.selTransFunction = trans.value; var useNum = document.getElementById ('use_numbers'); transliterateObj.bUseNumbers = useNum.checked; var promptTrans = document.getElementById ('confirm_translit'); transliterateObj.bSmartTranslit_Prompt = promptTrans.checked; var wordSep = document.getElementById('wordSepList'); var bCheckEngForITRANS = document.getElementById('engITransCheck').checked; transliterateObj.bCheckEngForITRANS = bCheckEngForITRANS; transliterateObj.wordSeparator= transliterateObj.wordSep[wordSep.selectedIndex]; transliterateObj.selFunctionPtr = transliterateObj.funcPtr_2[transliterateObj.selSlokaTypeIndex][transliterateObj.selTransFunction]; var langPartObj = getTranslitPatternSearchObj (); var meaningPartObj = getTranslitPatternSearchObj (); var delimitersObj = getSynonymsDelimitersObj (); langPartObj.transliterateObj = meaningPartObj.transliterateObj = transliterateObj; langPartObj.nSelActionID = 0; meaningPartObj.nSelActionID = 2; langPartObj.transliterateObj.selFontName_TranslitID = meaningPartObj.transliterateObj.selFontName_TranslitID = 1; var inpTextArea = g_currentTextAreaCtlShown[TEXTAREA_INP_CONST]; var element = g_currentTextAreaCtlShown[TEXTAREA_OUT_CONST]; if (element.style.color == "red") element.style.color = "Green";else {element.style.color = "red";} var textContents = ""; if (g_currentTextAreaCtlShown_locator != NICE_TEXTAREA_CTL_CONST) { textContents = inpTextArea.value; } else { textContents = inpTextArea.innerHTML; } getSetContent_TextAreas_Adv(element, false, textContents); // place the contents of input into output area, to preserve format var contentsArr = getSetContent_TextAreas_Adv(element, true, ""); // get the contents for (var i=0; i"+elementText+""; bProcessed = true; break; // no need to go any further } } if (bProcessed) continue; } font_mapper_from_server_listCtl.innerHTML = optionsfont_mapper_from_server_listCtlStr; font_mapper_from_server_listCtl.selectedIndex = 0; font_mapper_from_server_listCtl.dispatchEvent(new Event('change', { bubbles: true })); } } } }; xhr.open('GET', dataFileFolderStr, true); xhr.send(); } } function onFontMapperFileFromServerChanged(font_mapper_from_server_listCtlStr, convert_to_uni_BtnCtlStr, convert_to_non_uni_BtnCtlStr) { var font_mapper_FileNameCtl = document.getElementById(font_mapper_from_server_listCtlStr); var fileToDownload = "", csvContentsFromServer = ""; var conv_uni_btlCtl = document.getElementById(convert_to_uni_BtnCtlStr); var conv_nonuni_btlCtl = document.getElementById(convert_to_non_uni_BtnCtlStr); if (font_mapper_FileNameCtl != null) { if (font_mapper_FileNameCtl.options[font_mapper_FileNameCtl.selectedIndex] == null) {alert ("Both the (.csv) file URL list cannot be empty. load the file manually!");return false;} fileToDownload = font_mapper_FileNameCtl.options[font_mapper_FileNameCtl.selectedIndex].value; if (fileToDownload == "") alert ("the (.csv) file URL cannot be empty. Please specify!"); } if (fileToDownload != "") { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { //document.getElementById('placeholder').innerHTML = xhr.responseText; csvContentsFromServer = xhr.responseText; setFontMapperCache (csvContentsFromServer, ","); setControlsDisplay (g_processButtonCtlsArr_fontMapper, true, true); setControlsDisplay (g_processButtonCtlsArr_fontConv, true, true); } }; xhr.open('GET', fileToDownload, true); xhr.send(); } } function getGlobalCtlStruct () { var ctlStruct = {ctl:null, bShow:true, bEnable:true,}; return ctlStruct; } function loadGlobalControlsArray (arrayControlsSrc, arrayControlsDest) { if (arrayControlsSrc == null || arrayControlsSrc.length ==0) return; for (var i = 0; i< arrayControlsSrc.length; i++) { arrayControlsDest [i] = getGlobalCtlStruct (); arrayControlsDest [i].ctl = document.getElementById (arrayControlsSrc[i].ctl); arrayControlsDest [i].bEnable = arrayControlsSrc[i].bEnable; arrayControlsDest [i].bShow = arrayControlsSrc[i].bShow; } } function setControlsDisplay_All () { for (var i = 0; i< g_processButtonCtlsArr_fontMapper.length; i++) { g_processButtonCtlsArr_fontMapper [i].ctl.style.display = g_processButtonCtlsArr_fontMapper [i].bShow?"block":"none"; g_processButtonCtlsArr_fontMapper [i].ctl.disabled = !g_processButtonCtlsArr_fontMapper [i].bEnable; } for (var i = 0; i< g_processButtonCtlsArr_fontConv.length; i++) { g_processButtonCtlsArr_fontConv [i].ctl.style.display = g_processButtonCtlsArr_fontConv [i].bShow?"block":"none"; g_processButtonCtlsArr_fontConv [i].ctl.disabled = !g_processButtonCtlsArr_fontConv [i].bEnable; } } function setControlsDisplay (ctlArray, bShow, bEnable) { for (var i = 0; i< ctlArray.length; i++) { ctlArray [i].ctl.style.display = bShow?"block":"none"; ctlArray [i].ctl.disabled = !bEnable; } } function loadFontMapperCSV(load_font_mapper_file, convert_to_uni_BtnCtlStr, convert_to_non_uni_BtnCtlStr) { var inp = document.getElementById(load_font_mapper_file); var conv_uni_btlCtl = document.getElementById(convert_to_uni_BtnCtlStr); var conv_nonuni_btlCtl = document.getElementById(convert_to_non_uni_BtnCtlStr); var contents = ""; var file = inp.files[0]; if (!file) { alert ("invalid file"); return; } var reader = new FileReader(); reader.onload = function(e) { contents = e.target.result; setFontMapperCache (contents, ","); setControlsDisplay (g_processButtonCtlsArr_fontConv, true, true); }; reader.readAsText(file); } function onConvertUniFontSelectionChanged (convert_unicode_fontSelCtlStr, load_font_mapper_fileCtlStr, font_mapper_from_server_listCtlStr, convert_to_uni_BtnCtlStr) { var load_font_mapper_fileCtl = document.getElementById(load_font_mapper_fileCtlStr); var font_mapper_from_server_listCtl = document.getElementById(font_mapper_from_server_listCtlStr); var uniConvFontSelCtl = document.getElementById(convert_unicode_fontSelCtlStr); var conv_uni_btlCtl = document.getElementById(convert_to_uni_BtnCtlStr); var bShow = false; if (uniConvFontSelCtl != null) { if (uniConvFontSelCtl.selectedIndex != 0) { bShow = true; setControlsDisplay (g_processButtonCtlsArr_fontMapper, false, true); setControlsDisplay (g_processButtonCtlsArr_fontConv, true, true); } else { bShow = false; setControlsDisplay (g_processButtonCtlsArr_fontMapper, true, true); if (font_mapper_from_server_listCtl.options.length != 0 || load_font_mapper_fileCtl.files.length !=0) setControlsDisplay (g_processButtonCtlsArr_fontConv, true, true); else setControlsDisplay (g_processButtonCtlsArr_fontConv, true, false); } // font_mapper_from_server_listCtl.selectedIndex = 0; // font_mapper_from_server_listCtl.dispatchEvent(new Event('change', { bubbles: true })); } }