window.addEvent("domready",function(){
    $$("a.profile-login").addEvent("click",function(){
        var canvas = new Element("div").grab(new Element("h1",{
            text: "Login"
        })).grab(new Element("div",{
            text: "Loading..."
        }).addClass("loading"));
        var overlay = new Overlay(canvas).show();
        overlay.setContents = function(contents){
            overlay.canvas.getElement("div").destroy();                         // remove current canvas contents
            
            var elem = new Element("div");
            elem.innerHTML = contents;
            elem.inject(overlay.canvas);                                        // inject new contents
            
            overlay.position();
            
            overlay.canvas.getElements("form.ajaxed").addEvent("submit",function(){ // make sure ajaxed forms are actually sent via ajax
                this.get("send",{"evalScripts":true}).addEvent("success",function(text){ // eval form results and set as contents
                    overlay.setContents(text);
                }).send();
                this.getElements("input").set("disabled",true);                 // temporarily disable all input fields to show progress
                this.getElements(".removeme").destroy();                        // remove temporary hidden fields
                return false;
            }).addClass("ajax-handler");
            
            overlay.canvas.getElements("input[type=submit]").addEvent("click",function(){ // add hidden dummy field for submit button that was actually clicked
                //console.debug("submit button",this);
                this.getParent("form").grab(new Element("input",{
                    "type":"hidden",
                    "name":this.get("name"),
                    "value":this.get("value")
                }).addClass("removeme"));                                       // make sure field is removed upon submitting form
            });
        };
        
        new Request({
            url:"/profile/login/?ajax",
            "evalScripts":true,
            onSuccess: function(text,xml){
                overlay.setContents(text);
            }
        }).send();
        return false;
    }).addClass("ajax-handler");
});
window.addEvent("ajax-result",function(result){
    if(window.console) console.debug("ajax-result",JSON.encode(result));
    if(result["user-current"]){
        $$("a.profile-login").each(function(elem){ elem.getParent("td").innerHTML = result["user-current"].linked; });
    }
});