  




var cookie_name = "octave_forge_cookie";

function set_cookie(val)
{
    if (document.cookie != document.cookie) {
        index = document.cookie.indexOf(cookie_name);
    } else {
        index = -1;
    }
    if (index == -1) {
        var cval = cookie_name + "=" + val + "; ";
        var d = new Date();
        d.setSeconds(d.getSeconds()+30);
        cval = cval + "expires=" + d.toString() + ";";
        document.cookie = cval;
    }
}

function get_cookie()
{
    var retval = -1;
    if (document.cookie) {
        var index = document.cookie.indexOf(cookie_name);
        if (index != -1) {
            var start = document.cookie.indexOf("=", index) + 1;
            stop = document.cookie.indexOf(";", start);
            if (stop == -1) {
                stop = document.cookie.length;
            }
            retval = document.cookie.substring(start, stop);
        }
    }
    return retval;
}

function goto_url (selSelectObject)
{
    if (selSelectObject.options[selSelectObject.selectedIndex].value != "-1") {
        location.href=selSelectObject.options[selSelectObject.selectedIndex].value;
    }
}

function unfold(id)
{
    if (document.getElementById(id+"_detailed").style.display == "none") {
        document.getElementById(id+"_detailed").style.display = "block";
        document.getElementById(id+"_im").src ="hide.png"
    } else {
        document.getElementById(id+"_detailed").style.display = "none";
        document.getElementById(id+"_im").src ="show.png"
    }
}

function fold(id)
{
    document.getElementById(id+"_detailed").style.display = "none";
    document.getElementById(id).style.display = "block";
}

function switch_to(id)
{
    set_cookie(id);
    if (id == "cat") {
        other = "alpha-tab";
        left = "2";
        right = "1";
    } else { // id == "alpha"
        other = "cat-tab";
        left = "1";
        right = "2";
    }
    id = id + "-tab";
    var tab1 = document.getElementById(id);
    var tab2 = document.getElementById(other);

    tab1.style.borderTop    = "2px solid black";
    tab1.style.borderLeft   = "2px solid black";
    tab1.style.borderRight  = right+"px solid black";
    tab1.style.borderBottom = "2px solid #EEEEEE";
    tab2.style.borderTop    = "1px solid black";
    tab2.style.borderLeft   = left+"px solid black";
    tab2.style.borderRight  = "1px solid black";
    tab2.style.borderBottom = "2px solid black";

    tab1.style.fontWeight = "bold";
    tab2.style.fontWeight = "normal";
    
    tab1.style.background = "#EEEEEC";
    tab2.style.background = "transparent";
}

