(function(a){a.fn.extend({jq_login:function(g){var p={shim:"",login:"#loginLink",logout:"#logoutLink",register:"#registerLink",account:"#account_panel",detail:"#account_detail",message:"#wagonMessage",formUrl:"index/getforms",loginUrl:"index/login",resetUrl:"index/reset",accountUrl:"index/shopping",spinner:"img/ajax_arrows.gif",spinnerHeight:"16",spinnerWidth:"16",spinnerClass:"loginSpinner"};var g=a.extend(p,g);var w=0;var q=false;var r=null;var d;var m=false;var o=2147483647;var l=-2147483648;var n="";var s=null;var c=null;var C=function(E){E.preventDefault();f();t("login")};var D=function(){var E=a(this).attr("name");a("#"+E).slideToggle()};var A=function(){var E="#"+a(this).attr("name");replaceValues=a(E).serialize();r=E;v("json","accountchanges","discreetChange=makechanges&"+replaceValues,g.accountUrl)};var y=function(){var E=jQuery.Event("toggleShopping");jQuery("body").trigger(E);B(this)};var u='<p id="ajaxSpinner">';u+='<img  class="'+g.spinnerClass+'" src="'+g.shim+g.spinner+'"';u+=' style="display:none;"';u+=' width="'+g.spinnerWidth+'px"';u+=' height="'+g.spinnerHeight+'px" /></p>';d=function(F){if(!m){a("#loginButton").hide();a(".errors").remove();var E='<div id="resettingDiv" style="display:none" >';E+="<p>This will deactivate account with a random password.</p>";E+="<p>You will need to respond to the reset notices to reactivate the account.</p>";E+='<div style="float:left;"><input class="resetAccount" type="radio" name="resetter" value="yes" />yes</div>';E+='<div style="float:right;"><input class="resetAccount" type="radio" name="resetter" value="no" />no</div>';E+="</div>";a(this).after(E);a("#resettingDiv").show(500,function(){a(".resetAccount").click(b)});m=true}};var b=function(){var E='input[name="resetter"]:checked';a("#resettingDiv").hide(300,function(){if(a(E).val()=="yes"){v("json","","reset="+a("#login_email").val(),g.accountUrl);a("#resettingDiv").empty();a("#resettingDiv").append("<p>An email has been sent.</p><p>Follow its directions to reset the account.</p>");a("#resettingDiv").show(200);m=true}else{a("#resettingDiv").remove()}setTimeout(function(){m=false},200)})};a("#wagonButton").click(y);a("body").bind("stopAccounting",function(){setTimeout(function(){w=0;q=false;a(g.account).slideUp(500)},500)});setTimeout(function(){v("html","accountinfo","personForm=get",g.formUrl)},1000);a(g.login).attr("href","");a(g.login).click(C);a("#accountdetails").click(function(){f()});return;function B(E){a(E).animate({marginTop:"+=5px"},200).animate({marginTop:"-=5px"},100)}function v(G,E,H,F){successFunction=null;switch(G){case"json":successFunction=function(I){h(I)};break;case"html":successFunction=function(I){z(I,E)};break}a.ajax({type:"POST",url:F,data:H,dataType:G,success:successFunction});return false}function h(G){a("."+g.spinnerClass).hide(200);var H=new Object();var E=0;var F;for(i in G){F=i;if(F=="errors"){a(".errors").remove();x(G.errors)}if(F=="resetKeys"){s=null;a(g.detail).slideUp(500,function(){v("html","login","login=get",g.formUrl)}).slideDown(500)}if(F=="password"){if(G.password=="pass"){v("html","accountinfo","personForm=get",g.formUrl);v("html","login_panel","getLogin=get",g.formUrl)}}if(F=="html"){if(r!=null){var I='<input id="formClass" type="hidden" value="accountInfo" name="formClass">';a(r).empty();a(r).append(G.html);a(r).append(I);a(r).show("slide",{direction:"left"},800);setTimeout(function(){a(".editAccount").unbind("click",D);a(".accountEdit").unbind("click",A);a(".editAccount").bind("click",D);a(".accountEdit").bind("click",A)},200)}}if(F=="emailExists"){if(G.emailExists==true){a("#loginReset").show(200);a(".errors").hide(200,function(){a(".errors").remove()})}if(G.emailExists==false){a("#loginReset").hide(200)}}}}function z(E,F){var G="";if(F=="login"){a(g.detail).empty();a(g.detail).append(E);a(g.detail).slideDown(1000);G='<a id="loginReset" style="display:none" >reset password</a>';G+=u;G+='<input id="loginButton" class="float-right" type="button" value="login">';n="#"+a("#account_detail form").attr("id");a(n).append(G);setTimeout(function(){a("#loginReset").click(d);a("#login_email").change(function(){var H="email="+a("#login_email").val();H+="&context=login";k(H,g.accountUrl,"checkAddresses")});a("#loginButton").click(function(){a(".errors").slideUp(200,function(){a(".errors").remove()});var H=a("#login_Login").serialize();a("."+g.spinnerClass).show(200);k(H,g.loginUrl,"post")})},200)}if(F=="accountinfo"){a(g.detail).empty();a(g.detail).append(E);a(g.detail).slideDown(1000);G='<input id="loginClose" class="float-right" type="button" value="close">';a(g.detail).prepend(G);setTimeout(function(){a("#loginClose").click(function(){f()});a(".editAccount").bind("click",D);a(".accountEdit").bind("click",A);a("#accountinfo_detail").slideDown(1000)},200)}if(F=="login_panel"){a("#login_panel").hide(1000,function(){a(".errors").remove();a("#login_panel").replaceWith(E);setTimeout(function(){a("#accountdetails").click(function(){f()});a("#wagonButton").click(y)},700)}).show(1000)}}function x(G){var H=new Object();var E=0;var F;for(i in G){F=i;for(j in G[i]){H[E]={field:F,type:j,body:G[i][j]};E++}H.index=E}e(H)}function e(F){a(".errors").slideUp(500,function(){a(".errors").remove()});for(var E=0;E<F.index;E++){a("#"+F[E].field+"-element").append('<p class="errors" style="display:none;">'+F[E].body+"</p>");a("."+F[E].field+"Tag").append('<p class="errors" style="display:none;">'+F[E].body+"</p>")}a(".errors").slideDown(1000)}function f(){switch(w){case 0:w=1;a("*").addClass("wait");setTimeout(function(){q=true;a(g.account).show();a("*").removeClass("wait")},1000);var E=jQuery.Event("stopShopping");jQuery("body").trigger(E);break;case 1:w=0;q=false;a(g.account).hide();break}}function t(E){if(w==1){switch(E){case"login":v("html","login","login=get",g.formUrl);break}}}function k(H,G,F){c=a.md5(Math.random(50,100000));H=H+"&sendBack="+c;if(s==null){var E="index/params/rc/"+a("#login_key").val();a.jCryption.getKeys(E,function(I){s=I;a.jCryption.encrypt(H,I,function(J){v("json","",F+"="+J,G)})})}else{a.jCryption.encrypt(H,s,function(I){v("json","",F+"="+I,G)})}}}})})(jQuery);
