var previousKeyPressed;
function fnTrapKD(btnId, event) {
	var btn = getById(btnId);
	var keyPressed = null;
	if (event.keyCode)
		keyPressed = event.keyCode;
	else if (event.which)
		keyPressed = event.which;
	if (keyPressed == 13 && previousKeyPressed != 38 && previousKeyPressed != 40) {
		if (window.event) {
			window.event.returnValue = false;
		} else {
			if (event.cancelable)
				event.preventDefault();
			if (!event.cancelBubble)
				event.stopPropagation();
		}

		btn.click();

		return false;
	} else {
		previousKeyPressed = keyPressed
	}
}

var defaultButton = null;
function respond(evt) {
	var keyPressed = null;
	if (window.event)
		keyPressed = window.event.keyCode;
	else if (evt.keyCode)
		keyPressed = evt.keyCode;
	else if (evt.which)
		keyPressed = evt.which;
	if (keyPressed == 13 && defaultButton != null) {
		if (window.event) {
			window.event.returnValue = false;
		} else {
			if (evt.cancelable)
				evt.preventDefault();
			if (!evt.cancelBubble)
				evt.stopPropagation();
		}

		defaultButton.click();

		return false;
	}
}
if (document.captureEvents)
	document.captureEvents(Event.KEYPRESS);
document.onkeypress = respond;

function quickSearch(searchTerm, searchURL) {
	if (searchTerm.length > 0) {
		window.location.href = searchURL.replace(/searchterm/, escape(searchTerm));
	}
	return false;
}

function getById(elementID) {
	if (document.getElementById)
		return document.getElementById(elementID);
	else if (document.all)
		return document.all(elementID);
	else
		return null;
}

function togglePopup(id, offsetElmnt, topAdjust, leftAdjust) {
	var div = $("#" + id);
	if (offsetElmnt != null) {
		var offset = $(offsetElmnt).offset();
		var topPos = offset.top - topAdjust;
		if (topPos < 1) topPos = 10;
		var leftPos = offset.left - leftAdjust;
		if (leftPos < 1) leftPos = 10;
		div.css({ top: topPos, left: leftPos });
	}
	div.toggle();
}

function addDropShadow(shadowElmntId, wrapperElmntId, dropShadowSettingsObject) {
	if ($("#" + shadowElmntId).length > 0) {
		var settings = {left:2,top:2,blur:2,opacity:0.6};
		if (dropShadowSettingsObject !== undefined && dropShadowSettingsObject !== null) {
			settings = dropShadowSettingsObject
		}
		$("#" + shadowElmntId).dropShadow(settings);
		$("#" + wrapperElmntId).hide();
	}
}

var monotypeExternalLinks = function () {
	var internalDomain = "itcfonts.com";
	var internalDomain2 = "fonts.com";
	var internalDomain3 = "monotypeimaging.com";
	var confirmationMessage = "You are leaving the ITCFonts.com Web site. You may\nreturn to the ITCFonts.com Web site by closing\nthe window to the third-party Web site\nthat you have opened.\n\nDo you wish to continue?";
	function markExternalLinks() {
		var pattern = new RegExp("^\\w+:\\/\\/(\\w+\\.)?(test)?" + internalDomain + "\\/");
		var pattern2 = new RegExp("^\\w+:\\/\\/(\\w+\\.)?(test)?" + internalDomain2 + "\\/");
		var pattern3 = new RegExp("^\\w+:\\/\\/(\\w+\\.)?(test)?" + internalDomain3 + "\\/");
		var pattern4 = new RegExp("^\\w+:\\/\\/" + window.location.hostname + "\\/");
		var links = document.getElementsByTagName("a");
		for (var i = 0; i < links.length; i++) {
			if (!pattern.test(links[i].href)
			    && !pattern2.test(links[i].href)
			    && !pattern3.test(links[i].href)
			    && !pattern4.test(links[i].href)
			    && links[i].href.substring(0, 7) != "mailto:"
			    && links[i].href.substring(0, 11) != "javascript:")
			{
				links[i].setAttribute('target','_blank');
				addListener(links[i], "click", confirmExit);
			}
		}
	}
	function confirmExit(e) {
		if (!confirm(confirmationMessage)) {
			if (e.preventDefault) {
				e.preventDefault();
			} else {
				e.returnValue = false;
			}
			return false;
		} else {
			return true;
		}
	}
	var addListener = function() {
		if ( window.addEventListener ) {
			return function(el, type, fn) {
				el.addEventListener(type, fn, false);
			};
		} else if ( window.attachEvent ) {
			return function(el, type, fn) {
				var f = function() {
					fn.call(el, window.event);
				};
				el.attachEvent('on'+type, f);
			};
		} else {
			return function(el, type, fn) {
				element['on'+type] = fn;
			}
		}
	}();

	addListener(window, "load", markExternalLinks, false);
}();