function switch_to_cat()
{
    switch_to("cat");
    var d = document.getElementById("menu-contents");
    d.innerHTML = '\
    <a href="/doc/audio.html">Audio</a><br/>\
<a href="/doc/ad.html">Automatic Differentiation</a><br/>\
<a href="/doc/intervals.html">Basic Arithmetic</a><br/>\
<a href="/doc/benchmark.html">Benchmark</a><br/>\
<a href="/doc/BIM.html">BIM - Box Integration Method Package for Octave</a><br/>\
<a href="/doc/bioinfo.html">Bioinformatics</a><br/>\
<a href="/doc/pt_br.html">Brazilian Portuguese</a><br/>\
<a href="/doc/calculus.html">Calculus</a><br/>\
<a href="/doc/civil-engineering.html">Civil Engineering</a><br/>\
<a href="/doc/combinatorics.html">Combinatorics</a><br/>\
<a href="/doc/communications.html">Communications</a><br/>\
<a href="/doc/control.html">Control theory</a><br/>\
<a href="/doc/analysis.html">Data analysis</a><br/>\
<a href="/doc/data-smoothing.html">Data smoothing</a><br/>\
<a href="/doc/database.html">Database</a><br/>\
<a href="/doc/econometrics.html">Econometrics</a><br/>\
<a href="/doc/triangular.html">Example Octave User Type</a><br/>\
<a href="/doc/FPL.html">FEM Plotting</a><br/>\
<a href="/doc/file.html">File I/O</a><br/>\
<a href="/doc/financial.html">Financial</a><br/>\
<a href="/doc/fixed.html">Fixed Point Type</a><br/>\
<a href="/doc/fenv.html">Floating point environment</a><br/>\
<a href="/doc/general.html">General</a><br/>\
<a href="/doc/gpc.html">General polygon clipper</a><br/>\
<a href="/doc/generate_html.html">Generate HTML web page from help texts</a><br/>\
<a href="/doc/ga.html">Genetic Algorithm</a><br/>\
<a href="/doc/graceplot.html">Graceplot</a><br/>\
<a href="/doc/image.html">Image processing</a><br/>\
<a href="/doc/InformationTheory.html">Information Theory</a><br/>\
<a href="/doc/io.html">Input/Output</a><br/>\
<a href="/doc/integration.html">Integration</a><br/>\
<a href="/doc/interpreter.html">Interpreter</a><br/>\
<a href="/doc/java.html">Java</a><br/>\
<a href="/doc/jhandles.html">JAVA based graphics and GUI packages</a><br/>\
<a href="/doc/matrix.html">Linear Algebra</a><br/>\
<a href="/doc/odebvp.html">Linear-difference method for linear odes - boundary-value problem</a><br/>\
<a href="/doc/mapping.html">Mapping Functions</a><br/>\
<a href="/doc/math.html">Mathematics</a><br/>\
<a href="/doc/bugfix-3.0.5.html">Minor Bug Fixes for the 3.0.5 release.</a><br/>\
<a href="/doc/miscellaneous.html">Miscellaneous functions</a><br/>\
<a href="/doc/nan.html">Missing data statistics</a><br/>\
<a href="/doc/missing-functions.html">Missing Functions</a><br/>\
<a href="/doc/MSH.html">MSH - Meshing Software Package for Octave </a><br/>\
<a href="/doc/octcdf.html">NetCDF </a><br/>\
<a href="/doc/nnet.html">Neural Networks</a><br/>\
<a href="/doc/nlwing2.html">NLWing2</a><br/>\
<a href="/doc/nurbs.html">Nurbs</a><br/>\
<a href="/doc/oct2mat.html">Oct2Mat</a><br/>\
<a href="/doc/OCS.html">Octave Circuit Simulator</a><br/>\
<a href="/doc/octgpr.html">OctGPR</a><br/>\
<a href="/doc/odepkg.html">OdePkg</a><br/>\
<a href="/doc/optiminterp.html">OptimInterp</a><br/>\
<a href="/doc/optimization.html">Optimization</a><br/>\
<a href="/doc/outliers.html">Outlier Detection</a><br/>\
<a href="/doc/parallel.html">Parallel Computing</a><br/>\
<a href="/doc/multicore.html">Parallel Processing on Multiple Cores</a><br/>\
<a href="/doc/PhysicalConstants.html">Physical Constants</a><br/>\
<a href="/doc/plot.html">Plotting.</a><br/>\
<a href="/doc/language.html">Programming</a><br/>\
<a href="/doc/pdb.html">Protein Database</a><br/>\
<a href="/doc/quaternion.html">Quaternion Package</a><br/>\
<a href="/doc/secs1D.html">SEmiConductor Simulator in 1D</a><br/>\
<a href="/doc/SECS2D.html">SEmiConductor Simulator in 2D </a><br/>\
<a href="/doc/signal.html">Signal processing</a><br/>\
<a href="/doc/sockets.html">Sockets</a><br/>\
<a href="/doc/sparse.html">Sparse matrix support</a><br/>\
<a href="/doc/specfun.html">Specfun</a><br/>\
<a href="/doc/statistics.html">Statistics</a><br/>\
<a href="/doc/strings.html">Strings</a><br/>\
<a href="/doc/struct.html">Structure Handling.</a><br/>\
<a href="/doc/symbolic.html">Symbolic algebra</a><br/>\
<a href="/doc/variables.html">System Configuration Variables</a><br/>\
<a href="/doc/ident.html">System Indentification</a><br/>\
<a href="/doc/system.html">System Utilities</a><br/>\
<a href="/doc/tcl-octave.html">TCl octave</a><br/>\
<a href="/doc/time.html">Time and Dates</a><br/>\
<a href="/doc/tsa.html">Time Series Analysis</a><br/>\
<a href="/doc/tk-octave.html">TK Octave</a><br/>\
<a href="/doc/video.html">Video</a><br/>\
<a href="/doc/vrml.html">Vrml</a><br/>\
<a href="/doc/web.html">Web Services</a><br/>\
<a href="/doc/windows.html">Windows</a><br/>\
<a href="/doc/xraylib.html">Xraylib</a><br/>\
<a href="/doc/Zenity.html">Zenity</a><br/>\
';
}

