// JavaScript Document
var xmldoc = null;
var pagename = "about fluor:locations";
var tracklinkfunction="ontracklink(this);";

// JFrost: moved inline script into offices.js and created NonFlashPageLoad function
function NonFlashPageLoad() {
	document.getElementById("locations").selectedIndex = 0;
	officelist_html("");
}

function Browser()
{
    var ua, s, i;
    this.isIE = false;
    this.isNS = false;
    this.isOP = false;
    this.isSF = false;
    ua = navigator.userAgent.toLowerCase();
    s = "opera";
    if ((i = ua.indexOf(s)) >= 0) {
       this.isOP = true;return;
    }
    s = "msie";
    if ((i = ua.indexOf(s)) >= 0) {
       this.isIE = true;return;
    }
    s = "netscape6/";
    if ((i = ua.indexOf(s)) >= 0) {
       this.isNS = true;return;
    }
    s = "gecko";
    if ((i = ua.indexOf(s)) >= 0) {
       this.isNS = true;return;
    }
    s = "safari";
    if ((i = ua.indexOf(s)) >= 0) {
       this.isSF = true;return;
    }
}


var allLoaded = false;
var naLoaded = false;
var laLoaded = false;
var eaLoaded = false;
var saLoaded = false;
var meLoaded = false;
var weLoaded = false;
var eeLoaded = false;
var seaLoaded = false;
var auLoaded = false;
var afLoaded = false;

function RequestByGet(data)
{ 
	
	var xmlhttp;
	try{
		xmlhttp=new XMLHttpRequest();
	}
	catch(e)
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	//Webservice location.
	var _url;	
	
	/*if (data == "" || data == "All"){
		_url = "xml/allregions.xml";
		allLoaded = true;
	}else if (data == "North America"){
		_url = "xml/northamerica.xml";
		naLoaded = true;
	}else if (data == "Latin America %26 Caribbean"){
		_url = "xml/latinamerica.xml";
		laLoaded = true;
	}else if (data == "Eastern Asia"){
		_url = "xml/easternasia.xml";
		eaLoaded = true;
	}else if (data == "Southern Asia"){
		_url = "xml/southernasia.xml";
		saLoaded = true;
	}else if (data == "Middle East"){
		_url = "xml/middleeast.xml";
		meLoaded = true;
	}else if (data == "Western Europe"){
		_url = "xml/westerneurope.xml";
		weLoaded = true;
	}else if (data == "Eastern Europe"){
		_url = "xml/easterneurope.xml";
		eeLoaded = true;
	}else if (data == "South-Eastern Asia"){
		_url = "xml/southeasternasia.xml";
		seaLoaded = true;
	}else if (data == "Australia / NZ"){
		_url = "xml/australia.xml";
		auLoaded = true;
	}else if (data == "Africa"){
		_url = "xml/africa.xml";
		afLoaded = true;
	}*/
	
	if (data == "" || data == "All"){
		_url = "/_layouts/Offices/Default.aspx"
		//_url = "xml/allregions.xml";
		allLoaded = true;
		regionID = 0;
	}else if (data == "North America"){
		regionID = 1;
		DisplayOffice(regionID);
	}else if (data == "Latin America %26 Caribbean"){
		regionID = 2;
		DisplayOffice(regionID);
	}else if (data == "Eastern Asia"){
		regionID = 3;
		DisplayOffice(regionID);
	}else if (data == "Southern Asia"){
		regionID = 4;
		DisplayOffice(regionID);
	}else if (data == "Middle East"){
		regionID = 5;
		DisplayOffice(regionID);
	}else if (data == "Western Europe"){
		regionID = 6;
		DisplayOffice(regionID);
	}else if (data == "Eastern Europe"){
		regionID = 7;
		DisplayOffice(regionID);
	}else if (data == "South-Eastern Asia"){
		regionID = 8;
		DisplayOffice(regionID);
	}else if (data == "Australia / NZ"){
		regionID = 9;
		DisplayOffice(regionID);
	}else if (data == "Africa"){
		regionID = 10;
		DisplayOffice(regionID);
	}
	
	xmlhttp.open("GET",_url,false);
		
	var browser = new Browser();
	  
	if (browser.isIE)
	{
	    xmlhttp.onreadystatechange = function(){alertContents(xmlhttp);};
	}
	else
	{
		xmlhttp.onload = function(){alertContents(xmlhttp);};
	}
	  
	xmlhttp.send(null);
	
	xmlhttp = null; 
} 

function alertContents(http_request)
{
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
		var xml = http_request.responseText;
		xmldoc = loadXML(xml);
      } else {
        alert('There was a problem with the request.');
      }
    }
}

function loadXML(xml)
{
	var doc;
	if (window.ActiveXObject){
		try { 
			doc = new ActiveXObject("Msxml2.DOMDocument.3.0"); 
			doc.loadXML(xml); 
			return doc;
		}
		catch(ex)
		{
			alert("2"+ex);
		};
		
		try { 
			doc = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
			doc.loadXML(xml); 
			return doc;
		}
		catch(ex)
		{
			alert("3"+ex);
		}
		try { 
			doc = new ActiveXObject("MSXML2.DOMDocument"); 
			doc.loadXML(xml); 
			return doc; 
		}
		catch(ex)
		{
			alert("4"+ex);
		}
		try { 
			doc = new ActiveXObject("Microsoft.DOMDocument"); 
			doc.loadXML(xml); 
			return doc;
		}
		catch(ex)
		{
			alert("5"+ex);
		}
	}else if (window.XMLHttpRequest){
		try { 
			var domParser =new DOMParser();	
			var doc = domParser.parseFromString(xml,'text/xml');
			return doc;
		}
		catch(ex)
		{
			alert("6"+ex);
		}	
	}
	return null;
}

