// ------------------------------------------------------
// vim: set ts=2 sts=2 sw=2 et:
// Swarm Prediction Market Platform
// Copyright (c) 2007 Swarchy.com, Taiwan
// $Id: contract_group.js 1471 2008-06-23 08:23:14Z philip $
// ------------------------------------------------------

function refresh_contract_statistics(group_id, cnt_id)
{
  var url = '/contract_groups/refresh_statistics/' + group_id;
  var myAjax = new Ajax.Request(url,
   {method: 'get',
    parameters: {'cid':cnt_id},
    onSuccess: function(req) {
      var res = eval('('+req.responseText+')');
      // enumerate spans
      //var outer = $('ctr_group_table_wrap');
      //if (!outer) alert('*ctr_group_table_wrap* not found');
      // refresh values
      $$('span.ctr_stat').each(function(elem){
          if (ma = elem.id.match(/^(\w+)_(\d+)$/)) {
            if (stat = res[ma[2]]) {
              elem.update(stat[ma[1]]);
              new Effect.Highlight(elem);
            }
          }
        }
      );
      // refresh user info if available
      if (res.user_balance) { $('user_balance_span').update(res.user_balance); }
      // refresh order book info if available
      if (res.order_book) { refresh_order_book(res.order_book); }
      // refresh set balance info if available
      if (res.linked_set_available_balance) { $('set_balance_span').update(res.linked_set_available_balance); }
      // if (on_succeeded) on_succeeded();
    },
    onFailure: function(req) { console.error(req); }
  });
}

function show_contract_detail(url, title, button_title, loading_title)
{
  try {
    cancel_event();
    append_stylesheet('ctr_detail.css');
    var win_params = {
      className: "swarm_theme", width:580, height:450, title:title, resizable: false, closable: true,
      hideEffect:function(_elem) { Element.hide(_elem); restore_flash_charts(); },
      showEffect:function(_elem) { hide_flash_charts(); Element.show(_elem); }
    };
    var parameters = {okLabel:button_title, buttonClass:'ok_button', windowParameters:win_params};
    content = '<div id="contract_detail_outer"><div style="margin:200px 0 2em 0;text-align:center;vertical-align:middle;"><img src="/images/loading.gif" /> '+loading_title+'</div></div>'
    document.detail_dialog = Dialog.alert(content, parameters);

    var myAjax = new Ajax.Request(url, {method: 'get',
      onSuccess: function(req) {
        var content = req.responseText;
        outer = $('contract_detail_outer');
        if (outer) {
          outer.innerHTML = content;
          s_msr_cnt = eval($('contract_info').innerHTML);
          //console.debug(s_msr_cnt);
          window.setTimeout('activate_trade_chart()', 100);
          document.detail_dialog.updateHeight();
        }
      },
      onFailure: function(req) {
        req_failed(req);
      }
    });

  } catch(e) {
    alert(e.message);
  }
}

function activate_contract_detail_tab(tab)
{
  cancel_event();
  tab.blur();
  if (tab.className == "active") return;
  ul = tab;  while(ul && ul.tagName.toUpperCase() != "UL") {ul = ul.parentNode;}
  if (!ul);
  $each(ul.getElementsByTagName("A"), function(elem) {
    if ((ma = elem.href.match(/\#(\w+)/)) != null) {
      if (elem == tab) {
        elem.className = "active";
        Element.show(ma[1]);
      } else {
        elem.className = "";
        Element.hide(ma[1]);
      }
    }
  });
}

function show_pitch(cnt_id)
{
  var elem = $('pitch_'+cnt_id);
  //alert(elem.style.display);
  //new Effect.toggle(elem,'blind');
  //return false
  if (elem.style.display == 'none'){
    Element.show(elem);
  } else {
    Element.hide(elem);
  }
}
