var xmlDoc;
var GEO_LANG_ID= "EN";

main();    //Create XML Paser
function main()
{	
	GetUsrLanguage();	
	loadXML("WebTable.xml");	
}		
	
function loadXML(fileName) 
{	
	// code for IE
	if (window.ActiveXObject)
	{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load(fileName);
		return xmlDoc;
	}
	else if (window.XMLHttpRequest)
	{
		xmlDoc=new window.XMLHttpRequest();
		xmlDoc.open("GET",fileName,false);
		xmlDoc.send("");		
		return xmlDoc.responseXML;
	}
	else
	{
	  	//alert('Your browser cannot handle this script');
	}

	return null;
}


function MySelectSingleNode(xmlDocObj, elementPath)
{
    
	if(window.ActiveXObject)
	{
		if( xmlDocObj == xmlDoc )
			return xmlDoc.documentElement.selectSingleNode(elementPath);		
		else
			return xmlDocObj.selectSingleNode(elementPath);
		
	}
	else
	{		
		if( xmlDocObj == xmlDoc )
			return xmlDoc.responseXML.getElementsByTagName(elementPath);
		
		else		
			return xmlDocObj[0].getElementsByTagName(elementPath);		
	}
}

function MyLoadString(singleNodeValue)
{
	if(window.ActiveXObject){
		
		return singleNodeValue.text;
	}
	else{			
		return singleNodeValue[0].textContent
	}
}

function GetUsrLanguage()
{  
	var CY,Temp;
   
	if(window.ActiveXObject)
		CY=(navigator.userLanguage).toLowerCase();  
	else
		CY=(navigator.language).toLowerCase();  
   
	Temp = CY.substring(0,2);   

	if(CY == "zh-tw" || CY == "zh-hk" )  
	{
		GEO_LANG_ID = "TC"; 
	}
	else if(CY == "zh-ch" || CY == "zh-cn"  || CY == "zh-sg" )
	{
		GEO_LANG_ID = "SC"; 
	}
	else if(CY == "ja")
	{
		GEO_LANG_ID = "JPN"; 
	}
	else if(CY == "fr-be"||CY == "fr-ch" ||CY == "fr")
	{
		GEO_LANG_ID = "FRA";  
	}
	else if(Temp == "de")
	{
		GEO_LANG_ID = "GEN";  
	}
	else if(CY == "pl")
	{
		GEO_LANG_ID = "POL";  
	}
	else if(CY == "pt-br"||CY == "pt")
	{
		GEO_LANG_ID = "PTU";  
	}
	else if(Temp == "es")
	{
		GEO_LANG_ID = "SPN"; 
	}
	else if(CY == "ru")
	{   	
		GEO_LANG_ID = "RUS";  
	}
	else if(CY == "ar-iq" || CY == "ar-ly" || CY == "ar-ma" || CY == "ar-om" || CY == "ar-sy" ||  CY == "ar-lb"|| CY == "ar-ae"|| CY == "ar-qa"
	|| CY == "ar-sa" || CY == "ar-eg" || CY == "ar-dz" || CY == "ar-tn" || CY == "ar-ye" || CY == "ar-jo" || CY == "ar-kw"|| CY == "ar-bn")
	{   	
		GEO_LANG_ID = "ARB";  
	}
	else if(CY == "he")
	{   	
		GEO_LANG_ID = "HEB";  
	}
	else if(CY == "it")
	{   	
		GEO_LANG_ID = "ITA";  
	}
	else if(CY == "cs" || CY == "sk")
	{
		GEO_LANG_ID = "CZH";  
	}
	else if(CY == "da")
	{
		GEO_LANG_ID = "DAN";  
	}
	else if(CY == "th")
	{
		GEO_LANG_ID = "TAI";  
	}
	else if(CY == "nl")
	{
		GEO_LANG_ID = "NLD";  
	}
	else if(CY=="sl" || CY=="sr")
	{
		GEO_LANG_ID = "SRL";  
	}
	else if(CY == "hu")
	{
		GEO_LANG_ID = "HUN";
	}
	else
	{
		GEO_LANG_ID = "EN";  
	}  
}

function GetXML(STRING_ID)
{
	var  pElement;
	var  pLangResult;
	
	  
	if( xmlDoc != null )
	{
		
		
		try
		{					
			pElement=MySelectSingleNode(xmlDoc,STRING_ID);			
			
			if( pElement == null )
				return STRING_ID;
		}
		catch (e)
		{				
			return "";
		}		
		
		 
		try
		{
			pLangResult = MySelectSingleNode(pElement,GEO_LANG_ID);

			if( pLangResult == null )
			{
				var pEN = MySelectSingleNode(pElement,"EN");

				if(pEN == null)
					return STRING_ID;
				else
					return MyLoadString(pEN);			 	
			}
			else
			{
				var sText = MyLoadString(pLangResult);
				if( sText == "" ){					
					var pEN = MySelectSingleNode(pElement,"EN");

					if(pEN == null)
						return STRING_ID;
					else
						return MyLoadString(pEN);
				}
				
				return sText;
			}
		}
		catch (e)
		{
			return "";	
		}
		 
	}
}


function  LoadString(STRING_ID) 
{	
	document.write(GetXML(STRING_ID));
}

function  LoadGetString(ID) 
{
	return GetXML(ID);
}