// JFrost: adding adjustTableHeight to fix layout bug
function adjustTableHeight() {
//	var table_height = document.getElementById('wrapper').offsetHeight;
//	document.getElementById('AboutContent_Table_Td').style.height = table_height + 230;
//	document.getElementById('AboutContent_Table_Td').style.height = table_height;

}

function DisplayOffice(regionID){
	//alert(regionID);
	if (regionID == 0){
		for (var rid=1;rid<=10;rid++){
			//alert(rid);
			document.getElementById("reg"+rid).style.display = "";	
		}
	}else{
		for (var rid=1;rid<=10;rid++){
			if (rid == regionID){
				document.getElementById("reg"+rid).style.display = "";
			}else{
				document.getElementById("reg"+rid).style.display = "none";
			}	
		}
	}
}

function officelist(value)
{
  //alert(value);
  if (document.getElementById('container') && document.getElementById('loading')) {
	document.getElementById('container').style.display = "none";
	document.getElementById('loading').style.display = "";
	//alert(getOffsetTop("wrapper"));
	var browser = new Browser();
	/*if (browser.isIE)
	{
	    document.getElementById("printid").style.top = 320;
	}
	else
	{
		document.getElementById("printid").style.top = 320 + "px";	
	}*/

	
	//alert(document.getElementById("printid").style.top);
	//window.setTimeout("loadList(\"" + value + "\")",1000);
	loadList(value);
	// JFrost: adding setTimeout to call adjustTableHeight to fix layout bug
	window.setTimeout("adjustTableHeight()",500);
  }
}

var allLoadedData = "";
var naLoadedData = "";
var laLoadedData = "";
var eaLoadedData = "";
var saLoadedData = "";
var meLoadedData = "";
var weLoadedData = "";
var eeLoadedData = "";
var seaLoadedData = "";
var auLoadedData = "";
var afLoadedData = "";

