[ Index ]

PHP Cross Reference of Textpattern 4.0.8

title

Body

[close]

/textpattern/ -> textpattern.js (source)

   1  
   2  // -------------------------------------------------------------
   3  // admin-side "cookies required" warning
   4  
   5  function checkCookies()
   6  {
   7      var date = new Date();
   8  
   9      date.setTime(date.getTime() + (60 * 1000));
  10  
  11      document.cookie = 'testcookie=enabled; expired='+date.toGMTString()+'; path=/';
  12  
  13      cookieEnabled = (document.cookie.length > 2) ? true : false;
  14  
  15      date.setTime(date.getTime() - (60 * 1000));
  16  
  17      document.cookie = 'testcookie=; expires='+date.toGMTString()+'; path=/';
  18  
  19      return cookieEnabled;
  20  }
  21  
  22  // -------------------------------------------------------------
  23  // auto-centering popup windows
  24  
  25  function popWin(url, width, height, options)
  26  {
  27      var w = (width) ? width : 400;
  28      var h = (height) ? height : 400;
  29  
  30      var t = (screen.height) ? (screen.height - h) / 2 : 0;
  31      var l =     (screen.width) ? (screen.width - w) / 2 : 0;
  32  
  33      var opt = (options) ? options : 'toolbar = no, location = no, directories = no, '+
  34          'status = yes, menubar = no, scrollbars = yes, copyhistory = no, resizable = yes';
  35  
  36      var popped = window.open(url, 'popupwindow',
  37          'top = '+t+', left = '+l+', width = '+w+', height = '+h+',' + opt);
  38  
  39      popped.focus();
  40  }
  41  
  42  // -------------------------------------------------------------
  43  // basic confirmation for potentially powerful choice 
  44  // (like deletion, for example)
  45  
  46  function verify(msg)
  47  {
  48      return confirm(msg);
  49  }
  50  
  51  // -------------------------------------------------------------
  52  // multi-edit checkbox utils
  53  
  54  function selectall()
  55  {
  56      var elem = window.document.longform.elements;
  57      var cnt = elem.length;
  58  
  59      for (var i = 0; i < cnt; i++)
  60      {
  61          if (elem[i].name == 'selected[]')
  62          {
  63              elem[i].checked = true;
  64          }
  65      }
  66  }
  67  
  68  function deselectall()
  69  {
  70      var elem = window.document.longform.elements;
  71      var cnt = elem.length;
  72  
  73      for (var i = 0; i < cnt; i++)
  74      {
  75          if (elem[i].name == 'selected[]')
  76          {
  77              elem[i].checked = false;
  78          }
  79      }
  80  }
  81  
  82  function selectrange()
  83  {
  84      var inrange = false;
  85      var elem = window.document.longform.elements;
  86      var cnt = elem.length;
  87      
  88      for (var i = 0; i < cnt; i++)
  89      {
  90          if (elem[i].name == 'selected[]')
  91          {
  92              if (elem[i].checked == true)
  93              {
  94                  inrange = (!inrange) ? true : false;
  95              }
  96  
  97              if (inrange)
  98              {
  99                  elem[i].checked = true;
 100              }
 101          }
 102      }
 103  }
 104  
 105  // -------------------------------------------------------------
 106  // ?
 107  
 108  function cleanSelects()
 109  {
 110      var withsel = document.getElementById('withselected');
 111  
 112      if (withsel && withsel.options[withsel.selectedIndex].value != '')
 113      {
 114          return (withsel.selectedIndex = 0);
 115      }
 116  }
 117  
 118  // -------------------------------------------------------------
 119  // event handling
 120  // By S.Andrew -- http://www.scottandrew.com/
 121  
 122  function addEvent(elm, evType, fn, useCapture)
 123  {
 124      if (elm.addEventListener)
 125      {
 126          elm.addEventListener(evType, fn, useCapture);
 127          return true;
 128      }
 129  
 130      else if (elm.attachEvent)
 131      {
 132          var r = elm.attachEvent('on' + evType, fn);
 133          return r;
 134      }
 135  
 136      else
 137      {
 138          elm['on' + evType] = fn;
 139      }
 140  }
 141  
 142  // -------------------------------------------------------------
 143  // cookie handling
 144  
 145  function setCookie(name, value, days)
 146  {
 147      if (days)
 148      {
 149          var date = new Date();
 150  
 151          date.setTime(date.getTime() + (days*24*60*60*1000));
 152  
 153          var expires = '; expires=' + date.toGMTString();
 154      }
 155  
 156      else
 157      {
 158          var expires = '';
 159      }
 160  
 161      document.cookie = name + '=' + value + expires + '; path=/';
 162  }
 163  
 164  function getCookie(name)
 165  {
 166      var nameEQ = name + '=';
 167  
 168      var ca = document.cookie.split(';');
 169  
 170      for (var i = 0; i < ca.length; i++)
 171      {
 172          var c = ca[i];
 173  
 174          while (c.charAt(0)==' ')
 175          {
 176              c = c.substring(1, c.length);
 177          }
 178  
 179          if (c.indexOf(nameEQ) == 0)
 180          {
 181              return c.substring(nameEQ.length, c.length);
 182          }
 183      }
 184  
 185      return null;
 186  }
 187  
 188  function deleteCookie(name)
 189  {
 190      setCookie(name, '', -1);
 191  }
 192  
 193  // -------------------------------------------------------------
 194  // @see http://www.snook.ca/archives/javascript/your_favourite_1/
 195  function getElementsByClass(classname, node)
 196  {
 197      var a = [];
 198      var re = new RegExp('(^|\\s)' + classname + '(\\s|$)');
 199      if(node == null) node = document;
 200      var els = node.getElementsByTagName("*");
 201      for(var i=0,j=els.length; i<j; i++)
 202          if(re.test(els[i].className)) a.push(els[i]);
 203      return a;
 204  }
 205  
 206  // -------------------------------------------------------------
 207  // direct show/hide
 208  
 209  function toggleDisplay(id)
 210  {
 211      var obj = $('#' + id);
 212      if (obj) obj.toggle();
 213  }
 214  
 215  // -------------------------------------------------------------
 216  // show/hide matching elements
 217  
 218  function setClassDisplay(className, value)
 219  {
 220      var elements = getElementsByClass(className);
 221      var is_ie = (navigator.appName == 'Microsoft Internet Explorer');
 222  
 223      for (var i = 0; i < elements.length; i++)
 224      {
 225          var tagname = elements[i].nodeName.toLowerCase();
 226          var type = 'block';
 227  
 228          if (tagname == 'td' || tagname == 'th')
 229          {
 230              type = (is_ie ? 'inline' : 'table-cell');
 231          }
 232  
 233          elements[i].style.display = (value== 1 ? type : 'none');
 234      }
 235  }
 236  
 237  // -------------------------------------------------------------
 238  // toggle show/hide matching elements, and set a cookie to remember
 239  
 240  function toggleClassRemember(className)
 241  {
 242      var v = getCookie('toggle_' + className);
 243      v = (v == 1 ? 0 : 1);
 244  
 245      setCookie('toggle_' + className, v, 365);
 246  
 247      setClassDisplay(className, v);
 248      setClassDisplay(className+'_neg', 1-v);
 249  }
 250  
 251  // -------------------------------------------------------------
 252  // show/hide matching elements based on cookie value
 253  
 254  function setClassRemember(className, force)
 255  {
 256      if (typeof(force) != 'undefined')
 257          setCookie('toggle_' + className, force, 365);
 258      var v = getCookie('toggle_' + className);
 259  
 260      setClassDisplay(className, v);
 261      setClassDisplay(className+'_neg', 1-v);
 262  }


Generated: Thu May 21 23:03:01 2009 Cross-referenced by PHPXref 0.7