﻿// JScript File
function ExpandCollapse (cpName) {
   var cp = document.getElementById(cpName);
   if (cp == null) return false;

   var bCanCollapse = (cp.attributes['CanCollapse'].value == 'True');
   if (!bCanCollapse) return false;

   var cpFixedId = cp.id.split('$').join('_');

   var title = document.getElementById(cpFixedId + '_title');
   var hid = document.getElementById(cpFixedId + '_hid');
   var lnk = document.getElementById(cpFixedId + '_lnkToggle');
   var imb = document.getElementById(cpFixedId + '_imbToggle');
   var pnl = document.getElementById(cp.id + '_pnl');
   if (pnl == null) return false;

   var bCollapsed = (pnl.style.display == 'none');
   var sOnToggle;

   if (bCollapsed) sOnToggle = cp.attributes['OnExpand'].value;
      else sOnToggle = cp.attributes['OnCollapse'].value;

   if ((sOnToggle != null) && (sOnToggle != '')) {
      // if toggle method returns false, cancel the toggle
      if (!eval(sOnToggle)) return false;
   }

   var sTitle;
   var sImageUrl;
   var sLinkText;
   var sCssTitle;

/*
   var bSlide = (cp.attributes['SlideEnabled'].value.toLowerCase() == 'true');
   var nSlideSpeed = parseInt(cp.attributes['SlideSpeed'].value);
   var nSlideLines = parseInt(cp.attributes['SlideLines'].value);
*/

   if (bCollapsed) {
      sTitle = cp.attributes['ExpandedTitle'].value;
      sCssTitle = cp.attributes['CssExpandedTitle'].value;
      sImageUrl = cp.attributes['CollapseImageUrl'].value;
      sLinkText = cp.attributes['CollapseText'].value;
   }
   else {
      sTitle = cp.attributes['CollapsedTitle'].value;
      sCssTitle = cp.attributes['CssCollapsedTitle'].value;
      sImageUrl = cp.attributes['ExpandImageUrl'].value;
      sLinkText = cp.attributes['ExpandText'].value;
   }

   if (title != null) {
      title.innerText = ' ' + sTitle;
      title.attributes['class'].value = sCssTitle;
   }

   if (hid != null) hid.value = bCollapsed ? '0' : '1';
   if (lnk != null) lnk.value = sLinkText;

   if (imb != null) {
      imb.src = sImageUrl;
      imb.title = sLinkText;
      imb.alt = sLinkText;
   }

   var bOverlay = (pnl.attributes['Overlay'].value == 'True');

   if (bOverlay) {
      pnl.style.position = 'absolute';
      pnl.style.visibility = bCollapsed ? 'visible' : 'hidden';
      pnl.style.display = bCollapsed ? '' : 'none';

      //pnl.style.top  = findPosY(cp) + cp.offsetHeight;
      //pnl.style.left = findPosX(cp);
      //pnl.style.width = cp.offsetWidth;
   }
   else {
      pnl.style.display = bCollapsed ? '' : 'none';
      if (bCollapsed && (document.body.clientHeight < (findPosY(pnl) + pnl.clientHeight))) pnl.scrollIntoView(false);
   }

   // here's where we'll check for & do the postback
   var s = bCollapsed ? 'Expand' : 'Collapse';
   var bPostBack = (cp.attributes['PostBackOn' + s].value.toLowerCase() == 'true');
   if (bPostBack) IGPostBack(cpName, s);

   return false;
}
