//constructor
//========================================================
function pDAFSelectClass() 
//========================================================
{

}

//========================================================
pDAFSelectClass.prototype = 
//========================================================
{
  updateDependentSelects : function (aParentSelect, aDependentIDs)
  {
    if (aParentSelect)
    {
      // selected value of the parent select
      var sParentValue = aParentSelect.options[aParentSelect.selectedIndex].value;
  
      for (var nIndex in aDependentIDs)
      {
        var sDependentID = aDependentIDs[nIndex];
        var aDependent = jphloc.ge(sDependentID);
        if (aDependent)
        {
          sajax_do_call(null, 
                        "pDAFSelect.getUpdatedDependent", 
                        {callback:pDAFSelect.updateDependentCallback, extra_data:[sDependentID]},
                        [sDependentID, sParentValue]);    
        }
      }
    }
  },

  updateDependentCallback : function (sResultXHTMLSniplet, extra_data)
  {
    var sID = extra_data[0];
    var aDependent = jphloc.ge(sID);
    if (aDependent)
    {
      sResultXHTMLSniplet = sResultXHTMLSniplet.replace(/\\n/g, "");
      var aNewElem = jphloc.outerHTML(aDependent, sResultXHTMLSniplet);
      if (typeof(aNewElem.onchange) == "function")
        aNewElem.onchange();
    }
  }
}

var pDAFSelect = window.pDAFSelect = new pDAFSelectClass();