function switch_to_alpha()
{
    switch_to("alpha");
    var d = document.getElementById("menu-contents");
    d.innerHTML = '\
    <a href="/doc/A.html#!">!</a><br/>\
<a href="/doc/A.html#\'">\'</a><br/>\
<a href="/doc/A.html#*">*</a><br/>\
<a href="/doc/A.html#+">+</a><br/>\
<a href="/doc/A.html#.">.</a><br/>\
<a href="/doc/A.html#=">=</a><br/>\
<a href="/doc/A.html#A">A</a><br/>\
<a href="/doc/B.html#B">B</a><br/>\
<a href="/doc/C.html#C">C</a><br/>\
<a href="/doc/D.html#D">D</a><br/>\
<a href="/doc/E.html#E">E</a><br/>\
<a href="/doc/F.html#F">F</a><br/>\
<a href="/doc/G.html#G">G</a><br/>\
<a href="/doc/H.html#H">H</a><br/>\
<a href="/doc/I.html#I">I</a><br/>\
<a href="/doc/J.html#J">J</a><br/>\
<a href="/doc/K.html#K">K</a><br/>\
<a href="/doc/L.html#L">L</a><br/>\
<a href="/doc/M.html#M">M</a><br/>\
<a href="/doc/N.html#N">N</a><br/>\
<a href="/doc/O.html#O">O</a><br/>\
<a href="/doc/P.html#P">P</a><br/>\
<a href="/doc/Q.html#Q">Q</a><br/>\
<a href="/doc/R.html#R">R</a><br/>\
<a href="/doc/S.html#S">S</a><br/>\
<a href="/doc/T.html#T">T</a><br/>\
<a href="/doc/U.html#U">U</a><br/>\
<a href="/doc/V.html#V">V</a><br/>\
<a href="/doc/W.html#W">W</a><br/>\
<a href="/doc/X.html#X">X</a><br/>\
<a href="/doc/Y.html#Y">Y</a><br/>\
<a href="/doc/Z.html#Z">Z</a><br/>\
<a href="/doc/Z.html#_">_</a><br/>\
';
}

function write_left_menu()
{
    // Only do this if we are running non-IE browsers
    if (navigator.appVersion.indexOf('MSIE') == -1) {
        menuhtml = '<div id="left-switcher">\
                      <div class="tab" id="cat-tab" onclick="javascript:switch_to_cat()">\
                        <a href="javascript:switch_to_cat();" style="text-decoration: none;">Categorical</a>\
                      </div>\
                      <div class="tab" id="alpha-tab" onclick="javascript:switch_to_alpha()">\
                        <a href="javascript:switch_to_alpha();" style="text-decoration: none;">Alphabetical</a>\
                      </div>\
                      <div id="menu-contents" class="left-menu" style="position: fixed; overflow: auto;">\
                      </div>\
                    </div>';
        var left_menu_span = document.getElementById("left-menu-span");
        left_menu_span.innerHTML = menuhtml;
        var cat_tab = document.getElementById("cat-tab");
        var alpha_tab = document.getElementById("alpha-tab");
        cat_tab.style.width = "7.5em";
        cat_tab.style.position = "absolute";
        cat_tab.style.bottom = "-4px";
        alpha_tab.style.width = "7.5em";
        alpha_tab.style.position = "absolute";
        alpha_tab.style.bottom = "-4px";
    } // end non-IE
    var tab = get_cookie();
    if (tab == "alpha") {
        switch_to_alpha();
    } else {
        switch_to_cat();
    }
}
