

function alert_box(msg)
{
    var pos = document.viewport.getScrollOffsets();
    var r = (document.viewport.getDimensions().width / 2) + pos.left;
    var t = pos.top + 50;
    $('alert_box').update(msg).setStyle({  top: t + "px" ,  right: r + "px" }).show();
    //new Effect.Puff('alert_box',{ delay: 1.0 });
    new Effect.Fade('alert_box', { delay: 1.0 });
}

function ajax_working()
{
    var pos = document.viewport.getScrollOffsets();
    $('a_progress').setStyle({  top: pos.top + "px",  right: pos.left + "px" });
    $('a_progress').show();
}

function ajax_working_update()
{
    var pos = document.viewport.getScrollOffsets();
    $('a_progress').setStyle({  top: pos.top + "px",  right: pos.left + "px" });
}

function ajax_complete()
{
    $('a_progress').hide();
}

function ajax_loading()
{
    Ajax.Responders.register({
        onCreate: function() {
            ajax_working();
          },
        onComplete: function() {
            ajax_complete();
        }
    });
}

function clear_typeaheads(id)
{
    $(id).select('.typeahead').each(function(t)
    {
        if(!t.present())
            $(t.id + "_id").value = 0;
    });
}

function cdi_typeahead(id,type,min)
{
    new Ajax.Autocompleter(id, "autocomplete_choices", "typeahead.php", 
        {paramName: "value", minChars: min, parameters: "type="+type, afterUpdateElement: function(txt,li) {
        $(id + '_id').value=li.id;
    }});
} 

function cdi_report_buttons(/* url */)
{
    var base_url = "trackers";
    if(arguments.length > 0)
        base_url = arguments[0];
    
    Event.observe('search_submit', 'click', function() {
        clear_typeaheads('search_options');
        //alert($H($('search_options').serialize(true)).inspect());
        new Ajax.Updater('t_set', base_url + '_ajax.php',{
          parameters: $('search_options').serialize(true) } );  
    });
    
    Event.observe('pdf_submit', 'click', function() {
        clear_typeaheads('search_options');
        var params = $('search_options').serialize(true);
        window.open(base_url + '_pdf.php?' + $H(params).toQueryString());  
    });
    
    Event.observe('csv_submit', 'click', function() {
        clear_typeaheads('search_options');
        var params = $('search_options').serialize(true);
        window.open(base_url + '_csv.php?' + $H(params).toQueryString());  
    });
      
    new Ajax.Updater('t_set', base_url + '_ajax.php',{
          parameters: $('search_options').serialize(true) } );
}

function json2form(/*form_id,mydata,prefix*/)
{
    if(arguments.length < 2)
        return;    
    var prefix = (arguments.length == 3) ? arguments[2] : 0;  
    var mydata = arguments[1];
    var frm = $(arguments[0]);
    
    frm.getInputs('text').each(function(i) {
        var id = i.id.substr(prefix);
        i.value = mydata[id];        
    });
    frm.getInputs('checkbox').each(function(i) {
        var id = i.id.substr(prefix);
        i.checked = mydata[id];        
    });
    frm.select('textarea').each(function(i) {
        var id = i.id.substr(prefix);
        i.value = (mydata[id] == undefined) ? "" :  mydata[id];        
    });
    frm.select('select').each(function(i) {
        var id = i.id.substr(prefix);
        i.value = mydata[id];        
    });
}