//--********************************************************************-->
//--                                                                    -->
//--    Frontier Software Pty Ltd                                       -->
//--                                                                    -->
//--    File Name   :   ftrconvt.js                                     -->
//--                                                                    -->
//--    History     :                                                   -->
//--    007212 - 27.03.02 - Created.                                    -->
//--    007497 - 01.12.02 - Allow conversion to XML.                    -->
//--    009153 - 05.11.03 - Include status message in XML window        -->
//--    009345 - 01.03.04 - convtHexXML() removed                       -->
//--    009534 - 06.04.04 - Convert text in  Files                      -->
//--********************************************************************-->

// *********************************************************************
// Takes a string of hex code and returns a string of equivalent ASCII 
// characters suitable for output to the screen.
function convtHexReport(sHexData) {
    var sAscii = "";
    for (var i=0; i<sHexData.length; i=i+2)  {
        switch (sHexData.substr(i,2)) {
            case "00":
                sAscii += "NUL";
                break;
            case "01":
                sAscii += "SOH";
                break;
            case "02":
                sAscii += "STX";
                break;
            case "03":
                sAscii += "ETX";
                break;
            case "04":
                sAscii += "EOT";
                break;
            case "05":
                sAscii += "ENQ";
                break;
            case "06":
                sAscii += "ACK";
                break;
            case "07":
                sAscii += "BEL";
                break;
            case "08":
                sAscii += "BS ";
                break;
            case "09":
                sAscii += "HT";
                break;
            case "0A":
                //Newline - "NL" in ASCII, or "\n""
                sAscii += ((bViewFiles) ? "\n" : "<br>");
                break;
            case "0B":
                sAscii += "VT";
                break;
            case "0C":
                sAscii += ((bViewFiles) ? "," : "<br><hr colspan='80'><br>");
                break;
            case "0D":
                break;
            case "0E":
                sAscii += "SO";
                break;
            case "0F":
                sAscii += "SI";
                break;
            case "10":
                sAscii += "DLE";
                break;
            case "11":
                sAscii += "DC1";
                break;
            case "12":
                sAscii += "DC2";
                break;
            case "13":
                sAscii += "DC3";
                break;
            case "14":
                sAscii += "DC4";
                break;
            case "15":
                sAscii += "NAK";
                break;
            case "16":
                sAscii += "SYN";
                break;
            case "17":
                sAscii += "ETB";
                break;
            case "18":
                sAscii += "CAN";
                break;
            case "19":
                sAscii += "EM";
                break;
            case "1A":
                sAscii += "SUB";
                break;
            case "1B":
                sAscii += "ESC";
                break;
            case "1C":
                sAscii += "FS";
                break;
            case "1D":
                sAscii += "GS";
                break;
            case "1E":
                sAscii += "RS";
                break;
            case "1F":
                sAscii += "US";
                break;
            case "20":
                sAscii += ((bViewFiles) ? " " : "&nbsp;");
                break;
            case "21":
                sAscii += "!";
                break;
            case "22":
                sAscii += ((bViewFiles) ? "" : "&quot;");
                break;
            case "23":
                sAscii += "#";
                break;
            case "24":
                sAscii += "$";
                break;
            case "25":
                sAscii += "%";
                break;
            case "26":
                sAscii += "&amp;";
                break;
            case "27":
                sAscii += "'";
                break;
            case "28":
                sAscii += "(";
                break;
            case "29":
                sAscii += ")";
                break;
            case "2A":
                sAscii += "*";
                break;
            case "2B":
                sAscii += "+";
                break;
            case "2C":
                sAscii += ",";
                break;
            case "2D":
                sAscii += "-";
                break;
            case "2E":
                sAscii += ".";
                break;
            case "2F":
                sAscii += "/";
                break;
            case "30":
                sAscii += "0";
                break;
            case "31":
                sAscii += "1";
                break;
            case "32":
                sAscii += "2";
                break;
            case "33":
                sAscii += "3";
                break;
            case "34":
                sAscii += "4";
                break;
            case "35":
                sAscii += "5";
                break;
            case "36":
                sAscii += "6";
                break;
            case "37":
                sAscii += "7";
                break;
            case "38":
                sAscii += "8";
                break;
            case "39":
                sAscii += "9";
                break;
            case "3A":
                sAscii += ":";
                break;
            case "3B":
                sAscii += ";";
                break;
            case "3C":
                sAscii += "&lt;";
                break;
            case "3D":
                sAscii += "=";
                break;
            case "3E":
                sAscii += "&gt;";
                break;
            case "3F":
                sAscii += "?";
                break;
            case "40":
                sAscii += "@";
                break;
            case "41":
                sAscii += "A";
                break;
            case "42":
                sAscii += "B";
                break;
            case "43":
                sAscii += "C";
                break;
            case "44":
                sAscii += "D";
                break;
            case "45":
                sAscii += "E";
                break;
            case "46":
                sAscii += "F";
                break;
            case "47":
                sAscii += "G";
                break;
            case "48":
                sAscii += "H";
                break;
            case "49":
                sAscii += "I";
                break;
            case "4A":
                sAscii += "J";
                break;
            case "4B":
                sAscii += "K";
                break;
            case "4C":
                sAscii += "L";
                break;
            case "4D":
                sAscii += "M";
                break;
            case "4E":
                sAscii += "N";
                break;
            case "4F":
                sAscii += "O";
                break;
            case "50":
                sAscii += "P";
                break;
            case "51":
                sAscii += "Q";
                break;
            case "52":
                sAscii += "R";
                break;
            case "53":
                sAscii += "S";
                break;
            case "54":
                sAscii += "T";
                break;
            case "55":
                sAscii += "U";
                break;
            case "56":
                sAscii += "V";
                break;
            case "57":
                sAscii += "W";
                break;
            case "58":
                sAscii += "X";
                break;
            case "59":
                sAscii += "Y";
                break;
            case "5A":
                sAscii += "Z";
                break;
            case "5B":
                sAscii += "[";
                break;
            case "5C":
                sAscii += "\\";
                break;
            case "5D":
                sAscii += "]";
                break;
            case "5E":
                sAscii += "^";
                break;
            case "5F":
                sAscii += "_";
                break;
            case "60":
                sAscii += "`";
                break;
            case "61":
                sAscii += "a";
                break;
            case "62":
                sAscii += "b";
                break;
            case "63":
                sAscii += "c";
                break;
            case "64":
                sAscii += "d";
                break;
            case "65":
                sAscii += "e";
                break;
            case "66":
                sAscii += "f";
                break;
            case "67":
                sAscii += "g";
                break;
            case "68":
                sAscii += "h";
                break;
            case "69":
                sAscii += "i";
                break;
            case "6A":
                sAscii += "j";
                break;
            case "6B":
                sAscii += "k";
                break;
            case "6C":
                sAscii += "l";
                break;
            case "6D":
                sAscii += "m";
                break;
            case "6E":
                sAscii += "n";
                break;
            case "6F":
                sAscii += "o";
                break;
            case "70":
                sAscii += "p";
                break;
            case "71":
                sAscii += "q";
                break;
            case "72":
                sAscii += "r";
                break;
            case "73":
                sAscii += "s";
                break;
            case "74":
                sAscii += "t";
                break;
            case "75":
                sAscii += "u";
                break;
            case "76":
                sAscii += "v";
                break;
            case "77":
                sAscii += "w";
                break;
            case "78":
                sAscii += "x";
                break;
            case "79":
                sAscii += "y";
                break;
            case "7A":
                sAscii += "z";
                break;
            case "7B":
                sAscii += "{";
                break;
            case "7C":
                sAscii += "|";
                break;
            case "7D":
                sAscii += "}";
                break;
            case "7E":
                sAscii += "~";
                break;
            case "7F":
                sAscii += "DEL";
                break;
            default:
                if (gDebug) alert("Missed: " + sHexData.substr(i,2));
                break;
        }
    }
    return sAscii;
}

// *********************************************************************
