/**
 * TJ Eastmond <tj.eastmond@gmail.com>
 * Based on code sample from Humanized.com
 **/
/*
div#human {
	background:#333;	left:0px;	position:absolute;	width:600px;	text-align:center;	top:0px;	z-index:5000;	filter:alpha(opacity=90);	-moz-opacity:.90;	opacity:.90;}div#human_content {	color:#7aa93d;	font-family:arial,sans-serif;	font-weight:bold;	font-size:3em;	padding:10px;}<div id="human" style="display:none;"><div id="human_content">Error message here.</div></div>*/var HE_Element = 'human';var HE_Content = 'human_content';var HE_Showing = 0;var HE_From_Top = 70;var HE_Width = '';var HE_Max_Opacity = 90;var HE_Fade_Close = 1;var HE_Fade_Speed = 5;
var humanError = function(msg) {	if(HE_Showing == 0) {		HE_Update();		HE_Set_Msg(msg);		setTimeout("HE_Attach()",800);		document.getElementById(HE_Element).style.display = 'block';		HE_Showing = 1;	}};var Human_Error_Close = function() {	if(HE_Showing == 1) {		HE_Detach();		if(HE_Fade_Close == 1) {			HE_Fade();		} else {			document.getElementById(HE_Element).style.display = 'none';			HE_Set_Msg('');			HE_Showing = 0;		}	}};var HE_Set_Msg = function(msg) { document.getElementById(HE_Content).innerHTML = msg; };
var HE_Update = function() {	if(HE_Width == '') { HE_Width = HE_getStyle(HE_Element,'width').replace('px',''); }	var window_width = Viewport.getWidth();	var scroll_pos = Viewport.getScrollOffsets();	var toppos = scroll_pos.top + HE_From_Top;	var leftpos = Math.round(window_width / 2) - Math.round(HE_Width / 2);	document.getElementById(HE_Element).style.top = toppos + 'px';	document.getElementById(HE_Element).style.left = leftpos + 'px';};var HE_Attach = function(type) {	var body = document;	var events = ['mousemove','keydown','mousedown'];	for(var i in events) {		if(type == 'remove') {			removeEventSimple(body,events[i],Human_Error_Close);		} else {			addEventSimple(body,events[i],Human_Error_Close);		}	}};var HE_Detach = function() { HE_Attach('remove'); };var HE_Fade = function() {	for(var i = 0; i < HE_Max_Opacity; i += 5) {		(function(){			var opacity = i;			setTimeout(function(){				HE_setOpacity(HE_Element,HE_Max_Opacity - opacity );				if(opacity >= HE_Max_Opacity - 5) {					document.getElementById(HE_Element).style.display = 'none';					HE_setOpacity(HE_Element,HE_Max_Opacity);					HE_Set_Msg('');					HE_Showing = 0;				}			},(i + 1) * HE_Fade_Speed);		})();	}};var Viewport = {	getDims : function() {		return {			width : self['inner' + 'Width'] || (document.documentElement['client' + 'Width'] || document.body['client' + 'Width']),			height : self['inner' + 'Height'] || (document.documentElement['client' + 'Height'] || document.body['client' + 'Height'])		};	},	getWidth: function() { return this.getDims().width; },	getHeight: function() { return this.getDims().height; },	getScrollOffsets: function() {		return offsets = {			left :window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,			top : window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop		};	}};function addEventSimple(obj,evt,fn) {	if(obj.addEventListener) {		obj.addEventListener(evt,fn,false);	} else if(obj.attachEvent) {		obj.attachEvent('on'+evt,fn);	}}function removeEventSimple(obj,evt,fn) {	if (obj.removeEventListener) {		obj.removeEventListener(evt,fn,false);	} else if(obj.detachEvent) {		obj.detachEvent('on'+evt,fn);	}}function HE_getStyle(el,styleProp) {	var x = document.getElementById(el);	if(x.currentStyle) {		var y = x.currentStyle[styleProp];	} else if(window.getComputedStyle) {		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);	}	return y;}function HE_setOpacity(element,opacity) {	var element = document.getElementById(element);	if(element.filters) { element.style.filter = HE_getStyle('human','filter').replace(/alpha\([^\)]*\)/gi,'') + 'alpha(opacity=' + opacity + ')';	} else { element.style.opacity = opacity / 100; }}