function loadList(value)
{
	var loadXMLData = true;
		
	/*if (value == "" || value == "All"){
		if (allLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "North America"){
		if (naLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Latin America %26 Caribbean"){
		if (laLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Eastern Asia"){
		if (eaLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Southern Asia"){
		if (saLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Middle East"){
		if (meLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Western Europe"){
		if (weLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Eastern Europe"){
		if (eeLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "South-Eastern Asia"){
		if (seaLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Australia"){
		if (auLoaded == true){
			loadXMLData = false;	
		}
	}else if (value == "Africa"){
		if (afLoaded == true){
			loadXMLData = false;	
		}
	}*/
	
	if (allLoaded == true){
		loadXMLData = false;	
	}
	
	if (loadXMLData == true){
		RequestByGet(value);   	
		//alert("load");
		if (xmldoc!=null)
		{
			xmldoc.resolveExternals=false;
			xmldoc.async=false;
			var i;
			var officeID = "";
			var ImageURL = "";
			var GoogleMapURL = "";
			var OfficeName = "";
			var Address = "";
			var PhoneNumber = "";
			var FaxNumber = "";
			var Desc = "";
			var root = xmldoc.getElementsByTagName("Result")[0];
			var objNodeList = root.getElementsByTagName("Region");
			var officeBox = document.getElementById('container');
			var alignLt = "";
			var newHTML = "";
			var bnum = 0;
			var headHTML;
			
			
			
			for(i=0; i<objNodeList.length; i++)
			{
				try
				{
					var countryList = objNodeList.item(i).getElementsByTagName("Country");
					
					if (i>0){ 
						newHTML += '<div class="clearRegion"></div></div>';
						bnum = 0;
					};
					newHTML += '<div id="reg' + (i+1) + '"><div id="location_title">';
					newHTML += '<div class="black_text_18px_bold">'+ objNodeList.item(i).getAttribute("Name") +'</div></div>';
					
					for (j=0; j<countryList.length; j++){
						if (countryList.item(j).getAttribute("Name") == "Headquarters"){
							var hqOffices = countryList.item(j).getElementsByTagName("Office");
							if(hqOffices.length >0){
								officeID = hqOffices.item(0).getAttribute("ID");
								if ((navigator.appName == "Microsoft Internet Explorer") || (navigator.appName == "Netscape")){
									ImageURL = hqOffices.item(0).childNodes[7].childNodes[0]==null? "" : hqOffices.item(0).childNodes[7].childNodes[0].nodeValue;
									GoogleMapURL = hqOffices.item(0).childNodes[8].childNodes[0]==null? "" : hqOffices.item(0).childNodes[8].childNodes[0].nodeValue;
									OfficeName = hqOffices.item(0).childNodes[0].childNodes[0] ==null? "" : hqOffices.item(0).childNodes[0].childNodes[0].nodeValue;
									Address = hqOffices.item(0).childNodes[3].childNodes[0] ==null? "" : hqOffices.item(0).childNodes[3].childNodes[0].nodeValue;
									PhoneNumber = hqOffices.item(0).childNodes[5].childNodes[0]==null? "" : hqOffices.item(0).childNodes[5].childNodes[0].nodeValue;
									FaxNumber = hqOffices.item(0).childNodes[6].childNodes[0] == null? "" : hqOffices.item(0).childNodes[6].childNodes[0].nodeValue;
									Desc = hqOffices.item(0).childNodes[10].childNodes[0] == null? "" : hqOffices.item(0).childNodes[10].childNodes[0].nodeValue;

								}else{
									ImageURL = hqOffices.item(0).getElementsByTagName("ImageURL").item(0)==null? "" : hqOffices.item(0).getElementsByTagName("ImageURL").item(0).textContent;
									GoogleMapURL = hqOffices.item(0).getElementsByTagName("GoogleMapURL").item(0) ==null? "" : hqOffices.item(0).getElementsByTagName("GoogleMapURL").item(0).textContent;
									OfficeName = hqOffices.item(0).getElementsByTagName("OfficeName").item(0) == null? "" : hqOffices.item(0).getElementsByTagName("OfficeName").item(0).textContent;
									Address = hqOffices.item(0).getElementsByTagName("Address").item(0) ==null? "" : hqOffices.item(0).getElementsByTagName("Address").item(0).textContent;
									PhoneNumber = hqOffices.item(0).getElementsByTagName("Telephone").item(0) ==null? "" : hqOffices.item(0).getElementsByTagName("Telephone").item(0).textContent;
									FaxNumber = hqOffices.item(0).getElementsByTagName("Fax").item(0) ==null? "" : hqOffices.item(0).getElementsByTagName("Fax").item(0).textContent;
									Desc = hqOffices.item(0).getElementsByTagName("Description").item(0) ==null? "" : hqOffices.item(0).getElementsByTagName("Description").item(0).textContent;
								}
								var hqFax=FaxNumber!=""&&FaxNumber!="<br/>"? "Fax: "+FaxNumber : "";
								var hqTel=PhoneNumber !=""&&PhoneNumber !="<br/>"?  "Tel: "+PhoneNumber : "";
								var mapURL = 'javascript:show_map(\'/_layouts/offices/map.html?'+GoogleMapURL +'\', \'map' + officeID + '\', \'mid\')'; 
								newHTML += "<div id=\"box_large_id\" class=\"box_large\"><div class=\"pic_large\"><img src=\"/SiteCollectionImages/temp_200_155.jpg\" /></div><div class=\"content_rt\"><div class='black_text_18px_bold'>"+OfficeName+"<a id='dot"+officeID+"'></a></div>";
								newHTML += "<span class=\"navyblue_text_12px\"><div id=\"box_text_l\"><div class=\"office_description\">"+Address+"</div>"+hqTel+"<br />"+hqFax+"<br /><div id=\"map"+officeID+"\" class=\"one\"><img src='/SiteCollectionImages/topmoreinfo_arrow.gif' border='0'/> <a onclick='"+tracklinkfunction+"' href=\""+ mapURL +"\" "+"name='"+pagename+" | Map/directions | "+Address+"'"+" class=\"blue_text_12px\">Map/directions</a></div></div><div class=\"hqdesc\">"+Desc+"</div></span></div>";
								newHTML += "</div>";
							}							
						}else{
						var countryURL = countryList.item(j).getAttribute("URL");
						if (countryURL != ""){
							var site = countryURL.split(",");
							var siteURL = site[0];
							var siteName = site[1];
							showSite = "<div id=\"site_url\" class=\"view_large_map\"><a href=\"" + siteURL + "\" target=\"_blank\">" + siteName + "</a></div>";
						}else{
							showSite = "";	
						}
						
						var officeList = countryList.item(j).getElementsByTagName("Office");
						if (j>0 && officeList.length >1){ 
							newHTML += '<div class="clearRegion"></div>';
							bnum = 0;
						};
						
						/*if (officeList.length > 1){
							//newHTML += '<div id="country_title_l"><div class="black_text_16px_bold">'+ countryList.item(j).getAttribute("Name") +'</div>' + showSite + '</div>';
						}else{
							//alert(bnum);
							//if ((bnum % 2)==1){
							//	newHTML += '<div id="country_title_s_lt"><div class="black_text_16px_bold">'+ countryList.item(j).getAttribute("Name") +'</div>' + showSite;
							//} else if ((bnum % 2)==0){
							//	newHTML += '<div id="country_title_s_lt"><div class="black_text_16px_bold">'+ countryList.item(j).getAttribute("Name") +'</div>' + showSite;
							//}
							bnum = bnum + 1;
						}*/
						
						for(k=0; k<officeList.length; k++){
							
							bnum += 1;
							
							if (k == 0){
								newHTML += '<div id="country_title_s_lt"><div class="black_text_16px_bold">'+countryList.item(j).getAttribute("Name") +'</div>' + showSite;
							}else if (k > 2){
								newHTML += '<div id="country_title_s_lt">';
							}else{
								newHTML += '<div id="country_title_s_lt"><div class="black_text_16px_bold">&nbsp;</div>';
							}
							officeID = officeList.item(k).getAttribute("ID");
							if ((navigator.appName == "Microsoft Internet Explorer") || (navigator.appName == "Netscape")){
								ImageURL = officeList.item(k).childNodes[7].childNodes[0]==null? "" : officeList.item(k).childNodes[7].childNodes[0].nodeValue;
								GoogleMapURL = officeList.item(k).childNodes[8].childNodes[0]==null? "" : officeList.item(k).childNodes[8].childNodes[0].nodeValue;
								OfficeName = officeList.item(k).childNodes[0].childNodes[0]==null? "" : officeList.item(k).childNodes[0].childNodes[0].nodeValue;
								Address = officeList.item(k).childNodes[3].childNodes[0]==null? "" : officeList.item(k).childNodes[3].childNodes[0].nodeValue;
								PhoneNumber = officeList.item(k).childNodes[5].childNodes[0] ==null? "" : officeList.item(k).childNodes[5].childNodes[0].nodeValue;
								FaxNumber = officeList.item(k).childNodes[6].childNodes[0]==null? "" : officeList.item(k).childNodes[6].childNodes[0].nodeValue;
							}else{
								ImageURL = officeList.item(k).getElementsByTagName("ImageURL").item(0)==null? "" : officeList.item(k).getElementsByTagName("ImageURL").item(0).textContent;
								GoogleMapURL = officeList.item(k).getElementsByTagName("GoogleMapURL").item(0)==null? "" : officeList.item(k).getElementsByTagName("GoogleMapURL").item(0).textContent;
								OfficeName = officeList.item(k).getElementsByTagName("OfficeName").item(0)==null? "" : officeList.item(k).getElementsByTagName("OfficeName").item(0).textContent;
								Address = officeList.item(k).getElementsByTagName("Address").item(0)==null? "" : officeList.item(k).getElementsByTagName("Address").item(0).textContent;
								PhoneNumber = officeList.item(k).getElementsByTagName("Telephone").item(0)==null? "" : officeList.item(k).getElementsByTagName("Telephone").item(0).textContent;
								FaxNumber = officeList.item(k).getElementsByTagName("Fax").item(0)==null? "" : officeList.item(k).getElementsByTagName("Fax").item(0).textContent;
							}
							
						
							if (GoogleMapURL != "#" && GoogleMapURL != ""){

								// JFrost: added check for pdf
								var zfileExtension = GoogleMapURL.substring(GoogleMapURL.length - 3, GoogleMapURL.length);
								if (zfileExtension == 'pdf' || zfileExtension == 'jpg') {
									var showMap = '<img src="/SiteCollectionImages/topmoreinfo_arrow.gif" border="0"/> <a href="' +GoogleMapURL+ '" target="_blank" class="blue_text_12px" name=\'&lpos='+pagename+' | Map/directions | '+Address +'\'>Map/directions</a> <span class="navyblue_text_12px"><br /> (' +zfileExtension.toUpperCase()+ ')</span>';
//		    						var addrlink = '<a href="' +GoogleMapURL+ '" target="_blank">' +Address+ '</a>';
								} else {
									newMapURL = GoogleMapURL.replace("http://maps.google.com/maps","/_layouts/offices/map.html");
									// JFrost added check for boxes appearing on the right hand side						
									if (((bnum-1) % 3)==0 && officeList.length==1 && bnum != 1){
										var showMap = '<img src="/SiteCollectionImages/topmoreinfo_arrow.gif" border="0"/> <a onclick=\''+tracklinkfunction+'\' href="javascript:show_map(\'' + newMapURL + '\', \'map' + officeID + '\', \'rt\');" class="blue_text_12px" name=\''+pagename+' | Map/directions | '+Address +'\'>Map/directions</a>';
									} else if (((bnum-1) % 3)==1 && officeList.length==1){
										var showMap = '<img src="/SiteCollectionImages/topmoreinfo_arrow.gif" border="0"/> <a onclick=\''+tracklinkfunction+'\' href="javascript:show_map(\'' + newMapURL + '\', \'map' + officeID + '\', \'mid\');" class="blue_text_12px" name=\''+pagename+' | Map/directions | '+Address +'\'>Map/directions</a>';
									} else if (((bnum-1) % 3)==2 && officeList.length==1){
										var showMap = '<img src="/SiteCollectionImages/topmoreinfo_arrow.gif" border="0"/> <a onclick=\''+tracklinkfunction+'\' href="javascript:show_map(\'' + newMapURL + '\', \'map' + officeID + '\', \'lt\');" class="blue_text_12px" name=\''+pagename+' | Map/directions | '+Address +'\'>Map/directions</a>';	
									}else if (((k+1) % 3) == 0){
										var showMap = '<img src="/SiteCollectionImages/topmoreinfo_arrow.gif" border="0"/> <a onclick=\''+tracklinkfunction+'\' href="javascript:show_map(\'' + newMapURL + '\', \'map' + officeID + '\', \'rt\');" class="blue_text_12px" name=\''+pagename+' | Map/directions | '+Address +'\'>Map/directions</a>';
									}else if (((k+1) % 3) == 1){
										var showMap = '<img src="/SiteCollectionImages/topmoreinfo_arrow.gif" border="0"/> <a onclick=\''+tracklinkfunction+'\' href="javascript:show_map(\'' + newMapURL + '\', \'map' + officeID + '\', \'lt\');" class="blue_text_12px" name=\''+pagename+' | Map/directions | '+Address +'\'>Map/directions</a>';
		
									}else if (((k+1) % 3) == 2){
										var showMap = '<img src="/SiteCollectionImages/topmoreinfo_arrow.gif" border="0"/> <a onclick=\''+tracklinkfunction+'\' href="javascript:show_map(\'' + newMapURL + '\', \'map' + officeID + '\', \'mid\');" class="blue_text_12px" name=\''+pagename+' | Map/directions | '+Address +'\'>Map/directions</a>';
		
									}
		//							var showMap = '<a href="javascript:show_map(\'' + GoogleMapURL + '\', \'map' + officeID + '\', \'lt\');" class="blue_text_12px">Map/directions</a>';
									var tt = GoogleMapURL.lastIndexOf("output");
									var large_map = GoogleMapURL.substring(0,tt);
									var map_url = large_map + "source=embed";
									//alert(map_url);
//									var addrlink = "<a href=\"" + map_url + "\" target=\"_blank\" >" + Address + "</a>";
								}
							
							
							}else{
								var showMap = "";
								var addrlink = Address;
							}
							// JFrost: address should be text only (no link)							
							var addrlink = Address;
							
							if (FaxNumber != "<br/>" && FaxNumber != ""){
								showFax = "Fax: " + FaxNumber;
							}else{
								showFax = "";
							}
							
							/*if (((bnum-1) % 3)==1 && officeList.length==1){
								newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '" class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div></div>';
							} else if (((bnum-1) % 3)==2 && officeList.length==1){
								newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '" class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div></div>';	
							} else if (((bnum-1) % 3)==0 && officeList.length==1){
								newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '" class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div></div>';
								newHTML += '<div class="clear"></div>';
							} else if (((k+1) % 3) == 1){
								newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '" class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div></div>';
							} else if (((k+1) % 3) == 2){
								newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '" class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div></div>';
							}else if (((k+1) % 3) == 0){
								newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '"  class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div></div>';
								//newHTML += '<div class="clear"></div>';
							}*/
							//alert(countryList.item(j).getAttribute("Name"));
							newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '" class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div><div style="width:120px; white-space:normal; word-break:break-all;">Tel: ' + PhoneNumber + '<br />' + showFax + '</div></span></div></div></div>';
							
							if (bnum % 3 == 0 && j <= countryList.length-1 && officeList.length >= 3){
								newHTML += '<div class="clear"></div>';
								bnum = 0;
							}else if (bnum % 3 == 0 && j <= countryList.length-1 && officeList.length < 3){
								newHTML += '<div class="clearRegion"></div>';
								bnum = 0;
							}

						}
						}
					}
				}
				catch(err){
	
				}
			}
			if (value == "" || value == "All"){
				allLoadedData = newHTML;
				//alert(allLoadedData);
			}else if (value == "North America"){
				naLoadedData = newHTML;
			}else if (value == "Latin America %26 Caribbean"){
				laLoadedData = newHTML;
			}else if (value == "Eastern Asia"){
				eaLoadedData = newHTML;
			}else if (value == "Southern Asia"){
				saLoadedData = newHTML;
			}else if (value == "Middle East"){
				meLoadedData = newHTML;
			}else if (value == "Western Europe"){
				weLoadedData = newHTML;
			}else if (value == "Eastern Europe"){
				eeLoadedData = newHTML;
			}else if (value == "South-Eastern Asia"){
				seaLoadedData = newHTML;
			}else if (value == "Australia"){
				auLoadedData = newHTML;
			}else if (value == "Africa"){
				afLoadedData = newHTML;
			}
			officeBox.innerHTML = newHTML;
		}
	}else{
		//alert(value);
		/*var officeBox = document.getElementById('container');
		if (value == "" || value == "All"){
			officeBox.innerHTML = allLoadedData;
		}else if (value == "North America"){
			officeBox.innerHTML = naLoadedData;
		}else if (value == "Latin America %26 Caribbean"){
			officeBox.innerHTML = laLoadedData;
		}else if (value == "Eastern Asia"){
			officeBox.innerHTML = eaLoadedData;
		}else if (value == "Southern Asia"){
			officeBox.innerHTML = saLoadedData;
		}else if (value == "Middle East"){
			officeBox.innerHTML = meLoadedData;
		}else if (value == "Western Europe"){
			officeBox.innerHTML = weLoadedData;
		}else if (value == "Eastern Europe"){
			officeBox.innerHTML = eeLoadedData;
		}else if (value == "South-Eastern Asia"){
			officeBox.innerHTML = seaLoadedData;
		}else if (value == "Australia"){
			officeBox.innerHTML = auLoadedData;
		}else if (value == "Africa"){
			officeBox.innerHTML = afLoadedData;
		}
		*/
		var officeBox = document.getElementById('container');
		if (value == "" || value == "All"){
			DisplayOffice(0);
		}else if (value == "North America"){
			DisplayOffice(1);
		}else if (value == "Latin America %26 Caribbean"){
			DisplayOffice(2);
		}else if (value == "Eastern Asia"){
			DisplayOffice(3);
		}else if (value == "Southern Asia"){
			DisplayOffice(4);
		}else if (value == "Middle East"){
			DisplayOffice(5);
		}else if (value == "Western Europe"){
			DisplayOffice(6);
		}else if (value == "Eastern Europe"){
			DisplayOffice(7);
		}else if (value == "South-Eastern Asia"){
			DisplayOffice(8);
		}else if (value == "Australia / NZ"){
			DisplayOffice(9);
		}else if (value == "Africa"){
			DisplayOffice(10);
		}
	}
	document.getElementById('container').style.display = "";
	document.getElementById('loading').style.display = "none";

    // JFrost: adding fix for layout bug
//	var table_height = document.getElementById('wrapper').offsetHeight;
//	document.getElementById('AboutContent_Table_Td').style.height = table_height + 90;
    	
}

