function displayGeneralBox(text, event, offline, ref) {
	if (event) {
		if (event.stopPropagation) {
			 event.stopPropagation(); 
		} else {
			event.cancelBubble = true;
		}
	}
	
	if (document.getElementById('evilForm')) {
		document.getElementById('evilForm').style.display = 'none';
	}
	
	var shade = document.createElement('div');
	shade.className = 'shade';
	
		var generalBox = document.createElement('div');
		generalBox.className = 'generalBox';
	
			var padding = document.createElement('div');
			padding.className = 'padding';
			
				var pLogo = document.createElement('p');
				pLogo.className = 'logo';
				
					var imgLogo = document.createElement('img');
					imgLogo.src = '/static/image/logo-white.png';
					
				pLogo.appendChild(imgLogo);
				
				var pText = document.createElement('p');
				//pText.appendChild(document.createTextNode(text));
				pText.innerHTML = text;
				pText.className = 'text';
				
					var pButtons = document.createElement('p');
				
					if (offline) {
						pButtons.className = 'button1';
					} else {
						pButtons.className = 'button';
						
						var aLogin = createLinkBasedTextButton('Log in', '/account/login' + (ref ? '?target=' + ref : ''));
						var aSignup = createLinkBasedTextButton('Sign up', '/account/register');

						pButtons.appendChild(aLogin);
						pButtons.appendChild(aSignup);
					}
					
				var aCancel = document.createElement('a');
				aCancel.appendChild(document.createTextNode('Close'));
				aCancel.href = '#';
				aCancel.className = 'cancelButton';
				aCancel.onclick = function() {
					if (document.getElementById('evilForm')) {
						document.getElementById('evilForm').style.display = 'block';
					}
					shade.parentNode.removeChild(shade);
					return false;
				};

			padding.appendChild(pLogo);
			padding.appendChild(pText);
			padding.appendChild(pButtons);
			padding.appendChild(aCancel);
			
		generalBox.appendChild(padding);
	
	shade.appendChild(generalBox);
	
	document.body.appendChild(shade);
	
	if (window.innerWidth) {
		generalBox.style.marginTop = (window.pageYOffset + Math.round(window.innerHeight / 2.62) - 150) + 'px';
	}
	else if (document.documentElement && document.documentElement.clientWidth) {
		generalBox.style.marginTop = (document.documentElement.scrollTop + Math.round(document.documentElement.clientHeight / 2.62) - 150) + 'px';
	}
	else if (document.body.clientWidth) {
		generalBox.style.marginTop = (document.body.scrollTop + Math.round(document.body.clientHeight / 2.62) - 150) + 'px';		
	}
	
	shade.style.width = document.documentElement.scrollWidth + 'px';
	shade.style.height = document.documentElement.scrollHeight + 'px';
	shade.style.display = 'block';


	shade.onclick = function() {
		shade.parentNode.removeChild(shade);
	}
	generalBox.onclick = function(event) {
		if(!event) event = window.event;
		if (event.stopPropagation) {
			 event.stopPropagation(); 
		} else {
			event.cancelBubble = true;
		}
	}
}