function cookiesRefresh(b) {
    AJAX('/pages/3pcookies.php','ajax='+b,function (h) {
        $('3pcookies_content').innerHTML=h.responseText;
    });
}
function account_submit(f) {
    $('account_result').set('html','');
    AJAX('pages/account.php',f.toQueryString(),function (h) {
        var r = h.responseText;
        if(r=='-1') {
            r='0';
            login.refresh();
        }
        var errors = new Array('Changes saved!','Wrong current password! Try again.','Your new password fields do not match. Check your spelling, and try again.','That doesn\'t look like a valid e-mail address. Please try again.');
        if(r=='0') {
            MochaUI.notification(errors[0]);
            return false;
        }
        var i = parseInt(r);
        $('account_result').set('html',typeof errors[i]=='string'?errors[i]:r);
    });
}
function icon_add_Icon(id,el) {
	if(typeof el == 'undefined')
		moveIcon(0,'id='+id,function () {$('icon_add_Icon'+id).setStyle('visibility','hidden')});
	else
		dragMouseDown(el,'id='+id,function () {$('icon_add_Icon'+id).setStyle('visibility','hidden')});
}
var icon_add_menu_active = new Array(0,0);
function icon_add_menu_swap(item,main) {
    var row = $(main?"iconAddMenu1":"iconAddMenu2");
    var el = row.getChildren()[item];
    if(el.hasClass("active")) return false;
    row.getChildren("a.active").removeClass("active");
    el.addClass("active");
    icon_add_menu_active[main?0:1] = item;
    icon_add_icon_refresh();
    $("icon_add_icon_table").set('html','<img src="/portal-images/loadbar.gif" alt="Loading..." />');
}
function icon_add_icon_refresh() {
    var req = new Request({url:'/pages/icon_add.php',method:'get'});
    req.addEvent('success',function (t) {
        $("icon_add_icon_table").set('html',t);
    });
    req.send('type='+icon_add_menu_active[0]+'&site='+icon_add_menu_active[1]+'&ajax=1');
}
function prefs_widget_check(el,ev) {
    $(el).getParent("table").toggleClass("prefs_widget_active");
    ev.stopPropagation();
    ev.stop();
}
function prefs_widget_submit(els) {
    var wrapper = new Element("div",{
        "id": "prefs_widget_drag_wrapper",
        "opacity": 0,
        "styles": {
            "height": "100%",
            "left": 0,
            "position": "absolute",
            "top": 0,
            "width": "100%",
            "zIndex": 10000
        },
        "events": {
            "click": prefs_widget_complete
        }
    });
    var background = new Element("div",{
        "id": "prefs_widget_drag_background",
        "html": "&nbsp;",
        "opacity": .8,
        "styles": {
            "background": "#000",
            "height": "100%",
            "left": 0,
            "position": "absolute",
            "top": 0,
            "width": "100%",
            "zIndex": 10000
            
        }
    }).inject(wrapper);
    var text = new Element("div",{
        "id": "prefs_widget_drag_text",
        "html": "<span style='color:#fff;font-size:5em'>Drag to place your widgets<br /></span><span style='color:#eee;font-size:2em'>Click anywhere else when you're done</span>",
        "styles": {
            "color": "#fff",
            "height": "100%",
            "left": 0,
            "position": "absolute",
            "top": 20,
            "width": "100%",
            "zIndex": 10001
        }
    }).inject(wrapper);
    wrapper.inject(document.body);
    var boxes = new Array();
    $each(els,function (el) {
        if(el.checked) boxes[boxes.length] = el.getProperty("widget");
    });
    widgets.json("windows="+boxes.join(","),function (json) {
        var wrapper = $("prefs_widget_drag_wrapper");
        var rint = function () {return Math.random()*255};
        var a2rgb = function (a,o) {return "rgb("+(a[0]+o)+","+(a[1]+o)+","+(a[2]+o)+")"};
        var size = window.size();
        $each(json.windows,function (w) {
            if(typeof w.x == "number" && typeof w.y == "number") {
                w = widgets.cornerSnap(w);
            } else {
                w.x = (size.width-w.width)/2;
                w.y = (size.height-w.height)/2;
            }
            var base = [150,150,150],color = new Array();
            for(i=0;i<3;i++) {
                color[i] = Math.floor((rint()+base[i])/2);
            }
            var el = new Element("div",{
                "class": "prefs_widget_drag_widget",
                "widget": w.widgetId,
                "html": w.title,
                "styles": {
                    "background": a2rgb(color,0),
                    "border": "4px solid "+a2rgb(color,-50),
                    "cursor": "move",
                    "color": a2rgb(color,50),
                    "font-size": "2em",
                    "padding": "10px",
                    "position": "absolute",
                    "height": w.height+22, //25 on top and bottom of windows, minus 20 padding, 8 border
                    "width": w.width-28, //minus 20 padding, 8 border
                    "left": w.x,
                    "top": w.y,
                    "zIndex": 10001+w.widgetId
                },
                "events": {
                    "click": function (e) {
                        e.stopPropagation();
                        return false;
                    }
                }
            })
            var drag = new Drag(el);
            el.inject(wrapper);
            el.fade("in");
        });
    });
    wrapper.fade("in");
}
function prefs_widget_complete() {
    var a = new Array();
    $each($$(".prefs_widget_drag_widget"),function (el) {
        var c = el.getCoordinates($("desktop"));
        var size = window.size();
        //alert(c.right+"\n"+c.bottom);
        c.right = size.width-c.width-c.left;
        c.bottom = size.height-c.height-c.top;
        //alert(c.right+"\n"+c.bottom);
        var corner = c.top<c.bottom?(c.left<c.right?1:2):(c.left<c.right?3:4);
        var w = {
            "id": el.getProperty("widget"),
            "corner": corner,
            "x": (corner==1 || corner==3)?c.left:c.right,
            "y": (corner==1 || corner==2)?c.top:c.bottom
        };
        //w = widgets.cornerSnap(w);
        a[a.length] = w;
    });
    //alert(JSON.encode(a));
    new Request({
        "url": "/pages/prefs_widget_save.php",
        "onComplete": function (r) {
            if(r=="1") {
                MochaUI.notification("Widgets saved!");
                widgets.load();
            } else {
                alert("Error! "+r);
            }
        }
    }).send("windows="+encodeURIComponent(JSON.encode(a)));
    $("prefs_widget_drag_wrapper").get('tween', {property: 'opacity', duration: 500}).start(0);
    setTimeout(function () {
        $("prefs_widget_drag_wrapper").destroy();
    },500);
}
var register_Responses = new Array();
register_Responses["register_Username"] = new Array("Username must be 20 characters or less.","Please only use A-Z, 0-9, and _.","Already taken!");
register_Responses["register_Password"] = new Array("No match!");
register_Responses["register_Password2"] = new Array("Try again!");
register_Responses["register_Email"] = new Array("Invalid e-mail!","Already in use!");
function register_Validate(el) {
    var n = el.getProperty("id");
    if(el.getProperty("value").length==0) {$(n+"Output").innerHTML="";return false};
    AJAX("components/register.php","validate="+n+"%3D"+encodeURIComponent(el.getProperty("value")),function (h) {
        register_Output(n,h.responseText);
    });
}
function register_Output(n,t) {
    var r = parseInt(t);
    var output = $(n+"Output");
    if(r.toString()!=t) {
        output.setStyle("color","red").innerHTML="Unexpected error! "+t;
        return false;
    }
    if(r==-1) {
        output.setStyle("color","red").innerHTML="This field is not optional.";
        return false;
    }
    output.setStyle("color",r?"red":"green").innerHTML=r?register_Responses[n][r-1]:["Alright!","Great!","Okay!","Good to go!"][$random(0,3)];
}
function register_ValidatePasswords() {
    var values = new Array($("register_Password").getProperty("value"),$("register_Password2").getProperty("value"));
    if(values[0].length*values[1].length==0) return false;
    register_Output("register_Password",values[0]==values[1]?0:1);
    register_Output("register_Password2",values[0]==values[1]?0:1);
}
function register_Submit() {
    var pass = true;
    var values = new Array();
    $$(".register_Output").each(function (el) {
        if(el.getStyle("color")!="green") pass = false;
    });
    $("register_NotDone").setStyle("display",pass?"none":"block");
    if(!pass) return false;
    runAJAX("components/register.php","name="+$("register_Username").getProperty("value")+"&password="+$("register_Password").getProperty("value")+"&password2="+$("register_Password2").getProperty("value")+"&email="+$("register_Email").getProperty("value"));
}
function site_widgets_save(form) {
  new Request({
    method: 'get',
    url: '/pages/site_widgets.php',
    onSuccess: function (r) {
      if(r==1 || r==2) MochaUI.notification("Saved!");
      else alert(r);
      if(r==1) {
        var inputs = $(form).getElements("input");
        $each(inputs,function (el) {
          var el = $(el);
          el.setProperty("default",el.getProperty("value"));
        });
      } else if(r==2) {
        MochaUI.updateContent({element:$("sitewidgets"),loadMethod:"xhr",url:"/pages/site_widgets.php"});
      }
    }
  }).send("ajax&"+form.toQueryString());
}
function tutorial_Chapter(i) {
    AJAX('pages/tutorial.php','ajax='+i,function (h) {
        $('tutorial_Content').set('html',h.responseText);
    });
}
