/* CSS primitives */ function addCssClass(id, cls) {

document.getElementById(id).className += (" " + cls);

}

function removeCssClass(id, cls) {

var el = document.getElementById(id);
var classes = el.className.replace(cls,'');
el.className = classes;

}

function handleShowSource(evt) {

var control_id = evt.srcElement.id.replace("show-code-", "")
addCssClass(evt.srcElement.id, "hidden")
removeCssClass("hide-code-" + control_id, "hidden")
removeCssClass("source-code-" + control_id, "hidden")

}

function handleHideSource(evt) {

var control_id = evt.srcElement.id.replace("hide-code-", "")
addCssClass(evt.srcElement.id, "hidden")
addCssClass("source-code-" + control_id, "hidden")
removeCssClass("show-code-" + control_id, "hidden")

}

function handleSelectorChange(evt) {

var should_show = evt.srcElement.checked
var which_group = evt.srcElement.id.replace("-checkbox","")
var controls = document.getElementsByClassName("control-status-" + which_group)
var i;
if (should_show) {
  for (i = 0; i < controls.length; i++) {
    removeCssClass(controls[i].id, "hidden")
  }
} else {
  for (i = 0; i < controls.length; i++) {
    addCssClass(controls[i].id, "hidden")
  }
}

}

function handleChildProfileChange(evt) {

var should_show = evt.srcElement.checked
var child_profiles = document.getElementsByClassName("child-profile")
var i;
if (should_show) {
  for (i = 0; i < child_profiles.length; i++) {
    removeCssClass(child_profiles[i].id, "hidden")
  }
} else {
  for (i = 0; i < child_profiles.length; i++) {
    addCssClass(child_profiles[i].id, "hidden")
  }
}

}

/* Main entry point */ function pageLoaded() {

var i;

// wire up show source links
var show_links = document.getElementsByClassName("show-source-code");
for (i = 0; i < show_links.length; i++) {
  show_links[i].onclick = handleShowSource;
}
// wire up hide source links
var hide_links = document.getElementsByClassName("hide-source-code");
for (i = 0; i < hide_links.length; i++) {
  hide_links[i].onclick = handleHideSource;
}
// wire up selector checkboxes
var selectors = document.getElementsByClassName("selector-checkbox");
for (i = 0; i < selectors.length; i++) {
  selectors[i].onchange = handleSelectorChange;
}
// wire up child profile checkbox
document.getElementById("child-profile-checkbox").onchange = handleChildProfileChange;

}