/***********************************************************************
USER MUST DEFINE the EKLoadDivs() function in a separate JS file
(preferably specific to the template). -ELK 20081218
For example:
function EKLoadDivs() {
  // EKSetDivHtml(DIV_NAME,DIV_URL);
  EKSetDivHtml('ektest1','/ektest1.php');
  EKSetDivHtml('ektest2','/ektest2.php');
}
***********************************************************************/


if ( typeof YAHOO == "undefined" ) {
    document.write('<' + 'script src="/subsys/yui/build/yahoo/yahoo-min.js"' + '>' + '</' + 'script>\n');
}
if ( typeof YAHOO.util.CustomEvent == "undefined" ) {
    document.write('<' + 'script src="/subsys/yui/build/event/event-min.js"' + '>' + '</' + 'script>\n');
}
if ( typeof YAHOO.util.Connect == "undefined" ) {
    document.write('<' + 'script src="/subsys/yui/build/connection/connection-min.js"' + '>' + '</' + 'script>\n');
}

var dv = new Array();
var cdvid = null; // Current DIV ID

  var handleSuccess = function(o){
    if(o.responseText !== undefined){    
      //cdvid = o.tId;
      /*
      dv[cdvid].innerHTML = "<li>Transaction id: " + o.tId + "</li>";
      dv[cdvid].innerHTML += "<li>HTTP status: " + o.status + "</li>";
      dv[cdvid].innerHTML += "<li>Status code message: " + o.statusText + "</li>";
      dv[cdvid].innerHTML += "<li>HTTP headers: <ul>" + o.getAllResponseHeaders + "</ul></li>";
      dv[cdvid].innerHTML += "<li>Server response: <pre>" + o.responseText + "</pre></li>";
      dv[cdvid].innerHTML += "<li>Argument object: Object ( [foo] => " + o.argument.foo +
               " [bar] => " + o.argument.bar +" )</li>";
      */
      dv[cdvid].innerHTML = o.responseText;
    }
  }
  
  var handleFailure = function(o){
    if(o.responseText !== undefined){
    /*
      dv[cdvid].innerHTML = "<li>Transaction id: " + o.tId + "</li>";
      dv[cdvid].innerHTML += "<li>HTTP status: " + o.status + "</li>";
      dv[cdvid].innerHTML += "<li>Status code message: " + o.statusText + "</li>";
      */
      dv[cdvid].innerHTML = o.statusText;
    }
  }
 
  var callback =
  {
    success:handleSuccess,
    failure: handleFailure,
    argument: { foo:"foo", bar:"bar" }
  };
  
function EKSetDivHtml(this_div_id,this_url,this_prms) {

  cdvid = this_div_id;

  // Create dynamically named callback routines so that multiple divs can be filled in tandem. -ELK 20080424
  eval('var handleSuccess_' + cdvid + ' = function(o){ if(o.responseText !== undefined){ dv["' + cdvid + '"].innerHTML = o.responseText; } }');
  eval('var handleFailure_' + cdvid + ' = function(o){ if(o.responseText !== undefined){ dv["' + cdvid + '"].innerHTML = o.statusText; } }');
  eval('var callback_' + cdvid + ' = { success:handleSuccess_' + cdvid + ', failure: handleFailure_' + cdvid + ', argument: { foo:"foo", bar:"bar" } };');
  
  dv[cdvid] = document.getElementById(this_div_id);
  if ( dv[cdvid] == null ) { return false; }
  if ( this_url == '' ) {
    dv[cdvid].innerHTML = '';
  } else {
    var prms = ''; // HTML URL style parameters. i.e. blah=data1&blah2=data2&, etc.
    //if ( this_prms != null ) { prms = this_prms; }
    if ( this_prms != null ) { this_url += "?" + this_prms + "&ajax_fix_timestamp="+new Date().getTime(); }
    else  { this_url += "?ajax_fix_timestamp="+new Date().getTime(); }
    //var doAjax = new Ajax.Updater(this_div_id, this_url, {method: 'get', parameters: prms, evalScripts: true});
    var transaction = YAHOO.util.Connect.asyncRequest('GET', this_url, eval('callback_' + cdvid), null);
  }
}

function EKBodyOnLoad()
{
  //alert('Body loaded!');
  if ( typeof EKLoadDivs == "function" ) { EKLoadDivs(); } // Load AJAX divs if function defined. -ELK
}
    

