var site_search_timeout;
function site_search_focus(flag) {
    if (site_search_timeout) {
        clearTimeout(site_search_timeout);
    }

    if (flag) {
        site_search_open();
    }
    else {
        site_search_timeout = setTimeout("site_search_close()", 500);
    }
}

function site_search_open() {
    document.getElementById('site_search').className = "active";
}

function site_search_close() {
    document.getElementById('site_search').className = "";
}

function write_debug(text) {
    document.getElementById('debug').innerHTML += "<div>" + text + "</div>";
}

function CheckBox_SetCheck(field, value) {
    for (i = 0; i < field.length; i++) {
        field[i].checked = value;
    }
}

function CheckBox_GiveTool(field_name) {
    document.write('<div id="clicker">Select: ' +
                   '<a href="javascript:CheckBox_SetCheck(' + field_name + ',true)">All</a>' +
                   '&nbsp;|&nbsp;' +
                   '<a href="javascript:CheckBox_SetCheck(' + field_name + ',false)">None</a>' +
                   '</div>');
}

// NG_AddEvent -- add event handler to object.
// http://onlinetools.org/articles/unobtrusivejavascript/chapter4.html
function NG_AddEvent(obj, evType, fn) { 
    if (obj.addEventListener) { 
        obj.addEventListener(evType, fn, false); 
        return true; 
    }
    else if (obj.attachEvent) { 
        var r = obj.attachEvent("on" + evType, fn); 
        return r; 
    }
    else { 
        return false; 
    } 
}

// NG_FirstElementByClass returns first element under node of a given class.
function NG_FirstElementByClass(node, class_name) {
    var tags = node.getElementsByTagName("*");
    for (var i = 0; i < tags.length; i ++) {
        if (tags[i].className == class_name) return tags[i];
    }
    return null;
}

// NG_Localize -- replace "date" class spans with localized date.
// <span class="date">11/19/2006 02:17 PM PST</span> gets localized.
function NG_Localize() {
    var tags = document.getElementsByTagName("span");
    for (var i = 0; i < tags.length; i ++) {
        if (tags[i].className == "date") {
            var da = new Date(tags[i].innerHTML); 
            if (da.getFullYear() > 1990) tags[i].innerHTML = da.toLocaleString();

            //var dy = da.getFullYear(); if (dy < 1970) dy = dy + 100;
            //var dm = da.getMonth() + 1; if (dm < 10) dm = "0" + dm;
            //var dd = da.getDate(); if (dd < 10) dd = "0" + dd;
            //var tm = da.getMinutes(); if (tm < 10) tm = "0" + tm;
            //var th = da.getHours() % 12; if (th == 0) th = 12; if (th < 10) th = "0" + th;
            //var tf = da.getHours() < 12 ? "AM" : "PM";
            //tags[i].innerHTML = dm + "/" + dd + "/" + dy + " " + th + ":" + tm + " " + tf;
        }
    }
}


