//constructor
//========================================================
function pDAFUITabBoxClass() 
//========================================================
{

}

//========================================================
pDAFUITabBoxClass.prototype = 
//========================================================
{
  //------------------------------------------------------
  select : function (sTabBoxID, sTabID)
  //------------------------------------------------------
  {
    // hide all selected contents
    var aTabBox = jphloc.ge(sTabBoxID);
    var aContentContainer = jphloc.ge(sTabBoxID + "_contents");
    var aTabContainer = jphloc.ge(sTabBoxID + "_tabs");
    var aTab = jphloc.ge(sTabID);
    var aContent = jphloc.getChildrenByIDPrefix(aContentContainer, sTabBoxID);
    for (var aKey in aContent)
    {
      if (aContent[aKey].id == (sTabID + "_content"))
        jphloc.show(aContent[aKey]);
      else 
        jphloc.hide(aContent[aKey]);
    }
    var aTabs = jphloc.getChildrenByIDPrefix(aTabContainer, sTabBoxID);
    for (var aKey in aTabs)
    {
      if (aTabs[aKey].id == sTabID)
        jphloc.addClass(aTabs[aKey], "pdaf_tab_selected");
      else 
        jphloc.removeClass(aTabs[aKey], "pdaf_tab_selected");
    }  
    this.setSelectedAJAX(sTabBoxID, sTabID);
  },
  
  //------------------------------------------------------
  selectAJAX : function (sTabBoxID, sAbsoluteTabID, sProgressMsg)
  //------------------------------------------------------
  {
    pDAFUIExt.startProgress(sProgressMsg);
    sajax_do_call(null, 
        "pDAFTabBox.select", 
        {callback:pDAFUITabBox.selectCallback, extra_data:[sTabBoxID, sAbsoluteTabID]},
        [sTabBoxID, sAbsoluteTabID]); 
  },  
  
  //------------------------------------------------------
  setSelectedAJAX : function (sTabBoxID, sAbsoluteTabID)
  //------------------------------------------------------
  {
    sajax_do_call(null, 
        "pDAFTabBox.setSelected", {}, [sTabBoxID, sAbsoluteTabID]); 
  },

  //------------------------------------------------------
  selectCallback : function (sResultXHTMLSniplet, extra_data)
  //------------------------------------------------------
  {
    sResultXHTMLSniplet = sResultXHTMLSniplet.replace(/\\n/g, "");
    var sTabBoxID = extra_data[0];
    var sAbsoluteTabID = extra_data[1];
    var aContentContainer = jphloc.ge(sTabBoxID + "_contents");
    aContentContainer.innerHTML = sResultXHTMLSniplet;

    // hide all selected contents
    var aTabContainer = jphloc.ge(sTabBoxID + "_tabs");
    var aTab = jphloc.ge(sAbsoluteTabID);
    var aTabs = jphloc.getChildrenByIDPrefix(aTabContainer, sTabBoxID);
    for (var aKey in aTabs)
    {
      var aCurTab = aTabs[aKey];
      if (aCurTab.id == sAbsoluteTabID)
        jphloc.addClass(aCurTab, "pdaf_tab_selected");
      else 
        jphloc.removeClass(aCurTab, "pdaf_tab_selected");
    }   
    pDAFUIExt.stopProgress();
  }
}

var pDAFUITabBox = window.pDAFUITabBox = new pDAFUITabBoxClass();