/*  showInputForm */
function input(i) {
  id_out = i + '_out';
  id_in = i + '_in';
  el_out = document.getElementById (id_out);
  el_in = document.getElementById (id_in);
  if (!el_in) {
    el_url = "HTMLFiles/Integrate.en/" + i + ".txt";
    req = false;
    if (window.XMLHttpRequest) {
      try { req = new XMLHttpRequest (); }
      catch (e) { req = false; }
    }
    else if (window.ActiveXObject) {
      try { req = new ActiveXObject ("Msxml2.XMLHTTP"); }
      catch (e) {
        try { req = new ActiveXObject ("Microsoft.XMLHTTP"); }
        catch (e) { req = false; }
      }
    }

    function addInputForm () {
      if (req.readyState == 4) {
        if (req.status == 200) {
          el_out.innerHTML = req.responseText;
        } else {
          alert ("An error occurred while retrieving the file:\n" + el_url);
        }
      }
      el_in = document.getElementById (id_in);
      return el_in.style.visibility == 'visible' ? hideLayer(id_in) : showLayer(id_in);
    }
    if (req) {
      try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
      } catch (e) {
        alert (e);
      }

      req.onreadystatechange = addInputForm;
      // broken here on gecko:
      try {
        req.open ("GET", el_url, true);
      } catch (e) {
        alert (e);
      }
      req.send ("");
    }
  }
  else if (el_in.className == 'InputFormText' || el_in.className == 'IFT') {
    rows = el_in.innerHTML.split('\n').length + 1;
    for (ch = el_out.firstChild; ch; ch = ch.nextSibling) {
      if (ch.className == 'IFU') {
        var url = ch.innerHTML
      }
    }
    /* We use .innerHTML when we want &lt; and .firstChild.nodeValue when we want < */
    div = '<div name="' +id_in+ '" id="' +id_in+ '" class="IFF">'
        + '<div><textarea rows="' +rows+ '">' +el_in.innerHTML+ '</textarea><br />'
        + '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td><div class="mailText"><a class="mailLink" href="'
        + 'mailto:?Subject=Example%20from%20Wolfram%20Network&amp;Body='
        + url + '%0d%0d%0d' 
        + escape(el_in.firstChild.nodeValue)+ '"><img src="/mathematica/images/mail.gif" width="39" height="22" border="0"/></a></td><td align="right">'
    if (url) { div += '<span class="IFU">' + url + '</span>' }
        + '</td></tr></table></div>'
    div += '<a href="javascript:hideLayer(' +"'" +id_in+ "'"+ ')">x</a></div>';
    el_out.innerHTML = div;
    showLayer(id_in);
  }
  else {
    // We've already downloaded the layer
    return el_in.style.visibility == 'visible' ? hideLayer(id_in) : showLayer(id_in);
  }
}

function openESS (id) {
  el = document.getElementById (id);
  open (el);
  subs = el.getElementsByTagName ('div');
  for (var i = 0; i < subs.length; i++) {
    sub = subs[i];
    if (sub.className == 'ESS_Co') {
      open (sub);
    }
  }
}
function closeESS (id) {
  el = document.getElementById (id);
  subs = el.getElementsByTagName ('div');
  for (var i = 0; i < subs.length; i++) {
    sub = subs[i];
    if (sub.className == 'ESS_Ex') {
      close (sub);
    }
  }
}

function toggle (id) {
  el = document.getElementById (id);
  cls = el.className;
  action = 0;
  if (cls.lastIndexOf ('_Co') == cls.length - 3) {
    open (el);
  }
  else if (cls.lastIndexOf ('_Ex') == cls.length - 3) {
    close (el);
  }
}

function open (el) {
  cls = el.className;
  clsPre = cls.substring (0, cls.length - 3);
  el.className = clsPre + '_Ex';
  img = document.getElementById (el.id + '_');
  img.src = img.src.replace ('closed', 'open');
}
function close (el) {
  cls = el.className;
  clsPre = cls.substring (0, cls.length - 3);
  el.className = clsPre + '_Co';
  img = document.getElementById (el.id + '_');
  img.src = img.src.replace ('open', 'closed');
}

function toggleExampleSubsection(idn) {
  divElement = document.getElementById('ESS_'+idn);
  imgElement = document.getElementById('ESSA_'+idn);
  triangleElement = document.getElementsByName('ESST_'+idn);
   for(i=0; i<triangleElement.length; i++) {
   if (triangleElement[i].className == 'offTriangle') {
      triangleElement[i].className = 'onTriangle';
    } else {
      triangleElement[i].className = 'offTriangle';
    }
  }
  if (divElement.className == 'ESSC') {
    divElement.className = 'ESSE';
    imgElement.src = '/mathematica/images/openGroup.gif'
  } else {
    divElement.className = 'ESSC';
    imgElement.src = '/mathematica/images/closedGroup.gif'
  }
}


