var mqOriginAddress = null;
var ambLocationCollection = null;
var sRecordId = null;

function removeAllChildren(node){
	if(!node){
		return;
	}
   
	var len = node.childNodes.length;
   
	for(var i = 0; i < len; i++){   
		try{
			node.removeChild(node.childNodes[i]);
		}
		catch(ex){}
	}
	
	node.innerHTML = "";

}

function createInputElement(type, name, value){
	try{
		return document.createElement("<input type=\"" + type + "\" name=\"" + name + "\" value=\"" + value + "\"/>");
	}
	catch(exc){
		input = document.createElement("input");
		input.type = type;
		input.name = name;
		input.value = value;
		return input;
	}
}

function appendOptionToSelect(select, option){
	try{
		var num = select.options.length;
		select.options[num] = option;
	}
	catch(exc){
		select.appendChild(option);
	}
	return select;
}

function getSelectOption(value, text){
	var opt;
	try{
		opt = new Option(text,value);
	}
	catch(exc){
		opt = document.createElement("option");
		opt.value = value;
		opt.text = text;
	}
	return opt;
}

function printDirections(){
	document.getElementById("trPrintHeader").style.display = "";
	document.getElementById("trMainHeader").style.display = "none";
	
	document.getElementById("trHdrBack").style.display = "";
	document.getElementById("trHdrText").style.display = "none";
	
	document.getElementById("trPrintReverse").style.display = "none";
	document.getElementById("trMaps").style.display = "none";
	
	document.getElementById("tdDD1").className = "mqTd";
	document.getElementById("tdDD2").className = "mqEmp2";
	document.getElementById("tdDD3").className = "mqEmp2";
	
	document.getElementById("imgStart").style.display = "none";
	document.getElementById("imgEnd").style.display = "none";
	
	document.getElementById("spnStart").style.display = "";
	document.getElementById("spnEnd").style.display = "";
	
	document.getElementById("trDDLine").style.display = "";
	
	
	document.getElementById("tblMain").style.width = "540px";
	document.getElementById("tblMain").width = "540px";
	
	document.getElementById("tdOverviewText").style.paddingLeft = "0px";
	document.getElementById("tdOverviewMap").style.paddingLeft = "0px";
	document.getElementById("tdOrigMap").style.paddingLeft = "45px";
	document.getElementById("tdDestMap").style.paddingLeft = "45px";
	
	
	
	var div = document.getElementById("contentArea");
	div.style.paddingLeft = "100px";

		
}

function showWin(){
	this.showInfoWindow(); 
}

function displayResults(tdResults, divMap, fcResults, spatialExec){
	var map = new MQTileMap(divMap);
	map.getInfoWindow().setMinWidth(250);
	//map.setRolloversEnabled(false);
	
	var mqIcon = new MQMapIcon();
	mqIcon.setImage("images/icons/star_red.gif", 16, 16, true, false);
	
	var mqPoi = new MQPoi(mqOriginAddress.getMQLatLng(), mqIcon);
	mqPoi.setKey("o");
	
	var text = "";
	var bSpacer = false;
	if(mqOriginAddress.getCity()){
		text += mqOriginAddress.getCity();
		bSpacer = true;
	}
	if(mqOriginAddress.getState()){
		if(bSpacer)
			text += ", ";
		text += mqOriginAddress.getState();
		bSpacer = true;
	}
	if(mqOriginAddress.getPostalCode()){
		if(bSpacer)
			text += ", ";
		text += mqOriginAddress.getPostalCode();
		bSpacer = true;
	}
	
	
	if(mqOriginAddress.getStreet() != ""){
		mqPoi.setInfoTitleHTML(mqOriginAddress.getStreet());
		mqPoi.setInfoContentHTML(text);
		
	}
	else {
		mqPoi.setInfoTitleHTML(text);
		//mqPoi.setInfoContentHTML("");
	}
	
	map.addPoi(mqPoi);
	//MQEventManager.addListener(mqPoi,"mouseover",showWin); 
	
	var tbl = document.createElement("table");
	tdResults.appendChild(tbl);
	tbl.className = "mqTable";
	tbl.width = "740";
	tbl.cellSpacing="0";
	tbl.cellPadding="0";
	tbl.border="0";
	
	var tr = tbl.insertRow(0);
	var td = tr.insertCell(0);
	td.className = "mqBar";
	td.style.width = "20px";
	td.style.color = "white";
	
	td = tr.insertCell(1);
	td.className = "mqBar";
	td.colSpan="6";
	
	var a = document.createElement("a");
	a.className = "mqAnchor";
	a.style.color = "white";
	a.name = "list"
	a.appendChild(document.createTextNode("Closest Locations:"));
	td.appendChild(a);
	
	tr = tbl.insertRow(1);
	td = tr.insertCell(0);
	td.className = "mqTd";
	td.colSpan = 7;
	
	var trItt = 2;
	
	var dblq = new MQDBLayerQuery();
	dblq.setDBLayerName(MQCONFIG.DBLAYERQUERY_NAME);
	
	var scIds = new MQStringCollection();
	var scFields = new MQStringCollection();
	for(var i=0; i < fcResults.getSize(); i++){
		var f = fcResults.getAt(i);
		
		var rs = new MQRecordSet();

		scIds.removeAll();
		scIds.add(f.getKey());
		
		spatialExec.getRecordInfo(scFields, dblq, rs, scIds);
		
		if(!rs.EOF){
			var mqIcon = new MQMapIcon();
			mqIcon.setImage("images/numbers/401_" + (i+1) + ".gif", 20, 20, true, false);
	
			var mqPoi = new MQPoi(f.getCenterLatLng(), mqIcon);
			mqPoi.setKey("" + i);
			
			mqPoi.setInfoTitleHTML(rs.getField("city") + ", " + rs.getField("state"));
			text =  rs.getField("address");
			text += "<br/>";
			text += "Hours:" + rs.getField("hours");
			text += "<br/>";
			text += "Phone:" + rs.getField("phone");
			text += "<br/>";
			text += "Add'l Depts:";
			var bSpacer = false;
			if(rs.getField("babydepot") != ""){
				if(bSpacer)
					text += ", ";
				text += "Baby Depot";
				bSpacer = true;
			}
			if(rs.getField("jewelry") != ""){
				if(bSpacer)
					text += ", ";
				text += "Jewelry";
				bSpacer = true;
			}
			if(rs.getField("linens") != ""){
				if(bSpacer)
					text += ", ";
				text += "Linens";
				bSpacer = true;
			}
			if(rs.getField("shoes") != ""){
				if(bSpacer)
					text += ", ";
				text += "Shoes";
				bSpacer = true;
			}
			
			text += "<br/>";
			text += "<a href='details.html?RecordId=" + f.getKey() + "'>Click for store details</a>"
			mqPoi.setInfoContentHTML(text);

			map.addPoi(mqPoi);
			//MQEventManager.addListener(mqPoi,"mouseover",showWin);
			
		
			tr = tbl.insertRow(trItt++);
			
			td = tr.insertCell(0);
			td.className = "mqTd";

			td = tr.insertCell(1);
			td.className = "mqTd";
			td.style.width = "30px";
			td.style.textAlign = "center";
			td.style.verticalAlign = "top";
			
			var img = document.createElement("img");
			img.className = "mqImage";
			img.src = "images/numbers/401_" + (i+1) + ".gif";
			td.appendChild(img);
			
			td = tr.insertCell(2);
			td.className = "mqTd";
			td.style.width = "200px";
			td.style.textAlign = "center";
			td.style.verticalAlign = "top";
			
			var div = document.createElement("div");
			div.style.width = "198px";
			div.style.height = "119px";
			td.appendChild(div);
			
			var smMap = new MQTileMap(div);
			
			var mqIcon = new MQMapIcon();
			if(rs.getField("iconnumber") != ""){
				var icn = "images/icons/MQ";
				if(rs.getField("iconnumber").length == 2)
					icn += "000" + rs.getField("iconnumber");
				else if(rs.getField("iconnumber").length == 3)
					icn += "00" + rs.getField("iconnumber");
				icn += ".gif";

				mqIcon.setImage(icn, 20, 20, true, false);
			}
			else {
				mqIcon.setImage("images/icons/MQ00011.gif", 20, 20, true, false);
			}
			var mqPoi = new MQPoi(f.getCenterLatLng(), mqIcon);
			smMap.addPoi(mqPoi);
			smMap.bestFit();
			smMap.setZoomLevel(12);
			smMap.enableDragging(false);
			
			td = tr.insertCell(3);
			td.className = "mqTd";
			td.style.width = "20px";

			td = tr.insertCell(4);
			td.className = "mqTd";
			td.style.width = "250px";
			td.style.verticalAlign = "top";
			
			var span = document.createElement("span");
			span.className = "mqEmp";
			td.appendChild(span);
			
			var a = document.createElement("a");
			a.className = "mqAnchor";
			a.href="details.html?RecordId=" + f.getKey();
			a.appendChild(document.createTextNode(rs.getField("N")));
			span.appendChild(a);
			
			td.appendChild(document.createElement("br"));
			td.appendChild(document.createTextNode(rs.getField("address")));
			td.appendChild(document.createElement("br"));
			td.appendChild(document.createTextNode(rs.getField("city") + ", " + rs.getField("state") + " " + rs.getField("postal")));
			td.appendChild(document.createElement("br"));
			td.appendChild(document.createTextNode("Hours:" + rs.getField("hours")));
			td.appendChild(document.createElement("br"));
			td.appendChild(document.createTextNode("Phone:" + rs.getField("phone")));
			td.appendChild(document.createElement("br"));
			td.appendChild(document.createTextNode("Add'l Depts:"));
			var bSpacer = false;
			if(rs.getField("babydepot") != ""){
				if(bSpacer)
					td.appendChild(document.createTextNode(", "));
				td.appendChild(document.createTextNode("Baby Depot"));
				bSpacer = true;
			}
			if(rs.getField("jewelry") != ""){
				if(bSpacer)
					td.appendChild(document.createTextNode(", "));
				td.appendChild(document.createTextNode("Jewelry"));
				bSpacer = true;
			}
			if(rs.getField("linens") != ""){
				if(bSpacer)
					td.appendChild(document.createTextNode(", "));
				td.appendChild(document.createTextNode("Linens"));
				bSpacer = true;
			}
			if(rs.getField("shoes") != ""){
				if(bSpacer)
					td.appendChild(document.createTextNode(", "));
				td.appendChild(document.createTextNode("Shoes"));
				bSpacer = true;
			}


			td = tr.insertCell(5);
			td.className = "mqTd";
			td.style.width = "150px";
			td.style.textAlign = "center";
			td.style.verticalAlign = "top";
			td.appendChild(document.createTextNode(parseFloat(f.getDistance()).toFixed(2) + " miles"));
			
			td = tr.insertCell(6);
			td.className = "mqTd";
			td.style.width = "90px";
			
			
			tr = tbl.insertRow(trItt++);
			td = tr.insertCell(0);
			td.className = "mqTd";
			td.colSpan = "7";
			
		}
	}
		
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqBar";
	td.style.height = "2px";
	td.colSpan = "7";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqTd";
	td.colSpan = "7";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqTd";
	td.colSpan = "2";
	td = tr.insertCell(1);
	td.className = "mqTd";
	td.colSpan = "2";
	td.style.paddingLeft = "100px";
	td = tr.insertCell(2);
	td.className = "mqTd";
	td.style.paddingLeft = "65px";
	td.appendChild(document.createTextNode("["));
	var a = document.createElement("a");
	a.className = "mqAnchor";
	a.href="#"
	a.align="center"
	a.appendChild(document.createTextNode("Back to Top"));
	td.appendChild(a);
	
	td.appendChild(document.createTextNode("]"));
	td = tr.insertCell(3);
	td.className = "mqTd";
	td = tr.insertCell(4);
	td.className = "mqTd";

	
	
	map.addControl(new MQLargeZoomControl());
	map.addControl(new MQViewControl());
	//map.setBestFitMargin(60);
	map.bestFit();
	map.setZoomLevel(map.getZoomLevel() - 1);

}


