var layoutManager = {
    /* Layout Manager umozliwia zmiane ustawien wygladu z zapisaniem ich w bazie,
     * sluzy do: zmiany palety kolorow, zmiany widocznosci niektorych boxow
     */
    
    switched_boxes_keys: ['lastvisitorsbox', 'shortcutsbox', 'recommendedlinksbox', 'newestusersbox', 'newestgroupsbox', 'friendsonlinebox', 'connectaccountsbox'],
    
    save_palette_setting: function (palette_name) {
        var save_url = layoutManager.save_setting_url.replace('key', 'layout_color').replace('value', palette_name);
        $.ajax({
            url: save_url,
            type: "get",
            success: function (response) {
                return false;
            },
            error: function (error) {
                return false;
            }
        });
    },
	
	setup_magic_column_switch: function () {
		$(".magicColumnButton").click(function(){
			$("#magicColumn").toggleClass("rolled");
			var column_state;
			if ($("#magicColumn").hasClass("rolled")) {
                column_state = 0;
            } else {
                column_state = 1;
            }
	        var save_url = layoutManager.save_setting_url.replace('key', 'magic_column_state').replace('value', column_state);
	        $.ajax({
	            url: save_url,
	            type: "get",
	            success: function (response) {
	                return false;
	            },
	            error: function (error) {
	                return false;
	            }
	        });
		});
		
	},
	
	setup_invitations_switch_in_profile_panel: function () {
		$("#profilePanel .invitations .button").click(function(){
			$("#profilePanel .invitations").toggleClass("rolledUp");
			var state;
			if ($("#profilePanel .invitations").hasClass("rolledUp")) {
                state = 0;
            }
            else {
                state = 1;
            }
	        var save_url = layoutManager.save_setting_url.replace('key', 'profilemenuinvitations').replace('value', state);
	        $.ajax({
	            url: save_url,
	            type: "get",
	            success: function (response) {
	                return false;
	            },
	            error: function (error) {
	                return false;
	            }
	        });
		});
	},
    
    save_setting: function (button, setting_key) {
        /* Zapisanie ustawienia wartoscia ustalona na podstawie stanu html 
         * wywolania tej funkcji sa zagniezdzone w html guzikow np:
         * 
         * <span class="switch" onclick="layoutManager.save_setting(this, 'lastvisitorsbox');"></span>
         * 
         */
        var jbutton = $(button);
        
        if (jbutton.parent().hasClass('saving') === false) {
            jbutton.parent().addClass('saving');
            if ($.inArray(setting_key, layoutManager.switched_boxes_keys) > -1) {
                // jesli to switch-box pracujemy z klasa 'rolledUp' guzika
                jbutton.toggleClass("rolledUp");
                jbutton.parent().next().toggle();
                var setting_value;
                if (jbutton.hasClass("rolledUp")) {
                    setting_value = 0;
                }
                else {
                    setting_value = 1;
                }
                var save_url = layoutManager.save_setting_url.replace('key', setting_key).replace('value', setting_value);
                $.ajax({
                    url: save_url,
                    type: "get",
                    success: function (response) {
                        if (response === 'OK') {
                            jbutton.parent().removeClass('saving');
                        } else {
                            jbutton.parent().removeClass('saving');
                            jbutton.toggleClass("rolledUp");
                            jbutton.parent().next().toggle();
                        }
                    },
                    error: function (error) {
                        jbutton.parent().removeClass('saving');
                        jbutton.toggleClass("rolledUp");
                        jbutton.parent().next().toggle();
                    }
                });
            }
        }
    },
    
    init: function (save_setting_url) {
        this.save_setting_url = save_setting_url;
		this.setup_magic_column_switch();
		this.setup_invitations_switch_in_profile_panel();
    }
};

