Element.Events.enterpress = {
    base: 'keydown',
    condition: function(event){
        return (event.key == "enter");
    }
};

window.addEvent("domready", function (){
	setDefaultValue($("loginuid"), "Användarnamn");
	/*
	$("loginuid").addEvent("keydown", function(e){
		if (e.code == 13)
			$("loginpwd").select();
	});
	*/
	if ($("loginpwd")) {
		$("loginpwd").addEvent("keydown", function(e){
			if (e.code == 13) {
				doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuid").value) + "&pwd=" + encodeURIComponent($("loginpwd").value) + "&rememberme=" + encodeURIComponent($("rememberme").checked), handleLogin);
			}
		});
	}
	if ($("loginpwdform")) {
		$("loginpwdform").addEvent("keydown", function(e){
			if (e.code == 13) {
				doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuidform").value) + "&pwd=" + encodeURIComponent($("loginpwdform").value) + "&rememberme=" + encodeURIComponent($("remembermeform").checked), handleLogin);
			}
		});
	}
	
	if ($("loginform")) {
		$("loginform").addEvent("submit", function(e){
			e.preventDefault();
			doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuid").value) + "&pwd=" + encodeURIComponent($("loginpwd").value) + "&rememberme=" + encodeURIComponent($("rememberme").checked), handleLogin);
		});
	}
	
	if ($("submit_img")) {
		$("submit_img").addEvent("click", function(e){
			e.preventDefault();
			doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuid").value) + "&pwd=" + encodeURIComponent($("loginpwd").value) + "&rememberme=" + encodeURIComponent($("rememberme").checked), handleLogin);
		});
	}
	
	if ($("submit_img_form")) {
		$("submit_img_form").addEvent("click", function(e){
			e.preventDefault();
			doAjaxCallback("/login", "uid=" + encodeURIComponent($("loginuidform").value) + "&pwd=" + encodeURIComponent($("loginpwdform").value) + "&rememberme=" + encodeURIComponent($("remembermeform").checked), handleLogin);
		});
	}
	
	$$('.loginbuttonbox').addEvent('click', function(e) {
		displayLoginForm();
	});
	
	$$('.speclogin').addEvent('click', function(e) {
		displayLoginForm();
	});
});

function displayLoginForm() {
	var loginform = $('loginform');
	var loginbuttonbox = $$('.speclogin');
	if (loginform.hasClass('hide')) {
		loginform.removeClass('hide');
		loginbuttonbox.addClass('specloginsel');
	} else {
		loginform.addClass('hide');
		loginbuttonbox.removeClass('specloginsel');
	}
}

function handleLogin(resp) {
	var buttons = '<a class="printbutton" onclick="$(\'popin\').dispose();" href="javascript:; style="float:right;""><span>Försök igen</span></a>';			
		buttons += '<a class="buttonsmallgrey" href="register"><span>Ansök om ett konto</span></a>';
		buttons += '<a class="buttonsmallgrey" href="forgotpassword"><span>Nytt lösenord</span></a>';
	switch (resp.login) {
		
		case -1: 
		case -3:
		/*	
			var headline = "Fel lösenord eller användarnamn";
			var textmass = "Försök igen eller om du har glömt ditt lösenord tryck på 'Nytt lösenord'. Är du inte medlem? Tryck på 'Ansök om ett konto'";
			doPopin( headline, textmass, buttons );
		*/
			window.location.href = "/loginform/1";
		break;
		case -2:
			/*
			var headline = "Account not activated";
			var textmass = "Your account has not been activated by an administrator yet.";
			var buttons = '<a class="printbutton" onclick="$(\'popin\').dispose();" href="javascript:;"><span>Ok</span></a>';	
			doPopin( headline, textmass, buttons );
			*/
			window.location.href = "/loginform/2";
			break;			
		case 1:
			if ($('redirecturl')) {
				window.location.href = "/settings";	
			} else {
				window.location.href = "/";	
			}
			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;*/
}