function officelist_html(value)
{
	//alert(value);
	document.getElementById('container').style.display = "none";
	document.getElementById('loading').style.display = "";
	
	RequestByGet(value);   	
	
	if (xmldoc!=null)
    {
    	xmldoc.resolveExternals=false;
    	xmldoc.async=false;
    	var i;
		var officeID = "";
		var ImageURL = "";
		var GoogleMapURL = "";
		var OfficeName = "";
		var Address = "";
		var PhoneNumber = "";
		var FaxNumber = "";
    	var root = xmldoc.getElementsByTagName("Result")[0];
    	var objNodeList = root.getElementsByTagName("Region");
		var officeBox = document.getElementById('container');;
		var newHTML = "";
		for(i=0; i<objNodeList.length; i++)
    	{
    		try
    		{
				var countryList = objNodeList.item(i).getElementsByTagName("Country");
				
				if (i>0){ 
					newHTML += '<div class="clear"></div>';
				};
				newHTML += '<div id="location_title">';
				newHTML += '<div class="black_text_18px_bold">'+ objNodeList.item(i).getAttribute("Name") +'</div>';
				for (j=0; j<countryList.length; j++){
					var countryURL = countryList.item(j).getAttribute("URL");
					if (countryURL != ""){
						var site = countryURL.split(",");
						var siteURL = site[0];
						var siteName = site[1];
						showSite = "<div id=\"site_url\" class=\"view_large_map\"><a href=\"" + siteURL + "\" target=\"_blank\">" + siteName + "</a></div>";
					}else{
						showSite = "";	
					}
					
					if (j>0){ 
						newHTML += '<div class="clear"></div>';
					};
					var officeList = countryList.item(j).getElementsByTagName("Office");
					newHTML += '<div id="country_title"><div class="black_text_16px_bold">'+ countryList.item(j).getAttribute("Name") +'</div>' + showSite + '</div></div>';
					
					for(k=0; k<officeList.length; k++){
						officeID = officeList.item(k).getAttribute("ID");
						if ((navigator.appName == "Microsoft Internet Explorer") || (navigator.appName == "Netscape")){
							ImageURL = officeList.item(k).childNodes[7].childNodes[0]==null? "": officeList.item(k).childNodes[7].childNodes[0].nodeValue;
							GoogleMapURL = officeList.item(k).childNodes[8].childNodes[0]==null? "": officeList.item(k).childNodes[8].childNodes[0].nodeValue;
							OfficeName = officeList.item(k).childNodes[0].childNodes[0]==null? "": officeList.item(k).childNodes[0].childNodes[0].nodeValue;
							Address = officeList.item(k).childNodes[3].childNodes[0]==null? "": officeList.item(k).childNodes[3].childNodes[0].nodeValue;
							PhoneNumber = officeList.item(k).childNodes[5].childNodes[0]==null? "": officeList.item(k).childNodes[5].childNodes[0].nodeValue;
							FaxNumber = officeList.item(k).childNodes[6].childNodes[0]==null? "": officeList.item(k).childNodes[6].childNodes[0].nodeValue;
						}else{
							ImageURL = officeList.item(k).getElementsByTagName("ImageURL").item(0) ==null? "": officeList.item(k).getElementsByTagName("ImageURL").item(0).textContent;
							GoogleMapURL = officeList.item(k).getElementsByTagName("GoogleMapURL").item(0)==null? "": officeList.item(k).getElementsByTagName("GoogleMapURL").item(0).textContent;
							OfficeName = officeList.item(k).getElementsByTagName("OfficeName").item(0) ==null? "": officeList.item(k).getElementsByTagName("OfficeName").item(0).textContent;
							Address = officeList.item(k).getElementsByTagName("Address").item(0)==null? "": officeList.item(k).getElementsByTagName("Address").item(0).textContent;
							PhoneNumber = officeList.item(k).getElementsByTagName("Telephone").item(0)==null? "": officeList.item(k).getElementsByTagName("Telephone").item(0).textContent;
							FaxNumber = officeList.item(k).getElementsByTagName("Fax").item(0)==null? "":  officeList.item(k).getElementsByTagName("Fax").item(0).textContent;
						}
						if (((k+1) % 2) == 1){
							if (GoogleMapURL != "#" && GoogleMapURL != ""){
								// JFrost: added check for pdf
	  							var zfileExtension = GoogleMapURL.substring(GoogleMapURL.length - 3, GoogleMapURL.length);
	  							if (zfileExtension == 'pdf' || zfileExtension == 'jpg') {
		    						var showMap = '<a href="' +GoogleMapURL+ '" target="_blank" class="blue_text_12px">Map/directions</a> <span class="navyblue_text_12px"><br /> (' +zfileExtension.toUpperCase()+ ')</span>';
//		    						var addrlink = '<a href="' +GoogleMapURL+ '" target="_blank">' +Address+ '</a>';
							    } else {
										var showMap = '<a href="javascript:show_map(\'' + GoogleMapURL + '\', \'map' + officeID + '\', \'lt\');" class="blue_text_12px">Map/directions</a>';
										var tt = GoogleMapURL.lastIndexOf("output");
										var large_map = GoogleMapURL.substring(0,tt);
										var map_url = large_map + "source=embed";
//										var addrlink = "<a href=\"" + map_url + "\" target=\"_blank\" >" + Address + "</a>";
							    }
 
							}else{
								var showMap = "";
//								var addrlink = Address;
							}
							if (FaxNumber != "<br/>" && FaxNumber != ""){
								showFax = "Fax: " + FaxNumber;
							}else{
								showFax = "";
							}

							// JFrost: address should be text only (no link)							
							var addrlink = Address;
							
							newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '" class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div>';
						}else if (((k+1) % 2) == 0){
							if (GoogleMapURL != "#" && GoogleMapURL != ""){ 

								// JFrost: added check for pdf
	  							var zfileExtension = GoogleMapURL.substring(GoogleMapURL.length - 3, GoogleMapURL.length);
	  							if (zfileExtension == 'pdf' || zfileExtension == 'jpg') {
		    						var showMap = '<a href="' +GoogleMapURL+ '" target="_blank" class="blue_text_12px">Map/directions</a> <span class="navyblue_text_12px"><br /> (' +zfileExtension.toUpperCase()+ ')</span>';
//		    						var addrlink = '<a href="' +GoogleMapURL+ '" target="_blank">' +Address+ '</a>';
								} else {
										var showMap = '<a href="javascript:show_map(\'' + GoogleMapURL + '\', \'map' + officeID + '\', \'rt\');" class="blue_text_12px">Map/directions</a>';
										var tt = GoogleMapURL.lastIndexOf("output");
										var large_map = GoogleMapURL.substring(0,tt);
										var map_url = large_map + "source=embed";
//										var addrlink = "<a href=\"" + map_url + "\" target=\"_blank\" >" + Address + "</a>";
								}							
							
							}else{
								var showMap = "";
//								var addrlink = Address;
							}
							if (FaxNumber != "<br/>" && FaxNumber != ""){
								showFax = "Fax: " + FaxNumber;
							}else{
								showFax = "";
							}
							
							// JFrost: address should be text only (no link)							
							var addrlink = Address;
							
							newHTML += '<div class="box_left"><div id="content_l"><div id="box_pic"><a id="dot' + officeID + '"></a><img src="' + ImageURL + '" width="100" height="75"/></div><div id="map' + officeID + '"  class="one">' + showMap + '</div></div><div id="box_text"><span class="navyblue_text_12px"><div class="office_name">' + OfficeName + '</div ><div class="office_description">' + addrlink + '</div>Tel: ' + PhoneNumber + '<br />' + showFax + '</span></div></div>';
							
						}
					}
				}
			}
			catch(err){
				alert("7"+err);	
			}
    	}
		officeBox.innerHTML = newHTML;
	}
	document.getElementById('container').style.display = "";
	document.getElementById('loading').style.display = "none";
	
	// JFrost: adding setTimeout to call adjustTableHeight to fix layout bug
	window.setTimeout("adjustTableHeight()",250);
}


