function printLink(id, link, title, sortlink) {
	title_text = 'Learn about ' + title;
	document.write('<a class="popup-link" onclick="getDefinition(event,\'' + id + '\', \'' + sortlink + '\',\'' + addslashes(title) + '\')" title="' + addslashes(title_text) + '">' + '<img src="pix/define.gif" alt="Define" class="definition-image" />' + '</a> ');
}

function getMouseCoordinates (e) {
	var mouse_coordinates = new Array(2);

	mouse_coordinates[0] = 0;
	mouse_coordinates[1] = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) {
		mouse_coordinates[0] = e.pageX;
		mouse_coordinates[1] = e.pageY;
	} else if (e.clientX || e.clientY) 	{
		mouse_coordinates[0] = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		mouse_coordinates[1] = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	return mouse_coordinates;
}

function getDefinition(e, id, sortlink, title) {

	var mouse_coordinates = new Array(2);
	mouse_coordinates = getMouseCoordinates(e);

	var xmlHttp;
	try {
    	// Firefox, Opera 8.0+, Safari
	    xmlHttp=new XMLHttpRequest();
    }
  	catch (e) {
    // Internet Explorer
		try {
	      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      	}
		catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	       	}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState==4) {

	// Show Arrow
	innerHTML = '<div id="definition-arrow-image-';
	arrow_id = 'definition-arrow-image-';
	if (document.documentElement.clientWidth > mouse_coordinates[0] + 275) {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 150) {
			innerHTML += 'left-down';
			arrow_id = arrow_id + 'left-down';
		} else {
			innerHTML += 'left-up';
			arrow_id = arrow_id + 'left-up';
		}
	} else {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 150) {
			innerHTML += 'right-down';
			arrow_id = arrow_id + 'right-down';
		} else {
			innerHTML += 'right-up';
			arrow_id = arrow_id + 'right-up';
		}
	}
	innerHTML += '" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-pointer-';
	if (document.documentElement.clientWidth > mouse_coordinates[0] + 275) {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 200) {
			innerHTML += 'left-down';
		} else {
			innerHTML += 'left-up';
		}
	} else {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 200) {
			innerHTML += 'right-down';
		} else {
			innerHTML += 'right-up';
		}
	}
	innerHTML += '.png\');"></div>';

	// Header image
			innerHTML += '<div id="definition-header-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-header.png\');"></div>';

			// Title
			innerHTML += '<div id="definition-title-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-title.png\');">';
			innerHTML += '<div id="definition-title"><a href="javascript:closePopUp(\'definition\')" id="definition-title-close" title="Close"><strong>[close]</strong></a><div id="definition-title-term">' + '<strong>' + title + '</strong>' + '</div></div>';
			innerHTML += '</div>';

			// Description
			innerHTML += '<div id="definition-description-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-body.png\');">';
			innerHTML += '<div id="definition-description"><br />' + xmlHttp.responseText + '</div>';
			innerHTML += '</div>';

			// Footer image
			innerHTML += '<div id="definition-footer-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-footer.png\');"></div>';

			document.getElementById('definition').innerHTML = innerHTML;

			// Get coordinates of popup window making sure window won't go off screen
			// Make popup window appear to left of mouse click so it won't go off of right of screen
			if (document.documentElement.clientWidth < mouse_coordinates[0] + 275) {
				xpos = mouse_coordinates[0] - 275;
			} else { // Make popup window appear to right of mouse click
				xpos = mouse_coordinates[0] + 30;
			}
			// Make popup window appear above mouse click so it won't go off of bottom of screen
			if (document.documentElement.clientHeight < mouse_coordinates[1] + 200) {
				ypos = mouse_coordinates[1] - 160;
				//document.getElementById('definition-arrow-image-left-up').style.top = '65px';
			} else { // Make popup window appear to below mouse click
				ypos = mouse_coordinates[1] - 90;
			}

			if (xmlHttp.responseText.length <= 130) {
				document.getElementById(arrow_id).style.top = (document.getElementById(arrow_id).style.top+35) + "px";
				document.getElementById('definition').style.top = (ypos+40) + "px";
			} else {
				document.getElementById('definition').style.top = ypos + "px";
			}
			document.getElementById('definition').style.left = xpos + "px";
			document.getElementById('definition').style.display = 'block';
		}
	}

	url = document.referrer;
	parameters  = document.location.search.substring(1,255)
	parametersArray = parameters.split("&")
	k = parametersArray.length
	for (i= 0 ; i < k; i++) {
	 if (unescape(parametersArray[i]) == 'entity_type=hosp') {
	 	entity_type = 'hosp';
	 } else if (unescape(parametersArray[i]) == 'entity_type=hmo') {
	 	entity_type = 'hmo';
	 }
  	}
	var url = 'definition.php?id=' + id + '&entity_type=' + entity_type + '&sortlink=' + sortlink;

	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function getTrend(e, id, entity_id, sortlink, title) {
	var mouse_coordinates = new Array(2);
	mouse_coordinates = getMouseCoordinates(e);

	var xmlHttp;
	try {
    	// Firefox, Opera 8.0+, Safari
	    xmlHttp=new XMLHttpRequest();
    }
  	catch (e) {
    // Internet Explorer
		try {
	      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      	}
		catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	       	}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState==4) {

	// Show Arrow

	innerHTML = '<div id="trend-arrow-image-';
	arrow_id = 'trend-arrow-image-';
	if (document.documentElement.clientWidth > mouse_coordinates[0] + 500) {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 550) {
			innerHTML += 'left-down';
			arrow_id = arrow_id + 'left-down';
		} else {
			innerHTML += 'left-up';
			arrow_id = arrow_id + 'left-up';
		}
	} else {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 550) {
			innerHTML += 'right-down';
			arrow_id = arrow_id + 'right-down';
		} else {
			innerHTML += 'right-up';
			arrow_id = arrow_id + 'right-up';
		}
	}
	innerHTML += '" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-pointer-';
	if (document.documentElement.clientWidth > mouse_coordinates[0] + 500) {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 200) {
			innerHTML += 'left-down';
		} else {
			innerHTML += 'left-up';
		}
	} else {
		if (document.documentElement.clientHeight > mouse_coordinates[1] + 200) {
			innerHTML += 'right-down';
		} else {
			innerHTML += 'right-up';
		}
	}
	innerHTML += '.png\');"></div>';

	// Header image
			innerHTML += '<div id="trend-header-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/trend-popup-header.png\');"></div>';

			// Title
			innerHTML += '<div id="trend-title-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/trend-popup-title.png\');">';
			innerHTML += '<div id="definition-title"><a href="javascript:closePopUp(\'definition\')" id="trend-title-close" title="Close"><strong>[close]</strong></a><div id="trend-title-term">' + '<strong>Trend: ' + title + '</strong>' + '</div></div>';
			innerHTML += '</div>';

			// Description
			innerHTML += '<div id="trend-description-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/trend-popup-body.png\');">';
			innerHTML += '<div id="trend-description"><br />' + xmlHttp.responseText + '</div>';
			innerHTML += '</div>';

			// Footer image
			innerHTML += '<div id="trend-footer-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/trend-popup-footer.png\');"></div>';

			document.getElementById('definition').innerHTML = innerHTML;

			// Get coordinates of popup window making sure window won't go off screen
			// Make popup window appear to left of mouse click so it won't go off of right of screen
			if (document.documentElement.clientWidth < mouse_coordinates[0] + 500) {
				xpos = mouse_coordinates[0] - 525;
			} else { // Make popup window appear to right of mouse click
				xpos = mouse_coordinates[0] + 30;
			}
			// Make popup window appear above mouse click so it won't go off of bottom of screen
			if (document.documentElement.clientHeight < mouse_coordinates[1] + 300) {
				ypos = mouse_coordinates[1] - 160;
				//document.getElementById('definition-arrow-image-left-up').style.top = '65px';
			} else { // Make popup window appear to below mouse click
				ypos = mouse_coordinates[1] - 90;
			}

			if (xmlHttp.responseText.length <= 130) {
				document.getElementById(arrow_id).style.top = (document.getElementById(arrow_id).style.top+35) + "px";
				document.getElementById('definition').style.top = (ypos+40) + "px";
			} else {
				document.getElementById('definition').style.top = ypos + "px";
			}
			document.getElementById('definition').style.left = xpos + "px";
			document.getElementById('definition').style.display = 'block';
		}
	}

	url = document.referrer;
	parameters  = document.location.search.substring(1,255)
	parametersArray = parameters.split("&")
	k = parametersArray.length
	for (i= 0 ; i < k; i++) {
	 if (unescape(parametersArray[i]) == 'entity_type=hosp') {
	 	entity_type = 'hosp';
	 } else if (unescape(parametersArray[i]) == 'entity_type=hmo') {
	 	entity_type = 'hmo';
	 }
  	}
	var url = 'definition.php?id=' + id + '&entity_type=' + entity_type + '&sortlink=' + sortlink;

	xmlHttp.open("GET","linegraph.php?measure_id="+id+"&entity_id="+entity_id,true);
	xmlHttp.send(null);
}

