//addLoadListener(initDialog); function initDialog() { var extlinks = document.getElementsByTagName("a"); var msg = ''; var pattern = /^https|^http:\/\/local.google.com\/|^BASE_URL|^mailto|^[^http]|^http:\/\/mail.gaslightmedia.net\/mailman\/mmstdol.cgi/; for( var b = 0; b < extlinks.length; b++ ) { if( extlinks[b].getAttribute("class") == 'extlink' || extlinks[b].getAttribute("className") == 'extlink' ) { if( !pattern.test( extlinks[b].href ) ) { msg += extlinks[b] + "\n"; extlinks[b].onclick = createDialog; } } } //alert(msg); return true; } function getElementsByAttribute(attribute, attributeValue) { var elementArray = new Array(); var matchedArray = new Array(); if (document.all) { elementArray = document.all; } else { elementArray = document.getElementsByTagName("*"); } for (var i = 0; i < elementArray.length; i++) { if (attribute == "class") { var pattern = new RegExp("(^| )" + attributeValue + "( |$)"); if (pattern.test(elementArray[i].className)) { matchedArray[matchedArray.length] = elementArray[i]; } } else if (attribute == "for") { if (elementArray[i].getAttribute("htmlFor") || elementArray[i].getAttribute("for")) { if (elementArray[i].htmlFor == attributeValue) { matchedArray[matchedArray.length] = elementArray[i]; } } } else if (elementArray[i].getAttribute(attribute) == attributeValue) { matchedArray[matchedArray.length] = elementArray[i]; } } return matchedArray; } function createDialog( linkId ) { var body = document.getElementsByTagName("body")[0]; var pageDimensions = getPageDimensions(); var viewportSize = getViewportSize(); if (viewportSize[1] > pageDimensions[1]) { pageDimensions[1] = viewportSize[1]; } var dropSheet = document.createElement("div"); dropSheet.setAttribute("id", "dropSheet"); dropSheet.style.position = "absolute"; dropSheet.style.left = "0"; dropSheet.style.top = "0"; dropSheet.style.width = pageDimensions[0] + "px"; dropSheet.style.height = pageDimensions[1] + "px"; body.appendChild(dropSheet); try { var dialog = document.createElement("div"); dialog.className = "customDialog"; dialog.style.visibility = "hidden"; dialog.style.position = "absolute"; var dialogTitle = document.createElement("h1"); dialogTitle.appendChild(document.createTextNode("External URL")); dialog.appendChild(dialogTitle); var dialogMessage = document.createElement("p"); dialogMessage.appendChild(document.createTextNode("You have requested to open a new browser window, but the Official Web Site of the Mackinaw Area Visitors ")); dialogMessage.appendChild(document.createTextNode("Bureau as operated under Michigan Public Act 59, will remain in the background.")); var dialogMessage2 = document.createElement("p"); dialogMessage2.appendChild(document.createTextNode("The Mackinaw Area Visitors Bureau is not responsible for the content or ")); dialogMessage2.appendChild(document.createTextNode("accuracy of this Web site link. Please click the button below to continue ")); dialogMessage2.appendChild(document.createTextNode("the redirect to the selected business. ")); // var dialogMessage3 = document.createElement("p"); // var dialogLink = document.createElement("a"); // dialogLink.setAttribute("href", linkId.getAttribute( "href" ) ); // dialogLink.setAttribute("target", "_blank" ); // dialogLink.setAttribute("class", "contButton" ); // dialogLink.appendChild( document.createTextNode('Continue')); // attachEventListener(dialogLink, "click", dialogClick, false); // dialogMessage3.appendChild(dialogLink); var dialogButton2 = document.createElement("input"); dialogButton2.setAttribute("type", "button"); dialogButton2.setAttribute("href", linkId.getAttribute( "href" ) ); dialogButton2.setAttribute("target", "_blank" ); dialogButton2.setAttribute("value", "Continue"); attachEventListener(dialogButton2, "click", dialogClick3, false); var dialogButton3 = document.createElement("input"); dialogButton3.setAttribute("type", "button"); dialogButton3.setAttribute("value", "Cancel"); attachEventListener(dialogButton3, "click", dialogClick2, false); dialog.appendChild(dialogMessage); dialog.appendChild(dialogMessage2); // dialog.appendChild(dialogMessage3); dialog.appendChild(dialogButton2); dialog.appendChild(dialogButton3); body.appendChild(dialog); var scrollingPosition = getScrollingPosition(); dialog.style.left = scrollingPosition[0] + parseInt(viewportSize[0] / 2) - parseInt(dialog.offsetWidth / 2) + "px"; dialog.style.top = scrollingPosition[1] + parseInt(viewportSize[1] / 2) - parseInt(dialog.offsetHeight / 2) + "px"; dialog.style.visibility = "visible"; dialogButton2.focus(); } catch(error) { alert(error); dropSheet.parentNode.removeChild(dropSheet); return true; } return false; } function dialogClick3(event) { if (typeof event == "undefined") { event = window.event; } var target = getEventTarget(event); while (target.nodeName.toLowerCase() != "input") { target = target.parentNode; } var dialog = target; while (dialog.className != "customDialog") { dialog = dialog.parentNode; } var href2 = target.getAttribute("href"); var external = window.open( href2 ); closeDialog(dialog); return true; } function dialogClick2(event) { if (typeof event == "undefined") { event = window.event; } var target = getEventTarget(event); while (target.nodeName.toLowerCase() != "input") { target = target.parentNode; } var dialog = target; while (dialog.className != "customDialog") { dialog = dialog.parentNode; } closeDialog(dialog); return true; } function dialogClick(event) { if (typeof event == "undefined") { event = window.event; } var target = getEventTarget(event); while (target.nodeName.toLowerCase() != "a") { target = target.parentNode; } var value = target.getAttribute("href"); var dialog = target; while (dialog.className != "customDialog") { dialog = dialog.parentNode; } closeDialog(dialog); return true; } function closeDialog(dialog) { var dropSheet = document.getElementById("dropSheet"); dropSheet.parentNode.removeChild(dropSheet); dialog.parentNode.removeChild(dialog); return true; } function addLoadListener(fn) { if (typeof window.addEventListener != 'undefined') { window.addEventListener('load', fn, false); } else if (typeof document.addEventListener != 'undefined') { document.addEventListener('load', fn, false); } else if (typeof window.attachEvent != 'undefined') { window.attachEvent('onload', fn); } else { var oldfn = window.onload; if (typeof window.onload != 'function') { window.onload = fn; } else { window.onload = function() { oldfn(); fn(); }; } } } function attachEventListener(target, eventType, functionRef, capture) { if (typeof target.addEventListener != "undefined") { target.addEventListener(eventType, functionRef, capture); } else if (typeof target.attachEvent != "undefined") { target.attachEvent("on" + eventType, functionRef); } else { eventType = "on" + eventType; if (typeof target[eventType] == "function") { var oldListener = target[eventType]; target[eventType] = function() { oldListener(); return functionRef(); } } else { target[eventType] = functionRef; } } return true; } function getEventTarget(event) { var targetElement = null; if (typeof event.target != "undefined") { targetElement = event.target; } else { targetElement = event.srcElement; } while (targetElement.nodeType == 3 && targetElement.parentNode != null) { targetElement = targetElement.parentNode; } return targetElement; } function getScrollingPosition() { //array for X and Y scroll position var position = [0, 0]; //if the window.pageYOffset property is supported if (typeof window.pageYOffset != 'undefined') { //store position values position = [ window.pageXOffset, window.pageYOffset ]; } //if the documentElement.scrollTop property is supported //and the value is greater than zero if (typeof document.documentElement.scrollTop != 'undefined' && document.documentElement.scrollTop > 0) { //store position values position = [ document.documentElement.scrollLeft, document.documentElement.scrollTop ]; } //if the body.scrollTop property is supported else if(typeof document.body.scrollTop != 'undefined') { //store position values position = [ document.body.scrollLeft, document.body.scrollTop ]; } //return the array return position; } function getViewportSize() { var size = [0,0]; if (typeof window.innerWidth != 'undefined') { size = [ window.innerWidth, window.innerHeight ]; } else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) { size = [ document.documentElement.clientWidth, document.documentElement.clientHeight ]; } else { size = [ document.getElementsByTagName('body')[0].clientWidth, document.getElementsByTagName('body')[0].clientHeight ]; } return size; } function getPageDimensions() { var body = document.getElementsByTagName("body")[0]; var bodyOffsetWidth = 0; var bodyOffsetHeight = 0; var bodyScrollWidth = 0; var bodyScrollHeight = 0; var pageDimensions = [0, 0]; if (typeof document.documentElement != "undefined" && typeof document.documentElement.scrollWidth != "undefined") { pageDimensions[0] = document.documentElement.scrollWidth; pageDimensions[1] = document.documentElement.scrollHeight; } bodyOffsetWidth = body.offsetWidth; bodyOffsetHeight = body.offsetHeight; bodyScrollWidth = body.scrollWidth; bodyScrollHeight = body.scrollHeight; if (bodyOffsetWidth > pageDimensions[0]) { pageDimensions[0] = bodyOffsetWidth; } if (bodyOffsetHeight > pageDimensions[1]) { pageDimensions[1] = bodyOffsetHeight; } if (bodyScrollWidth > pageDimensions[0]) { pageDimensions[0] = bodyScrollWidth; } if (bodyScrollHeight > pageDimensions[1]) { pageDimensions[1] = bodyScrollHeight; } return pageDimensions; }