
    function xml__parse(xml){
        if (window.ActiveXObject){
            var vXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
            vXMLDoc.async = false;
            //IE uses the loadXML method when the source document is NOT XML
            vXMLDoc.loadXML(xml);
        }else if(document.implementation.createDocument){
            //Firefox requires a parser object to read the text
            var vParser = new DOMParser();
            var vXMLDoc = vParser.parseFromString(xml, "text/xml");
        }
        return vXMLDoc;
    }
    
    function xml__get_node_text_content(node){
        var nodetext = null;
        if(!node) return nodetext;
        if(typeof(node.text) != 'undefined'){
            //Internet Explorer
            nodetext = node.text;        
        } else if(typeof(node.textContent) != 'undefined') {
            //Mozzilla Firefox
            nodetext = node.textContent;         
        }
        return nodetext;
    }
    
    
    function xml__specialchars(string){
        var tt = {
            "&" :  "&#038;",     
            '"' :  "&#034;",
            "<" :  "&#060;",
            ">" :  "&#062;",
            "'" :  "&#039;",
            "/" :  "&#047;",
            '`'  :  '&#96;', 
            '€'  :   '&#128;', 
            //' '  :   '&#129;', NOT DEFINED
            '‚'  :   '&#130;', 
            'ƒ'  :   '&#131;', 
            '„'  :   '&#132;', 
            '…'  :   '&#133;', 
            '†'  :   '&#134;', 
            '‡'  :   '&#135;', 
            'ˆ'  :   '&#136;', 
            '‰'  :   '&#137;', 
            'Š'  :   '&#138;', 
            '‹'  :   '&#139;', 
            'Œ'  :   '&#140;', 
            //' '  :   '&#141;', NOT DEFINED
            'Ž'  :   '&#142;', 
            //' '  :   '&#143;', NOT DEFINED
            //' '  :   '&#144;', NOT DEFINED
            '‘'  :   '&#145;', 
            '’'  :   '&#146;', 
            '“'  :   '&#147;', 
            '”'  :   '&#148;', 
            '•'  :   '&#149;', 
            '–'  :   '&#150;', 
            '—'  :   '&#151;', 
            '˜'  :   '&#152;', 
            '™'  :   '&#153;', 
            'š'  :   '&#154;', 
            '›'  :   '&#155;', 
            'œ'  :   '&#156;', 
            //' '  :   '&#157;', NOT DEFINED
            'ž'  :   '&#158;', 
            'Ÿ'  :   '&#159;',             
            //' '  :   '&#160;', normal space
            '¡'  :   '&#161;',     
            '¢'  :   '&#162;',    
            '£'  :   '&#163;',
            '¤'  :   '&#164;',
            '¥'  :   '&#165;',     
            '¦'  :   '&#166;',     
            '§'  :   '&#167;',
            '¨'  :   '&#168;',     
            '©'  :   '&#169;',    
            'ª'  :   '&#170;',    
            '«'  :   '&#171;',
            '¬'  :   '&#172;',
            //' '  :   '&#173;',  NOT DEFINED
            '®'  :   '&#174;',
            '¯'  :   '&#175;',
            '°'  :   '&#176;',
            '±'  :   '&#177;',
            '²'  :   '&#178;',
            '³'  :   '&#179;',
            '´'  :   '&#180;',
            'µ'  :   '&#181;',    
            '¶'  :   '&#182;',    
            '·'  :   '&#183;',    
            '¸'  :   '&#184;',    
            '¹'  :   '&#185;',    
            'º'  :   '&#186;',    
            '»'  :   '&#187;',
            '¼'  :   '&#188;',
            '½'  :   '&#189;',
            '¾'  :   '&#190;',
            '¿'  :   '&#191;',     
            'À'  :   '&#192;',
            'Á'  :   '&#193;',    
            'Â'  :   '&#194;',
            'Ã'  :   '&#195;',
            'Ä'  :   '&#196;',
            'Å'  :   '&#197;',
            'Æ'  :   '&#198;',
            'Ç'  :   '&#199;',
            'È'  :   '&#200;',
            'É'  :   '&#201;',
            'Ê'  :   '&#202;',
            'Ë'  :   '&#203;',
            'Ì'  :   '&#204;',
            'Í'  :   '&#205;',
            'Î'  :   '&#206;',
            'Ï'  :   '&#207;', 
            'Ð'  :   '&#208;', 
            'Ñ'  :   '&#209;',
            'Ò'  :   '&#210;',
            'Ó'  :   '&#211;',
            'Ô'  :   '&#212;',
            'Õ'  :   '&#213;',
            'Ö'  :   '&#214;',
            '×'  :   '&#215;',
            'Ø'  :   '&#216;',
            'Ù'  :   '&#217;',
            'Ú'  :   '&#218;',
            'Û'  :   '&#219;',
            'Ü'  :   '&#220;',
            'Ý'  :   '&#221;',
            'Þ'  :   '&#222;',
            'ß'  :   '&#223;',
            'à'  :   '&#224;',
            'á'  :   '&#225;',
            'â'  :   '&#226;',
            'ã'  :   '&#227;',    
            'ä'  :   '&#228;',
            'å'  :   '&#229;',
            'æ'  :   '&#230;',
            'ç'  :   '&#231;',
            'è'  :   '&#232;',
            'é'  :   '&#233;',
            'ê'  :   '&#234;',
            'ë'  :   '&#235;',
            'ì'  :   '&#236;',
            'í'  :   '&#237;',
            'î'  :   '&#238;',
            'ï'  :   '&#239;',
            'ð'  :   '&#240;',
            'ñ'  :   '&#241;',
            'ò'  :   '&#242;',
            'ó'  :   '&#243;',
            'ô'  :   '&#244;',
            'õ'  :   '&#245;',
            'ö'  :   '&#246;',
            '÷'  :   '&#247;',
            'ø'  :   '&#248;',
            'ù'  :   '&#249;',
            'ú'  :   '&#250;',
            'û'  :   '&#251;',
            'ü'  :   '&#252;',
            'ý'  :   '&#253;',
            'þ'  :   '&#254;',
            'ÿ'  :   '&#255;' 
        };
        string = String(string);
        for(var k in tt){
            string.replace(k, tt[k]);
        } 
        return string;
    }
 