function geocodeAddress(){
	if(ambLocationCollection == null){
		document.getElementById("trError").style.display = "none";
	
		mqOriginAddress = null;
	
		var mqAddress = new MQAddress();
		mqAddress.setStreet(document.getElementById("address").value);
		mqAddress.setCity(document.getElementById("city").value);
		mqAddress.setState(document.getElementById("stateProvince").value);
		mqAddress.setPostalCode(document.getElementById("postalCode").value);
		mqAddress.setCountry("US");
		
		if(mqAddress.getStreet() == "" && mqAddress.getCity() == "" && mqAddress.getState() == "" && mqAddress.getPostalCode() == ""){
			document.getElementById("trError").style.display = "";
			document.getElementById("tdErrorMsg").innerHTML = "Cannot identify this location without additional information. Please enter at least a city and state or postal code.	";
			return false;
		}
		
		
		var geoExec = new MQExec(MQCONFIG.GEOCODE_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
		
		var lcCollection = new MQLocationCollection();
		geoExec.geocode(mqAddress, lcCollection);
		
		if(lcCollection.getSize() == 0){
			document.getElementById("trError").style.display = "";
			document.getElementById("tdErrorMsg").innerHTML = "Address couldn't be geocoded, please try again!";
			
		}
		else if(lcCollection.getSize() == 1) {
			mqOriginAddress = lcCollection.getAt(0);
			search();
		
		}
		else {
			ambLocationCollection = lcCollection;
			//Show multi error.
			document.getElementById("trError").style.display = "";
			document.getElementById("tdErrorMsg").innerHTML = "Multiple Addresses found, please select from the list below!";
			
			var tbl = document.getElementById("frmTable");
			for(var i = tbl.rows.length-1; i > 0; i--){
				tbl.deleteRow(i);
			}
			
			
			var tr = tbl.insertRow(1);
			var td = tr.insertCell(0);
			var sel = document.createElement("select");
			sel.id="selAmbig";
			for(var i=0; i < ambLocationCollection.getSize(); i++){
				var loc = ambLocationCollection.getAt(i);
				
				var text = "";
				var bSpacer = false;
				if(loc.getStreet() != ""){
					text += loc.getStreet();
					bSpacer = true;
				}
				if(loc.getCity() != ""){
					if(bSpacer)
						text += ", ";
					text += loc.getCity();
					bSpacer = true;
				}
				if(loc.getCounty() != ""){
					if(bSpacer)
						text += ", ";
					text += "(" + loc.getCounty() + ")";
					bSpacer = true;
				}
				if(loc.getState() != ""){
					if(bSpacer)
						text += ", ";
					text += loc.getState();
					bSpacer = true;
				}
				
				var opt = getSelectOption(i +"", text);
				appendOptionToSelect(sel, opt);
				
			}
			td.appendChild(sel);
		
		}
	}
	else {
		var sel = document.getElementById("selAmbig");
		var i = sel.selectedIndex;
		mqOriginAddress = ambLocationCollection.getAt(i);
		search();
	}

	return false;
}

function search(){
	document.getElementById("trError").style.display = "none";
	
	var radius = document.getElementById("radius").value;
	
	var criteria = new MQRadiusSearchCriteria();
	criteria.setCenter(mqOriginAddress.getMQLatLng());
	criteria.setRadius(radius);
	criteria.setMaxMatches(10);
	
	var results = new MQFeatureCollection();
	
	var dblqCollection = new MQDBLayerQueryCollection();
	var dblq = new MQDBLayerQuery();
	dblq.setDBLayerName(MQCONFIG.DBLAYERQUERY_NAME);
	dblq.setExtraCriteria("burlington = '1'")
	dblqCollection.add(dblq);
	
	
	var searchExec = new MQExec(MQCONFIG.SPATIAL_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
	searchExec.search(criteria, results, "", dblqCollection, new MQFeatureCollection(), new MQDTCollection());
	
	
	if(results.getSize() > 0){
		var div = document.getElementById("contentArea");
		removeAllChildren(div);
		
		var a = document.createElement("a");
		a.className = "mqAnchor";
		a.name = "top";
		div.appendChild(a);
		
		var tbl = document.createElement("table");
		div.appendChild(tbl);
		tbl.className = "mqTable";
		tbl.width = "740";
		tbl.cellSpacing = 0;
		tbl.cellPadding = 0;
		tbl.border = 0;
		
		var tr = tbl.insertRow(0);
		var td = tr.insertCell(0);
		td.className = "mqBar";
		td.style.width = "20px";
		var td = tr.insertCell(1);
		td.className = "mqBar";
		td.appendChild(document.createTextNode("Locations Near You:"));
		var td = tr.insertCell(2);
		td.className = "mqBar";
		td.style.width = "26px";
		var td = tr.insertCell(3);
		td.className = "mqBar";
		td.style.width = "124px";
		var td = tr.insertCell(4);
		td.className = "mqBar";
		td.style.width = "150px";
						
		tr = tbl.insertRow(1);
		td = tr.insertCell(0);
		td.className = "mqVSpcr";
		td.colSpan = 1;
		
		tr = tbl.insertRow(2);
		td = tr.insertCell(0);
		td = tr.insertCell(1);
		td.className = "mqTd";
		td.colSpan = 1;
		var img = document.createElement("img");
		img.className = "mqImage";
		img.width = "16";
		img.height = "16";
		img.src = "images/icons/star_red.gif";
		td.appendChild(img);
		
		if(mqOriginAddress.getStreet()){
			td.appendChild(document.createTextNode(mqOriginAddress.getStreet()));
			td.appendChild(document.createElement("br"));
		}
		if(mqOriginAddress.getCity()){
			td.appendChild(document.createTextNode(mqOriginAddress.getCity() + " "));
		}
		if(mqOriginAddress.getState()){
			td.appendChild(document.createTextNode(mqOriginAddress.getState() + " "));
		}
		if(mqOriginAddress.getPostalCode()){
			td.appendChild(document.createTextNode(mqOriginAddress.getPostalCode() + " "));
		}
				
		td = tr.insertCell(2);
		td.className = "mqTdlist";
		td.align = "right";
		td.colSpan = 2;
		
		a = document.createElement("a");
		a.className = "mqAnchor" 
		a.href="#list";
		a.appendChild(document.createTextNode("List of Locations"));
		td.appendChild(a);
		
		//Spacer
		tr = tbl.insertRow(3);
		td = tr.insertCell(0);
		td.className = "mqVSpcr";
		td.colSpan = "5";

		//Map Div
		tr = tbl.insertRow(4);
		td =  tr.insertCell(0);
		td.className = "mqTd";
		td =  tr.insertCell(1);
		td.className = "mqTd";
		td.colSpan = 3;
		var divMQMap = document.createElement("div");
		divMQMap.style.height = "400px";
		divMQMap.style.width = "600px";
		td.appendChild(divMQMap);
		
		//Spacer
		tr = tbl.insertRow(5);
		td = tr.insertCell(0);
		td.className = "mqVSpcr";
		td.colSpan = "5";
		
		//Copyright/License
		tr = tbl.insertRow(6);
		td =  tr.insertCell(0);
		td.className = "mqTd";
		td =  tr.insertCell(0);
		td.className = "mqTd";
		td.colSpan = 2;
		var a = document.createElement("a");
		a.className = "mqAnchorcopy"
		a.href = "http://www.mapquest.com/about/copyright2.adp?display=popup" 
		a.target = "blank"
		a.appendChild(document.createTextNode("Use Subject to License/Copyright"));
		td.appendChild(a);
		
		//Spacer
		tr = tbl.insertRow(7);
		td = tr.insertCell(0);
		td.className = "mqVSpcr";
		td.colSpan = "5";
		
		//Table results
		tr = tbl.insertRow(8);
		var tdResults = tr.insertCell(0);
		tdResults.className = "mqTd";
		tdResults.colSpan = "5";
		
		//Spacer
		tr = tbl.insertRow(9);
		td = tr.insertCell(0);
		td.className = "mqVSpcr";
		td.colSpan = "5";
		
		//Small print
		tr = tbl.insertRow(10);
		td = tr.insertCell(0);
		td.className = "mqTd";
		td.style.marginLeft = 70;
		
		td = tr.insertCell(1);
		td.className = "mqSmText";
		td.colSpan = 4;
		td.appendChild(document.createTextNode("This map is informational only. No representation is made or warranty given as to its content"));
		td.appendChild(document.createElement("br"));
		td.appendChild(document.createTextNode("or usability. User assumes all risk of use. Burlington Coat Factory, MapQuest and their suppliers"));
		td.appendChild(document.createElement("br"));
		td.appendChild(document.createTextNode("assume no responsibility for any loss resulting from such use."));
		
		displayResults(tdResults, divMQMap, results, searchExec);
		
	}
	else {
		document.getElementById("trError").style.display = "";
		var n = new Number(radius);
		document.getElementById("tdErrorMsg").innerHTML = "No locations were found within " + n.toFixed(2) + " mi. Please expand your search.";
	}
	
}

function getDetailsFromRecordId(){
	var dblq = new MQDBLayerQuery();
	dblq.setDBLayerName(MQCONFIG.DBLAYERQUERY_NAME);
	
	var scIds = new MQStringCollection();
	var scFields = new MQStringCollection();
	scIds.add(sRecordId);
	var rs = new MQRecordSet();
	
	var spatialExec = new MQExec(MQCONFIG.SPATIAL_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
	spatialExec.getRecordInfo(scFields, dblq, rs, scIds);
		
	if(!rs.EOF){
		var td = document.getElementById("tdDetailsText");
		
		var span = document.createElement("span");
		span.className = "mqEmp";
		td.appendChild(span);
		
		span.appendChild(document.createTextNode(rs.getField("N")));
		
		td.appendChild(document.createElement("br"));
		td.appendChild(document.createTextNode(rs.getField("address")));
		td.appendChild(document.createElement("br"));
		td.appendChild(document.createTextNode(rs.getField("city") + ", " + rs.getField("state") + " " + rs.getField("postal")));
		td.appendChild(document.createElement("br"));
		td.appendChild(document.createTextNode("Hours:" + rs.getField("hours")));
		td.appendChild(document.createElement("br"));
		td.appendChild(document.createTextNode("Phone:" + rs.getField("phone")));
		td.appendChild(document.createElement("br"));
		td.appendChild(document.createTextNode("Add'l Depts:"));
		var bSpacer = false;
		if(rs.getField("babydepot") != ""){
			if(bSpacer)
				td.appendChild(document.createTextNode(", "));
			td.appendChild(document.createTextNode("Baby Depot"));
			bSpacer = true;
		}
		if(rs.getField("jewelry") != ""){
			if(bSpacer)
				td.appendChild(document.createTextNode(", "));
			td.appendChild(document.createTextNode("Jewelry"));
			bSpacer = true;
		}
		if(rs.getField("linens") != ""){
			if(bSpacer)
				td.appendChild(document.createTextNode(", "));
			td.appendChild(document.createTextNode("Linens"));
			bSpacer = true;
		}
		if(rs.getField("shoes") != ""){
			if(bSpacer)
				td.appendChild(document.createTextNode(", "));
			td.appendChild(document.createTextNode("Shoes"));
			bSpacer = true;
		}
		
		var map = new MQTileMap(document.getElementById("myMap"));
		
		var mqIcon = new MQMapIcon();
		if(rs.getField("iconnumber") != ""){
			var icn = "images/icons/MQ";
			if(rs.getField("iconnumber").length == 2)
				icn += "000" + rs.getField("iconnumber");
			else if(rs.getField("iconnumber").length == 3)
				icn += "00" + rs.getField("iconnumber");
			icn += ".gif";

			mqIcon.setImage(icn, 20, 20, true, false);
		}
		else {
			mqIcon.setImage("images/icons/MQ00011.gif", 20, 20, true, false);
		}
		var latlng = new MQLatLng();
		latlng.setLatLng(parseFloat(rs.getField("Lat")), parseFloat(rs.getField("Lng")));
		var mqPoi = new MQPoi(latlng, mqIcon);
		map.addPoi(mqPoi);
		
		map.addControl(new MQLargeZoomControl());
		map.addControl(new MQViewControl());
		map.bestFit();
		map.setZoomLevel(10);
	}
}

function getDetails(){
	var url = self.location.href;
	if(url.indexOf("?") > 0){
		var query = url.split("?")[1];
		var indx = query.indexOf("RecordId");
		if(indx > -1){
			var	sindx = query.indexOf("=", indx + 1) + 1;
			if(sindx > 0){
				var eindx = query.indexOf("&", sindx + 1);
				if(eindx > sindx){
					var rid = query.substring(sindx, eindx);
				}
				else {
					rid = query.substring(sindx);
				}
				sRecordId  = rid;
				
				getDetailsFromRecordId();
				return;
			}		
		}
	}
	self.location.href = "index.html";
	return;	
}

var destAddress, origAddress;

function route(){
	if(!sRecordId){
		return;
	}
	
	document.getElementById("trError").style.display = "none";
	
	var dblq = new MQDBLayerQuery();
	dblq.setDBLayerName(MQCONFIG.DBLAYERQUERY_NAME);
	
	var scIds = new MQStringCollection();
	var scFields = new MQStringCollection();
	scIds.add(sRecordId);
	var rs = new MQRecordSet();
	
	var spatialExec = new MQExec(MQCONFIG.SPATIAL_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
	spatialExec.getRecordInfo(scFields, dblq, rs, scIds);
	
	var geocodeExec = new MQExec(MQCONFIG.GEOCODE_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
	
	destAddress = new MQGeoAddress();
	if(!rs.EOF){
		destAddress.setStreet(rs.getField("address"));
		destAddress.setCity(rs.getField("city"));
		destAddress.setState(rs.getField("state"));
		destAddress.setPostalCode(rs.getField("postal"));
		var latlng = new MQLatLng();
		latlng.setLatLng(parseFloat(rs.getField("Lat")), parseFloat(rs.getField("Lng")));
		destAddress.setMQLatLng(latlng);
	}
	
	
	var mqAddress = new MQAddress();
	mqAddress.setStreet(document.getElementById("address").value);
	mqAddress.setCity(document.getElementById("city").value);
	mqAddress.setState(document.getElementById("stateProvince").value);
	mqAddress.setPostalCode(document.getElementById("postalCode").value);
	mqAddress.setCountry("US");
	
	if(mqAddress.getStreet() == "" && mqAddress.getCity() == "" && mqAddress.getState() == "" && mqAddress.getPostalCode() == ""){
		var sErrorMsg = "Cannot identify this location without additional information. Please enter at least a city and state or postal code.	";
		showOriginDest(mqAddress, destAddress, sErrorMsg);
		return;
	}
		
		
	var geoExec = new MQExec(MQCONFIG.GEOCODE_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
		
	var lcCollection = new MQLocationCollection();
	geoExec.geocode(mqAddress, lcCollection);
	
	if(lcCollection.getSize() == 0){
		var sErrorMsg = "Address couldn't be geocoded, please try again!";
		showOriginDest(mqAddress, destAddress, sErrorMsg);
		return;
		
	}
	else if(lcCollection.getSize() > 1) {
		var sErrorMsg = "Multiple Addresses found, please select from the list below!";
		showOriginDest(lcCollection, destAddress, sErrorMsg);
		return;
	}
	else {
		origAddress = lcCollection.getAt(0);
		showRoute();
	}
}

function showRoute(){
	document.getElementById("trPrintHeader").style.display = "none";
	document.getElementById("trMainHeader").style.display = "";

	var oA = new MQGeoAddress();
	oA.setStreet(origAddress.getStreet());
	oA.setCity(origAddress.getCity());
	oA.setState(origAddress.getState());
	oA.setPostalCode(origAddress.getPostalCode());
	oA.setCountry(origAddress.getCountry());
	oA.setMQLatLng(origAddress.getMQLatLng());

	var dA = new MQGeoAddress();
	dA.setStreet(destAddress.getStreet());
	dA.setCity(destAddress.getCity());
	dA.setState(destAddress.getState());
	dA.setPostalCode(destAddress.getPostalCode());
	dA.setCountry(destAddress.getCountry());
	dA.setMQLatLng(destAddress.getMQLatLng());

	var rLC = new MQLocationCollection();
	rLC.add(oA);
	rLC.add(dA);
	
	var rOpt = new MQRouteOptions();
	rOpt.setMaxShapePointsPerManeuver(3000);
	
	if(document.getElementById("routeLanguage")){
		switch(document.getElementById("routeLanguage").value){
			case "es":
				rOpt.setLanguage("Spanish");
				break;
			case "fr":
				rOpt.setLanguage("French");
				break;
			case "de":
				rOpt.setLanguage("German");
				break;
			case "it":
				rOpt.setLanguage("Italian");
				break;
			
			default:
				break;
		}
	}
			
	var rResults = new MQRouteResults();
	var routeExec = new MQExec(MQCONFIG.ROUTE_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
	routeExec.doRoute(rLC, rOpt, rResults);
	
	
	var div = document.getElementById("contentArea");
	div.style.paddingLeft = 0;
	removeAllChildren(div);
	
	var tbl = document.createElement("table");
	tbl.id = "tblMain";
	div.appendChild(tbl);
	var trItt = 0;
	
	tbl.className = "mqTable";
	tbl.cellSpacing="0";
	tbl.cellPadding="0";
	tbl.border="0";
	tbl.style.width = "740px";
	
	var tr = tbl.insertRow(trItt++);
	tr.id = "trHdrBack";
	var td = tr.insertCell(0);
	td.className = "mqBack_print";
	td.colSpan = "3";
	td.appendChild(document.createTextNode("<"));
	
	var a = document.createElement("a");
	a.className="mqBack"
	a.href="javascript:showRoute();"
	a.appendChild(document.createTextNode("Back"));
	td.appendChild(a);
	tr.style.display = "none";
	
	tr = tbl.insertRow(trItt++);
	tr.id = "trHdrText";
	td = tr.insertCell(0);
	td.className = "mqBar";
	td = tr.insertCell(1);
	td.className = "mqBar";
	td.colSpan = "2";
	td.appendChild(document.createTextNode("Driving Directions"));
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	td.appendChild(document.createTextNode(" "));
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqTd";
	td.style.width = "20px";
	td = tr.insertCell(1);
	td.className = "mqTd";
	td.style.width = "530px";
	
	var sTbl = document.createElement("table");
	td.appendChild(sTbl);
	sTbl.className="mqTable";
	sTbl.width="100%";
	sTbl.cellSpacing="0";
	sTbl.cellPadding="0";
	sTbl.border="0";
	
	var sTr = sTbl.insertRow(0);
	var sTd = sTr.insertCell(0);
	sTd.className="mqEmp"
	sTd.style.verticalAlign = "top";
	sTd.style.width = "40px";
	sTd.style.textAlign = "right";
	sTd.appendChild(document.createTextNode("FROM"));
	
	sTd = sTr.insertCell(1);
	sTd.className = "mqHSpcr";
	sTd.style.width = "10px";
	
	sTd = sTr.insertCell(2);
	sTd.className = "mqTd";
	sTd.style.verticalAlign = "top";
	sTd.style.width = "200px";
	
	if(origAddress.getStreet()){
		sTd.appendChild(document.createTextNode(origAddress.getStreet()));
		sTd.appendChild(document.createElement("br"));
	}
	if(origAddress.getCity()){
		sTd.appendChild(document.createTextNode(origAddress.getCity() + " "));
	}
	if(origAddress.getState()){
		sTd.appendChild(document.createTextNode(origAddress.getState() + " "));
	}
	if(origAddress.getPostalCode()){
		sTd.appendChild(document.createTextNode(origAddress.getPostalCode() + " "));
	}

	sTd = sTr.insertCell(3);
	sTd.className = "mqTd";
	sTd.style.verticalAlign = "top";
	sTd.style.width = "30px";
	
	sTd = sTr.insertCell(4);
	sTd.className = "mqEmpTo";
	sTd.style.verticalAlign = "top";
	sTd.style.width = "40px";
	sTd.style.textAlign = "right"
	sTd.appendChild(document.createTextNode("TO"));
	
	sTd = sTr.insertCell(5);
	sTd.className="mqHSpcr"
	sTd.style.width = "10px";
	
	sTd = sTr.insertCell(6);
	sTd.className="mqTd";
	sTd.style.verticalAlign = "top";
	sTd.style.width = "200px";
	if(destAddress.getStreet()){
		sTd.appendChild(document.createTextNode(destAddress.getStreet()));
		sTd.appendChild(document.createElement("br"));
	}
	if(destAddress.getCity()){
		sTd.appendChild(document.createTextNode(destAddress.getCity() + " "));
	}
	if(destAddress.getState()){
		sTd.appendChild(document.createTextNode(destAddress.getState() + " "));
	}
	if(destAddress.getPostalCode()){
		sTd.appendChild(document.createTextNode(destAddress.getPostalCode() + " "));
	}
	
	
	sTd = sTr.insertCell(7);
	sTd.className = "mqTd";
	sTd.style.verticalAlign = "top";
	sTd.style.width = "175px";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className="mqHSpcr"
	
	td = tr.insertCell(1);
	tr.id = "trPrintReverse";
	td.className="mqTd"
	td.colSpan="2"
	
	sTbl = document.createElement("table");
	td.appendChild(sTbl);
	sTbl.className="mqTable"
	sTbl.width="100%"
	sTbl.cellSpacing="0"
	sTbl.cellPadding="0"
	
	sTr = sTbl.insertRow(0);
	sTd = sTr.insertCell(0);
	sTd.style.width = "25px";
	
	var a = document.createElement("a");
	a.className="mqAnchor"
	a.href="javascript:printDirections();"
	sTd.appendChild(a);
	
	var img = document.createElement("img");
	img.className="mqImage"
	img.width="25"
	img.height="26"
	img.border="0"
	img.src="images/icons/icon_print.gif";
	a.appendChild(img);
	
	sTd = sTr.insertCell(1);
	sTd.style.width = "125px"
	var a = document.createElement("a");
	a.className="mqAnchor"
	a.href="javascript:printDirections();"
	sTd.appendChild(a);
	a.appendChild(document.createTextNode("Print Directions"));
	
	sTd = sTr.insertCell(2);
	sTd.style.width = "25px";
	
	var a = document.createElement("a");
	a.className="mqAnchor"
	a.href="javascript:reverseDirections();"
	sTd.appendChild(a);
	
	var img = document.createElement("img");
	img.className="mqImage"
	img.width="25"
	img.height="26"
	img.border="0"
	img.src="images/icons/icon_reverse.gif";
	a.appendChild(img);
	
	
	sTd = sTr.insertCell(3);
	var a = document.createElement("a");
	a.className="mqAnchor"
	a.href="javascript:reverseDirections();"
	sTd.appendChild(a);
	a.appendChild(document.createTextNode("Reverse Directions"));
		
	tr = tbl.insertRow(trItt++);
	tr.id="trResultTable"
	td = tr.insertCell(0);
	td.className="mqTd"
	td.colSpan="3";
	td.appendChild(getRouteResults(rResults, origAddress, destAddress));
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqTd"
	td.style.height = "30px"
	td.colSpan="2"
	var span = document.createElement("span");
	span.className="mqEmp";
	span.appendChild(document.createTextNode("Estimated Driving Time: "));
	td.appendChild(span);
	
	var t = rResults.getTime();
	var h = parseInt(t / 3600);
	var m = parseInt((t%3600) / 60)
	
	var tstr = "";
	if(h == 1)
		tstr += "1 hour ";
	else if(h > 1)
		tstr += h + " hours";
		
	if(m == 1)
		tstr += "1 min";
	else if(m > 1); 
		tstr += m + " mins";
	
	var span = document.createElement("span");
	span.className="mqHSpcr";
	span.appendChild(document.createTextNode(tstr));
	td.appendChild(span);

	td = tr.insertCell(1);
	td.className = "mqTd"
	td.style.textAlign = "right"
	
	var span = document.createElement("span");
	span.className="mqEmp";
	span.appendChild(document.createTextNode("Total Distance: "));
	td.appendChild(span);
	
	var span = document.createElement("span");
	span.className="mqHSpcr";
	span.appendChild(document.createTextNode(parseInt(rResults.getDistance()).toFixed(2) + " mi"));
	td.appendChild(span);
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	
	tr = tbl.insertRow(trItt++);
	tr.id = "trMaps";
	td = tr.insertCell(0);
	td.className = "mqBar";
	
	td = tr.insertCell(1);
	td.className = "mqBar"
	td.colSpan="2"
	td.appendChild(document.createTextNode("Maps"));
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqEmp"
	td.style.paddingLeft = "80px";
	td.colSpan="3"
	td.appendChild(document.createTextNode("OVERVIEW:"));
	td.id="tdOverviewText";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqCenter";
	td.colSpan="3";
	td.id="tdOverviewMap";
	td.style.paddingLeft = "80px";
	
	var div = document.createElement("div");
	div.style.height = "342px";
	div.style.width = "594px";
	td.appendChild(div);
	
	getRouteResultsMap(div, rResults, origAddress , destAddress, 0)
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	
	tr = tbl.insertRow(trItt++);
	td.className="mqTd"
	td.colSpan="3"
	
	var sTbl = document.createElement("table");
	td.appendChild(sTbl);
	sTbl.className="mqTable"
	sTbl.width="100%"
	sTbl.cellSpacing="0"
	sTbl.cellPadding="0"
	sTbl.border="0";
	
	var sTr = sTbl.insertRow(0);
	var sTd = sTr.insertCell(0);
	sTd.className="mqCenter"
	sTd.width="50%";
	
	var span = document.createElement("span");
	span.className="mqEmp";
	span.appendChild(document.createTextNode("STARTING LOCATION:"));
	sTd.appendChild(span);
	sTd.appendChild(document.createElement("br"));
	
	if(origAddress.getStreet()){
		sTd.appendChild(document.createTextNode(origAddress.getStreet()));
		sTd.appendChild(document.createElement("br"));
	}
	if(origAddress.getCity()){
		sTd.appendChild(document.createTextNode(origAddress.getCity() + " "));
	}
	if(origAddress.getState()){
		sTd.appendChild(document.createTextNode(origAddress.getState() + " "));
	}
	if(origAddress.getPostalCode()){
		sTd.appendChild(document.createTextNode(origAddress.getPostalCode() + " "));
	}
	
	var sTd = sTr.insertCell(1);
	sTd.className="mqCenter"
	sTd.width="50%";
	
	var span = document.createElement("span");
	span.className="mqEmp";
	span.appendChild(document.createTextNode("DESTINATION:"));
	sTd.appendChild(span);
	sTd.appendChild(document.createElement("br"));
	
	if(destAddress.getStreet()){
		sTd.appendChild(document.createTextNode(destAddress.getStreet()));
		sTd.appendChild(document.createElement("br"));
	}
	if(destAddress.getCity()){
		sTd.appendChild(document.createTextNode(destAddress.getCity() + " "));
	}
	if(destAddress.getState()){
		sTd.appendChild(document.createTextNode(destAddress.getState() + " "));
	}
	if(destAddress.getPostalCode()){
		sTd.appendChild(document.createTextNode(destAddress.getPostalCode() + " "));
	}
	
	sTr = sTbl.insertRow(1);
	sTd = sTr.insertCell(0);
	sTd.className = "mqVSpcr";
	sTd.colSpan = "2";
	
	sTr = sTbl.insertRow(2);
	sTd = sTr.insertCell(0);
	sTd.className="mqCenter";
	sTd.style.paddingLeft = "90px";
	sTd.id="tdOrigMap";
	
	var div = document.createElement("div");
	div.style.width = "198px"
	div.style.height="119px"
	sTd.appendChild(div);
	
	getRouteResultsMap(div, rResults, origAddress , destAddress, 1);

	sTd = sTr.insertCell(1);
	sTd.className="mqCenter";
	sTd.id="tdDestMap";
	sTd.style.paddingLeft = "90px";
	
	var div = document.createElement("div");
	div.style.width = "198px"
	div.style.height="119px"
	sTd.appendChild(div);
	
	getRouteResultsMap(div, rResults, origAddress , destAddress, 2);
	
	sTr = sTbl.insertRow(3);
	sTd = sTr.insertCell(0);
	sTd.className = "mqVSpcr";
	sTd.colSpan = "2";

	sTr = sTbl.insertRow(4);
	sTd = sTr.insertCell(0);
	sTd.className="mqTd"
	sTd.style.paddingLeft = "83px";
	
	var a = document.createElement("a");
	a.className="mqAnchorcopy" 
	a.href="http://www.mapquest.com/about/copyright2.adp?display=popup"
	a.target="blank";
	a.appendChild(document.createTextNode("Use Subject to License/Copyright"));
	sTd.appendChild(a);
	
	sTd = sTr.insertCell(1);
	sTd.className="mqTd"
	sTd.style.textAlign = "right"
	
	var img = document.createElement("img");
	img.className="mqImage"
	img.width="74"
	img.height="23"
	img.src="images/t.gif"
	sTd.appendChild(img);
		
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqVSpcr";
	td.colSpan = "3";
	
	var sTbl = document.createElement("table");
	td.appendChild(sTbl);
	sTbl.className = "mqSmTextRoute";
	
	sTr = sTbl.insertRow(0);
	sTd = sTr.insertCell(0);
	sTd.className="mqSmText";
	sTd.appendChild(document.createTextNode("These directions are informational only. No representation is made or warranty given as to its content or usability. User assumes all risk of use. Burlington Coat Factory, MapQuest and their suppliers assume no responsibility for any loss resulting from such use."));

}

function getRouteResultsMap(div, rResults, origAddress , destAddress, centerOn){
	var map = new MQTileMap(div);
	var all = new Array();
	
	
	var mqIcon = new MQMapIcon();
	mqIcon.setImage("images/icons/start.gif", 37, 11, true, false);
	var mqPoi = new MQPoi(origAddress.getMQLatLng(), mqIcon);
	map.addPoi(mqPoi);
	all.push(origAddress.getMQLatLng());
			

	var mqIcon = new MQMapIcon();
	mqIcon.setImage("images/icons/end.gif", 37, 11, true, false);
	var mqPoi = new MQPoi(destAddress.getMQLatLng(), mqIcon);
	map.addPoi(mqPoi);
	all.push(destAddress.getMQLatLng());
	
	var sp = rResults.getShapePoints();
	
	var lPrimitive =  new MQLineOverlay();
	lPrimitive.setShapePoints(rResults.getShapePoints());
	lPrimitive.setColor("rgb(255, 0, 255)");
	lPrimitive.setBorderWidth(12);
	lPrimitive.setColorAlpha(.6);
	map.addOverlay(lPrimitive);
	
	switch(centerOn){
		case 0:
			for(var i=0; i < sp.getSize(); i++){
				all.push(new MQLatLng(sp.getAt(i).getLatitude(), sp.getAt(i).getLongitude()));
			}
			map.bestFitLL(all, false);
			map.setZoomLevel(map.getZoomLevel() - 1);
			map.addControl(new MQLargeZoomControl(), new  MQMapCornerPlacement(MQMapCorner.TOP_LEFT, new MQSize(5,17)));
			map.addControl(new MQViewControl(), new  MQMapCornerPlacement(MQMapCorner.TOP_RIGHT, new MQSize(120,0)));
			break;
		case 1:
			map.setCenter(origAddress.getMQLatLng(), 10);
			break;
		case 2:
			map.setCenter(destAddress.getMQLatLng(), 10);
			break;
	}

	
	
}

function getRouteResults(rResults, origAddress , destAddress){
	var maneuvers = rResults.getTrekRoutes().getAt(0).getManeuvers();
		
	var trItt = 0;	
	var tbl = document.createElement("table");
	tbl.className = "mqTable";
	tbl.width="100%";
	tbl.cellSpacing="0";
	tbl.cellPadding="0";
	tbl.border="0";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqTd"
	td.style.width = "20px";
	
	td = tr.insertCell(1);
	td.className = "mqTd"
	td.style.width = "20px";
	
	td = tr.insertCell(2);
	td.className = "mqTd"
	td.style.width = "10px";
	
	td = tr.insertCell(3);
	td.className = "mqTd"
	td.style.width = "25px";
	
	td = tr.insertCell(4);
	td.className = "mqTd"
	td.style.width = "590px";
	
	td = tr.insertCell(5);
	td.className = "mqTd"
	td.style.width = "95px";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.id = "tdDD1";
	td.className = "mqBar";
	
	td = tr.insertCell(1);
	td.id = "tdDD2";
	td.className = "mqBar";
	td.colSpan = "4"
	td.appendChild(document.createTextNode("Directions"));
	
	td = tr.insertCell(2);
	td.id = "tdDD3";
	td.className = "mqBar";
	td.appendChild(document.createTextNode("Distance"));
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className="mqHline"
	td.style.height = "1px"
	td.colSpan="6"
	td.style.display = "none";
	tr.id = "trDDLine";
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className="mqTd"
	td.style.height = "30px"
	td.colSpan="6"
	
	var img = document.createElement("img");
	img.id = "imgStart";
	img.className="mqImage"
	img.width="37"
	img.height="11"
	img.src="images/icons/start.gif";
	td.appendChild(img);
	
	var span = document.createElement("span");
	var b = document.createElement("b");
	b.appendChild(document.createTextNode("FROM "));
	span.appendChild(b);
	span.style.display = "none";
	span.id = "spnStart";
	td.appendChild(span);
	
	var span = document.createElement("span");
	span.className = "mqEmp";
	span.appendChild(document.createTextNode(" "));
	
	if(origAddress.getStreet()){
		span.appendChild(document.createTextNode(origAddress.getStreet() + " "));
	}
	if(origAddress.getCity()){
		span.appendChild(document.createTextNode(origAddress.getCity() + " "));
	}
	if(origAddress.getState()){
		span.appendChild(document.createTextNode(origAddress.getState() + " "));
	}
	if(origAddress.getPostalCode()){
		span.appendChild(document.createTextNode(origAddress.getPostalCode() + " "));
	}
	td.appendChild(span);
	
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqHline";
	td.height = "1";
	td.colSpan = "6"
	
	for(var i=0; i < maneuvers.getSize(); i++){
		var man = maneuvers.getAt(i);
		tr = tbl.insertRow(trItt++);
		if(i % 2 == 0)
			tr.className = "mqShade"
		else
			tr.className = "na"
		
		td = tr.insertCell(0);
		td.className = "mqTd"
		
		td = tr.insertCell(1);
		td.className = "mqEmp"
		td.style.textAlign = "right"
		td.appendChild(document.createTextNode((i+1) + ":"));
		
		td = tr.insertCell(2);
		td.className = "mqTd";
		
		td = tr.insertCell(3);
		td.className = "mqTd";
		td.colSpan = "2";
		td.appendChild(document.createTextNode(man.getNarrative()));
		
		td = tr.insertCell(4);
		td.className = "mqTd";
		td.style.textAlign = "right";
		var d = parseFloat(man.getDistance()).toFixed(2);
		td.appendChild(document.createTextNode(d + "mi"));
		
		tr = tbl.insertRow(trItt++);
		td = tr.insertCell(0);
		td.className = "mqHline";
		td.colSpan = "6";
	}
	
	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className="mqTd"
	td.style.height = "30px"
	td.colSpan="6"
	
	
	var img = document.createElement("img");
	img.id = "imgEnd";
	img.className="mqImage"
	img.width="37"
	img.height="11"
	img.src="images/icons/end.gif";
	td.appendChild(img);
	
	var span = document.createElement("span");
	var b = document.createElement("b");
	b.appendChild(document.createTextNode("TO "));
	span.appendChild(b);
	span.style.display = "none";
	span.id = "spnEnd";
	td.appendChild(span);

	
	var span = document.createElement("span");
	span.className = "mqEmp";
	span.appendChild(document.createTextNode(" "));
	
	if(destAddress.getStreet()){
		span.appendChild(document.createTextNode(destAddress.getStreet() + ", "));
	}
	if(destAddress.getCity()){
		span.appendChild(document.createTextNode(destAddress.getCity() + ", "));
	}
	if(destAddress.getState()){
		span.appendChild(document.createTextNode(destAddress.getState() + " "));
	}
	if(destAddress.getPostalCode()){
		span.appendChild(document.createTextNode(destAddress.getPostalCode() + " "));
	}
	td.appendChild(span);

	tr = tbl.insertRow(trItt++);
	td = tr.insertCell(0);
	td.className = "mqHline";
	td.colSpan = "6";
	
	return tbl;
}

var origLocationCollection = null;
var destLocationCollection = null;

function routeOrigDest(){
	var bDoRoute = false;
	var sErrorMsg = null;
	var geoExec = new MQExec(MQCONFIG.GEOCODE_SERVER, MQCONFIG.PATH, MQCONFIG.PORT, MQCONFIG.PROXY_SERVER, MQCONFIG.PROXY_PATH, MQCONFIG.PROXY_PORT);
	
	if(origLocationCollection != null){
		var i = document.getElementById("selAmbigOrig").selectedIndex;
		origAddress = origLocationCollection.getAt(i);
		bDoRoute = true;
	}
	else {
		origAddress = new MQAddress();
		origAddress.setStreet(document.getElementById("origaddress").value);
		origAddress.setCity(document.getElementById("origcity").value);
		origAddress.setState(document.getElementById("origstateProvince").value);
		origAddress.setPostalCode(document.getElementById("origpostalCode").value);
		origAddress.setCountry("US");
	
		if(origAddress.getStreet() == "" && origAddress.getCity() == "" && origAddress.getState() == "" && origAddress.getPostalCode() == ""){
			sErrorMsg = "Cannot identify this location without additional information. Please enter at least a city and state or postal code.	";
		}
		else {
			var lcCollection = new MQLocationCollection();
			geoExec.geocode(origAddress, lcCollection);
	
			if(lcCollection.getSize() == 0){
				sErrorMsg = "Address couldn't be geocoded, please try again!";
			}
			else if(lcCollection.getSize() > 1) {
				sErrorMsg = "Multiple Addresses found, please select from the list below!";
				origAddress = lcCollection;
			}
			else {
				origAddress = lcCollection.getAt(0);
				bDoRoute = true;
			}
		}	
	}
	
	if(destLocationCollection != null){
		var i = document.getElementById("selAmbigDest").selectedIndex;
		destAddress = destLocationCollection.getAt(i);
		bDoRoute = true;
	}
	else {
		destAddress = new MQAddress();
		destAddress.setStreet(document.getElementById("destaddress").value);
		destAddress.setCity(document.getElementById("destcity").value);
		destAddress.setState(document.getElementById("deststateProvince").value);
		destAddress.setPostalCode(document.getElementById("destpostalCode").value);
		destAddress.setCountry("US");
		
		if(bDoRoute){
		
			if(destAddress.getStreet() == "" && destAddress.getCity() == "" && destAddress.getState() == "" && destAddress.getPostalCode() == ""){
				sErrorMsg = "Cannot identify this location without additional information. Please enter at least a city and state or postal code.	";
					bDoRoute = false;
			}
			else {
				var lcCollection = new MQLocationCollection();
				geoExec.geocode(destAddress, lcCollection);
		
				if(lcCollection.getSize() == 0){
					sErrorMsg = "Address couldn't be geocoded, please try again!";
					bDoRoute = false;
				}
				else if(lcCollection.getSize() > 1) {
					sErrorMsg = "Multiple Addresses found, please select from the list below!";
					destAddress = lcCollection;
					bDoRoute = false;
				}
				else {
					destAddress = lcCollection.getAt(0);
					bDoRoute = true;
				}
			}	
		}
	}
	
	
	if(bDoRoute){
		showRoute();
	}
	else {
		showOriginDest(origAddress, destAddress, sErrorMsg);
	}

}


function reverseDirections(){
	var tmp = origAddress;
	origAddress = destAddress;
	destAddress = tmp;
	showRoute();
}

function showOriginDest(orig, dest, sErrorMsg){
	origLocationCollection = null;
	destLocationCollection = null;
		var div = document.getElementById("contentArea");
		removeAllChildren(div);
		
		var frm = document.createElement("form");
		frm.onsubmit = function(){ try{routeOrigDest();}catch(exc){}; return false;};
		div.appendChild(frm);
		
		var tbl = document.createElement("table");
		frm.appendChild(tbl);
		tbl.className = "mqTableroute" 
		tbl.border="0"
		tbl.cellSpacing="0"
		tbl.cellPadding="0";
		
		var trItt = 0;
		var tr = tbl.insertRow(trItt++);
		var td = tr.insertCell(0);
		td.className = "mqBar"
		td.style.width = "20px";
		td.appendChild(document.createTextNode(" "));
		td = tr.insertCell(1);
		td.className="mqBar"
		td.style.paddingLeft = "13px"
		td.colSpan="3"
		td.appendChild(document.createTextNode("Driving Directions"));
		td = tr.insertCell(2);
		td.className="mqBar"
		td.style.width = "390px"
		td.appendChild(document.createTextNode(" "));
		
		tr = tbl.insertRow(trItt++);
		td = tr.insertCell(0);
		td.colSpan="4"
		td.className="mqVSpcrSearch"
		td.style.height = "10px";
		td.appendChild(document.createTextNode(" "));
		
		if(sErrorMsg){
			tr = tbl.insertRow(trItt++);
			td = tr.insertCell(0);
			td.className = "mqTd"
			td.appendChild(document.createTextNode(" "));
			td = tr.insertCell(1);
			td.className="mqTd"
			td.colSpan="2"
			td.style.paddingLeft = "15px";
			
			var sTrItt = 0;
			var sTbl = document.createElement("table");
			td.appendChild(sTbl);
			sTbl.className="mqError"
			sTbl.width="90%"
			sTbl.height="43"
			sTbl.cellSpacing="0"
			sTbl.cellPadding="0"
			sTbl.border="0"
			
			var sTr = sTbl.insertRow(sTrItt++);
			var sTd = sTr.insertCell(0);
			sTd.colSpan="5"
			sTd.className="mqHline"
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className="mqVline"
			
			sTd = sTr.insertCell(1);
			sTd.className = "mqTd"
			sTd.style.width = "35px";
			sTd.style.height = "40px";
			sTd.style.textAlign = "center"
			
			var img = document.createElement("img");
			img.className = "mqImage"
			img.src="images/icons/icon_warning_big.gif"
			img.width="36"
			img.height="36"
			img.style.paddingLeft = "5px";
			img.style.paddingRight = "5px";
			sTd.appendChild(img);
			
			sTd = sTr.insertCell(2);
			sTd.className="mqErrMsg";
			sTd.appendChild(document.createTextNode(sErrorMsg));
			
			sTd = sTr.insertCell(3);
			sTd.className="mqTd"
			sTd.style.width= "10px";
			sTd.appendChild(document.createTextNode(" "));
			
			sTd = sTr.insertCell(4);
			sTd.className = "mqVline";
			
			var sTr = sTbl.insertRow(sTrItt++);
			var sTd = sTr.insertCell(0);
			sTd.colSpan="5"
			sTd.className="mqHline"
		}
		
		tr = tbl.insertRow(trItt++);
		td = tr.insertCell(0);
		td.className="mqTd"
		td.colSpan="3"
		td.appendChild(document.createTextNode(" "));
	
		tr = tbl.insertRow(trItt++);
		td = tr.insertCell(0);
		td.className = "mqHSpcr"
		td.appendChild(document.createTextNode(" "));
		
		td = tr.insertCell(1);
		td.className="mqTd"
		
		//From
		var fTrItt = 0;
		var fTbl = document.createElement("table");
		td.appendChild(fTbl);
		
		fTbl.className="mqTable"
		fTbl.width="100%"
		fTbl.border="0"
		fTbl.cellSpacing="0"
		fTbl.cellPadding="0"
		fTbl.style.paddingLeft = "13px";
		fTbl.style.paddingRight = "20px"
		
		var fTr = fTbl.insertRow(fTrItt++);
		var fTd = fTr.insertCell(0);
		fTd.colSpan="2"
		fTd.className="mqVSpcr"
		fTd.appendChild(document.createTextNode(" "));
		
		fTr = fTbl.insertRow(fTrItt++);
		fTd = fTr.insertCell(0);
		fTd.colSpan="2"
		fTd.className="mqEmp"
		fTd.appendChild(document.createTextNode("FROM"));
		fTd.appendChild(document.createElement("br"));
		fTd.appendChild(document.createTextNode("Enter as much information as you know:"));
		
		fTr = fTbl.insertRow(fTrItt++);
		fTd = fTr.insertCell(0);
		fTd.colSpan="2"
		fTd.className="mqVSpcr"
		fTd.appendChild(document.createTextNode(" "));
		
		fTr = fTbl.insertRow(fTrItt++);
		fTr.align = "left";
		fTd = fTr.insertCell(0);
		fTd.className="mqTd"
		fTd.style.width = "330px"
		
		var sTrItt = 0;
		var sTbl = document.createElement("table");
		fTd.appendChild(sTbl);
		sTbl.className="formTable"
		sTbl.width="300"
		sTbl.cellSpacing="0"
		sTbl.cellPadding="0"
		sTbl.border="0"

		var sTr, sTd;
		
		if(orig.getValidClassName){
			origLocationCollection = orig;
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("Address:"));
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var sel = document.createElement("select");
			sel.id="selAmbigOrig";
			for(var i=0; i < origLocationCollection.getSize(); i++){
				var loc = origLocationCollection.getAt(i);
				
				var text = "";
				var bSpacer = false;
				if(loc.getStreet() != ""){
					text += loc.getStreet();
					bSpacer = true;
				}
				if(loc.getCity() != ""){
					if(bSpacer)
						text += ", ";
					text += loc.getCity();
					bSpacer = true;
				}
				if(loc.getCounty() != ""){
					if(bSpacer)
						text += ", ";
					text += "(" + loc.getCounty() + ")";
					bSpacer = true;
				}
				if(loc.getState() != ""){
					if(bSpacer)
						text += ", ";
					text += loc.getState();
					bSpacer = true;
				}
				
				var opt = getSelectOption(i +"", text);
				appendOptionToSelect(sel, opt);
				
			}
			sTd.appendChild(sel);
			
		
		}
		else {
			//Street
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("Address or Intersection:"));
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var inpt = createInputElement("text", "origaddress", orig.getStreet());
			inpt.id = "origaddress";
			inpt.className="mqInput"
			inpt.size="30"
			inpt.maxLength="80"
			sTd.appendChild(inpt);
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className="mqVSpcr"
			sTd.appendChild(document.createTextNode(" "));
			
			//City/town
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("City or Town:"));
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var inpt = createInputElement("text", "origcity", orig.getCity());
			inpt.id = "origcity";
			inpt.className="mqInput"
			inpt.size="30"
			inpt.maxLength="50"
			sTd.appendChild(inpt);
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className="mqVSpcr"
			sTd.appendChild(document.createTextNode(" "));
			
			//State and Zip
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("State:"));
			var span = document.createElement("span");
			span.className="mqDescSpcr";
			span.style.marginLeft = "10px";
			span.appendChild(document.createTextNode(" "));
			sTd.appendChild(span);
			sTd.appendChild(document.createTextNode("ZIP Code:"));
			
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var inpt = createInputElement("text", "origstateProvince", orig.getState());
			inpt.id = "origstateProvince";
			inpt.className="mqInput"
			inpt.size="4"
			inpt.maxLength="2"
			sTd.appendChild(inpt);
			var span = document.createElement("span");
			span.className="mqFormSpcr";
			span.appendChild(document.createTextNode(" "));
			sTd.appendChild(span);
			var inpt = createInputElement("text", "origpostalCode", orig.getPostalCode());
			inpt.id = "origpostalCode";
			inpt.className="mqInput"
			inpt.size="15"
			inpt.maxLength="10"
			sTd.appendChild(inpt);
			
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className="mqVSpcr"
			sTd.appendChild(document.createTextNode(" "));
		}
		
		//End From
		
		//To
		td = tr.insertCell(2);
		td.className="mqTd"
		
		var tTrItt = 0;
		var tTbl = document.createElement("table");
		td.appendChild(tTbl);
		
		tTbl.className="mqTable"
		tTbl.width="100%"
		tTbl.border="0"
		tTbl.cellSpacing="0"
		tTbl.cellPadding="0"
		tTbl.style.paddingLeft = "13px";
		tTbl.style.paddingRight = "20px"
		
		var tTr = tTbl.insertRow(tTrItt++);
		var tTd = tTr.insertCell(0);
		tTd.colSpan="2"
		tTd.className="mqVSpcr"
		tTd.appendChild(document.createTextNode(" "));
		
		tTr = tTbl.insertRow(tTrItt++);
		tTd = tTr.insertCell(0);
		tTd.colSpan="2"
		tTd.className="mqEmp"
		tTd.appendChild(document.createTextNode("TO"));
		tTd.appendChild(document.createElement("br"));
		tTd.appendChild(document.createTextNode("Enter as much information as you know:"));
		
		tTr = tTbl.insertRow(tTrItt++);
		tTd = tTr.insertCell(0);
		tTd.colSpan="2"
		tTd.className="mqVSpcr"
		tTd.appendChild(document.createTextNode(" "));
		
		tTr = tTbl.insertRow(tTrItt++);
		tTr.align = "left";
		tTd = tTr.insertCell(0);
		tTd.className="mqTd"
		tTd.style.width = "330px"
		
		var sTrItt = 0;
		var sTbl = document.createElement("table");
		tTd.appendChild(sTbl);
		sTbl.className="formTable"
		sTbl.width="300"
		sTbl.cellSpacing="0"
		sTbl.cellPadding="0"
		sTbl.border="0"

		var sTr, sTd;
		
		if(dest.getValidClassName){
			destLocationCollection = dest;
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("Address:"));
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var sel = document.createElement("select");
			sel.id="selAmbigDest";
			for(var i=0; i < destLocationCollection.getSize(); i++){
				var loc = destLocationCollection.getAt(i);
				
				var text = "";
				var bSpacer = false;
				if(loc.getStreet() != ""){
					text += loc.getStreet();
					bSpacer = true;
				}
				if(loc.getCity() != ""){
					if(bSpacer)
						text += ", ";
					text += loc.getCity();
					bSpacer = true;
				}
				if(loc.getCounty() != ""){
					if(bSpacer)
						text += ", ";
					text += "(" + loc.getCounty() + ")";
					bSpacer = true;
				}
				if(loc.getState() != ""){
					if(bSpacer)
						text += ", ";
					text += loc.getState();
					bSpacer = true;
				}
				
				var opt = getSelectOption(i +"", text);
				appendOptionToSelect(sel, opt);
				
			}
			sTd.appendChild(sel);
			
		
		}
		else {
			//Street
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("Address or Intersection:"));
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var inpt = createInputElement("text", "destaddress", dest.getStreet());
			inpt.id = "destaddress";
			inpt.className="mqInput"
			inpt.size="30"
			inpt.maxLength="80"
			sTd.appendChild(inpt);
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className="mqVSpcr"
			sTd.appendChild(document.createTextNode(" "));
			
			//City/town
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("City or Town:"));
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var inpt = createInputElement("text", "destcity", dest.getCity());
			inpt.id = "destcity";
			inpt.className="mqInput"
			inpt.size="30"
			inpt.maxLength="50"
			sTd.appendChild(inpt);
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className="mqVSpcr"
			sTd.appendChild(document.createTextNode(" "));
			
			//State and Zip
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			sTd.appendChild(document.createTextNode("State:"));
			var span = document.createElement("span");
			span.className="mqDescSpcr";
			span.style.marginLeft = "10px";
			span.appendChild(document.createTextNode(" "));
			sTd.appendChild(span);
			sTd.appendChild(document.createTextNode("ZIP Code:"));
			
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className = "formInput";
			var inpt = createInputElement("text", "deststateProvince", dest.getState());
			inpt.id = "deststateProvince";
			inpt.className="mqInput"
			inpt.size="4"
			inpt.maxLength="2"
			sTd.appendChild(inpt);
			var span = document.createElement("span");
			span.className="mqFormSpcr";
			span.appendChild(document.createTextNode(" "));
			sTd.appendChild(span);
			var inpt = createInputElement("text", "destpostalCode", dest.getPostalCode());
			inpt.id = "destpostalCode";
			inpt.className="mqInput"
			inpt.size="15"
			inpt.maxLength="10"
			sTd.appendChild(inpt);
			
			
			sTr = sTbl.insertRow(sTrItt++);
			sTd = sTr.insertCell(0);
			sTd.className="mqVSpcr"
			sTd.appendChild(document.createTextNode(" "));
		}
		
		//End To
		tr = tbl.insertRow(trItt++);
		td = tr.insertCell(0);
		td.height="7px"
		
		tr = tbl.insertRow(trItt++);
		tr.style.paddingTop = "1px"
		td = tr.insertCell(0);
		td.className="mqTd"
		td.colSpan="2"
		td.appendChild(document.createTextNode(" "));
		
		td = tr.insertCell(1);
		td.className = "mqTd"
		td.align="left"
		td.style.paddingLeft = "11px"
		td.style.paddingTop = "10px"
		var inpt = createInputElement("image", "", "");
		inpt.className="mqInput"
		inpt.src="images/buttons/getdirections.gif"
		inpt.width="113"
		inpt.height="21"
		inpt.border="0"
		td.appendChild(inpt);

}
	