function getLegend(e) {

	var mouse_coordinates = new Array(2);
	mouse_coordinates = getMouseCoordinates(e);

	var xmlHttp;
	try {
    	// Firefox, Opera 8.0+, Safari
	    xmlHttp=new XMLHttpRequest();
    }
  	catch (e) {
    // Internet Explorer
		try {
	      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      	}
		catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	       	}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState==4) {

			// Header image
			innerHTML = '<div id="legend-header-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-header.png\');"></div>';

			// Title
			innerHTML += '<div id="legend-title-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-title.png\');">';
			innerHTML += '<div id="legend-title"><a href="javascript:closePopUp(\'legend\')" id="legend-title-close" title="Close"><strong>[close]</strong></a><div id="legend-title-term">' + '<strong>Legend</strong>' + '</div></div>';
			innerHTML += '</div>';

			// Description
			innerHTML += '<div id="legend-description-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-body.png\');">';
			innerHTML += '<div id="legend-description"><br />' + xmlHttp.responseText + '</div>';
			innerHTML += '</div>';

			// Footer image
			innerHTML += '<div id="legend-footer-image" style="background-image=none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=\'scale\', src=\'pix/popup-footer.png\');"></div>';

			document.getElementById('legend').innerHTML = innerHTML;

			xpos = document.documentElement.clientWidth - 250;
			ypos = mouse_coordinates[1] - 20;

			document.getElementById('legend').style.top = ypos + "px";
			document.getElementById('legend').style.left = xpos + "px";
			document.getElementById('legend').style.display = 'block';
		}
	}
	xmlHttp.open("GET",'legend.php',true);
	xmlHttp.send(null);
}



function closePopUp(id) {
	document.getElementById(id).style.display = 'none';
}


// Draggable legend
function $(v) { return(document.getElementById(v)); }
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); }
function xy(e,v) { return(v?(agent('msie')?event.clientY+document.body.scrollTop:e.pageY):(agent('msie')?event.clientX+document.body.scrollTop:e.pageX)); }

function dragOBJ(d,e) {

function drag(e) { if(!stop) { d.style.top=(tX=xy(e,1)+oY-eY+'px'); d.style.left=(tY=xy(e)+oX-eX+'px'); } }

var oX=parseInt(d.style.left),oY=parseInt(d.style.top),eX=xy(e),eY=xy(e,1),tX,tY,stop;

document.onmousemove=drag; document.onmouseup=function(){ stop=1; document.onmousemove=''; document.onmouseup=''; };

}


function addslashes(str) {
str=str.replace(/\'/g,'\\\'');
//str=str.replace(/\"/g,'\\"');
//str=str.replace(/\\/g,'\\\\');
//str=str.replace(/\0/g,'\\0');
return str;
}