[ Index ]

PHP Cross Reference of Eventum

title

Body

[close]

/js/ -> global.js (source)

   1  <!--
   2  // @(#) $Id: global.js 3336 2007-06-13 09:26:06Z glen $
   3  var today = new Date();
   4  var expires = new Date(today.getTime() + (56 * 86400000));
   5  
   6  function addFileRow(element_name, field_name)
   7  {
   8      if (document.all) {
   9          var fileTable = document.all[element_name];
  10      } else if (!document.all && document.getElementById) {
  11          var fileTable = document.getElementById(element_name);
  12      }
  13      if (!fileTable) {
  14          return;
  15      }
  16      rows = fileTable.rows.length;
  17  
  18      // check if last box is empty and if it is, don't add another
  19      if (document.all) {
  20          var last_field = document.all[field_name + '_' + rows];
  21      } else if (!document.all && document.getElementById) {
  22          var last_field = document.getElementById(field_name + '_' + rows);
  23      }
  24      if (last_field && last_field.value == '') {
  25          return;
  26      }
  27  
  28      newRow = fileTable.insertRow(rows);
  29      cell = newRow.insertCell(0);
  30      if (document.all) {
  31          cell.innerHTML = '<input id="' + field_name + '_' + (rows+1) + '" class="shortcut" size="40" type="file" name="' + field_name + '" onChange="javascript:addFileRow(\'' + element_name + '\', \'' + field_name + '\');">';
  32      } else {
  33          var input = document.createElement('INPUT');
  34          input.setAttribute('type', 'file');
  35          input.name = field_name;
  36          input.className = 'shortcut';
  37          input.size = 40;
  38          input.onchange = new Function('addFileRow(\'' + element_name + '\', \'' + field_name + '\');');
  39          input.id = field_name + '_' + (rows+1);
  40          cell.appendChild(input);
  41      }
  42  }
  43  
  44  function inArray(value, stack)
  45  {
  46      for (var i = 0; i < stack.length; i++) {
  47          if (stack[i] == value) {
  48              return true;
  49          }
  50      }
  51      return false;
  52  }
  53  
  54  function getEmailFromAddress(str)
  55  {
  56      var first_pos = str.lastIndexOf('<');
  57      var second_pos = str.lastIndexOf('>');
  58      if ((first_pos != -1) && (second_pos != -1)) {
  59          return str.substring(first_pos+1, second_pos);
  60      } else {
  61          return str;
  62      }
  63  }
  64  
  65  function closeAndRefresh()
  66  {
  67      opener.location.href = opener.location;
  68      window.close();
  69  }
  70  
  71  function str_replace(s, srch, rplc)
  72  {
  73      var tmp = s;
  74      var tmp_before = new String();
  75      var tmp_after = new String();
  76      var tmp_output = new String();
  77      var int_before = 0;
  78      var int_after = 0;
  79  
  80      while (tmp.toUpperCase().indexOf(srch.toUpperCase()) > -1) {
  81          int_before = tmp.toUpperCase().indexOf(srch.toUpperCase());
  82          tmp_before = tmp.substring(0, int_before);
  83          tmp_output = tmp_output + tmp_before;
  84          tmp_output = tmp_output + rplc;
  85          int_after = tmp.length - srch.length + 1;
  86          tmp = tmp.substring(int_before + srch.length);
  87      }
  88  
  89      return tmp_output + tmp;
  90  }
  91  
  92  function displayFixedWidth(element_name)
  93  {
  94      var el = getPageElement(element_name);
  95      // only do this for mozilla
  96      if (is_nav6up) {
  97          var content = el.innerHTML;
  98          el.innerHTML = '<pre>' + str_replace(content, "<br>", '') + '</pre>';
  99          el.className = '';
 100      }
 101      el.style.fontFamily = 'Mono, Monaco, Courier New, Courier';
 102      el.style.whiteSpace = 'pre';
 103  }
 104  
 105  function showSelections(form_name, field_name)
 106  {
 107      var f = getForm(form_name);
 108      var field = getFormElement(f, field_name);
 109      var selections = getSelectedItems(field);
 110      var selected_names = new Array();
 111      for (var i = 0; i < selections.length; i++) {
 112          selected_names.push(selections[i].text);
 113      }
 114      var display_div = getPageElement('selection_' + field_name);
 115      display_div.innerHTML = 'Current Selections: ' + selected_names.join(', ');
 116  }
 117  
 118  function replaceWords(str, original, replacement)
 119  {
 120      var lines = str.split("\n");
 121      for (var i = 0; i < lines.length; i++) {
 122          lines[i] = replaceWordsOnLine(lines[i], original, replacement);
 123      }
 124      return lines.join("\n");
 125  }
 126  
 127  function replaceWordsOnLine(str, original, replacement)
 128  {
 129      var words = str.split(' ');
 130      for (var i = 0; i < words.length; i++) {
 131          words[i] = words[i].replace(/^\s*/, '').replace(/\s*$/, '');
 132          if (words[i] == original) {
 133              words[i] = replacement;
 134          }
 135      }
 136      return words.join(' ');
 137  }
 138  
 139  function checkSpelling(form_name, field_name)
 140  {
 141      var features = 'width=420,height=400,top=30,left=30,resizable=yes,scrollbars=yes,toolbar=no,location=no,menubar=no,status=no';
 142      var popupWin = window.open('spell_check.php?form_name=' + form_name + '&field_name=' + field_name, '_spellChecking', features);
 143      popupWin.focus();
 144  }
 145  
 146  function updateTimeFields(form_name, year_field, month_field, day_field, hour_field, minute_field, date)
 147  {
 148      var f = getForm(form_name);
 149      if (typeof date == 'undefined') {
 150          date = new Date();
 151      }
 152      selectOption(f, month_field, padDateValue(date.getMonth()+1));
 153      selectOption(f, day_field, padDateValue(date.getDate()));
 154      selectOption(f, year_field, date.getFullYear());
 155      selectOption(f, hour_field, padDateValue(date.getHours()));
 156      // minutes need special case due the 5 minute granularity
 157      var minutes = Math.floor(date.getMinutes() / 5) * 5;
 158      selectOption(f, minute_field, padDateValue(minutes));
 159  }
 160  
 161  function padDateValue(str)
 162  {
 163      if (str.length == 1) {
 164          str = '0' + str;
 165      }
 166      return str;
 167  }
 168  
 169  function resizeTextarea(page_name, form_name, field_name, change)
 170  {
 171      var f = getForm(form_name);
 172      var field = getFormElement(f, field_name);
 173      field.cols = field.cols + change;
 174      var cookie_name = 'textarea_' + page_name + '_' + field_name;
 175      setCookie(cookie_name, field.cols, expires);
 176  }
 177  
 178  function removeOptionByValue(f, field_name, value)
 179  {
 180      var field = getFormElement(f, field_name);
 181      for (var i = 0; i < field.options.length; i++) {
 182          if (field.options[i].value == value) {
 183              field.options[i] = null;
 184          }
 185      }
 186  }
 187  
 188  function getTotalCheckboxes(f, field_name)
 189  {
 190      var total = 0;
 191      for (var i = 0; i < f.elements.length; i++) {
 192          if (f.elements[i].name == field_name) {
 193              total++;
 194          }
 195      }
 196      return total;
 197  }
 198  
 199  function getTotalCheckboxesChecked(f, field_name)
 200  {
 201      var total = 0;
 202      for (var i = 0; i < f.elements.length; i++) {
 203          if ((f.elements[i].name == field_name) && (f.elements[i].checked)) {
 204              total++;
 205          }
 206      }
 207      return total;
 208  }
 209  
 210  function hideComboBoxes(except_field)
 211  {
 212      for (var i = 0; i < document.forms.length; i++) {
 213          for (var y = 0; y < document.forms[i].elements.length; y++) {
 214              if (((document.forms[i].elements[y].type == 'select-one') ||
 215                   (document.forms[i].elements[y].type == 'select-multiple')) &&
 216                      (document.forms[i].elements[y].name != except_field) &&
 217                      (document.forms[i].elements[y].name != 'lookup') &&
 218                      (document.forms[i].elements[y].name != 'lookup[]')) {
 219                  document.forms[i].elements[y].style.visibility = 'hidden';
 220              }
 221          }
 222      }
 223  }
 224  
 225  function showComboBoxes()
 226  {
 227      for (var i = 0; i < document.forms.length; i++) {
 228          for (var y = 0; y < document.forms[i].elements.length; y++) {
 229              if (((document.forms[i].elements[y].type == 'select-one') ||
 230                   (document.forms[i].elements[y].type == 'select-multiple')) &&
 231                      (document.forms[i].elements[y].name != 'lookup') &&
 232                      (document.forms[i].elements[y].name != 'lookup[]')) {
 233                  document.forms[i].elements[y].style.visibility = 'visible';
 234              }
 235          }
 236      }
 237  }
 238  
 239  function getOverlibContents(options, target_form, target_field, is_multiple)
 240  {
 241      hideComboBoxes(target_field);
 242      var html = '<form name="overlib_form" onSubmit="javascript:return lookupOption(this, \'' + target_form + '\', \'' + target_field + '\');">' + options + '<br /><input name="search" class="lookup_field_overlib" type="text" size="24" value="paste or start typing here" onBlur="javascript:this.value=\'paste or start typing here\';" onFocus="javascript:this.value=\'\';" onKeyUp="javascript:lookupField(this.form, this, \'lookup';
 243      if ((is_multiple != null) && (is_multiple == true)) {
 244          html += '[]';
 245      }
 246      html += '\');"><input class="button_overlib" type="submit" value="Lookup"><br />'
 247          + '<input type="text" name="id_number" size="24" class="lookup_field_overlib" value="id #" onFocus="javascript:this.value=\'\';">'
 248          + '<input type="button" class="button_overlib" value="Add By ID" onClick="lookupByID(document.forms[\'overlib_form\'].id_number, \'' + target_form + '\', \'' + target_field + '\')"></form>';
 249      return html;
 250  }
 251  
 252  function getFillInput(options, target_form, target_field)
 253  {
 254      hideComboBoxes(target_field);
 255      return '<form onSubmit="javascript:return fillInput(this, \'' + target_form + '\', \'' + target_field + '\');">' + options + '<input class="button_overlib" type="submit" value="Lookup"><br><input name="search" class="lookup_field_overlib" type="text" size="24" value="paste or start typing here" onBlur="javascript:this.value=\'paste or start typing here\';" onFocus="javascript:this.value=\'\';" onKeyUp="javascript:lookupField(this.form, this, \'lookup\');"></form>';
 256  }
 257  
 258  function lookupOption(f, target_form, target_field)
 259  {
 260      var w = document;
 261      for (var i = 0; i < w.forms.length; i++) {
 262          if (w.forms[i].name == target_form) {
 263              var test = getFormElement(f, 'lookup');
 264              if (!test) {
 265                  var field = getFormElement(f, 'lookup[]');
 266                  var target = getFormElement(getForm(target_form), target_field);
 267                  clearSelectedOptions(target);
 268                  selectOptions(w.forms[i], target_field, getSelectedItems(field));
 269              } else {
 270                  options = getSelectedOption(f, 'lookup');
 271                  if (options == -1) {
 272                      return false;
 273                  }
 274                  selectOption(w.forms[i], target_field, options);
 275              }
 276              nd();
 277              showComboBoxes();
 278              break;
 279          }
 280      }
 281      return false;
 282  }
 283  
 284  function lookupByID(field, target_form, target_field)
 285  {
 286      if (!isNumberOnly(field.value)) {
 287          alert('Please enter numbers only');
 288      } else {
 289          // try to find value in targer field.
 290          target_obj = document.forms[target_form].elements[target_field];
 291          found = false;
 292          for (i = 0;i<target_obj.options.length; i++) {
 293              if (target_obj.options[i].value == field.value) {
 294                  found = true;
 295                  target_obj.options[i].selected = true;
 296              }
 297          }
 298          if (found == false) {
 299              alert('ID #' + field.value + ' was not found');
 300          } else {
 301              field.value = '';
 302              // check if we should call "showSelection"
 303              if (document.getElementById('selection_' + target_field) != null) {
 304                  showSelections(target_form, target_field)
 305              }
 306          }
 307      }
 308      return false;
 309  }
 310  
 311  function fillInput(f, target_form, target_field)
 312  {
 313      var exists = getFormElement(f, 'lookup');
 314      var target_f = getForm(target_form);
 315      if (!exists) {
 316          var field = getFormElement(f, 'lookup[]');
 317          var target_field = getFormElement(target_f, target_field);
 318          target_field.value = '';
 319          var values = getValues(getSelectedItems(field));
 320          target_field.value = values.join('; ');
 321          errorDetails(target_f, target_field, false);
 322      } else {
 323          var field_value = getSelectedOption(f, 'lookup');
 324          var field = getFormElement(target_f, target_field);
 325          field.value = field_value;
 326          errorDetails(target_f, target_field, false);
 327      }
 328      nd();
 329      showComboBoxes();
 330      return false;
 331  }
 332  
 333  function lookupField(f, search_field, field_name, callbacks)
 334  {
 335      var search = search_field.value;
 336      if (isWhitespace(search)) {
 337          return false;
 338      }
 339      var target_field = getFormElement(f, field_name);
 340      if (!target_field) {
 341          target_field = getFormElement(f, field_name + '[]');
 342      }
 343      for (var i = 0; i < target_field.options.length; i++) {
 344          var value = target_field.options[i].text.toUpperCase();
 345          if (target_field.type == 'select-multiple') {
 346              // if we are targetting a multiple select box, then unselect everything
 347              // before selecting the matched option
 348              if (startsWith(value, search.toUpperCase())) {
 349                  clearSelectedOptions(target_field);
 350                  target_field.options[i].selected = true;
 351                  // handle calling any callbacks
 352                  if (callbacks != null) {
 353                      for (var y = 0; y < callbacks.length; y++) {
 354                          eval(callbacks[y] + ';');
 355                      }
 356                  }
 357                  return true;
 358              }
 359          } else {
 360              // normal drop-down boxes will search across the option value, and
 361              // not just the beginning of it (e.g. '*hello*' instead of 'hello*')
 362              if (value.indexOf(search.toUpperCase()) != -1) {
 363                  target_field.options[i].selected = true;
 364                  // handle calling any callbacks
 365                  if (callbacks != null) {
 366                      for (var y = 0; y < callbacks.length; y++) {
 367                          eval(callbacks[y] + ';');
 368                      }
 369                  }
 370                  return true;
 371              }
 372          }
 373      }
 374      target_field.selectedIndex = 0;
 375  }
 376  
 377  function clearSelectedOptions(field)
 378  {
 379      for (var i = 0; i < field.options.length; i++) {
 380          field.options[i].selected = false;
 381      }
 382  }
 383  
 384  function selectAllOptions(f, field_name)
 385  {
 386      var field = getFormElement(f, field_name);
 387      for (var y = 0; y < field.options.length; y++) {
 388          field.options[y].selected = true;
 389      }
 390  }
 391  
 392  function selectOptions(f, field_name, values)
 393  {
 394      var field = getFormElement(f, field_name);
 395      for (var i = 0; i < values.length; i++) {
 396          for (var y = 0; y < field.options.length; y++) {
 397              if (field.options[y].value == values[i].value) {
 398                  field.options[y].selected = true;
 399              }
 400          }
 401      }
 402  }
 403  
 404  function selectOption(f, field_name, value)
 405  {
 406      field = getFormElement(f, field_name);
 407      for (var i = 0; i < field.options.length; i++) {
 408          if (field.options[i].value == value) {
 409              field.options[i].selected = true;
 410              return true;
 411          }
 412      }
 413  }
 414  
 415  function setHiddenFieldValue(f, field_name, value)
 416  {
 417      var field = getFormElement(f, field_name);
 418      field.value = value;
 419  }
 420  
 421  function getForm(form_name)
 422  {
 423      for (var i = 0; i < document.forms.length; i++) {
 424          if (document.forms[i].name == form_name) {
 425              return document.forms[i];
 426          }
 427      }
 428  }
 429  
 430  function getPageElement(id)
 431  {
 432      if (document.getElementById) {
 433          return document.getElementById(id);
 434      } else if (document.all) {
 435          return document.all[id];
 436      }
 437  }
 438  
 439  function getOpenerPageElement(name)
 440  {
 441      if (window.opener.document.getElementById) {
 442          return window.opener.document.getElementById(name);
 443      } else if (window.opener.document.all) {
 444          return window.opener.document.all[name];
 445      }
 446  }
 447  
 448  function getFormElement(f, field_name, num)
 449  {
 450      var elements = document.getElementsByName(field_name);
 451      var y = 0;
 452      for (var i = 0; i < elements.length; i++) {
 453          if (f != elements[i].form) {
 454              continue;
 455          }
 456          if (num != null) {
 457              if (y == num) {
 458                  return elements[i];
 459              }
 460              y++;
 461          } else {
 462              return elements[i];
 463          }
 464      }
 465      return false;
 466  }
 467  
 468  function getSelectedItems(field)
 469  {
 470      var selected = new Array();
 471      for (var i = 0; i < field.options.length; i++) {
 472          if (field.options[i].selected) {
 473              selected[selected.length] = field.options[i];
 474          }
 475      }
 476      return selected;
 477  }
 478  
 479  function getSelectedOptionValues(f, field_name)
 480  {
 481      var field = getFormElement(f, field_name);
 482      var selected = new Array();
 483      for (var i = 0; i < field.options.length; i++) {
 484          if (field.options[i].selected) {
 485              selected[selected.length] = field.options[i].value;
 486          }
 487      }
 488      return selected;
 489  }
 490  
 491  function removeAllOptions(f, field_name)
 492  {
 493      var field = getFormElement(f, field_name);
 494      if (field.options.length > 0) {
 495          field.options[0] = null;
 496          removeAllOptions(f, field_name);
 497      }
 498  }
 499  
 500  function getValues(list)
 501  {
 502      var values = new Array();
 503      for (var i = 0; i < list.length; i++) {
 504          values[values.length] = list[i].value;
 505      }
 506      return values;
 507  }
 508  
 509  function optionExists(field, option)
 510  {
 511      for (var i = 0; i < field.options.length; i++) {
 512          if (field.options[i].text == option.text) {
 513              return true;
 514          }
 515      }
 516      return false;
 517  }
 518  
 519  function addOptions(f, field_name, options)
 520  {
 521      var field = getFormElement(f, field_name);
 522      for (var i = 0; i < options.length; i++) {
 523          if (!optionExists(field, options[i])) {
 524              field.options.length = field.options.length + 1;
 525              field.options[field.options.length-1].text = options[i].text;
 526              field.options[field.options.length-1].value = options[i].value;
 527          }
 528      }
 529  }
 530  
 531  function replaceParam(str, param, new_value)
 532  {
 533      if (str.indexOf("?") == -1) {
 534          return param + "=" + new_value;
 535      } else {
 536          var pieces = str.split("?");
 537          var params = pieces[1].split("&");
 538          var new_params = new Array();
 539          for (var i = 0; i < params.length; i++) {
 540              if (params[i].indexOf(param + "=") == 0) {
 541                  params[i] = param + "=" + new_value;
 542              }
 543              new_params[i] = params[i];
 544          }
 545          // check if the parameter doesn't exist on the URL
 546          if ((str.indexOf("?" + param + "=") == -1) && (str.indexOf("&" + param + "=") == -1)) {
 547              new_params[new_params.length] = param + "=" + new_value;
 548          }
 549          return new_params.join("&");
 550      }
 551  }
 552  
 553  function checkRadio(form_name, field_name, num)
 554  {
 555      var f = getForm(form_name);
 556      var field = getFormElement(f, field_name, num);
 557      if (!field.disabled) {
 558          field.checked = true;
 559      }
 560  }
 561  
 562  function toggleCheckbox(form_name, field_name, num)
 563  {
 564      var f = getForm(form_name);
 565      var checkbox = getFormElement(f, field_name, num);
 566      if (checkbox.disabled) {
 567          return false;
 568      }
 569      if (checkbox.checked) {
 570          checkbox.checked = false;
 571      } else {
 572          checkbox.checked = true;
 573      }
 574  }
 575  
 576  var toggle = 'off';
 577  function toggleSelectAll(f, field_name)
 578  {
 579      for (var i = 0; i < f.elements.length; i++) {
 580          if (f.elements[i].disabled) {
 581              continue;
 582          }
 583          if (f.elements[i].name == field_name) {
 584              if (toggle == 'off') {
 585                  f.elements[i].checked = true;
 586              } else {
 587                  f.elements[i].checked = false;
 588              }
 589          }
 590      }
 591      if (toggle == 'off') {
 592          toggle = 'on';
 593      } else {
 594          toggle = 'off';
 595      }
 596  }
 597  
 598  function getCookies()
 599  {
 600      var t = new Array();
 601      var pieces = new Array();
 602      var cookies = new Object();
 603      if (document.cookie) {
 604          t = document.cookie.split(';');
 605          for (var i = 0; i < t.length; i++) {
 606              pieces = t[i].split('=');
 607              eval('cookies.' + pieces[0].replace('[', '_').replace(']', '_') + ' = "' + pieces[1] + '";');
 608          }
 609          return cookies;
 610      }
 611  }
 612  
 613  function isElementVisible(element)
 614  {
 615      if ((!element.style.display) || (element.style.display == getDisplayStyle())) {
 616          return true;
 617      } else {
 618          return false;
 619      }
 620  }
 621  
 622  function toggleVisibility(title, create_cookie, use_inline)
 623  {
 624      var element = getPageElement(title + '1');
 625      if (isElementVisible(element)) {
 626          var new_style = 'none';
 627      } else {
 628          var new_style = getDisplayStyle(use_inline);
 629      }
 630      var i = 1;
 631      while (1) {
 632          element = getPageElement(title + i);
 633          if (!element) {
 634              break;
 635          }
 636          element.style.display = new_style;
 637          i++;
 638      }
 639      // if any elements were found, then...
 640      if (i > 1) {
 641          var link_element = getPageElement(title + '_link');
 642          if (link_element) {
 643              if (new_style == 'none') {
 644                  link_element.innerHTML = 'show';
 645                  link_element.title = 'show details about this section';
 646              } else {
 647                  link_element.innerHTML = 'hide';
 648                  link_element.title = 'hide details about this section';
 649              }
 650          }
 651      }
 652      if (((create_cookie == null) || (create_cookie == false)) && (create_cookie != undefined)) {
 653          return false;
 654      } else {
 655          setCookie('visibility_' + title, new_style, expires);
 656      }
 657  }
 658  
 659  function changeVisibility(title, visibility, use_inline)
 660  {
 661      var element = getPageElement(title);
 662      if (visibility) {
 663          var new_style = getDisplayStyle(use_inline);
 664      } else {
 665          var new_style = 'none';
 666      }
 667      element.style.display = new_style;
 668  }
 669  
 670  function getDisplayStyle(use_inline)
 671  {
 672      // kind of hackish, but it works perfectly with IE6 and Mozilla 1.1
 673      if (is_ie5up) {
 674          if (use_inline == true) {
 675              return 'inline';
 676          } else {
 677              return 'block';
 678          }
 679      } else {
 680          return '';
 681      }
 682  }
 683  
 684  function getCookie(name)
 685  {
 686      var start = document.cookie.indexOf(name+"=");
 687      var len = start+name.length+1;
 688      if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
 689      if (start == -1) return null;
 690      var end = document.cookie.indexOf(";",len);
 691      if (end == -1) end = document.cookie.length;
 692      return unescape(document.cookie.substring(len,end));
 693  }
 694  
 695  function setCookie(name, value, expires, path, domain, secure)
 696  {
 697      document.cookie = name + "=" +escape(value) +
 698          ( (expires) ? ";expires=" + expires.toGMTString() : "") +
 699          ( (path) ? ";path=" + path : "") +
 700          ( (domain) ? ";domain=" + domain : "") +
 701          ( (secure) ? ";secure" : "");
 702  }
 703  
 704  function openHelp(rel_url, topic)
 705  {
 706      var width = 500;
 707      var height = 450;
 708      var w_offset = 30;
 709      var h_offset = 30;
 710      var location = 'top=' + h_offset + ',left=' + w_offset + ',';
 711      if (screen.width) {
 712          location = 'top=' + h_offset + ',left=' + (screen.width - (width + w_offset)) + ',';
 713      }
 714      var features = 'width=' + width + ',height=' + height + ',' + location + 'resizable=yes,scrollbars=yes,toolbar=no,location=no,menubar=no,status=no';
 715      var helpWin = window.open(rel_url + 'help.php?topic=' + topic, '_help', features);
 716      helpWin.focus();
 717  }
 718  
 719  function selectOnlyValidOption(selectObj)
 720  {
 721      if (selectObj.selectedIndex < 1) {
 722          if (selectObj.length == 1) {
 723              selectObj.selectedIndex = 0;
 724              return;
 725          }
 726          if (selectObj.length <= 2 && selectObj.options[0].value == -1) {
 727              selectObj.selectedIndex = 1;
 728              return;
 729          }
 730      }
 731  }
 732  
 733  // this method will confirm that you want the window to close
 734  var checkClose = false;
 735  var closeConfirmMessage = 'Do you want to close this window?';
 736  function handleClose()
 737  {
 738      if (checkClose == true) {
 739          return closeConfirmMessage;
 740      } else {
 741          return;
 742      }
 743  }
 744  
 745  function checkWindowClose(msg)
 746  {
 747      if (msg == false) {
 748          checkClose = false;
 749      } else {
 750          checkClose = true;
 751          closeConfirmMessage = msg;
 752      }
 753  }
 754  
 755  // Replace special characters MS uses for quotes with normal versions
 756  function replaceSpecialCharacters(e)
 757  {
 758      var s = new String(e.value);
 759      var newString = '';
 760      var thisChar;
 761      var charCode;
 762      for (i = 0; i < s.length; i++) {
 763          thisChar = s.charAt(i);
 764          charCode = s.charCodeAt(i);
 765          if ((charCode == 8220) || (charCode == 8221)) {
 766              thisChar = '"';
 767          } else if (charCode == 8217) {
 768              thisChar = "'";
 769          } else if (charCode == 8230) {
 770              thisChar = "...";
 771          } else if (charCode == 8226) {
 772              thisChar = "*";
 773          } else if (charCode == 8211) {
 774              thisChar = "-";
 775          }
 776          newString = newString + thisChar;
 777      }
 778      e.value = newString;
 779  }
 780  
 781  
 782  function getEventTarget(e)
 783  {
 784      var targ;
 785      if (!e) var e = window.event;
 786      if (e.target) targ = e.target;
 787      else if (e.srcElement) targ = e.srcElement;
 788      if (targ.nodeType == 3) // defeat Safari bug
 789          targ = targ.parentNode;
 790  
 791      return targ;
 792  }
 793  //-->


Generated: Wed Dec 19 21:21:33 2007 Cross-referenced by PHPXref 0.7