	// ********************************
	// application-specific functions *
	// ********************************
	// store variables to control where the popup will appear relative to the cursor position
	// positive numbers are below and to the right of the cursor, negative numbers are above and to the left
	var xOffset = -600;
	var yOffset = -200;

	function showPopup (targetObjectId, eventObj, altText, ID) {
		if(eventObj) {
		// hide any currently-visible popups
		hideCurrentPopup();
		// stop event from bubbling up any farther
		eventObj.cancelBubble = true;
		// move popup div to current cursor position
		// (add scrollTop to account for scrolling for IE)
		var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0);
		var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0);
		moveObject(targetObjectId, newXCoordinate, newYCoordinate);
		// and make it visible
		if(changeObjectVisibility(targetObjectId, 'visible') ) {
			// if we successfully showed the popup
			// store its Id on a globally-accessible object
			window.currentlyVisiblePopup = targetObjectId;
			document.getElementById("popupId").value = ID;
			document.getElementById('txtPopupMsg').innerHTML = altText;
			return true;
		} else {
			// popup could not be displayed
			return false;
		}
		} else {
		// there was no event object, so we won't be able to position anything, so give up
		return false;
		}
	} // showPopup

	function hideCurrentPopup() {
		// note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup
		if(window.currentlyVisiblePopup) {
		changeObjectVisibility(window.currentlyVisiblePopup, 'hidden');
		window.currentlyVisiblePopup = false;
		}
	} // hideCurrentPopup
	// ***********************
	// hacks and workarounds *
	// ***********************
	// initialize hacks whenever the page loads
	window.onload = initializeHacks;
	// setup an event handler to hide popups for generic clicks on the document
	document.onclick = hideCurrentPopup;

	function initializeHacks() {
		// this ugly little hack resizes a blank div to make sure you can click
		// anywhere in the window for Mac MSIE 5
		if ((navigator.appVersion.indexOf('MSIE 5') != -1)
		&& (navigator.platform.indexOf('Mac') != -1)
		&& getStyleObject('blankDiv')) {
		window.onresize = explorerMacResizeFix;
		}
		resizeBlankDiv();
		// this next function creates a placeholder object for older browsers
		createFakeEventObj();
	}

	function createFakeEventObj() {
		// create a fake event object for older browsers to avoid errors in function call
		// when we need to pass the event object to functions
		if (!window.event) {
		window.event = false;
		}
	} // createFakeEventObj

	function resizeBlankDiv() {
		// resize blank placeholder div so IE 5 on mac will get all clicks in window
		if ((navigator.appVersion.indexOf('MSIE 5') != -1)
		&& (navigator.platform.indexOf('Mac') != -1)
		&& getStyleObject('blankDiv')) {
		getStyleObject('blankDiv').width = document.body.clientWidth - 20;
		getStyleObject('blankDiv').height = document.body.clientHeight - 20;
		}
	}
	function explorerMacResizeFix () {
		location.reload(false);
	}
	// ******************************
	// ******************************
	// layer utility routines *******
	// ******************************
	// ******************************

	function getStyleObject(objectId) {
	//	alert(objectId);
		// cross-browser function to get an object's style object given its id
		if(document.getElementById && document.getElementById(objectId)) {
		// W3C DOM
		return document.getElementById(objectId).style;
		} else if (document.all && document.all(objectId)) {
		// MSIE 4 DOM
		return document.all(objectId).style;
		} else if (document.layers && document.layers[objectId]) {
		// NN 4 DOM.. note: this won't find nested layers
		return document.layers[objectId];
		} else {
		return false;
		}
	} // getStyleObject

	function changeObjectVisibility(objectId, newVisibility) {
		// get a reference to the cross-browser style object and make sure the object exists
		var styleObject = getStyleObject(objectId);
		if(styleObject) {
		styleObject.visibility = newVisibility;
		return true;
		} else {
		// we couldn't find the object, so we can't change its visibility
		return false;
		}
	} // changeObjectVisibility

	function moveObject(objectId, newXCoordinate, newYCoordinate) {
		// get a reference to the cross-browser style object and make sure the object exists
		var styleObject = getStyleObject(objectId);
		if(styleObject) {
		styleObject.left = newXCoordinate+'px';
		styleObject.top = newYCoordinate+'px';
		//alert('X..'+newXCoordinate+'...............Y'+newYCoordinate);
		return true;
		} else {
		// we couldn't find the object, so we can't very well move it
		return false;
		}
} // moveObject

