function showPopup(pCode, pClass, pEffect) {
	if(!$(".popupContainer."+pClass).length) {
		$("body").append('<div class="popupContainer '+pClass+'"><div class="popupClose"></div><div class="popupBackground '+pClass+'"></div><div class="popup '+pClass+'">'+pCode+'</div></div>');
	}
	if(pEffect) { $(".popupContainer."+pClass).fadeIn(); }
	else { $(".popupContainer."+pClass).show(); }
	$('.popupBackground, .popupClose').bind('click', function() {
		hidePopup(pClass, true);
	});
}

function hidePopup(pClass, pEffect) {
	if(pEffect) { $(".popupContainer."+pClass).fadeOut(); }
	else { $(".popupContainer."+pClass).hide(); }
	$(".popupContainer."+pClass).remove();
}

function showSignin() {
    location.hash = "#signin";
	hidePopup('forgotPasswordPopup', false);
   	showPopup('<form action="/access/login.php" method="POST"><label for="username">Username</label><input type="text" name="username" id="username"/> <br/><label for="password">Password</label><input type="password" name="password" id="password"/> <br/><div class="submitButtonHolder"><div class="forgetpassword"><a href="#" onclick="return forgotPassword();">Forget your password?</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" checked="" name="remember" id="remember" ><label for="remember">Remember me</label></div><input type="submit" value="Sign in" class="abutton"/></div><input type="hidden" name="action" value="signup"/></form>', 'signinPopup');
    if ($("#username").val() != "" && $("#password").val() == "") {
        $("#password").focus();
    }
    else {
        $("#username").focus();
    }
    return false;
}

function hideSignin() {
    location.hash = "";
    hidePopup('signin');
    return false;
}

function forgotPassword() {
    location.hash = "#forgot";
    hidePopup('signinPopup', false);
	showPopup('<form action="/access/reset.php" method="POST"><label for="forgotEmail">Email</label><input type="text" name="email" id="forgotEmail"><br/><br/><div style="text-align: center;">or</div><br/><label for="forgotUsername">Username</label><input type="text" name="username" id="forgotUsername"><br/><div class="submitButtonHolder"><input type="submit" value="Send confirmation" class="abutton"/><div class="text"><a href="#" onclick="return showSignin();">&larr; Go back</a></div></div></form>', 'forgotPasswordPopup');
    return false;
}


function signupWithEmail(){
	email = $('input#email').val();
	if (email == 'Email Address') {
		window.location = "/signup";
		return false;
	} else {
		window.location = "/signup?email="+email;
		return false;
	}
}

var active_color = '#000';
// Colour of user provided text
var inactive_color = '#ccc';
// Colour of default text
$(document).ready(function() {
    var hash = location.hash;
    if (hash == "#signin") {
        showSignin();
    }
    if (hash == "#forgot") {
        forgotPassword();
    }

    $("#sform").validate({
        rules: {
            passc: {
                equalTo: "#spass"
            }
        }
    });
    $("input.default-value").css("color", inactive_color);
    var default_values = new Array();
    $("input.default-value").focus(function() {
        if (!default_values[this.id]) {
            default_values[this.id] = this.value;
        }
        if (this.value == default_values[this.id]) {
            this.value = '';
            this.style.color = active_color;
        }
        $(this).blur(function() {
            if (this.value == '') {
                this.style.color = inactive_color;
                this.value = default_values[this.id];
            }
        });
    });
    $("a[title=submit]").click(function() {
        $(this).parents("form").submit();
		return false;
    });

	$(document).keypress(function(e) { 
        if(e.which == 27) {	
		    hideSignin();
			hidePopup('forgotPasswordPopup', true);
        } 
    });
	
});
