/**
 * Rivet Software Inc.
 *
 * @copyright Copyright (c) 2006-2008 Rivet Software, Inc. All rights reserved.
 *
 */

Viewer = {

    loadReportTimeout: 40000, // The timeout for the Ajax call when loading reports, value in milliseconds
    
    load:function() {

        var panels = Array("CompanySearch", "CompanySearchSlider", "RecentFilings", "SelectorPanel",
							"FrameMaker", "Charting", "Tabs", "FilingReport", "CompanySummary",
							"FilingSummary", "AuthRef", "ComparisonPanel", "ComparisonReport",
							"ComparisonReportGeneral", "Feeder", "Show");

        for (var i=0; i<panels.length; i++) {
            document.write('<script type="text/javascript" src="/inc/js/viewer/'+panels[i]+'.js"></script>');
        }
    },

    loadingOn:function() {
        document.getElementById("panelLoading").style.display = "block";
    },

    loadingOff:function() {
        document.getElementById("panelLoading").style.display = "none";
    },
    
    cancelAsync: function() {

        Viewer.loadingOff();

        if(reportRequest) {
            if(YAHOO.util.Connect.isCallInProgress(reportRequest)) {
                YAHOO.util.Connect.abort(reportRequest);
                alert('Report loading canceled by user.');
            }
        }
    },

    getCompanies:function(obj) {

        var value = '';
        var qType = 'compnameticker';

        if (typeof obj != 'undefined') {
            value = obj.value;
            qType = obj.id;
        }

        CompanySearch.init();
        CompanySearch.xGetCompanies(qType, value);
    },

    /**Rico connector for vertically "toggling" the Size effect
     *
     * @param  {Object} imgObj  - The DOM img to toggle.  Expects 'arrow'+Direction+'_grey.gif'
     * @param  {Object} divObj  - The DOM obj to show/hide.
     * @param  {Class}  owner   - The class of methods/properties to "remember" variables in.
     * @return {bool}   hide    - Whether or not to hide the divObj
     **/
    toggleDisplay:function( imgObj, divObj, owner, hide ){
        divObj.style.overflow = 'hidden';

        if( hide ){
            owner.remHeight = divObj.offsetHeight;
            new Rico.Effect.Size( divObj, null, 1, 1000, 10,
                { complete:function(){ Viewer.toggleDisplayImage( imgObj, hide ); owner.visible = !hide; divObj.style.display = 'none'; } }
            );
        }else{
            divObj.style.display = 'block';
            new Rico.Effect.Size( divObj, null, owner.remHeight, 1000, 10,
                { complete:function(){ Viewer.toggleDisplayImage( imgObj, hide ); owner.visible = !hide; } }
            );
    }
    },

    /** Secondary connector - toggles img.src
     *
     * @param  {Object} imgObj  - The DOM img to toggle.  Expects 'arrow'+Direction+'_grey.gif'
     * @return {bool}   hide    - Whether or not to hide the divObj
     **/
    toggleDisplayImage:function( imgObj, hide ){
        var baseIdx = imgObj.src.lastIndexOf( '/' ) + 1;
        var baseSrc = imgObj.src.substr( 0, baseIdx );

        if( hide ){
            imgObj.src = baseSrc+'arrowRight_grey.gif';
        }else{
            imgObj.src = baseSrc+'arrowDown_grey.gif';
        }
    }
};
Viewer.load();
/** $Author: dev1 $ * $Date: 2007-01-08 17:15:13 -0700 (Mon, 08 Jan 2007) $ * $Rev: 524 $ **/