/**
*
* $Id: core.js,v 1.1 2008/04/09 01:28:38 tleen Exp $
*
* Application-wide javascript
*
**/

var DATA_COLUMN_SEPERATOR   = '|';
var DATA_ROW_SEPERATOR      = '^^';
var DATA_META_START         = '[';
var DATA_META_END           = ']';
var DATA_META_SEPERATOR     = ':';


/**
* Ajax assist
**/

function ajax_parse(raw){
    
    var returner = new Array();      

    data = raw.split(DATA_ROW_SEPERATOR);
    var rows = new Array();       
    for(i = 0; i < data.length; i++){
        
        if(data[i] == '') continue;        

        if(data[i].charAt(0) == DATA_META_START){
            var_data = data[i].substring(1,data[i].length);
            var_data = var_data.split(DATA_META_SEPERATOR);
            returner[var_data[0]] = var_data[1];    
        }else{         
            cells   = data[i].split(DATA_COLUMN_SEPERATOR);
            rows.push(cells);
        }        
    }
    returner['rows'] = rows; 
    return returner;
}

function table_clear(id){
    table_body = $(id).getElementsByTagName('tbody');
    $(id).removeChild(table_body[0]);
}

function table_load(id,rows){
    
    table_clear(id);
    table_body = document.createElement('tbody');
    if(rows){
        rows.each(function(row){
            table_row = document.createElement('tr');
            row.each(function(cell){
                table_cell = document.createElement('td');
                if(typeof cell == 'object') table_cell.appendChild(cell);
                else table_cell.innerHTML = cell;
                table_row.appendChild(table_cell);
            });
            table_body.appendChild(table_row);
        });
    }
    $(id).appendChild(table_body); 
}

function is_false(item){
    return ( (!item) || (item == '0') || (item.size && (item.size() == 0) ));
}

function is_true(item){
    return !is_false(item);
}

function string_tail(element,seperator){
    elements = element.split(seperator);
    return elements.pop();    
}

