jQuery(function($)
{
	$(".collapsable").collapsable();
	
	$("textarea.autogrow").autogrow();
	
	$("textarea.wym").wymeditor({ logoHtml: '', classesHtml: '', containersHtml: '', statusHtml: ''});
	
	$(".display .showrest").click(function()
	{
		var rest = $(".rest", $(this).parent());
		rest.toggle();
		
		if(rest.is(":hidden"))
			$(this).html("[...]");
		else
			$(this).html("[<]");
		
		return false;
	});
	
	$(".date_input").date_input(
	{
		stringToDate: function(string)
		{
			var matches = string.split('/');
			if(matches.length == 3)			
				return new Date(matches[2], matches[0]-1, matches[1]);
			else
				return null;

		},
		
		dateToString: function(date)
		{
			var month = (date.getMonth() + 1).toString();
			var dom = date.getDate().toString();
			if (month.length == 1) month = "0" + month;
			if (dom.length == 1) dom = "0" + dom;
			if(month && dom && date.getFullYear())
				return month + "/" + dom + "/" + date.getFullYear();
			else
				return "";
		}
	});
	
	if($("#user-form").length > 0)
	{
	    // On user add/edit page.
	    
        var aa = $("select[name=account_access]");
        var wa = $("select[name=write_access]");
        var entry = $(".entry-account_access, .entry-write_access");
        
        var onGroupSelectChange = function(changeVals)
        {
            select = ("select[name=group_id]");
            
            aa.removeAttr("disabled");
            wa.removeAttr("disabled");
            entry.show();
            
            switch($(select).val())
            {
                case "0":
                    // inactive
                    entry.hide();
                    if(changeVals)
                    {
                        aa.val(0);
                        wa.val(0);
                    }
                    break;
                case "1":
                    // admin
                    aa.attr("disabled", true);
                    wa.attr("disabled", true);
                    if(changeVals)
                    {
                        aa.val(1);
                        wa.val(1);
                    }
                    break;
                case "2":
                    // tech
                      wa.attr("disabled", true);
                    if(changeVals)
                    {
                        aa.val(0);
                        wa.val(1);
                    }
                    break;
                case "3":
                    // client
                    aa.attr("disabled", true);
                    if(changeVals)
                    {
                        aa.val(0);
                        wa.val(0);
                    }
                    break;
            }
        }
        $("select[name=group_id]").change(function()
        {
            onGroupSelectChange(true);
        });
        onGroupSelectChange(false);
		
		$("#user-form").submit(function()
		{
			aa.removeAttr("disabled");
			wa.removeAttr("disabled");
		});
	}
});