function show_map(url,id,boxname)
{
	//alert(id);
	document.getElementById("map_box_l_bg").style.display = "none";
	document.getElementById("map_box_l").style.display = "none";
	document.getElementById("map_box_m_bg").style.display = "none";
	document.getElementById("map_box_m").style.display = "none";
	document.getElementById("map_box_r_bg").style.display = "none";
	document.getElementById("map_box_r").style.display = "none";
	document.getElementById("map_iframe_l").src = "/blank.htm";
	document.getElementById("map_iframe_m").src = "/blank.htm";
	document.getElementById("map_iframe_r").src = "/blank.htm";
	var tmp = document.getElementById("map_iframe_l").src;
	var tmp2 = document.getElementById("map_iframe_r").src;
	//alert(document.getElementById("locations"));
	if (document.getElementById("locations") != null){
		document.getElementById("locations").disabled = true;
		document.getElementById("locations").click = true;
	}

	if ((document.getElementById("map_iframe_l").src == tmp || document.getElementById("map_iframe_l").src == location.href) && (document.getElementById("map_iframe_r").src == tmp2 || document.getElementById("map_iframe_l").src == location.href)){
		if (boxname == "lt"){
			mapbox_bg = document.getElementById("map_box_l_bg");
			mapbox = document.getElementById("map_box_l");
		}else if (boxname == "rt"){
			mapbox_bg = document.getElementById("map_box_r_bg");
			mapbox = document.getElementById("map_box_r");
		}else if (boxname == "mid"){
			mapbox_bg = document.getElementById("map_box_m_bg");
			mapbox = document.getElementById("map_box_m");
		}
		
		
		maplink_top = getOffsetTop(id);
		mapbox.style.top = mapbox_bg.style.top = (maplink_top - 740)+"px";
				
		//alert("mapbox.style.top:"+mapbox.style.top);
		mapbox_bg.style.display = "";
		mapbox.style.display = "";
		
		fnStartInterval(maplink_top - 500);
		
				
		var tt = url.lastIndexOf("output");
		var large_map = url.substring(0,tt);
		var map_url = large_map + "source=embed";
		var large_url = map_url.replace("/_layouts/offices/map.html","http://maps.google.com/maps");
		
		if (boxname == "lt"){
			document.getElementById("map_iframe_l").src = url;
			document.getElementById("map_url_l").href = large_url;
		}else if (boxname == "rt"){
			document.getElementById("map_iframe_r").src = url;
			document.getElementById("map_url_r").href = large_url;
		}else if (boxname == "mid"){
			document.getElementById("map_iframe_m").src = url;
			document.getElementById("map_url_m").href = large_url;
		}
	}
}

