From e85282b709708c2be6ec5eb70ba5942167ff583b Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Mon, 24 Nov 2008 00:27:45 +0000 Subject: Make login form JS unobtrusive. Needs work. --- themes/default/js/user.js | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) (limited to 'themes/default/js') diff --git a/themes/default/js/user.js b/themes/default/js/user.js index 06d43d15..6c66e35c 100644 --- a/themes/default/js/user.js +++ b/themes/default/js/user.js @@ -1,11 +1,29 @@ -function show_login(url) { - $("#gLoginLink").hide(); - $(".gClose").show(); - $.get(url, function(data) { - $("#gLoginFormContainer").html(data); - ajaxify_login_form(); +/** + * @todo preventDefault() not working in IE 6 and 7 + * @todo Close link should be reusable + */ +var closeLink = '
  • X
  • '; + +$("document").ready(function() { + $("#gLoginLink").click(function(event){ + event.preventDefault(); + var url = $("#gLoginLink a").attr("href"); + $.get(url, function(data) { + $('#gLoginLink').hide(); + $("#gLoginMenu").append(closeLink); + $("#gLoginMenu li:last").addClass("gClose").show(); + $("#gLoginMenu .gClose a").click(function(){ + $("#gLoginForm").remove(); + $("#gLoginMenu .gClose").remove(); + $("#gLoginLink").show(); + $("input#gUsername").val(""); + $("input#gPassword").val(""); + }); + $("#gLoginFormContainer").html(data); + ajaxify_login_form(); + }); }); -} +}); function ajaxify_login_form() { $("form#gLoginForm").ajaxForm({ @@ -19,11 +37,3 @@ function ajaxify_login_form() { }, }); } - -function close_login() { - $("#gLoginForm").remove(); - $(".gClose").hide(); - $("#gLoginLink").show(); - $("input#gUsername").val(""); - $("input#gPassword").val(""); -} -- cgit v1.2.3