Array.prototype.deepsort= function()
{
    var i, order= arguments, L= order.length, tem;
    return this.sort(function(a, b)
	{
		i= 0;
	    while(i<L)
		{
	    	tem= order[i++];
	    	var ao= a[tem] || 0, bo= b[tem] || 0;
	    	if(ao== bo) continue;
	    	return ao> bo? 1: -1;
		}
		return 0;
	});
}    

	if (window.XMLHttpRequest)
	{
		xhttp=new XMLHttpRequest();
	}
	else // Internet Explorer 5/6
	{
		xhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xhttp.open("GET","list.xml",false);
	xhttp.send("");
	xmlDoc=xhttp.responseXML; 	
	
	//-------------------------------------------------------
	var levels = xmlDoc.getElementsByTagName("level");
	
	var arr_levels = new Array();
	
	sortByFloor=function(floorNum)
	{		
		var floorNumber = floorNum - 1
		for (i=0;i<levels[floorNumber].getElementsByTagName("space").length;i++)
		{				
			document.write("<span class='bodyNumber'>");
			document.write(levels[floorNumber].getElementsByTagName("space")[i].getAttribute("num")+" - ")
		   // document.write("<span class='bodyNumber'>");
			if(levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("rep")[0] == undefined)
			{  
			     for (j=0;j<levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company").length;j++)
				{
				     var currComp = levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("name")
				     var currNum = levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("id")
				     document.write("<a href='exb.php?id="+currNum+"'>"+currComp+"</a>");
				     if(j < levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company").length -1)
				     {
				          document.write(", ")
				     }
				     else
				     {
				          document.write("<br>")
				     }  
			     }
			}
			
			else if(levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("rep")[0].getAttribute("name") != undefined)
			{
				var currRep = levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("rep")[0].getAttribute("name")
				var currRepId = levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("rep")[0].getAttribute("id")
				
				document.write("<a href='exb.php?id="+currRepId+"' >"+currRep+"</a>");				
				document.write(" including: ")
				
				for (j=0;j<levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company").length;j++)
				{
					var currComp = levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("name")
					var currCompId = levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("id")

					document.write("<a href='exb.php?id="+currCompId+"' >"+currComp+"</a>");
					if(j < levels[floorNumber].getElementsByTagName("space")[i].getElementsByTagName("company").length -1)
					{
						document.write(", ")
					}
				}
				document.write("<br>")
			}	
		}
	}
	sortByAlphabet=function()
	{	      
		var allShowing = new Array();
			
		for(h=0;h<levels.length;h++)
		{
			for (i=0;i<levels[h].getElementsByTagName("space").length;i++)
			{
				for (j=0;j<levels[h].getElementsByTagName("space")[i].getElementsByTagName("company").length;j++)
				{
					if (levels[h].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("dup") == "true")
					{
					}
					else
					{
						allShowing.push([levels[h].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("name"), levels[h].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("id")])
						//alert("floor ="+h+" space ="+i+" comp ="+j)
					}
				}
				for (j=0;j<levels[h].getElementsByTagName("space")[i].getElementsByTagName("rep").length;j++)
				{
					allShowing.push([levels[h].getElementsByTagName("space")[i].getElementsByTagName("rep")[0].getAttribute("name"), levels[h].getElementsByTagName("space")[i].getElementsByTagName("rep")[0].getAttribute("id")])
					//alert("floor ="+h+" space ="+i+" rep ="+j)
				}
			}
		}
		allShowing.deepsort(0).join('\n');
		for(l=0;l<allShowing.length;l++)
		{    
		     if(allShowing[l][1] == 00000)
		     {
		          //document.write("<span class='bodyWhite'>"+allShowing[l][0]+"</span><br>"); 
		     }
		     else
		     {
		          document.write("<a href='exb.php?id="+allShowing[l][1]+"' class='white'>"+allShowing[l][0]+"</a><br>");  
	          }
		}
	}   
	
	findMeACompany=function(a)
	{   
		var howManyItems = new Array();
		            
		for(h=0;h<levels.length;h++)
		{
			for (i=0;i<levels[h].getElementsByTagName("space").length;i++)
			{
				for (j=0;j<levels[h].getElementsByTagName("space")[i].getElementsByTagName("company").length;j++)
				{
					if ( a == levels[h].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("id") )
					{      
						//Pushes values into an array if elements are the same ID of the company, used to determin number and show only one. 
						howManyItems.push(levels[h].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("id"))
						
						//assigns values to variables for display on exb.php page                                                                                                        
						var selectedRoomNum = levels[h].getElementsByTagName("space")[i].getAttribute("num")   
						var selectedCompany = levels[h].getElementsByTagName("space")[i].getElementsByTagName("company")[j].getAttribute("name") 
						var selectedID = a 
						
						//ensures that if there are multiple values for a company it doesn't display multiple images or items    
						if (howManyItems.length  <= 1)
						{                                                        
							//this line places image of requested comany.
							document.write('<img src="images/logos/'+a+'.gif" width="300" height="300" style="padding:20px; background-color: #FFFFFF;"')  
							
							//the following lines pull data from xml and use it to populate the information fields.
						   
						//document.write('<td width="264">') 
						
							//this is where all data about the supplier goes and gets translated.
							                                                                    
							
							
					   //document.write('</td>')
						}
					}
				}
			}
		}    
		//this clears up the array so that future items don't get mixed up
		howManyItems.length = 0		
	}      
	
	
	//sortByAlphabet()
    // sortByFloor(1)       
	document.write("</span>")