function toggleExampleSection(idn) {
  divElement = document.getElementById('ES_'+idn);
  imgElement = document.getElementById('ESA_'+idn);
  triangleElement = document.getElementsByName('EST_'+idn);
   for(i=0; i<triangleElement.length; i++) {
    if (triangleElement[i].className == 'offTriangle') {
     triangleElement[i].className = 'onTriangle';
    } else {
     triangleElement[i].className = 'offTriangle';
    }
  }
  if (divElement.className == 'ESC') {
    divElement.className = 'ESE';
    imgElement.src = '/mathematica/images/openGroup.gif'
  } else {
    divElement.className = 'ESC';
    imgElement.src = '/mathematica/images/closedGroup.gif'
  }
}

function toggleSection(idn) {
  divElement = document.getElementById(idn);
  imgElement = document.getElementById(idn+'_Icon');
  if (divElement.className == idn+'C') {
    divElement.className = idn+'E';
    imgElement.src = '/mathematica/images/openSectionGroup.gif'
  } else {
    divElement.className = idn+'C'; 
    imgElement.src = '/mathematica/images/closedSectionGroup.gif' } 
} 

function expandToId (idn) {
  el = document.getElementsByName (idn);
  if (el) {
    for (var p = el[0].parentNode; p != document; p = p.parentNode) {
      if (p.className && p.className.length > 2 &&
          p.className.lastIndexOf ('_Co') == p.className.length - 3) {
        if (p.id) {
          toggle (p.id);
        }
      }
    }
  }
  el = document.getElementsByName (idn);
  if (el) {
    y = 0;
    el = el[0];
    while (el) {
      y += el.offsetTop;
      el = el.offsetParent;
    }
    window.scrollTo (0, y);
  }
}
function expandToHash () {
  if (location.hash) {
    expandToId (location.hash.substring (1));
  }
}
if (window.addEventListener) {
  window.addEventListener ('load', expandToHash, true);
}
else if (window.attachEvent) {
  window.attachEvent ('onload', expandToHash);
}

function toggleModInfo(id) { 
  divElement = document.getElementsByName(id); 
  for(i=0; i<divElement.length; i++) {
    if (divElement[i].className == 'Notes') { 
      divElement[i].className = 'Notes_ModInfo_6'; 
    } else if (divElement[i].className == 'Notes_ModInfo_6') {
      divElement[i].className = 'Notes'; 
    } else if (divElement[i].className == 'TRI') { 
      divElement[i].className = 'TRIO'; 
    } else if (divElement[i].className == 'TRIO') { 
      divElement[i].className = 'TRI'; 
    } else if (divElement[i].className == 'CRI') { 
      divElement[i].className = 'CRIO'; 
    } else if (divElement[i].className == 'CRIO') { 
      divElement[i].className = 'CRI'; 
    } else if (divElement[i].className == 'UM_ModInfo_6') { 
      divElement[i].className = 'UM'; 
    } else if (divElement[i].className == 'UM') { 
      divElement[i].className = 'UM_ModInfo_6'; 
    } else if (divElement[i].className == 'ModInfo') { 
      divElement[i].className = 'ModInfoOn'; 
    } else if (divElement[i].className == 'ModInfoOn') { 
      divElement[i].className = 'ModInfo'; 
    } else if (divElement[i].className == 'ModInfoLegend') { 
      divElement[i].className = 'ModInfoLegendOn'; 
    } else if (divElement[i].className == 'ModInfoLegendOn') { 
      divElement[i].className = 'ModInfoLegend'; 
  } } 
} 

function ShowStatus(msg) { window.status = msg; return true; }

/* Swap Flash placeholder with real Flash obj */
/*
function swap(obj, pathtoflash, pathtopreloadimg, embedcode) {
  flashPlaceholder ="<object
      classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'
      codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0'
      width='264' height='187' id='preloader' align='middle'>
      <param name='movie' value='/mathematica/images/playback.swf?src=" +
      pathtoflash + "&preimage=" + pathtopreloadimg + "' />
      <param name='allowScriptAccess' value='sameDomain' />
      <param name='loop' value='false' />
      <param name='menu' value='false' />
      <param name='quality' value='high' />
      <param name='scale' value='noscale' />
      <param name='salign' value='lt' />
      <param name='bgcolor' value='#ffffff' />
      <param name='wmode' value='transparent' />
      <embed width='264' height='187'
        src='/mathematica/images/playback.swf?src=HTMLImages/Manipulate.en/SWF_1.swf&srcwidth=254&srcheight=153&preimage=HTMLImages/Manipulate.en/SWF_1.swf' loop='false' menu='false' quality='high' wmode='transparent'
      scale='noscale' salign='lt' bgcolor='#ffffff' name='source/playback'
        align='center'
      allowScriptAccess='sameDomain'
      type='application/x-shockwave-flash'
      pluginspage='http://www.macromedia.com/go/getflashplayer' />
    </object>";
  document.getElementById('playdiv').innerHTML = embedcode;
}
*/