function hide_map(boxname)
{
	if (mapbox == "lt"){
		mapbox_bg = document.getElementById("map_box_l_bg");
		mapbox = document.getElementById("map_box_l");
	}else if (mapbox == "rt"){
		mapbox_bg = document.getElementById("map_box_r_bg");
		mapbox = document.getElementById("map_box_r");
	}
	mapbox_bg.style.display = "none";
	mapbox.style.display = "none";
	document.getElementById("map_iframe_l").src = "";
	document.getElementById("map_iframe_r").src = "";
//  JFrost: fixing highlight bug
//	highLightedIDs = "";
	if (document.getElementById("locations") != null){
		document.getElementById("locations").disabled = false;
	}
}

jQuery(function($) {	
  if($.query.get('OfficeId')!=""){
  	var str="gotoAnchor('"+$.query.get('OfficeId')+"')";  	
  	setTimeout(str,1500);
  }
  
});


function gotoAnchor(ids)
{
	//alert("goto"+ids+";");
	toHighlightStyle(ids);
	
	
	var id_array = ids.split(";");
	var id_array_length = id_array.length;
	//if ((navigator.appName == "Microsoft Internet Explorer")){
	//	var pos = document.getElementById("dot"+id_array[0]).parentElement.parentElement.parentElement.offsetTop;
	//}else{
	//	var pos = document.getElementById("dot"+id_array[0]).parentNode.parentNode.parentNode.offsetTop;
	//}
	//var pos = getOffsetTop("dot"+id_array[0]);
	var browser = new Browser();
	var dotid = "dot"+id_array[0];
	var pos = getOffsetTop("dot"+id_array[0]);
	if (browser.isIE)
	{
	    pos = pos - 30;
	}
	else
	{
	    pos = pos - 90;
	}
	fnStartInterval(pos);
	//testScroll(dotid);
}

