/**
 * donate.js - donations form js utility functions
 */ 
function selectSingle(alterTrue) {
  setEnabled("rep_amount",false);
  setEnabled("rep_startdate",false);
  setEnabled("rep_interval",false);
  setEnabled("rep_currency",false);
  setEnabled("rep_currency_p",false);
  setEnabled("rep_gift_aid",false);
  setEnabled("rep_note",false);
  if (alterTrue) {
    setEnabled("amount",true);
    setEnabled("currency",true);
    setEnabled("currency_p",true);
    setEnabled("gift_aid",true);
    setEnabled("note",true);
    returnObjById("amount").focus();
  }
}
function selectRepeat(alterTrue) {
  if (alterTrue) {
    setEnabled("rep_amount",true);
    setEnabled("rep_startdate",true);
    setEnabled("rep_interval",true);
    setEnabled("rep_currency",true);
    setEnabled("rep_currency_p",true);
    setEnabled("rep_gift_aid",true);
    setEnabled("rep_note",true);
    returnObjById("rep_amount").focus();
  }
  setEnabled("amount",false);
  setEnabled("currency",false);
  setEnabled("currency_p",false);
  setEnabled("gift_aid",false);
  setEnabled("note",false);
}
function setEnabled(id,enabled) {
  obj = returnObjById(id);
  if (obj==null) {
    alert("Can't enable null object for id='"+id+"'");
    return;
  }
  //alert("obj id="+id+" type="+obj.type+" enabled="+enabled);
  if (obj.type=="hidden") {
    return;
  }
  else if (obj.type=="checkbox") {
    obj.disabled=!enabled;
    return;
  }
  else if (obj.type=="select-one") {
    obj.disabled=!enabled;
    obj.style.color=enabled ? "#000000" : "#777777";
  }
  else if (obj.type=="textarea") {
    obj.disabled=!enabled;
    if (!enabled) {
      obj.style.border="2px inset #dddddd";
    }
  }
  else if (obj.type=="text") {
    obj.readOnly=!enabled;
    obj.style.color=enabled ? "#000000" : "#777777";
    if (!enabled) {
      obj.style.border="2px inset #dddddd";
    } 
  }
  obj.style.backgroundColor = enabled ? "white" : "#dddddd";
}
function returnObjById(id) {
  if (document.getElementById)
      return document.getElementById(id);
  else if (document.all)
      return document.all[id];
  else if (document.layers)
      return document.layers[id];
  return null;
}
