	function displayLogin(){
		$('login_pop').innerHTML = "<div id=\"login\" class=\"fine\"><p class=\"message\" id=\"login_error\"></p><form id=\"login_pop_form\" onsubmit=\"return false;\">Email address<br /><input id=\"login_email\" name=\"email\" type=\"text\" value=\"Email\" onfocus=\"this.value = '';\" /><br />Password<br /><input id=\"login_pass\" name=\"password\" type=\"password\" value=\"\" /><br /><input class=\"login_button\" id=\"login_button\" value=\"Log in\" type=\"image\" SRC=\"images/button_login.gif\" onclick=\"login();\"/></div>";
		$('login_error').style.display = 'none';
		$('login_email').focus();
	}
	function hideLogin(){
		$('login_pop').innerHTML = "";
	}
	function login(){
		var loginemail = $F('login_email');
		if(validate_email(loginemail) ==false){
			$('login_error').style.display = 'block';
			$('login_error').innerHTML = "Please enter a valid email address.";
			return;
		}
		var loginpassword = $F('login_pass');
		if(validate_password(loginpassword) == false){
			$('login_error').style.display = 'block';
			$('login_error').innerHTML = "Invalid password.";
			return;
		}
				var myAjax = new Ajax.Updater('login_status', 'login', {
  					method: 'post',
  					parameters: { email : loginemail, password : loginpassword, ajax: 1 },
  					onComplete: function(resp){
  						if(resp.responseText.indexOf("Log out") == -1){
  							document.location.href = "login?error=1";
  						}
  						else{
  							hideLogin();
  						}
  					}
  				});
	}
	function logout(){
		var myAjax = new Ajax.Updater('login_status', 'login', {
  					method: 'post',
  					parameters: { logout : 1, ajax : 1 }
  				});
	}
	function validate_email(field){
		with (field)
		{
			apos=field.indexOf("@");
			dotpos=field.lastIndexOf(".");
			if (apos<1||dotpos-apos<2){
				return false;
			}
			else {
				return true;
			}
		}
	}
	function validate_password(field){
		if (field == "") {
    		return false;
 		}
    	var illegalChars = /[\W_]/; // allow only letters and numbers
    	if ((field.length < 5) || (field.length > 12)) {
       		return false;
    	}
    	else if (illegalChars.test(field)) {
      		return false;
    	}
    	return true;
	}
	document.onclick = function(e){ 
       	if (!e && event) e = event;
   		if ( !e.target && e.srcElement ) {
           e.target = e.srcElement;
    	}
       	if(e.target.id.indexOf("login")==-1){
            hideLogin();
        }
    }