function testScroll(dotid){

}

var highLightedIDs = "";

function toHighlightStyle(ids)
{
	//alert("goto");
	if (highLightedIDs != ""){
		toNormalStyle(highLightedIDs);
	}
	var id_array = ids.split(";");
	var id_array_length = id_array.length;
	if (id_array_length == 1){
		if($("#dot"+id_array[0]).length==0) return;
		if ((navigator.appName == "Microsoft Internet Explorer")){
			document.getElementById("dot"+id_array[0]).parentElement.parentElement.parentElement.style.backgroundColor = "#dddddd";
		}else{
			document.getElementById("dot"+id_array[0]).parentNode.parentNode.parentNode.style.backgroundColor = "#dddddd";
		}
	}else{
		for (hnum=0;hnum<id_array_length;hnum++){
			if($("#dot"+id_array[hnum]).length==0) return;
			if ((navigator.appName == "Microsoft Internet Explorer")){
				document.getElementById("dot"+id_array[hnum]).parentElement.parentElement.parentElement.style.backgroundColor = "#dddddd";
			}else{
				document.getElementById("dot"+id_array[hnum]).parentNode.parentNode.parentNode.style.backgroundColor = "#dddddd";
			}
			
		}
	}
	highLightedIDs = ids;
}

function toNormalStyle(ids)
{
	var id_array = ids.split(";");
	var id_array_length = id_array.length;
	if (id_array_length == 1){
		try{
			if ((navigator.appName == "Microsoft Internet Explorer")){
				document.getElementById("dot"+id_array[0]).parentElement.parentElement.parentElement.style.backgroundColor = "#ffffff";
			}else{
				document.getElementById("dot"+id_array[0]).parentNode.parentNode.parentNode.style.backgroundColor = "#ffffff";
			}
		}catch(err){
			
		}
	}else{
		for (hnum=0;hnum<id_array_length;hnum++){
			try{
				if ((navigator.appName == "Microsoft Internet Explorer")){
					document.getElementById("dot"+id_array[hnum]).parentElement.parentElement.parentElement.style.backgroundColor = "#ffffff";
				}else{
					document.getElementById("dot"+id_array[hnum]).parentNode.parentNode.parentNode.style.backgroundColor = "#ffffff";
				}
			}catch(err){
			
			}
		}
	}
}


