includes/clientside/static/admin-menu.js
author Dan
Thu, 17 Dec 2009 04:27:50 -0500
changeset 1168 277a9cdead3e
parent 1118 e26e74d80c15
child 1227 bdac73ed481e
permissions -rw-r--r--
Namespace_Default: added a workaround for an inconsistency in SQL. Basically, if you join the same table multiple times under multiple aliases, COUNT() always uses the first instance. Was affecting the comment counter in the "discussion" button.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     1
/*
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     2
 * Enano - an open source wiki-like CMS
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     3
 * Copyright (C) 2006-2007 Dan Fuhry
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     4
 *
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     5
 * This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     6
 * as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     7
 *
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     8
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
     9
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    10
 */
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    11
 
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    12
/*
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    13
 * Title: Tigra Tree
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    14
 * Description: See the demo at url
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    15
 * URL: http://www.softcomplex.com/products/tigra_tree_menu/
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    16
 * Version: 1.1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    17
 * Date: 11-12-2002 (mm-dd-yyyy)
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    18
 * Notes: This script is free. Visit official site for further details.
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    19
 * 
15
ad5986a53197 Fixed complicated SQL injection vulnerability in URL handler, updated license info for Tigra Tree Menu, and killed one XSS vulnerability
Dan
parents: 1
diff changeset
    20
 * Due to the unclear licensing conditions on this script, I contacted the author, who said that because Enano
1010
12e76b1acb4e Clarified some licensing issues from the Fedora project's preliminary review.
Dan
parents: 651
diff changeset
    21
 * is not a "competing product" I was allowed release the modified code as GPL. The conversation can be seen in the
12e76b1acb4e Clarified some licensing issues from the Fedora project's preliminary review.
Dan
parents: 651
diff changeset
    22
 * licenses/tigra-menu.html document in the Enano distribution.
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    23
 */
21
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    24
1046
cfc6c30c5e2d Fixed a series of infinite loops with preloading components and placeholders
Dan
parents: 1023
diff changeset
    25
