/**
 * ajax utilities library
 */


// Check 'field' named checkbox(es)
function checkAll( field)
{
    for (i = 0; i < field.length; i++)
        field[i].checked = true ;
}

// Uncheck 'field' named checkbox(es)
function uncheckAll( field)
{
    for (i = 0; i < field.length; i++)
        field[i].checked = false ;
}

// return an array with no duplicate entries
function noDuplicate( array)
{
    var old_array   = array;
    var new_array   = new Array();
    var keep;
    var elmt;

    while (old_array.length != 0) {
        elmt = old_array.pop();
        keep = 1; // keeping elemt
        for (var i=0; i < old_array.length; i++) {
            if (old_array[i] == elmt) {
                keep = 0;
                break;
            }
        }
        if (keep)
            new_array.unshift(elmt);
    }
    return new_array;
}


function lib_utils__pushOnLoad( func)
{
    //setup onload function
    if (typeof window.addEventListener != 'undefined')
    {
        //.. gecko, safari, konqueror and standard
        window.addEventListener('load', func, false);
    }
    else if (typeof document.addEventListener != 'undefined')    
    {
        //.. opera 7
        document.addEventListener('load', func, false);
    }
    else if (typeof window.attachEvent != 'undefined')    
    {
        //.. win/ie
        window.attachEvent('onload', func );
    }
    else    
    {
        //** remove this condition to degrade older browsers : mac/ie5 and anything else that gets this far
        if (typeof window.onload == 'function')    //if there's an existing onload function
        {
            var oldFunc = window.onload;
            window.onload = function()        //add new onload handler
            {
                oldFunc();    //call existing onload function
                func();        //call replacetext onload function
            };
        }
        else
        {
            //setup onload function
            window.onload = func;    
        }
    }
}

