   function get_centres_from_xml()
   {    var url = "/elang-maps/centres.xml";
	    var xml = new JKL.ParseXML( url );
	    var data = xml.parse();
	    var i = 0;
	    var l = 0;

		while ( i<=l ) //calculate the number of elements.
		{    myName="";
			 if(data.mapcentres.mapcentre[i])
			 {    myName= data.mapcentres.mapcentre[i].name;
	         }
			 i=i+1;
			 if( myName!="" )
			 {    l=i;
			 }
		}

		var centre_data = {};
		i=0;
	    while( i<l )
		{    myName="";
	       	 myName=myName + data.mapcentres.mapcentre[i].name;
	       	 myLat=data.mapcentres.mapcentre[i].lat;
	       	 myLong=data.mapcentres.mapcentre[i].long;
	       	 myZoom=data.mapcentres.mapcentre[i].zoom;
			 myLoadLayers=data.mapcentres.mapcentre[i].loadlayers;

			 centre_data[myName] = {lat:myLat, long:myLong, zoom:myZoom, layer:myLoadLayers};
	       	 if( myName!="" )
		   	 {    i=i+1;
		   	 }
		}
		return centre_data;
   }

   function get_pins_from_xml()
   {    var url = "/elang-maps/pins.xml";
	    var xml = new JKL.ParseXML( url );
	    var data = xml.parse();
	    var i = 0;
	    var l = 0;

		while ( i<=l ) //calculate the number of elements.
		{    myName="";
			 if(data.pins.pin[i])
			 {    myName= data.pins.pin[i].title_en;
	         }
			 i=i+1;
			 if( myName!="" )
			 {    l=i;
			 }
		}
		var pin_data= new Array();
		i=0;
   		while( i<l )
		{    myTitleEn="";
		  	 myTitleCy="";
	       	 myTitleEn=myTitleEn + data.pins.pin[i].title_en;
	       	 myTitleCy=myTitleCy + data.pins.pin[i].title_cy;
	       	 myLat=data.pins.pin[i].lat;
	       	 myLong=data.pins.pin[i].long;
			 MyDescen=data.pins.pin[i].desc_en;
			 MyDesccy=data.pins.pin[i].desc_cy;
             MySize=data.pins.pin[i].size;
             MyLayer=data.pins.pin[i].layer;
             var item = { lat : myLat, long : myLong
			 	 	  	,  title: {en:myTitleEn, cy:myTitleCy}
						,  desc: {en: MyDescen, cy:MyDesccy}
					   	,  size: MySize
					   	,  layer: MyLayer};

			 pin_data.push( item ) ;

	       	 if( myTitleEn!="" )
		   	 {    i=i+1;
		   	 }
		}  
		return pin_data;
	}
	
   function get_layers_from_xml()
   {    var url = "/elang-maps/layers.xml";
	    var xml = new JKL.ParseXML( url );
	    var data = xml.parse();
	    var i = 0;
	    var l = 0;

		while ( i<=l ) //calculate the number of elements.
		{    myName="";
			 if(data.maplayers.maplayer[i])
			 {    myName= data.maplayers.maplayer[i].layer_name;
	         }
			 i=i+1;
			 if( myName!="" )
			 {    l=i;
			 }
		}
        
		var layer_data = {};
		i=0;
	    while( i<l )
		{    myName="";
	       	 myName=myName + data.maplayers.maplayer[i].layer_name;
	       	 myFullName=data.maplayers.maplayer[i].layer_full_name;
	       	 myFullNameCy=data.maplayers.maplayer[i].layer_full_name_cy;
	       	 myControl=data.maplayers.maplayer[i].layer_control;
	       	 myCustomMarker=data.maplayers.maplayer[i].layer_custom_marker;  
			 layer_data[myName] = {fullname:myFullName, fullnamecy:myFullNameCy,control:myControl, custom:myCustomMarker};
          if( myName!="" )
		   	 {    i=i+1;
		   	 }
		}

 	var markerlayers =new Array();
    i=0;
	    while( i<l )
		{    myName="";
	       	 myName=myName + data.maplayers.maplayer[i].layer_name;
	       	 myFullName=data.maplayers.maplayer[i].layer_full_name;
	       	 myFullNameCy=data.maplayers.maplayer[i].layer_full_name_cy;
	       	 myControl=data.maplayers.maplayer[i].layer_control;
	       	 myCustomMarker=data.maplayers.maplayer[i].layer_custom_marker;
    var item = { name:myName,
			 	 	  	  fullname:myFullName,
						  fullnamecy:myFullNameCy,
						  control:myControl, 
						  custom:myCustomMarker
						};
    		markerlayers.push( item ) ;
	       	 if( myName!="" )
		   	 {    i=i+1;
		   	 }
		}
		object_and_array=new Array(layer_data, markerlayers);
		return object_and_array;
   }