//Code mode to calling page(s)
function returnPopupData(value){
		popupId = document.getElementById("popupId").value;
		hideCurrentPopup();
		if (value=='yes'){document.location = popupId;}
}


function expand(int){
		var map = document.getElementById('popup_map');
		var mapImage = map.getElementsByTagName("img");
		map.style.left = (780 - (mapImage[1].width))/2+"px";
		if (int <= 75){
			int= int+1;
			setTimeout("expand("+int+");", 500);
		}
}

function showMap(url){
		var map = document.getElementById('popup_map');
		var mapImage = map.getElementsByTagName("img");
		mapImage[1].src = url;
		var int = 0;

		if (map.style.display == "" || map.style.display =="none"){
			map.style.display = "block";		
			if ($('finderLocation')){$('finderLocation').style.visibility = 'hidden';}
			if ($('finderCategory')){$('finderCategory').style.visibility = 'hidden';}
			if ($('searchBoxOther')){$('searchBoxOther').style.visibility="hidden";}
			expand(int);
		}
		else{
			if ($('finderLocation')){$('finderLocation').style.visibility = 'visible';}
			if ($('finderCategory')){$('finderCategory').style.visibility = 'visible';}
			if ($('searchBoxOther')){$('searchBoxOther').style.visibility= 'visible';}
			map.style.display = "none";
		}
}

/****************************
Print only pop-up(MAP)
****************************/

function printMap(){
    var iframe = document.createElement("iframe");  
	var map = document.getElementById('popup_map');
	var mapImage = map.getElementsByTagName("img");
	mapURL = mapImage[1].src;
   	
	//canvas.appendChild(iframe);
	iframe.setAttribute("id","mapPrint");
	iframe.setAttribute("width","1px");
	iframe.setAttribute("height","1px");	
	document.body.appendChild(iframe);

	var doc = null;
   	if(iframe.contentDocument)
    	doc = iframe.contentDocument;
   	else if(iframe.contentWindow)
      	doc = iframe.contentWindow.document;
   	else if(iframe.document)
      	doc = iframe.document;
	if(doc == null)
    	throw "Document not initialized";

	doc.open();
	doc.write("<img src='"+mapURL+"'>");
	doc.close();
	
	iframe.contentWindow.focus();
	iframe.contentWindow.print();
}


function showPrintView(){
		var map = document.getElementById('popupPrintView');
		//var dropdownBox = document.getElementById('searchBoxOther');
		if (map.style.display == "" || map.style.display =="none"){
			map.style.display = "block";
			$('rightContent').style.zIndex = -1;
			//dropdownBox.style.visibility="hidden";
		}
		else{
			//dropdownBox.style.visibility="visible";			
			map.style.display = "none";
			$('rightContent').style.zIndex = 0;
		}
}

/****************************
Print MyIreland - View all
****************************/

function printViewAll(){
    var iframe = document.createElement("iframe");  
   	
	iframeContent = $('popupPrintView').innerHTML;
	
	//canvas.appendChild(iframe);
	iframe.setAttribute("id","viewAllPrint");
	iframe.setAttribute("width","1px");
	iframe.setAttribute("height","1px");	
	document.body.appendChild(iframe);

	var doc = null;
   	if(iframe.contentDocument)
    	doc = iframe.contentDocument;
   	else if(iframe.contentWindow)
      	doc = iframe.contentWindow.document;
   	else if(iframe.document)
      	doc = iframe.document;
	if(doc == null)
    	throw "Document not initialized";

	doc.open();
	doc.write('<html><head><link media="print" type="text/css" rel="stylesheet" href="/shared/resource/css/ti_print.css"></head><body>'+iframeContent+'</body></html>');
	doc.close();
	
	iframe.contentWindow.focus();
	iframe.contentWindow.print();
	
}
