/**
*
* $Id: generitable.js,v 1.1 2008/04/09 01:28:38 tleen Exp $
*
*
**/

function generitable_parse(raw){
    return ajax_parse(raw);
}

/**
* Scan through the table headers, disable all header images visibility besides id
**/
function generitable_sort(table,id){
    
    head = $(table).getElementsByTagName('thead');
    row = head[0].getElementsByTagName('tr');
    cells = row[0].getElementsByTagName('th');
    
    for(i = 0; i < cells.length; i++){     
        images = cells[i].getElementsByTagName('img');
        for(x = 0; x < images.length; x++){
            image = images[x];
            if(image.id == id) image.style.display = 'inline';
            else image.style.display = 'none';
        }
    }
}

function generitable_update(id,data){

  
    body = $(id).getElementsByTagName('tbody');

    if(body) $(id).removeChild(body[0]);
    
    data = generitable_parse(data);

    body = document.createElement('tbody');

    rows = data['rows'];
    for(i = 0; i < rows.length; i++){

        row   = document.createElement('tr');
        if(i%2) row.className = 'alt';

        for(x = 0; x < rows[i].length; x++){
            cell = document.createElement('td');
            cell.innerHTML = rows[i][x];
            row.appendChild(cell);                   
        }
        row.appendChild(document.createElement('td'));
        body.appendChild(row); 
    }
    $(id).appendChild(body);

    if(data['range']){
        var range = $(id + '_range');
        range.innerHTML = data['range'];
    }

    var name_modifiers = new Array('more','less');
    for(i = 0; i < name_modifiers.length; i++){
        name_modifier = name_modifiers[i];
        image = $(id + '_' + name_modifier);
        if(data[name_modifier]){
            image.style.display = '';
            image['url'] = data[name_modifier];
            image['generitable'] = id;
            image.onclick = function(){ eval('generitable_' + this['generitable'] + "('" + this['url'] + "')")  }
        }else image.style.display = 'none';
    }

}


