	
		// document object
		var XMLconfigdoc=new ActiveXObject("Microsoft.XMLDOM");
		// document element object
		var xmlconfigObj;
		// Application settings
		var settings="";
		// BaseURL
		var baseURL=""; 
		// Flash files
		var Flashfilepath="";
		// Image Folder
		var ImageFolder="";
		// Language based Images Folder
		var sLngImgsFolder="";
		// Country Image folder
		var ctryPath="";
		// Language folder
		var LngFldr="";
		// MataData File Path
		var MatadataFilePath="";
		// Script Folder Path
		var ScriptFolder="";
		// Metadata file name
		var MDFilename="";
		// URL for export bitmap
		var ExportMapURl="";
		// language code
		var lngcode="";
		// admin or user
		var Admin="";
		// DownloadPdfUrl
		var pdfurl="";
		// PageName
		var pageName="";
		// CountryID
		var ctryID="";
		// Required OAs, getting from QueryString.
		var QS_OAs="";
		// Data Folder Path
		var dataFldr="";
		// Areas Folder Path
		var FlashConfigFldr="";
		// FONT URL
		var fontURL="";
		
								
		
		function loadCFSconfiguration(filename,Name)
		{							
			this.pageName=Name;			
			if(navigator.appName=="Microsoft Internet Explorer")
			{
			this.XMLconfigdoc.async="false";
			this.XMLconfigdoc.onreadystatechange=this.readApplicationSettings;
			this.XMLconfigdoc.load(filename);
			}
			else
			{						
			var xmlhttp = new window.XMLHttpRequest();			
			//xmlhttp.onreadystatechange=;
			xmlhttp.open("GET",filename,false);						
			xmlhttp.send(null);									
			XMLconfigdoc = xmlhttp.responseXML.documentElement;					
			this.readApplicationSettings();
			}
		}
		
		function readApplicationSettings()
		{
			if(navigator.appName=="Microsoft Internet Explorer")
			{				
				// 0 Object is not initialized
				// 1 Loading object is loading data
				// 2 Loaded object has loaded data
				// 3 Data from object can be worked with
				// 4 Object completely initialized
				if (this.XMLconfigdoc.readyState == 4)
				{
					this.xmlconfigObj=this.XMLconfigdoc.documentElement;
					var childlen=this.xmlconfigObj.childNodes.length;
					for(var i=0;i<childlen;i++)
					{
						var child=this.xmlconfigObj.childNodes(i);
						this.settings+=child.getAttribute("key")+"{}"+child.getAttribute("value")+"|";
					}					
					// set all variable, required in the application
					this.setResourcePath();					
					// Load Metadata File
					setTimeout("this.loadXML(this.MatadataFilePath)",1000);
				}
				else
				{
				  return false;
				}
			}
			else
			{								
				var elementsObj=this.XMLconfigdoc.getElementsByTagName("add");
				var childlen=elementsObj.length;				
				for(var i=0;i<childlen;i++)
				{						
					var child=elementsObj[i];					
					this.settings+=child.attributes["key"].nodeValue+"{}"+child.attributes["value"].nodeValue+"|";										 
				}											
				this.settings=this.settings.replace("undefined","");
				// set all variable, required in the application
				this.setResourcePath();					
				// Load Metadata File								
				setTimeout("this.loadXML(this.MatadataFilePath)",1000);
			}
			

		}
				
		
		
		
		function returnvalue(key)
		{
			var value="";
			var settingsList=this.settings.split("|");
			if(settingsList.length>0)
			{
				for(var i=0;i<settingsList.length;i++)
				{
					if(settingsList[i].length>0)
					{
						var appsetting=settingsList[i].split("{}");					
						if(appsetting[0]==key)
						{
							value=appsetting[1];							
							break;
						}
					}
				}
			}
			return value;
		}
		
		// get QueryString Value
		function queryStringValue(findName)
		{
			var name = "";
			var value = "null";
			var querystring = document.location.href;			
			if(querystring.indexOf("?")==-1)
			{
				return "null";
			}				
			querystring = querystring.split("?");
			querystring = querystring[1].split("&");
			for(q=0;q<querystring.length;q++)
			{
				var pair = querystring[q].split("=");
				name = pair[0].toLowerCase();				
				if(findName.toLowerCase() == name)
				{
					value = pair[1].toLowerCase();
				}
			}
			return value;
		}			
		
		// set resource's path using in application
		function setResourcePath()
		{
			// Folder Path
			this.lngcode=this.queryStringValue("lng_code");			
			if(this.lngcode=="null")
			{
				this.lngcode=this.returnvalue('def_lng_code');
			}			
			this.ctryID=this.queryStringValue("country_id").toUpperCase();			
			this.baseURL=this.returnvalue('fldr_assets')+"/"+this.lngcode;
			this.Flashfilepath=this.returnvalue('fldr_flashfiles');
			this.sLngImgsFolder=this.baseURL+"/images/";
			this.ctryPath=this.ImageFolder+this.ctryID;			
			this.LngFldr=this.baseURL;
			this.MDFilename=this.returnvalue('file_metadata');
			this.MatadataFilePath=this.baseURL+"/"+this.MDFilename;
			this.ScriptFolder=this.returnvalue('fldr_script');		
			this.ImageFolder=this.returnvalue('fldr_themes')+"/"+this.returnvalue('fldr_def_theme')+"/images/";		
			//this.pdfurl=this.returnvalue('downloadpdfURL');
			this.ExportMapURl=this.returnvalue('exportURL');
			this.Admin=this.queryStringValue("a");						
			this.QS_OAs=this.queryStringValue("OAs");			
			this.dataFldr=this.returnvalue('fldr_data');
			this.FlashConfigFldr=this.returnvalue('fldr_flash_config');
			this.fontURL="http://www.unaids.org/cfs/stock/flashfiles/fonts.swf";
			if (this.lngcode=="ru")
			{
				this.fontURL="http://www.unaids.org/cfs/stock/flashfiles/fonts-ru.swf";
			}
		}		
				
		
		// get BaseURL
		function getBaseURL()
		{			
			var Baseurl = document.location.href;						
			var index = Baseurl.lastIndexOf("/");
			Baseurl = Baseurl.substr(0,index+1);
			return Baseurl;
		}			

		
		  /**************dynamically load js and css file******************************/        
    
	function loadjscssfile(filename, filetype)
    {
    try
    {
     if (filetype=="js")
        { 
         //if filename is a external JavaScript file
         var fileref=document.createElement('script')
         fileref.setAttribute("type","text/javascript")
         fileref.setAttribute("src", filename)
         fileref.setAttribute("charset","utf-8")
        }
    else if (filetype=="css")
        { 
         //if filename is an external CSS file
         var fileref=document.createElement("link")
         fileref.setAttribute("rel", "stylesheet")
         fileref.setAttribute("type", "text/css")
         fileref.setAttribute("href", filename)
        } 
    document.getElementsByTagName("head")[0].appendChild(fileref);
    }
    catch(ex){    
    }
    }

    // ***********call loadjscssfile function*************************
    function preloadjscssfile()
    {
    try{
        // to set javascript file
        loadjscssfile(ScriptFolder+"Logicfile.js",'js');        
        loadjscssfile(ScriptFolder+"jquery.ui.swappable.js",'js');
        loadjscssfile(ScriptFolder+"IEreadOA_Metadata.js",'js');           
                        
        // to set css file
        loadjscssfile(this.ImageFolder.replace("images/","")+"style.css",'css');                        
        }
    catch(ex){    
        }
    }
    
		
		
