var xmlConfigDoc = "/xml/content/properties_config.xml";
var xmlDoc = "";
var xsltDoc = "";
var mapView = "US";
var globalStateChoice = "";
var globalSideBarLink = "";
var sideBar_1 = "All";
var sideBar_2 = "Recent Developments";
var sideBar_3 = "Owned";
var sideBar_4 = "Available Space";
var viewState = "map";  //map|list|single
var isLiveURLcheck = "orbisdesign";	//change to orbisdesignzzz to check live view

if (typeof locatorDiv == 'undefined'){
	var locatorDiv = "TestOutput";
}else{
	//it was set in a previous file
}
function runAjax(){
	if(document.getElementById('TestOutput')){
		if(getQueryVariable('getListing') != '999'){
			xmlhttpPost('/o2Net/Applications/TransformDoc/default.aspx?XmlDoc=' + window.xmlConfigDoc + '&XsltDoc=' + window.xsltDoc + '',locatorDiv);
			getListing(getQueryVariable('getListing'));
		}else{
			xmlhttpPost('/o2Net/Applications/TransformDoc/default.aspx?XmlDoc=' + window.xmlConfigDoc + '&XsltDoc=' + window.xsltDoc + '',locatorDiv);
			if(document.getElementById('outPut')){
				showMap();
			}else{
				setTimeout('showMap()',250);
			}	
		}		
	}else{
		setTimeout('runAjax()',250);
	}
}
function configSet(){
	$.get(xmlConfigDoc, function(d){
		$(d).find('xsltDoc').each(function(){
			xsltDoc = $(this).text(); 
		});
		$(d).find('xmlDoc').each(function(){
			xmlDoc = $(this).text(); 
		});	
	});
}

configSet();

