// JavaScript Document
//得到xml上下文 
function getXMLHandler(xmlFile){ 
  var xmlDoc;
  if(window.ActiveXObject){ 
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    xmlDoc.async=false; 
    xmlDoc.onreadystatechange = function() { 
      if(xmlDoc.readyState == 4);// doAction(); 
    } 
    xmlDoc.load(xmlFile); 
  }
  else if(document.implementation&&document.implementation.createDocument){ 
    xmlDoc=document.implementation.createDocument('','',null); 
    //xmlDoc.onload=doAction(); 
    xmlDoc.load(xmlFile); 
  }
  else 
    return null; 
  return xmlDoc; 
}

//得到节点值
//xmlFile:XML文件
//language:语言
//tagName:元素名
/*getTransport=function() {
	return Try.these(
			function() { return new XMLHttpRequest() },
			function() { return new ActiveXObject('Msxml2.XMLHTTP') },
			function() { return new ActiveXObject('Microsoft.XMLHTTP') }
		) || false;
}
function getXMLHandler(xmlFile){ 
	xmlDoc=getTransport();
	xmlDoc.load(xmlFile); 
}*/
function getNodeValue(xmlFile,language,tagName){
  var xmlDoc = getXMLHandler(xmlFile);
  if( xmlDoc.getElementsByTagName(tagName).length > 0)
  {
	  if(language == "en")
	  {
		 return xmlDoc.getElementsByTagName(tagName)[0].childNodes[0].firstChild.nodeValue;
	  }
	  else
	  {
		 return xmlDoc.getElementsByTagName(tagName)[0].childNodes[1].firstChild.nodeValue;
	  }
  }
}

//转变元素语言
//targetDocument:文档,tag:标签名,propertyToSet:方式,language:语言
function TranslateElements( targetDocument, tag, propertyToSet, language )
{
        var e = targetDocument.getElementsByTagName(tag) ;
        for ( var i = 0 ; i < e.length ; i++ )
        {
                var sKey = e[i].getAttribute('id') ;
                if ( sKey)
                {
                        var s = getNodeValue('language.xml',language,(sKey.substring(1,sKey.length)).toLowerCase());
                        if ( s ) 
                                eval( 'e[i].' + propertyToSet + ' = s' ) ;
                }
        }
}

function TranslatePage( language )
{
        this.TranslateElements( document, 'input', 'value',language );
        this.TranslateElements( document, 'span', 'innerHTML',language) ;
        this.TranslateElements( document, 'LABEL', 'innerHTML',language);
}