var oInterval="";
function fnStartInterval(pos)
{
	//alert(pos);
	var yScroll;
	if (document.documentElement && document.documentElement.scrollTop) 
	{
	    yScroll = document.documentElement.scrollTop;
	}
	else
	{
	    yScroll = document.body.scrollTop;
	}  
	oldYScroll = -1;
	if(oInterval=="" ){
		this.time = $time();
		//scrollheight = pos - oripos;
		//alert(scrollheight);
		if (yScroll < pos){
			//alert("down");
			speedNum = 20;
			oInterval=window.setInterval("smoothScroll(" + speedNum + "," + pos + ")",10);
		}else if (yScroll > pos){
			//alert("up");
			speedNum = 20;
			oInterval=window.setInterval("smoothScroll_Up(-" + speedNum + "," + pos + ")",10);
		}
	}
	else{
		fnStopInterval();
	}
}

function fnStopInterval()
{
	//alert("stop");
	p = 1;
	q = 1;
	oldYScroll = -1;
	if(oInterval!=""){
		window.clearInterval(oInterval);
		oInterval="";
	}
}

function $time(){
	return new Date().getTime();
};

var oldYScroll;
var p = 1;
var q = 1;
function smoothScroll(y,pos)
{
	//alert(p);
    var yScroll;
	if (document.documentElement && document.documentElement.scrollTop) 
	{
	    yScroll = document.documentElement.scrollTop;
	}
	else
	{
	    yScroll = document.body.scrollTop;
	}
	//alert(yScroll);
	//alert(pos);
	if (yScroll<pos && oldYScroll!=yScroll)
	{
		//alert(yScroll+":"+pos);
		//alert(pos);
		oldYScroll = yScroll;
		//alert(y);
		var time = $time();
		if (yScroll<(0.5*pos) && q == 1){
			if (p<16){
				p = p + 1;
				//alert("+");
			}
		}else if ((yScroll >= (0.5*pos)) && (q == 1)){
			//alert("=");
			q = 2;
		}else if ((yScroll >= (0.8*pos)) && (q == 2)){
			if (p>2){
				p = p - 1;
				//alert("-");
			}
		}
		var sinNum = Math.sin(p/10);
		// alert(sinNum);
		window.scrollBy(0,y*sinNum);
				
	}
	else
	{
	    fnStopInterval();
	}
}

function smoothScroll_Up(y,pos)
{
	//alert(y);
    var yScroll;
	if (document.documentElement && document.documentElement.scrollTop) 
	{
	    yScroll = document.documentElement.scrollTop;
	}
	else
	{
	    yScroll = document.body.scrollTop;
	}
	if (yScroll>pos && oldYScroll!=yScroll)
	{
		oldYScroll = yScroll;
		var time = $time();
		//var test = 1 - Math.sin(((time - this.time) / 3000) * Math.PI / 2);
		if (yScroll>(0.5*pos) && q == 1){
			if (p<16){
				p = p + 1;
				//alert("+");
			}
		}else if ((yScroll <= (0.5*pos)) && (q == 1)){
			//alert("=");
			q = 2;
		}else if ((yScroll <= (0.8*pos)) && (q == 2)){
			if (p>2){
				p = p - 1;
				//alert("-");
			}
		}
		var sinNum = Math.sin(p/10);
		//alert(sinNum);
		window.scrollBy(0,y*sinNum);
	}
	else
	{
	    fnStopInterval();
	}
}

function getOffsetTop(objId) 
{ 
    var top=0; 
    var offsetParent = document.getElementById(objId); 
    while (offsetParent!=null && offsetParent!=document.body) 
    { 
        top+=offsetParent.offsetTop; 
        offsetParent=offsetParent.offsetParent; 
    }
    return top; 
} 
function ontracklink(linkobj)
{
	//alert(linkobj.name);
	var s=s_gi("macfluor");
	s.tl(linkobj,'o',linkobj.name);

}
