function activateGroup(group,content_type,content_value,id, top, left, clickedElement,theme) {
  if (clickedElement != undefined) {
    if (clickedElement.search("/select_result/")) {
      var previouslySelected = getElementsByClassName("resultchoice_selected");
      if (previouslySelected != "") {
        previouslySelected[0].className="";
      }
      var clickedElement = document.getElementById(clickedElement);
      clickedElement.className="resultchoice_selected";
    }
    else {
      var previouslySelected = getElementsByClassName("subchoice_selected");
      if (previouslySelected != "") {
        previouslySelected[0].className="";
      }
      var clickedElement = document.getElementById(clickedElement);
      clickedElement.className="subchoice_selected";
    }
  }

  setSwitchboard(group, content_type, content_value, id, top, left, theme);
}

function activateTheme(group,clickedElement) {
  var previouslySelected = getElementsByClassName("choice_selected");
  if (previouslySelected != "") {
    previouslySelected[0].className="";
  }
  var clickedElement = document.getElementById(clickedElement);
  clickedElement.className="choice_selected";

  new Ajax.Updater('themeresults', './includes/themes.php', {
    postBody: "group="+group,
    onSuccess: function() {
      var element = document.getElementById('themeresults');
      element.style.display = "block";
    }
  }); 
  new Ajax.Updater('portraits', './includes/portraits.php', {
    postBody: "theme="+group
  }); 
}

function setSwitchboard(group, content_type, content_value, id, top, left, theme) {
  new Ajax.Updater(group, './includes/switchboard.php', {
    postBody: "group="+group+"&content_type="+content_type+"&content_value="+content_value+"&theme="+theme+"&id="+id+"&top="+top+"&left="+left,
    onSuccess: function() {
      if (group == 'students') {
        setSwitchboard("google", content_type, content_value, id, top, left, theme);
      }
    }
  });
}

function getKey(e) {
  if (window.event) {
    return String.fromCharCode(window.event.charCode)
  } else if (e) {
    return String.fromCharCode(e.charCode)
  } else {
    return null;
  }
}

function search(key) {
  //If the returned charCode is empty a function key has been pressed
  if (!key.empty()) {
    var searchInput = document.getElementById('searchfield').value;
    if (searchInput.length > 3) {
      new Ajax.Updater('searchresults', './includes/search.php', {
        postBody: "query="+searchInput,
        onSuccess: function() {
          var element = document.getElementById('searchresults');
          element.style.display = "block";
        }
      });
    }
  }
  if (searchInput.empty()) {
    var element = document.getElementById('searchresults');
    element.style.display = "none";
  }
}

function clearSearch() {
  var searchResults = document.getElementById('searchresults');
  searchResults.style.display = "none";
  document.getElementById('searchfield').value = "";
  setSwitchboard('students', '', '', '');
}

function clearThemes() {
  var previouslySelected = getElementsByClassName("choice_selected");
  if (previouslySelected != "") {
    var searchResults = document.getElementById('subchoice');
    searchResults.style.display = "none";
    previouslySelected[0].className="";
    setSwitchboard('students', '', '', '');
  }
}

function setProfileWidths() {
  var profiles = document.getElementsByClassName("user_profile");
  var profile_sizes = new Array();
  var i=0;
  while (i<profiles.length) {
    //Get all the answer items
    var answers = profiles[i].getElementsByClassName("answer_container");
    var ii=0;
    var sizes = new Array();
    while (ii<answers.length) {
      //Get the length of the item and multiple by 3
      sizes.push(answers[ii].innerHTML.length*3);
      ii++;
    }
    sizes.sort().reverse();
    profile_sizes.push(sizes[0]+"px");
    i++;
  }
  //Deploy the width to the relevant profile section
  var user_long = document.getElementsByClassName("user_long");
  var i=0;
  while (i<user_long.length) {
    user_long[i].style.width=profile_sizes[i];
    i++;
  }
}

function showPortrait(filePath, fileID) {
  var portraitLink = document.createElement('a');
  portraitLink.setAttribute('onclick', "hidePortrait('"+fileID+"')");
  portraitLink.setAttribute('href', "#");
  portraitLink.setAttribute('id', fileID);
  portraitLink.setAttribute('title', "[sluiten]");
  portraitLink.innerHTML = '<img class="fullportrait" src="'+filePath+'" />';
  var portraitContainer = document.getElementById("portraits");
  document.body.insertBefore(portraitLink,portraitContainer);
}

function hidePortrait(portraitID) {
  var portrait = document.getElementById(portraitID);
  portrait.parentNode.removeChild(portrait);
}

function addOnLoad(functionName) {
  if(window.addEventListener) {
    window.addEventListener('load', functionName, false);
  }
  else if(window.attachEvent) {
    window.attachEvent('onload', functionName);
  }
}

function scaleScreenDiv() {
  if (document.body.scrollHeight && navigator.appVersion.indexOf("Win") != -1) {
  } else if (document.documentElement.scrollHeight) {
    var screenDiv = document.documentElement.scrollHeight;
  } else if (document.documentElement.offsetHeight) {
    var screenDiv = document.documentElement.offsetHeight;
  }
  var element = document.getElementById("screen");
  if (element != null) {
    element.style.height=screenDiv+"px";  
  }
}

addOnLoad(setProfileWidths);
addOnLoad(scaleScreenDiv);
window.onresize = scaleScreenDiv;