function resizeToFit(obj)
{
  if ( obj.width > 250 ) {

    obj.owidth = obj.width;
    obj.oheight = obj.height;
    obj.width = 250;

    obj.className = 'resizedimage';
    obj.onclick = function() {
      window.open( obj.src, 'image', 'width='+obj.owidth+',height='+obj.oheight+',toolbar=no,statusbar=no,resize=no' );
    }
  }
}

function preloadImages() {
   var d = document, a = preloadImages.arguments;
   var i = 0, j = a.length;
   if ( !d.image_cache ) d.image_cache = new Array;
   for ( i = 0; i < j; ++i ) {
      d.image_cache[i] = new Image;
      d.image_cache[i].src = a[i];
   }
}

function swapImage() {
   var a = swapImage.arguments;
   var i = document.getElementById( a[0] );
   if ( !i.oSrc ) i.oSrc = i.src;
   i.src = a[1];
}

function restoreImage() {
   var a = restoreImage.arguments;
   var i = document.getElementById( a[0] );
   if ( i.oSrc ) i.src = i.oSrc;
}

function isAllChecked(formId, className) {
   var allChecked = true;
   for ( i = 0, n = formId.elements.length; i < n; ++i ) {
      if ( formId.elements[i].className.indexOf( className ) != -1 ) {
         if ( formId.elements[i].checked != true ) {
            allChecked = false;
            return allChecked;
         }
      }
   }
   return allChecked;
}

function setCheckStatus(formId, className, toggleFlag) {
   for ( i = 0, n = formId.elements.length; i < n; ++i ) {
      if ( formId.elements[i].className.indexOf( className ) != -1 ) {
         formId.elements[i].checked = toggleFlag;
      }
   }
}

function updateCheckAllStatus(toggleId, formId, className) {
   var allChecked = true;
   for ( i = 0, n = formId.elements.length; i < n; ++i ) {
      if ( formId.elements[i].className.indexOf( className ) != -1 ) {
         if ( formId.elements[i].checked == false ) {
            allChecked = false;
            break;
         }
      }
   }
   toggleId.checked = allChecked ? true : false ;
}

function toggleCheckAll(formId, className) {
   var toggleFlag = isAllChecked( formId, className );
   setCheckStatus( formId, className, !toggleFlag );
}

function submitForm(formId) {
   formId.submit();
}

function forumJump(secId) {
   document.location.href='forums.php?sec=' + secId;
}

function hasClass(obj)
{
   var result = false;
   if ( obj.getAttributeNode( 'class' ) != null ) {
      result = obj.getAttributeNode( 'class' ).value;
   }
   return result;
}

function stripe_tbody(id)
{
  var even = false;
  var tbody = document.getElementById( id );

  if ( tbody ) {
    var trs = tbody.getElementsByTagName( 'tr' );
    for ( var i = 0; i < trs.length; ++i ) {
      even = !even;
      if ( hasClass( trs[i] ) ) {
        trs[i].realClassName = arguments[even + 1];
        continue;
      }
      trs[i].className = arguments[even + 1];
    }
  }
}

function stripe_ul(id)
{
  var even = false;
  var ul = document.getElementById( id );

  if ( ul ) {
    var lis = ul.getElementsByTagName( 'li' );
    for ( var i = 0; i < lis.length; ++i ) {
      even = !even;
      if ( hasClass( lis[i] ) ) continue;
      lis[i].className = arguments[even + 1];
    }
  }
}

function stripe_ul_concat(id)
{
  var even = false;
  var ul = document.getElementById( id );

  if ( ul ) {
    var lis = ul.getElementsByTagName( 'li' );
    for ( var i = 0; i < lis.length; ++i ) {
      even = !even;
      lis[i].className = lis[i].className + ' ' + arguments[even + 1];
      if ( i < lis.length - 1 ) {
        lis[i].style.borderBottom = '1px solid #ddd';
      }
    }
  }
}

function checkall_msgs(id)
{
   var e = document.getElementById( id );
   var s = e.getElementsByTagName( 'input' );
   if ( s ) {
     for ( var i = 0, n = s.length; i < n; ++i ) {
       if ( s[i].type == 'checkbox' ) {
         s[i].checked = true;
       }
     }
   }
}

function checkall_boxes(id)
{
   var e = document.getElementById( id );
   var s = e.getElementsByTagName( 'input' );
   if ( s ) {
     for ( var i = 0, n = s.length; i < n; ++i ) {
       if ( s[i].type == 'checkbox' ) {
         s[i].checked = true;
       }
     }
   }
}

function toggleDisplay(id, vis)
{
  var e = document.getElementById( id );
  if ( e ) {
    e.style.display = vis;
  }
}

function read_message(id)
{
  if ( window.opener ) {
    var e = window.opener.document.getElementById( id );
    if ( e ) {
      e.className = e.realClassName;
    }
  }
}

function surroundText(text1, text2, txid)
{
  var textarea = document.getElementById( txid );
  if ( textarea )
  {
    if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
    {
      var caretPos = textarea.caretPos;

      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
      caretPos.select();
    }
    else if (typeof(textarea.selectionStart) != "undefined")
    {
      var begin = textarea.value.substr(0, textarea.selectionStart);
      var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
      var end = textarea.value.substr(textarea.selectionEnd);
      var newCursorPos = textarea.selectionStart;
      var scrollPos = textarea.scrollTop;

      textarea.value = begin + text1 + selection + text2 + end;

      if (textarea.setSelectionRange)
      {
        if (selection.length == 0)
          textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
        else
          textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
        textarea.focus();
      }
      textarea.scrollTop = scrollPos;
    }
    else
    {
      textarea.value += text1 + text2;
      textarea.focus(textarea.value.length - 1);
    }
  }
}

function toggleIbext()
{
	var e = document.getElementById( 'ibext' );
	var f = document.getElementById( 'ibtoggle' );
	if ( e.style.display != 'block' ) {
		e.style.display = 'block';
		f.innerHTML = 'Less &laquo;';
	} else {
		e.style.display = 'none';
		f.innerHTML = 'More &raquo;';
	}
}