if (typeof runLocatorOnLoad != 'undefined'){
	//This var is set in another file (i.e. homePage.js)
	if(runLocatorOnLoad != false){
		runAjax();
	}
}else{
	runAjax();
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ list results ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
function getState(stateAbr){
	viewState = "list";
	$.get(window.xmlDoc, function(d){
		var clickMatch = "";
		var foundMatch = "";
		var propImage = "";
		var hospitalName = "";
		var buildingName = "";
		var isLive = false;
		var dispFlag = "";
		var showProp = false;
		var sSite = window.location;
		    sSite = sSite + ' ';
			sSite = sSite.toLowerCase();
			
		if(stateAbr != "XX"){
			globalStateChoice = stateAbr;
		}
		
		if(sSite.indexOf(isLiveURLcheck) == -1){
			isLive = true;
		}	
		
		$("#outPut").empty();
		sideBar();
		$("#bigImageDiv").empty();
		$("#leftcontent").empty();
		$("#docDownloads").empty();
		$("#relatedProds").empty();
		$("div#bigImageDiv").css("display","none");
		$("div#leftcontent").css("display","none");
		$("div#sideLinks").css("display","none");		
		$("div#mapUS").css("display","none");
		$("div#allNav").css("display","none");
		
		$("#outPut").append("<h2>" + window.globalStateChoice + "</h2>");
		
		/* ~~~~~~~~~~~~~~~~~[ available spaces ] ~~~~~~~~~~~~~~~~~ */
		$("#outPut").append("<h2>Available Space</h2>");
		$(d).find('Property').each(function(){
			clickMatch = $(this).find('state').text();
			dispFlag = $(this).find('viewState').text();
			if(isLive == true && dispFlag.indexOf('Dev') != -1){
				showProp = false;
			}else{
				showProp = true;
			}
			if(clickMatch == stateAbr && showProp == true){
				if($(this).find('catAvail').text() == 'TRUE'){
					if($(this).find('hospital').text().length > 2){
						hospitalName = $(this).find('hospital').text();
						hospitalName = hospitalName.replace(/_/, "");
					}else{
						hospitalName = "&nbsp;";
					}
					buildingName = $(this).find('buildingName').text();				
					$("#outPut").append("<li class=\"coName\">" 
					+ "<span class=\"tempSort\">" + $(this).find('city').text() + "</span>" 
					+ "<div class=\"listingImage\">" 
						+ "<a href=\"#\" onMouseDown=\"getListing('" 
						+ $(this).find('id').text()  
						+ "');\">" 					
						+ "<img align=\"middle\" width=\"100\" height=\"62\" src=\"/images/properties/thumbs/" 
						+ $(this).find('detailImage').text() 
						+ "\">" 
						+ "</a>" 						
					+ "</div>" 	
					+ "<div class=\"listingInfo\">"
						+ "<div class=\"listingLink\">" 
						+ "<a href=\"#\" onMouseDown=\"getListing('" 
						+ $(this).find('id').text() 
						+ "');\">" 
						+ buildingName 
						+ "</a>" 
						+ "</div>" 
						+ "<div class=\"listingHospital\">"  
						+ hospitalName 
						+ "</div>" 
						+ "<div class=\"listingCity\">"  
						+ $(this).find('city').text() 
						+ "</span>"
					+ "</div>" 				
					+ "</li>");
					foundMatch = stateAbr;
				}
			}
		});
		$('#outPut li.coName').sort(sortAlpha).appendTo('#outPut');
		$("#outPut").append("<br clear=\"all\">");
		
		/* ~~~~~~~~~~~~~~~~~[ developments ] ~~~~~~~~~~~~~~~~~ */
		$("#outPut").append("<h2>Recent Developments</h2>");
		$(d).find('Property').each(function(){
			clickMatch = $(this).find('state').text();
			dispFlag = $(this).find('viewState').text();
			if(isLive == true && dispFlag.indexOf('Dev') != -1){
				showProp = false;
			}else{
				showProp = true;
			}			
			if($(this).find('detailImage').text().length > 1){
				propImage = $(this).find('detailImage').text();
			}else{
				propImage = "BLANK.jpg";
			}
			if(clickMatch == stateAbr && showProp == true){
				if($(this).find('catRecent').text() == 'TRUE' && $(this).find('buildingName').text().length > 2){
					if($(this).find('hospital').text().length > 2){
						hospitalName = $(this).find('hospital').text();
						hospitalName = hospitalName.replace(/_/, "");
					}else{
						hospitalName = "&nbsp;";
					}
					buildingName = $(this).find('buildingName').text();
					
					$("#outPut").append("<li class=\"coName\">"
					+ "<div class=\"listingImage\">" 
						+ "<a href=\"#\" onMouseDown=\"getListing('" 
						+ $(this).find('id').text() 
						+ "');\">" 					
						+ "<img alt=\""
						+ propImage 
						+ "\" align=\"middle\" width=\"100\" height=\"62\" src=\"/images/properties/thumbs/" 
						+ propImage 
						+ "\">" 
						+ "</a>" 						
					+ "</div>" 	
					+ "<div class=\"listingInfo\">"
						+ "<div class=\"listingLink\">" 
						+ "<a href=\"#\" onMouseDown=\"getListing('" 
						+ $(this).find('id').text()  
						+ "');\">" 
						+ buildingName 
						+ "</a>" 
						+ "</div>" 
						+ "<div class=\"listingHospital\">"  
						+ hospitalName 
						+ "</div>" 
						+ "<div class=\"listingCity\">"  
						+ $(this).find('city').text()
						+ "</span>"
					+ "</div>" 				
					+ "</li>");
					foundMatch = stateAbr;
				}
			}
		});		
		
		if(foundMatch.length == 0){
			stateAbr = "XX";
			showMap();
		}else{
			$("#outPut").wrapInner(document.createElement("ul"));
			//$('#outPut li.coName').sort(sortAlpha).appendTo('#outPut');	/* this was moved up after available spaces - otherwise it was grouping everything together
			reDrawSifr();
		}	
	});
}
function sideBar(){
		var sideBarStr = "";
		var sideBarYah = window.globalSideBarLink;
		if(document.getElementById('outPut')){
			sideBarStr = sideBarStr + "<div id=\"subNavSideBar\">";
			sideBarStr = sideBarStr + "<ul>";
			if(window.viewState != "map"){
				sideBarStr = sideBarStr + "<li><a href=\"#\" onMouseDown=\"showMap();showCatLink(\'');\">Return To Map</a></li>";
			}
			sideBarStr = sideBarStr + "<li><a id=\"catAll\" href=\"#\" onMouseDown=\"showCat(\'catAll\');showCatLink(\'catAll\');\">" + sideBar_1 + "</a></li>";
			sideBarStr = sideBarStr + "<li><a id=\"catRecent\" href=\"#\" onMouseDown=\"showCat(\'catRecent\');showCatLink(\'catRecent\');\">" + sideBar_2 + "</a></li>";
			sideBarStr = sideBarStr + "<li><a id=\"catOwned\" href=\"#\" onMouseDown=\"showCat(\'catOwned\');showCatLink(\'catOwned\');\">" + sideBar_3 + "</a></li>";
			sideBarStr = sideBarStr + "<li><a id=\"catAvail\" href=\"#\" onMouseDown=\"showCat(\'catAvail\');showCatLink(\'catAvail\');\">" + sideBar_4 + "</a></li>";
			if(window.viewState == "single"){
			sideBarStr = sideBarStr + "<li><a href=\"#\" onMouseDown=\" getState('" + window.globalStateChoice + "');\">View All In <strong>" + stateAbrev(window.globalStateChoice) + "</strong></a></li>";
			}
			sideBarStr = sideBarStr + "</ul>";
			sideBarStr = sideBarStr + "</div>";
			$("#outPut").append(sideBarStr);
			if(sideBarYah != ""){
				document.getElementById(sideBarYah).style.color = "#777777";
				document.getElementById(sideBarYah).style.textDecoration = "none";
			}	
		}else{
			setTimeout('sideBar()',250);
		}
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ individual listing ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
function getListing(listingId){
	viewState = "single";
	$.get(window.xmlDoc, function(d){
		
		var clickMatch = "";
		var foundMatch = "";
		var descriptionStr = "";
		var descriptionHtmld = "";
		var n = 0;
		
		$("#outPut").empty();
		$("#bigImageDiv").empty();
		$("#leftcontent").empty();
		$("#docDownloads").empty();
		$("#relatedProds").empty();

		$(d).find('Property').each(function(){
			clickMatch = $(this).find('id').text();
			if(listingId == clickMatch){
				n += 1;
				if(n == 1){
					$("#bigImageDiv").append("<img id=\"BigImage\" height=\"384\" width=\"512\" src=\"/images/properties/" + $(this).find('detailImage').text() + "\" />");
					$("#leftcontent").append("<h2>" + $(this).find('buildingName').text() + "</h2>");
					globalStateChoice = $(this).find('state').text();
					
					descriptionStr = $(this).find('detailParagraphs').text();
					if(descriptionStr.indexOf("|") != -1){
						descriptionArray = descriptionStr.split("|");
						
						for (z=0;z<=descriptionArray.length-1;z=z+1)
						{
							if(descriptionArray[z].indexOf("~") != -1){
								descriptionHtmld = descriptionHtmld + '<ul>';
								bulletArray = descriptionArray[z].split("~");
								
								for (y=0;y<=bulletArray.length-1;y=y+1)
								{
									if(bulletArray[y].length > 3){
										descriptionHtmld = descriptionHtmld + '<li>' + descriptionLink(bulletArray[y]) + '</li>';
									}
								}
								descriptionHtmld = descriptionHtmld + '</ul><p />';							
							}else{
								descriptionHtmld = descriptionHtmld + descriptionLink(descriptionArray[z]) + '<p />';
							}
						}					
					}
					$("#leftcontent").append(descriptionHtmld);
					$("#leftcontent").append("<span class=\"listingId\">" + $(this).find('id').text() + "</span>");
					
					if($(this).find('detailPdf').text().length > 1){
						$("#docDownloads").append("<li class=\"pdfLink\"><a target=\"_blank\" href=\"/pdf/" + $(this).find('detailPdf').text() + "\">Brochure</a></li>");
					}
					if($(this).find('campusMap').text().length > 1){
						$("#docDownloads").append("<li class=\"pdfLink\"><a target=\"_blank\" href=\"/pdf/" + $(this).find('campusMap').text() + "\">Map</a></li>");
					}
					if($(this).find('floorPlan').text().length > 1){
						$("#docDownloads").append("<li class=\"pdfLink\"><a target=\"_blank\" href=\"/pdf/" + $(this).find('floorPlan').text() + "\">Floor Plan</a></li>");
					}
					if($(this).find('caseStudyLink').text().length > 1){
						$("#docDownloads").append("<li class=\"pdfLink\"><a target=\"_blank\" href=\"/pdf/" + $(this).find('caseStudyLink').text() + "\">Case Study</a></li>");
					}					
					if($(this).find('detailPdf').text().length < 2 && $(this).find('campusMap').text().length < 2 && $(this).find('floorPlan').text().length < 2 && $(this).find('caseStudyLink').text().length < 2){
						$("#docDownloads").css("display","none");
					}				
					if($(this).find('contactName').text().length > 1){
						$("#relatedProds").append("<li>" + $(this).find('contactName').text() + "</li>");
					}
					if($(this).find('contactPhone').text().length > 1){
						$("#relatedProds").append("<li>" + $(this).find('contactPhone').text() + "</li>");
					}
					if($(this).find('contactEmail').text().length > 1){
						$("#relatedProds").append("<li class=\"emailLink\"><a href=\"MailTo:" + $(this).find('contactEmail').text() + "\">" + $(this).find('contactEmail').text() + "</a></li>");
					}					
					if($(this).find('contactName2').text().length > 1){
						$("#relatedProds").append("<li>" + $(this).find('contactName2').text() + "</li>");
					}
					if($(this).find('contactPhone2').text().length > 1){
						$("#relatedProds").append("<li>" + $(this).find('contactPhone2').text() + "</li>");
					}
					if($(this).find('contactEmail2').text().length > 1){
						$("#relatedProds").append("<li class=\"emailLink\"><a href=\"MailTo:" + $(this).find('contactEmail2').text() + "\">" + $(this).find('contactEmail2').text() + "</a></li>");
					}					
				}
			}
		});
		
		$("#bigImageDiv").css({'display':'inline'});
		$("#leftcontent").css({'display':'block'});
		$("#sideLinks").css({'display':'inline'});
		//$("div#mapUS").css("display","none");
		sideBar();
		scroll(0,0);
		reDrawSifr();
	});	
}
function descriptionLink(str){
	var strLnk = "";
	var linkStr = "";
	var strRemain = "";

	if(str.indexOf('LINK[') != -1){
		strLnk = str.substring(0,str.indexOf('LINK['));
		strRemain = str.substring(str.indexOf(']')+1);
		linkStr = str.substring(str.indexOf('LINK[')+5,str.indexOf(']'));
		var linkStrArray = linkStr.split(":");
		strLnk += '<a target="_blank" href="' + linkStrArray[1] + '">' + linkStrArray[0] + '</a>'; 
		if(strRemain.indexOf('LINK[') != -1){
			strLnk += descriptionLink(strRemain);
		}else{
			strLnk += strRemain;
		}
		return strLnk;
	}else{
		return str;
	}
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ all listings ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
jQuery.fn.sort = function() {  
   return this.pushStack( [].sort.apply( this, arguments ), []);  
};
function sortAlpha(a,b){  
    return a.innerHTML > b.innerHTML ? 1 : -1;  
};
function showCatLink(which){
	globalSideBarLink = which;
}
function showCat(whichType){
	viewState = "list";
	
	$("#bigImageDiv").empty();
	$("#outPut").append("Loading...");
	
	$.get(window.xmlDoc, function(d){
		var hospitalName = "";
		var allSearchType = "";
		var detailImageThumb = "";
		var buildingName = "";
		var h2Title = "";
		var isLive = false;
		var dispFlag = "";
		var showProp = false;
		var sSite = window.location;
		    sSite = sSite + ' ';
			sSite = sSite.toLowerCase();		
		
		$("#outPut").empty();

		$("#leftcontent").empty();
		$("#docDownloads").empty();
		$("#relatedProds").empty();
		$("div#bigImageDiv").css("display","none");
		$("div#leftcontent").css("display","none");
		$("div#sideLinks").css("display","none");		
		$("div#mapUS").css("display","none");
		$("div#allNav").css("display","none");
		sideBar();
		
		switch(whichType){
		case 'catRecent':
			h2Title = sideBar_2;
			break;
		case 'catOwned':
			h2Title = sideBar_3;
			break;
		case 'catAvail':
			h2Title = sideBar_4;
			break;
		case 'catAll':
			h2Title = sideBar_1;
			break;			
		default:
		}
		if(sSite.indexOf(isLiveURLcheck) == -1){
			isLive = true;
		}		
		$("#outPut").append("<h2>" + h2Title + "</h2>");

		$(d).find('Property').each(function(){
			dispFlag = $(this).find('viewState').text();
			if(isLive == true && dispFlag.indexOf('Dev') != -1){
				showProp = false;
			}else{
				showProp = true;
			}
			if($(this).find(whichType).text() == 'TRUE' && showProp == true){
				if($(this).find('hospital').text().length > 2){
					hospitalName = $(this).find('hospital').text();
					hospitalName = hospitalName.replace(/_/, "");
				}else{
					hospitalName = "&nbsp;";
				}
				if($(this).find('detailImage').text().length > 2){
					detailImageThumb = $(this).find('detailImage').text();
				}else{
					detailImageThumb = "BLANK.jpg";
				}
				buildingName = $(this).find('buildingName').text();				
				$("#outPut").append("<li class=\"coName\">"
				+ "<span class=\"tempSort\">" + $(this).find('city').text() + "</span>" 
				+ "<div class=\"listingImage\">" 
					+ "<a href=\"#\" onMouseDown=\"getListing('" 
					+ $(this).find('id').text() 
					+ "');\">" 					
					+ "<img align=\"middle\" width=\"100\" height=\"62\" src=\"/images/properties/thumbs/" 
					+ detailImageThumb  
					+ "\">" 
					+ "</a>" 						
				+ "</div>" 	
				+ "<div class=\"listingInfo\">"
					+ "<div class=\"listingLink\">" 
					+ "<a href=\"#\" onMouseDown=\"getListing('" 
					+ $(this).find('id').text() 
					+ "');\">" 
					+ buildingName 
					+ "</a>" 
					+ "</div>" 
					+ "<div class=\"listingHospital\">"  
					+ hospitalName 
					+ "</div>" 
					+ "<div class=\"listingCity\">"  
					+ $(this).find('city').text() 
					+ "</div>" 
					+ "<span class=\"listingId\">" + $(this).find('id').text() + "</span>"
				+ "</div>" 				
				+ "</li>");
			}
		});
		$('#outPut li.coName').sort(sortAlpha).appendTo('#outPut');
		$("#outPut").append("<br clear=\"all\">");
		$("#outPut").wrapInner(document.createElement("ul"));
		reDrawSifr();
	});
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ common ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
function showMap(){
	viewState = "map";
	$.get(window.xmlDoc, function(d){
		$("#outPut").empty();
		$("#bigImageDiv").empty();
		$("#leftcontent").empty();
		$("#docDownloads").empty();
		$("#relatedProds").empty();
		$("div#bigImageDiv").css("display","none");
		$("div#leftcontent").css("display","none");
		$("div#sideLinks").css("display","none");
		$("div#mapUS").css("display","block");
		sideBar();
	});	
	showUsMap();
	return false;
	reDrawSifr();
}
function showUsMap(){
	if (document.getElementById('mapUS')){
		document.getElementById('mapUS').style.display = 'block';
	}else{
		setTimeout('showUsMap()',10);
	}
}
function getQueryVariable(variable) {
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		}
  	}
	return "999";
}
function stateAbrev(abv){
	 var usState = new Array();
	 var stateOutput = "";
	 
	 usState[0] = "AL|Alabama";
	 usState[1] = "AK|Alaska";
	 usState[2] = "AZ|Arizona";
	 usState[3] = "AR|Arkansas";
	 usState[4] = "CA|California";
	 usState[5] = "CO|Colorado";
	 usState[6] = "CT|Connecticut";
	 usState[7] = "DE|Delaware";
	 usState[8] = "FL|Florida";
	 usState[9] = "GA|Georgia";
	usState[10] = "HI|Hawaii";
	usState[11] = "ID|Idaho";
	usState[12] = "IL|Illinois";
	usState[13] = "IN|Indiana";
	usState[14] = "IA|Iowa";
	usState[15] = "KS|Kansas";
	usState[16] = "KY|Kentucky";
	usState[17] = "LA|Louisiana";
	usState[18] = "ME|Maine";
	usState[19] = "MD|Maryland";
	usState[20] = "MA|Massachusetts";
	usState[21] = "MI|Michigan";
	usState[22] = "MN|Minnesota";
	usState[23] = "MS|Mississippi";
	usState[24] = "MO|Missouri";
	usState[25] = "MT|Montana";
	usState[26] = "NE|Nebraska";
	usState[27] = "NV|Nevada";
	usState[28] = "NH|New Hampshire";
	usState[29] = "NJ|New Jersey";
	usState[30] = "NM|New Mexico";
	usState[31] = "NY|New York";
	usState[32] = "NC|North Carolina";
	usState[33] = "ND|North Dakota";
	usState[34] = "OH|Ohio";
	usState[35] = "OK|Oklahoma";
	usState[36] = "OR|Oregon";
	usState[37] = "PA|Pennsylvania";
	usState[38] = "RI|Rhode Island";
	usState[39] = "SC|South Carolina";
	usState[40] = "SD|South Dakota";
	usState[41] = "TN|Tennessee";
	usState[42] = "TX|Texas";
	usState[43] = "UT|Utah";
	usState[44] = "VI|Vermont";
	usState[45] = "VA|Virginia";
	usState[46] = "WA|Washington";
	usState[47] = "WV|West Virginia";
	usState[48] = "WI|Wisconsin";
	usState[49] = "WY|Wyoming";
	//CANADIAN PROVINCES
	usState[50] = "AB|Alberta";
	usState[51] = "BC|British Columbia";
	usState[52] = "MB|Manitoba";
	usState[53] = "NB|New Brunswick";
	usState[54] = "NL|Newfoundland";
	usState[55] = "NT|Northwest Territories";
	usState[56] = "NS|Nova Scotia";
	usState[57] = "ON|Ontario";
	usState[58] = "PE|Prince Edward Island";
	usState[59] = "QC|Quebec";
	usState[60] = "SK|Saskatchewan";
	usState[61] = "YT|Yukon";
	
	for(z=0;z<usState.length;z=z+1){
		if(abv == usState[z].substring(0,2)){
			stateOutput = usState[z].substring(3);
			break;
		}
	}

	if(stateOutput.length == 0){
		stateOutput = abv;
	}
	
	return stateOutput;
}