	
function load_auto_grids() {
    Ext.Element.select("table.auto_grid").each( function(el, comp, index) { 
        new Ext.grid.TableGrid(el.dom.id).render();
    } );
}

// Ext.onReady( load_auto_grids );

function trigger_hide(type, ar) {
    for(var i=0;i<ar.length;i++) {
	//getObject(ar[i]).className=' hide '; 
	Ext.get(ar[i]).enableDisplayMode().hide();//addClass('hide');
    } 
    //getObject(type.value).className=' '; 
    Ext.get(type.value).show();//removeClass('hide');
}

all_grids = Array();
current_grid = 0;


function popUp(URL) {
day = new Date();
id = day.getTime();
//eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,status=0,menubar=0,resizable=1,width=400,height=300,left = 490,top = 362');");
eval("page" + id + " = window.open(URL, 'jbot', 'toolbar=0,scrollbars=0,location=0,status=0,menubar=0,resizable=1,width=400,height=300,left = 490,top = 362');");

//eval("page" + id + ".focus_status = true");

//eval("page" + id + ".onblur=function(){ page" + id + ".focus_status=false};");
//eval("page" + id + ".onfocus=function(){ page" + id + ".focus_status=true};");
}



	
	function popUp(URL) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, 'jbot', 'toolbar=0,scrollbars=0,location=0,status=0,menubar=0,resizable=1,width=400,height=300,left = 490,top = 362');");
}
	
	
function tofixed(mnt, num) {
    return mnt.toFixed ? mnt.toFixed(num) : mnt;
}	

function edit_cell() {
    return '<span class="edit_cell">Edit<span>';
}	

function delete_cell() {
    return '<span class="delete_cell">Delete<span>';
    return 'Delete';
}	

function add_class(el, cls, reps) {
    return;
    if (!reps) {
	YAHOO.util.Dom.addClass(el, cls);
	return;
    }
    for( var i=0; i < reps.length; i++ ) 
	YAHOO.util.Dom.replaceClass(el, reps[i], cls);
}

function bigint(val, row, col, el) {
    col_right(0,0,0,el);
    return addCommas(val);
}

function money(mnt, row, col, el) {
    mnt -= 0;
    col_right(0,0,0,el);
    return '$' + tofixed(mnt, 2);
}

function spot(mnt, row, col, el) {
    mnt-=0;
    col_right(0,0,0,el);
    return tofixed(mnt, 2);
}	    

function spot_chg(value, cell, row, rowIndex, colIndex, ds) { 
    cell.css = value < 0 ? "down" : "up";
    value -= 0;
    value = tofixed(value, 2);
    return (value > 0 ? "+" : "") + value;
}

function col_center(val, row, col, el) { add_class(el, "center", Array("right", "center")); return val; }
function col_right(val, row, col, el) { add_class(el, "right", Array("right", "center")); return val; }

function pct(val, row, col, el) {
    val -= 0;
    col_center(0,0,0,el);
    return Math.round(val) + "%";
}

function sec_act_normal(value, cell, row, rowIndex, colIndex, ds) { 
    value -= 0;
    if (value > 125) {
	cell.css = 'norm_three';
    } else if (value < 75) {
	cell.css = 'norm_one';
    } else {
	cell.css = 'norm_two';
    }
    return pct(value);
}

function exchange(val, row, col, el) {
    col_center(0,0,0,el);
    return '<img src="/images/small_logos_crop/' + val.toLowerCase() + '.gif" />';
}

function side(value, cell, row, rowIndex, colIndex, ds) { 
    return cell.css = value;
}	

function addCommas(nStr) {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
	x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}

var montharr = "JanFebMarAprMayJunJulAugSepOctNovDec";
function expiry_sort (s) {
    return montharr.indexOf(s.substr(0,3)) / 3 + parseInt(s.substr(3,2)) * 12;
    return String(s).toUpperCase();
}
function bench_sort (s) {
    var val = parseFloat(String(s).replace(/^\./,"").replace(/[,a-zA-Z\+]/g, ""));
    if(isNaN(val)) val = 0;
    return val;
}

function map(fn, a) {
    var b = new Array();
    for (var i = 0; i < a.length; i++) {
	b.push(fn(a[i]));
    }
    return b;
}


function convert_renderer(attr) {
    if (attr.renderer) {
	attr.renderer	= eval(attr.renderer);
    }
    if (attr.sortType) {
	attr.sortType = eval(attr.sortType);
    }
}

function ta_grid_init( p ) {
    var grid;
    var q = p.query.func || "top_trades";
    var qargs = p.query.args || [];
    var bc = {
	no_count: 1,
	query: qargs
    };
    if (p.query.unknown)
	bc.unknown = p.query.unknown;
    Ext.get(p.id).mask('Loading ...', "x-mask-loading");
    Ext.Ajax.request(
	{
	    url: Ext.TA.json.cols,
	    params: {query: q },
	    callback: function( opts, success, resp) {
		Ext.get(p.id).unmask();
		if (!success)
		    return;
		var col_json = Ext.decode(resp.responseText);
		var is_secure = /\/secure\//.test(p.caller);
		grid = new Ext.ux.taGrid(
		    { 
			renderTo: p.id,
			query_name: q,
			limit: 25,
			tbar_class: is_secure ? 'Ext.TA.toolbars.CannedSecureToolbar' : 'Ext.TA.toolbars.CannedPublicToolbar',
			height: 500,
			store_args: {
			    restful: true,
			    writer: new Ext.data.JsonWriter({ encode: false })
			},
			autoScroll: true,
			col_json: col_json,
			use_qs: 1,
			base_constraints: Ext.encode(bc),
			view_args: {
			    rowHeight: 15
			}
		    });
		if (is_secure) {
		    grid.getStore().addListener('load', function(st, recs, opts) {
						    grid.getTopToolbar().items.itemAt(14).update('Realtime as of ' + new Date().format('g:i:s A'));
						});
		} else {
		    var dt = Date.parseDate(qargs[1] + " 12:20:01 PM", "Y-m-d g:i:s A");
		    grid.getTopToolbar().items.itemAt(0).update('Activity for ' + dt.format('l n/j/y'));
		}
	    }
	});

    return grid;
}

function ext_grid_load( grid, p ) {
    grid.getDataSource().load({params:{start: p.page, limit: p.per_page }});
    load_state(grid, p); 
}
	


