MSG.js 1.97 KB
Newer Older
Thitichaipun Wutthisak committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
if( document.implementation.hasFeature("XPath", "3.0") )
{
	XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
	{
		if( !xNode ) { xNode = this; } 

		var oNSResolver = this.createNSResolver(this.documentElement)
		var results = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null)

        return results.singleNodeValue; 

	}

	Element.prototype.selectSingleNode = function(cXPathString)
	{	
		if(this.ownerDocument.selectSingleNode)
		{
			return this.ownerDocument.selectSingleNode(cXPathString, this);
		}
		else{throw "For XML Elements Only";}
	}

}

if(window.ActiveXObject){
    var msgLoader = new ActiveXObject("Msxml.DOMDocument");
    msgLoader.async = false;
    msgLoader.load("XML/MSG.xml");
	if(!msgLoader){
       msgLoader.load("../XML/MSG.xml");
	}
	 msgobjDOM = msgLoader;

}else if(window.XMLHttpRequest) {
	var msgLoader = new XMLHttpRequest();
   msgLoader.open("GET", "XML/MSG.xml" ,false); 
	if(!msgLoader){
      msgLoader.open("GET", "../XML/MSG.xml", false);
	}
    msgLoader.send(null);
    msgobjDOM = msgLoader.responseXML;

 }else{
	msgobjDOM = null;
 }

var mylang="";

function msgSwap(nodes)
{
	var value = msgSwap2String(nodes);
	if(value != null)
	{
		document.write(value);
	}else{
		document.write(nodes);
	}
}

function msgSwap2String(nodes){
	if(nodes == "" || nodes == null){
		return nodes;
	}
		mynodes = nodes;
		var exp = new RegExp(/[\W]/);
		//var exp = new RegExp(/[\(\)\[\]\#\$\<\>\/\s]/);
	
		msgobjMainNode=msgobjDOM.selectSingleNode("/msg/"+mynodes);
		
		//alert("mainnode------------>>>>"+msgobjMainNode);
		//alert("dom------------>>>>"+msgobjDOM);

		if(msgobjMainNode != null){ 

		for(var c=0;c<msgobjMainNode.childNodes.length;c++){
				if(getMsgLang()==msgobjMainNode.childNodes[c].nodeName){
					return msgobjMainNode.childNodes[c].firstChild.nodeValue;
				}
		}
		}else{
			return mynodes;
		}
}

function getMsgLang(){
	return  mylang;
}

function setMsgLang(msglang){
		mylang=msglang;
}