function protect(pt2, pt1) {
	var user = pt1 + pt2 + "@temp";
	var domain = "foopixelated.com.au";
	var ad = user.substr(0, user.indexOf("temp")) + domain.substr(3);
	document.write('<a href="mailto:' + ad + '">' + ad + '</a>');
}

function registerFormFields(aForm, firstField) {
    var inputs = Form.getElements(aForm);
    for (var i = 0; (input = inputs[i]); i++) {
        if (['input', 'select', 'textarea'].include(input.tagName.toLowerCase()) &&
            !['submit', 'hidden'].include(input.type.toLowerCase())) {
            
            Event.observe(input, 'focus', function(event) {
                element = Event.element(event);
                hightlighGroup(element, true)
            }, false);

            Event.observe(input, 'blur', function(event) {
                element = Event.element(event);
                hightlighGroup(element, false)
            }, false);
        }
    }
    // I chose not to use Form.focusFirstElement(aForm); as it wasn't returning a select item if it was first
    if (firstField) {
        Field.focus(firstField);
    }
}

function hightlighGroup(element, doHighlight) {
    if (element.tagName != null) { // to catch a stupid bug that was 'eventing' on an HTMLDocument element
        while (element.parentNode && (!Element.hasClassName(element, 'form-group'))) {
            element = element.parentNode;
        }

        if (doHighlight) {
            Element.addClassName(element, 'form-group-hover');
        } else {
            Element.removeClassName(element, 'form-group-hover');
        }
    }
}

/*
addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
*/
function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

/*
Create the new window
*/
function openInNewWindow(e) {
	var event;
	if (!e) event = window.event;
	else event = e;
	// Abort if a modifier key is pressed
	if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
		return true;
	}
	else {
		// Change "_blank" to something like "newWindow" to load all links in the same new window
	    var newWindow = window.open(this.getAttribute('href'), '_blank');
		if (newWindow) {
			if (newWindow.focus) {
				newWindow.focus();
			}
			Event.stop(e);
			return false;
		}
		return true;
	}
}

/*
Add the openInNewWindow function to the onclick event of links with a class name of "new-window"
*/
function getNewWindowLinks() {
	// Check that the browser is DOM compliant
	if (document.getElementById && document.createElement && document.appendChild) {
		// Change this to the text you want to use to alert the user that a new window will be opened
//		var strNewWindowAlert = " (opens in a new window)";
		var strNewWindowAlert = "";
		// Find all links
		var links = $('body').getElementsByTagName('a');
		var objWarningText;
		var strWarningText;
		var link;
		for (var i = 0; i < links.length; i++) {
			link = links[i];
			// Find all links with a class name of "non-html"
			if (Element.hasClassName(link, 'new-win')) {
				// Create an em element containing the new window warning text and insert it after the link text
				objWarningText = document.createElement("em");
				strWarningText = document.createTextNode(strNewWindowAlert);
				objWarningText.appendChild(strWarningText);
				link.appendChild(objWarningText);
				link.onclick = openInNewWindow;
			}
		}
		objWarningText = null;
	}
}

addEvent(window, 'load', getNewWindowLinks);