Element.Events.enterpress = {
    base: 'keydown',
    condition: function(event){
        return (event.key == "enter");
    }
};

window.addEvent("domready", function (){
	setDefaultValue($("loginuid"), "Username");
	$("loginuid").addEvent("keydown", function(e){
		if (e.code == 13)
			$("loginpwd").select();
	});

	$("loginpwd").addEvent("keydown", function(e){
		if (e.code == 13) {
            doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuid").value) + "&pwd=" + encodeURIComponent($("loginpwd").value) + "&rememberme=" + encodeURIComponent($("rememberme").checked), handleLogin);
		}
	});

	$("loginform").addEvent("submit", function(e){
		e.preventDefault();
		doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuid").value) + "&pwd=" + encodeURIComponent($("loginpwd").value) + "&rememberme=" + encodeURIComponent($("rememberme").checked), handleLogin);
	});
	
	$("submit_img").addEvent("click", function(e){
		e.preventDefault();
		doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuid").value) + "&pwd=" + encodeURIComponent($("loginpwd").value) + "&rememberme=" + encodeURIComponent($("rememberme").checked), handleLogin);
	});
});

function handleLogin(resp) {
	var buttons = '<a class="buttonsmallgreen" onclick="$(\'popin\').dispose();" href="javascript:;"><span>Try again</span></a>';			
		buttons += '<a class="buttonsmallgrey" href="register"><span>Register an account</span></a>';
		buttons += '<a class="buttonsmallgrey" href="forgotpassword"><span>New password</span></a>';
		
	switch (resp.login) {
		case -1: 
		case -3:
			var headline = "Incorrect password or username";
			var textmass = "Try again or have you forgot your password? Click the button &lsquo;New password&rsquo;. Are you not yet registrered yet. Click the &lsquo;Register an account&rsquo; button.";
			doPopin( headline, textmass, buttons ); break;
		case -2:
			var headline = "Account not activated";
			var textmass = "Your account has not been activated by an administrator yet.";
			var buttons = '<a class="buttonsmallgreen" onclick="$(\'popin\').dispose();" href="javascript:;"><span>Ok</span></a>';	
			doPopin( headline, textmass, buttons ); break;			
		case 1:
			window.location.reload(); break;
		case 2:
			if( resp.invitecode ) {				
				window.location = 'register/?step=4&invitecode='+resp.invitecode;
			} else {
				window.location = 'register/?step=4';
			}			
	}
}

function snatchValue(ob){
	return ob.value==ob.retrieve("defaultvalue")?"":ob.value;
}

function setDefaultValue(oInput, defaultvalue, password){
	oInput.store('defaultvalue', defaultvalue);
	oInput.addEvent("focus", function(){
		if(this.value == defaultvalue) {
			this.value="";
		}
		this.setStyle("color", "#000");
		if(password) 
			changeInputType(this, "password");
			//this.setAttribute("type", "password");
	});
	oInput.addEvent("blur", function(){
		if(this.value == "") {
			this.value=defaultvalue;
			this.setStyle("color", "#666");
		if(password) 
			changeInputType(this, "text");
//			this.setAttribute("type", "text");
		}
	});
	oInput.fireEvent("blur");
}

function changeInputType(oOld, sType) {
	//if(Browser.Engine.trident) {
		//var oNew = oOld.clone();
		var oNew = new Element("input", {
			"type": sType
		});
		oNew.replaces(oOld);
		//setDefaultValue(oNew, "Password", true);
	//}
	//else {
//		oOld.setAttribute("type", sType);
	//}
	
  /*var newObject = new Element("input");
  newObject.type = oType;
  if(oldObject.size) newObject.size = oldObject.size;
  if(oldObject.value) newObject.value = oldObject.value;
  if(oldObject.name) newObject.name = oldObject.name;
  if(oldObject.id) newObject.id = oldObject.id;
  if(oldObject.className) newObject.className = oldObject.className;
  oldObject.parentNode.replaceChild(newObject,oldObject);
  return newObject;*/
}