if ( /admin_menu_state=/.test(document.cookie) )
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    26
{
1046
cfc6c30c5e2d Fixed a series of infinite loops with preloading components and placeholders
Dan
parents: 1023
diff changeset
    27
  var ck = (String(document.cookie).match(/admin_menu_state=([0-9]+)/))[1];
21
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    28
  if(ck)
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    29
  {
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    30
    ck = parseInt(ck);
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    31
  }
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    32
  else
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    33
  {
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    34
    ck = 0;
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    35
  }
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    36
  ck = ( isNaN(ck) ) ? 0 : ck;
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    37
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    38
else
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    39
{
21
663fcf528726 Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents: 15
diff changeset
    40
  var ck = 0;
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    41
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    42
1023
5a282dbf8fad Added support for preloading javascript libs ($template->preload_js()). Updated admin theme and Tigra Tree Menu to support this + JS_{HEADER,FOOTER} variables.
Dan
parents: 1010
diff changeset
    43
function tree (a_items, a_template, s_target) {
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    44
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    45
	this.a_tpl      = a_template;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    46
	this.a_config   = a_items;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    47
	this.o_root     = this;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    48
	this.a_index    = [];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    49
	this.o_selected = null;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    50
	this.n_depth    = -1;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    51
	
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    52
	var o_icone = new Image(),
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    53
		o_iconl = new Image();
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    54
	o_icone.src = a_template['icon_e'];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    55
	o_iconl.src = a_template['icon_l'];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    56
	a_template['im_e'] = o_icone;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    57
	a_template['im_l'] = o_iconl;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    58
	for (var i = 0; i < 64; i++)
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    59
		if (a_template['icon_' + i]) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    60
			var o_icon = new Image();
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    61
			a_template['im_' + i] = o_icon;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    62
			o_icon.src = a_template['icon_' + i];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    63
		}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    64
	
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    65
	this.toggle = function (n_id,co) { var o_item = this.a_index[n_id]; o_item.open(o_item.b_opened,co); };
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    66
  this.open   = function (n_id,co) { var o_item = this.a_index[n_id]; o_item.open(false,co); };
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    67
	this.select = function (n_id)    { return this.a_index[n_id].select(); };
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    68
	this.mout   = function (n_id)    { this.a_index[n_id].upstatus(true) };
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    69
	this.mover  = function (n_id)    { this.a_index[n_id].upstatus() };
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    70
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    71
	this.a_children = [];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    72
	for (var i = 0; i < a_items.length; i++)
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    73
  {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    74
		new tree_item(this, i);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    75
  }
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    76
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    77
	this.n_id = trees.length;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    78
	trees[this.n_id] = this;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    79
	
1023
5a282dbf8fad Added support for preloading javascript libs ($template->preload_js()). Updated admin theme and Tigra Tree Menu to support this + JS_{HEADER,FOOTER} variables.
Dan
parents: 1010
diff changeset
    80
	for (var i = 0; i < this.a_children.length; i++)
5a282dbf8fad Added support for preloading javascript libs ($template->preload_js()). Updated admin theme and Tigra Tree Menu to support this + JS_{HEADER,FOOTER} variables.
Dan
parents: 1010
diff changeset
    81
  {
5a282dbf8fad Added support for preloading javascript libs ($template->preload_js()). Updated admin theme and Tigra Tree Menu to support this + JS_{HEADER,FOOTER} variables.
Dan
parents: 1010
diff changeset
    82
    if ( s_target )
5a282dbf8fad Added support for preloading javascript libs ($template->preload_js()). Updated admin theme and Tigra Tree Menu to support this + JS_{HEADER,FOOTER} variables.
Dan
parents: 1010
diff changeset
    83
      document.getElementById(s_target).innerHTML += this.a_children[i].init();
5a282dbf8fad Added support for preloading javascript libs ($template->preload_js()). Updated admin theme and Tigra Tree Menu to support this + JS_{HEADER,FOOTER} variables.
Dan
parents: 1010
diff changeset
    84
    else
5a282dbf8fad Added support for preloading javascript libs ($template->preload_js()). Updated admin theme and Tigra Tree Menu to support this + JS_{HEADER,FOOTER} variables.
Dan
parents: 1010
diff changeset
    85
      document.write(this.a_children[i].init());
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    86
		this.a_children[i].open(false, true);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    87
	}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    88
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    89
function tree_item (o_parent, n_order) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    90
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    91
	this.n_depth  = o_parent.n_depth + 1;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    92
	this.a_config = o_parent.a_config[n_order + (this.n_depth ? 2 : 0)];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    93
	if (!this.a_config) return;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    94
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    95
	this.o_root    = o_parent.o_root;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    96
	this.o_parent  = o_parent;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    97
	this.n_order   = n_order;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    98
	this.b_opened  = !this.n_depth;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
    99
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   100
	this.n_id = this.o_root.a_index.length;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   101
	this.o_root.a_index[this.n_id] = this;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   102
	o_parent.a_children[n_order] = this;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   103
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   104
	this.a_children = [];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   105
	for (var i = 0; i < this.a_config.length - 2; i++)
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   106
  {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   107
		new tree_item(this, i);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   108
  }
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   109
  
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   110
	this.get_icon = item_get_icon;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   111
	this.open     = item_open;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   112
	this.select   = item_select;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   113
	this.init     = item_init;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   114
	this.upstatus = item_upstatus;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   115
	this.is_last  = function () { return this.n_order == this.o_parent.a_children.length - 1 };
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   116
  
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   117
  // CODE MODIFICATION
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   118
  // added:
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   119
    // Do we need to open the branch?
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   120
    n = Math.pow(2, this.n_id);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   121
    var disp = ( ck & n ) ? true : false;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   122
    s = ( disp ) ? 'open' : 'closed';
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   123
    //if(s=='open') alert(this.n_id + ': ' + s);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   124
    if(disp) setTimeout('trees['+trees.length+'].open('+this.n_id+', true);', 10);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   125
  // END MODIFICATIONS
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   126
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   127
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   128
function item_open (b_close, nocookie) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   129
  //alert('item_open('+this.n_id+');');
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   130
	var o_idiv = get_element('i_div' + this.o_root.n_id + '_' + this.n_id);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   131
	if (!o_idiv) return;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   132
	
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   133
	if (!o_idiv.innerHTML) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   134
		var a_children = [];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   135
		for (var i = 0; i < this.a_children.length; i++)
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   136
    {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   137
			a_children[i]= this.a_children[i].init();
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   138
    }
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   139
		o_idiv.innerHTML = a_children.join('');
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   140
	}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   141
	o_idiv.style.display = (b_close ? 'none' : 'block');
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   142
  
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   143
  // CODE MODIFICATION
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   144
  // added:
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   145
    if(!nocookie)
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   146
    {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   147
      // The idea here is to use a bitwise field. Nice 'n simple, right? Object of the game is to assemble
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   148
      // a binary number that depicts the open/closed state of the entire menu in one cookie.
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   149
      n = Math.pow(2, this.n_id);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   150
      ck = ( b_close ) ? ck-n : ck+n;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   151
      //alert('open(): doing the cookie routine for id '+this.n_id+"\nResult for bitwise op: "+ck);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   152
      createCookie('admin_menu_state', ck, 365);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   153
    } else {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   154
      //alert('open(): NOT doing the cookie routine for id '+this.n_id);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   155
    }
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   156
  // END MODIFICATIONS
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   157
	
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   158
	this.b_opened = !b_close;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   159
	var o_jicon = document.images['j_img' + this.o_root.n_id + '_' + this.n_id],
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   160
		o_iicon = document.images['i_img' + this.o_root.n_id + '_' + this.n_id];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   161
	if (o_jicon) o_jicon.src = this.get_icon(true);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   162
	if (o_iicon) o_iicon.src = this.get_icon();
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   163
	this.upstatus();
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   164
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   165
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   166
function item_select (b_deselect) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   167
	if (!b_deselect) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   168
		var o_olditem = this.o_root.o_selected;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   169
		this.o_root.o_selected = this;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   170
		if (o_olditem) o_olditem.select(true);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   171
	}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   172
	var o_iicon = document.images['i_img' + this.o_root.n_id + '_' + this.n_id];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   173
	if (o_iicon) o_iicon.src = this.get_icon();
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   174
	get_element('i_txt' + this.o_root.n_id + '_' + this.n_id).style.fontWeight = b_deselect ? 'normal' : 'bold';
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   175
	
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   176
	this.upstatus();
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   177
	return Boolean(this.a_config[1]);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   178
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   179
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   180
function item_upstatus (b_clear) {
530
8d3c49b8dc79 Fixed Javascript error in admin-menu with quotes in list items
Dan
parents: 21
diff changeset
   181
	window.setTimeout('window.status="' + addslashes(b_clear ? '' : this.a_config[0] + (this.a_config[1] ? ' ('+ this.a_config[1] + ')' : '')) + '"', 10);
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   182
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   183
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   184
function item_init () {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   185
	var a_offset = [],
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   186
		o_current_item = this.o_parent;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   187
	for (var i = this.n_depth; i > 1; i--) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   188
		a_offset[i] = '<img src="' + this.o_root.a_tpl[o_current_item.is_last() ? 'icon_e' : 'icon_l'] + '" border="0" align="absbottom">';
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   189
		o_current_item = o_current_item.o_parent;
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   190
	}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   191
	return '<table cellpadding="0" cellspacing="0" border="0"><tr><td nowrap="nowrap">' + (this.n_depth ? a_offset.join('') + (this.a_children.length
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   192
		? '<a href="javascript: trees[' + this.o_root.n_id + '].toggle(' + this.n_id + ')" onmouseover="trees[' + this.o_root.n_id + '].mover(' + this.n_id + ')" onmouseout="trees[' + this.o_root.n_id + '].mout(' + this.n_id + ')"><img src="' + this.get_icon(true) + '" border="0" align="absbottom" name="j_img' + this.o_root.n_id + '_' + this.n_id + '"></a>'
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   193
		: '<img src="' + this.get_icon(true) + '" border="0" align="absbottom">') : '')
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   194
  // CODE MODIFICATION
651
ce9d78d7251d Improved JSON validation and error interface when validation fails; made rank manager support custom CSS
Dan
parents: 582
diff changeset
   195
  // [7/20/08: removed ondblclick property (unneeded)]
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   196
  // removed: 
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   197
	//	+ '<a href="' + this.a_config[1] + '" target="' + this.o_root.a_tpl['target'] + '" onclick="return trees[' + this.o_root.n_id + '].select(' + this.n_id + ')" ondblclick="trees[' + this.o_root.n_id + '].toggle(' + this.n_id + ')" onmouseover="trees[' + this.o_root.n_id + '].mover(' + this.n_id + ')" onmouseout="trees[' + this.o_root.n_id + '].mout(' + this.n_id + ')" class="t' + this.o_root.n_id + 'i" id="i_txt' + this.o_root.n_id + '_' + this.n_id + '"><img src="' + this.get_icon() + '" border="0" align="absbottom" name="i_img' + this.o_root.n_id + '_' + this.n_id + '" class="t' + this.o_root.n_id + 'im">' + this.a_config[0] + '</a></td></tr></table>' + (this.a_children.length ? '<div id="i_div' + this.o_root.n_id + '_' + this.n_id + '" style="display:none"></div>' : '');
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   198
  // added:
651
ce9d78d7251d Improved JSON validation and error interface when validation fails; made rank manager support custom CSS
Dan
parents: 582
diff changeset
   199
  + '<a href="' + this.a_config[1] + '" target="' + this.o_root.a_tpl['target'] + '" onclick="return trees[' + this.o_root.n_id + '].select(' + this.n_id + ')" onmouseover="trees[' + this.o_root.n_id + '].mover(' + this.n_id + ')" onmouseout="trees[' + this.o_root.n_id + '].mout(' + this.n_id + ')" class="t' + this.o_root.n_id + 'i" id="i_txt' + this.o_root.n_id + '_' + this.n_id + '">' + this.a_config[0] + '</a></td></tr></table>' + (this.a_children.length ? '<div id="i_div' + this.o_root.n_id + '_' + this.n_id + '" style="display:none"></div>' : '');
1
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   200
  // END MODIFICATIONS
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   201
  alert('i_div' + this.o_root.n_id + '_' + this.n_id);
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   202
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   203
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   204
function item_get_icon (b_junction) {
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   205
	return this.o_root.a_tpl['icon_' + ((this.n_depth ? 0 : 32) + (this.a_children.length ? 16 : 0) + (this.a_children.length && this.b_opened ? 8 : 0) + (!b_junction && this.o_root.o_selected == this ? 4 : 0) + (b_junction ? 2 : 0) + (b_junction && this.is_last() ? 1 : 0))];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   206
}
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   207
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   208
var trees = [];
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   209
get_element = document.all ?
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   210
	function (s_id) { return document.all[s_id] } :
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   211
	function (s_id) { return document.getElementById(s_id) };
fe660c52c48f Adding /includes
dan@scribus.fuhry.local.fuhry.local
parents:
diff changeset
   212
582
a38876c0793c Majorly reworked Javascript runtime stuff to use on-demand loading.
Dan
parents: 561
diff changeset
   213
function addslashes(text)
a38876c0793c Majorly reworked Javascript runtime stuff to use on-demand loading.
Dan
parents: 561
diff changeset
   214
{
a38876c0793c Majorly reworked Javascript runtime stuff to use on-demand loading.
Dan
parents: 561
diff changeset
   215
  text = text.replace(/\\/g, '\\\\');
a38876c0793c Majorly reworked Javascript runtime stuff to use on-demand loading.
Dan
parents: 561
diff changeset
   216
  text = text.replace(/"/g, '\\"');
a38876c0793c Majorly reworked Javascript runtime stuff to use on-demand loading.
Dan
parents: 561
diff changeset
   217
  return text;
a38876c0793c Majorly reworked Javascript runtime stuff to use on-demand loading.
Dan
parents: 561
diff changeset
   218
}
1118
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   219
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   220
// *******************************************
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   221
//  Table collapsing
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   222
// *******************************************
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   223
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   224
function admin_table_onload(page)
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   225
{
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   226
  if ( page != namespace_list['Admin'] + 'GeneralConfig' )
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   227
  {
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   228
    return true;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   229
  }
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   230
  var collapse_state = admin_table_get_cookie(page);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   231
  if ( collapse_state == 0 )
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   232
    collapse_state = 0xffffffff;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   233
  $('#ajaxPageContainer > form > div.tblholder > table').each(function(i, table)
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   234
    {
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   235
      // skip if this is a one-row table
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   236
      if ( $('tr:first', table).get(0) == $('tr:last', table).get(0) )
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   237
        return;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   238
      
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   239
      var open = (collapse_state >> i) & 1 > 0 ? true : false;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   240
      
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   241
      var ypos = open ? 0 : 12;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   242
      
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   243
      var div = document.createElement('div');
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   244
      $(div).html(gen_sprite_html(scriptPath + '/themes/admin/images/thcollapse.png', 12, 12, ypos, 0));
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   245
      $(div).click(function()
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   246
        {
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   247
          admin_table_click(this);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   248
        }).css('cursor', 'pointer').css('float', 'right');
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   249
      div.thetable = table;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   250
      div.index = i;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   251
      div.thepage = page;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   252
      div.openstate = open;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   253
      $('tr > th:first', table).prepend(div);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   254
      if ( !open )
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   255
        admin_table_collapse(table, true);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   256
    });
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   257
}
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   258
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   259
function admin_table_click(mydiv)
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   260
{
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   261
  var table = mydiv.thetable;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   262
  var i = mydiv.index;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   263
  var page = mydiv.thepage;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   264
  var collapse_state = admin_table_get_cookie(page);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   265
  
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   266
  if ( mydiv.openstate )
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   267
  {
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   268
    $('img', mydiv).css('background-position', '0px -12px');
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   269
    var new_collapse_state = collapse_state & ~Math.pow(2, i);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   270
    console.debug(new_collapse_state);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   271
    mydiv.openstate = false;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   272
    admin_table_collapse(table);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   273
  }
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   274
  else
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   275
  {
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   276
    $('img', mydiv).css('background-position', '0px 0px');
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   277
    var new_collapse_state = collapse_state | Math.pow(2, i);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   278
    console.debug(new_collapse_state);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   279
    mydiv.openstate = true;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   280
    admin_table_expand(table);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   281
  }
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   282
  createCookie('admin_th:' + page, new_collapse_state, 3650);
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   283
}
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   284
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   285
function admin_table_get_cookie(page)
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   286
{
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   287
  var cookievalue = parseInt(readCookie('admin_th:' + page));
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   288
  if ( isNaN(cookievalue) )
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   289
    cookievalue = 0;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   290
  return cookievalue;
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   291
}
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   292
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   293
function admin_table_collapse(table, noanim)
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   294
{
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   295
  var targetheight = $('tr > th:first', table).height();
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   296
  $('tr', table).hide();
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   297
  $('tr:first', table).show();
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   298
}
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   299
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   300
function admin_table_expand(table)
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   301
{
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   302
  $('tr', table).show();
e26e74d80c15 Admin panel: added collapsible tables under GeneralConfig, with room for support on other pages.
Dan
parents: 1046
diff changeset
   303
}