﻿var emailIsAlreadyTaken = false; 

function showValidationError(message)
{
    $("#validationError")[0].innerHTML = message;
    $("#validationError").css("display", "block");
}

function hideValidationError()
{
    $("#validationError").css("display", "none");
}

function checkform(form)
{
	if (form.ForgotPassword.checked)
	{
		if ((form.ForgotPassword.checked) && (form.Username.value.length <= 0))
		{
			//showValidationError('Angiv e-mail-adresse for at f&aring; tilsendt dit password.');
			$.modaldialog.warning('Angiv e-mail-adresse for at f&aring; tilsendt dit password.');
			form.Username.focus();
			return false;	
		}
	}
	else
	{
		if (form.Username.value.length <= 0)
		{
			$.modaldialog.warning('Angiv brugernavn');
			return;
		}

		if (form.Password.value.length <= 0)
		{
			$.modaldialog.warning('Angiv kodeord');
			return;

		}
	}
	
	return true;
}

function ToggleForgotPassword(control)
{
	$("input[name='ForgotPassword']").each
	    (function() { this.checked = control.form.ForgotPassword.checked; });
	$("span[name='ShowPasswordText']").each
	    (function() { this.disabled = control.form.ForgotPassword.checked; });
	$("input[name='Password']").each
	    (function() { this.disabled = control.form.ForgotPassword.checked; });    
	
	if (control.form.ForgotPassword.checked)
	    $("span[name='UsernameText']").css("color", "red").each (function() { this.innerHTML = "Indtast E-mail"; });
	else
	    $("span[name='UsernameText']").each (function() { this.innerHTML = "Brugernavn"; });
}

function regClicked(control)
{
	var form = control.form;
	if (checkform(form))
	{
		if (form.ForgotPassword.checked)
		{
		    form.action = $("#loginRedirectPage")[0].value;
			checkEMailNoDisplay(form, false);
			
			/* Email has incorrect format */
//			if (checkEMail(form.Username.value) == null)
//			{
//				//$("span[sp='emailIncorrect']").css("display", "");
//				//return;
//				$.modaldialog.warning('Email ukendt');
//				return;
//			}
			
			/* Email is already taken */
			if (!emailIsAlreadyTaken)
			{
				$("span[sp='emailTaken']").css("display", "");
				$.modaldialog.warning('Email ukendt');
			}
			else
			{
			    forgotPassword(form, true);
			}
		}
		else
		{
		    if (form.action.toString().match("Action") != null)
			{
			    form.action = $("#loginCreateReference")[0].value;
			}
			
			/* Check out flow case */
//			else if (form.action.toString().match("step=2") != null)
//			{
//				// form.action = form.action + "&type=login";
//			}
//			else
//			{
//				// form.action = $("#loginRedirectPage")[0].value;
//			}
		    form.submit();
		}
	}
}

function usernameChanged(control)
{
	$("input[name='Username']").each
	    (function() 
		{ 
			this.value = control.form.Username.value;
			$("span[sp='emailIncorrect']").css("display", "none");
			$("span[sp='emailTaken']").css("display", "none");
			$("span[errorLabel='ok']").css("display", "none");
		});
}

function checkEMailNoDisplay(form, async)
{
    var emailValue = form.Username.value;
    var str = "email=" + emailValue;
    
    $.ajax({
       async: async,
       type: "POST",
       url: "/WebService/registration.asmx/CheckEMailForNewUser",
       data: str,
       timeout: 5000,
       success: function(data)
       {
            res = data.documentElement;
	        var result = res.childNodes[0].nodeValue;
		    
		    if (result == "taken")
		    {
		        emailIsAlreadyTaken = true;
		    }
		    else
		    {
		        emailIsAlreadyTaken = false;
		    }
       }
     });
}

function forgotPassword(form, async)
{    
    $.ajax({
       async: async,
       type: "POST",
       url: form.action,
       data: {
            Username: form.Username.value, 
            Forgotpassword: 'True',
            ForgotPasswordMailTemplate: form.ForgotPasswordMailTemplate.value,
            ForgotPasswordMailSubject: form.ForgotPasswordMailSubject.value },
       timeout: 5000,
       success: function(data)
       {
		    $.modaldialog.success('Brugernavn og adgangskode er sendt til din email');
       }
     });
}

