
///
/// $Id: nrlc_main.js,v 1.13 2011-06-29 15:33:13-06 chadwick Exp chadwick $
///
/// Copyright (c) 2008 - 2011 All rights reserved.
///
/// THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
/// KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
/// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
/// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
/// OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
/// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
/// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
/// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
///

function NRLC_adminOnload() {
    
    NRLC_doLockReadonlyFields();
    // alert( "loaded" );
    
} // NRLC_adminOnload


function NRLC_doFetchPage( n ) {
    var obj = document.getElementById( 'pagenum' );
    if ( obj != null ) {
        obj.value = n;
        document.forms['pgctl'].submit();
    }
    return;
} // NRLC_doFetchpage


function NRLC_gotoPage() {
    var obj = document.getElementById('gotoPage');
    if ( !obj )
        return false;
    var n = parseInt(obj.value);
    if ( n > 0 && n < 99999 )
        NRLC_doFetchPage( n );
    else
        alert( "Please enter a valid page number." );
    return false;
} // NRLC_gotoPage


//
// This function disables input fields that have the
// 'readonly' class specified.
//

function NRLC_doLockReadonlyFields() {

    var fields = null;

    fields = document.getElementsByTagName('select');
    for (var i = 0; i < fields.length; i++)
        if (fields[i].className.indexOf('readonly') > -1) {
            fields[i].disabled = true;
            //fields[i].style.backgroundColor = fields[i].parent.style.backgroundColor;
        }

    fields = document.getElementsByTagName('input');
    //alert( "Locking " + fields.length + " input fields" );
    for (var i = 0; i < fields.length; i++)
        if (fields[i].className.indexOf('readonly') >- 1) {
            fields[i].readOnly = true;
            fields[i].disabled = true;
            fields[i].style.backgroundColor = 'rgb(255,255,255)'; 
            fields[i].style.color = 'rgb(80,80,80)';
        }

    fields = document.getElementsByTagName('textarea');
    for (var i = 0; i < fields.length; i++)
        if (fields[i].className.indexOf('readonly') >- 1) {
            fields[i].readOnly = true;
            //fields[i].style.backgroundColor = fields[i].parent.style.backgroundColor;
        }
        
    return;

} // NRLC_doLockReadonlyFields


function NRLC_popBox(id,up) {
    var obj = id ? document.getElementById( id ) : null;
    if ( obj ) obj.style.display = ( up ? 'block' : 'none' );
    return false;
} // NRLC_popBox


function unselect_all( opts ) {
    if ( !opts ) return;
    for(var i = 0; i < opts.length; i++) opts[i].selected = false;
    return;
} // unselect_all


function NRLC_searchReset( mode ) {
    
    var obj = null;
    var i = 0;
    
    if (obj = document.getElementById( 'kw' ))
        obj.value = '';
    
    if ( mode == 'basic' || mode == 'advanced' ) {
        
          if (obj = document.getElementById( 'cat' )) {
            unselect_all( obj.options );
            obj.options[0].selected=true;
        }
        if (obj = document.getElementById( 'loc' )) {
            unselect_all( obj.options );
            obj.options[0].selected=true;
        }

    } // basic or advanced
    
    if ( mode == 'advanced' ) {

        // reset advanced search options
        if (obj = document.getElementById( 'match' )) {
            obj.options[1].selected=true;
        }
        if (obj = document.getElementById( 'titleonly' )) {
            obj.checked = false;
        }
        if (obj = document.getElementById( 'spec' )) {
                unselect_all( obj.options );
                obj.options[0].selected=true;
        }
        if (obj = document.getElementById( 'fname' )) {
            obj.options[0].selected=true;
        }
        if (obj = document.getElementById( 'field' )) {
            unselect_all( obj.options );            
            obj.options[0].selected=true;
        }        
        if (obj = document.getElementById( 'timing' )) {
            unselect_all( obj.options );            
            obj.options[0].selected=true;
        }

        if (obj = document.getElementById( 'showdocs' )) {
            obj.checked = false;
        }        
        if (obj = document.getElementById( 'reqgcom' )) {
            obj.checked = false;
        }
        if (obj = document.getElementById( 'reqecom' )) {
            obj.checked = false;
        }
        if (obj = document.getElementById( 'sortby' )) {
            obj.options[1].selected=true;    // default search is on short title (option 1)
        }
        if (obj = document.getElementById( 'sortby2' )) {
            obj.options[0].selected=true;
        }
        i = 0;
        while( obj = document.getElementById( 'disp'+i ) ) {
            if ( ! obj.disabled ) obj.checked = false;
            i++;
        } // end while

        if (obj = document.getElementById( 'disp3' ) /* display Source Publication */ ) {
            obj.checked = true;
            if (obj = document.getElementById( 'citextra' )) {
                obj.checked = true;
            }
        }

    } // advanced
    
    if ( mode == 'biblio' ) {

        if (obj = document.getElementById( 'match' )) {
            obj.options[1].selected=true;
        }
        
        var ids = { 
           'disp0' : false,       /* Citation Label */
           'disp1' : false,       /* Database Usage */
           /* 'disp2' : false, */ /* Publication name is always shown */
           'disp3' : true,        /* Primary Author */
           'disp4' : true,        /* Publication Year */
           'disp5' : true,        /* Document Type */
           'showanno' : false,    /* Show Annotation */
           'showsect' : true,     /* Show Section Names */
           'showcnt'  : false     /* Show BMP Reference Count */
        };
        for (var id in ids )
            if ( obj = document.getElementById( id ) ) obj.checked = ids[id];
        
        if (obj = document.getElementById( 'sortby' )) {
            obj.options[0].selected=true;
        }
        if (obj = document.getElementById( 'sortby2' )) {
            obj.options[0].selected=true;
        }
                
    } // biblio

    return true;
    
} // NRCL_searchReset

///
/// EOF $RCSfile: nrlc_main.js,v $
///
