addLoadListener(init);

function init(){
    if (document.getElementById("new_job") != null) {
        document.getElementById("suggest_job").onclick = showItems;
        document.getElementById("close_job").onclick = hideItems;
    }
    
    displaymore();
    
    var entry      = document.getElementById("entry");
    var entrylinks = entry.getElementsByTagName("a");
    var showpattern = /^show_.+$/;
    var hidepattern = /^hide_.+$/;
    for(var i = 0; i < entrylinks.length; i++) {  
        if (showpattern.test(entrylinks[i].getAttribute("id"))) {
        	entrylinks[i].onclick = showJob;
        }
        if (hidepattern.test(entrylinks[i].getAttribute("id"))) {
        	entrylinks[i].onclick = hideJob;
        }
    }
    return true;
}

function displaymore() {
	  var URL = window.location.href;
	  var hash = URL.indexOf("#");
	  if (hash != -1) {
	      var jobnumber = URL.substring(hash + 1, URL.length);
	      var jobDescription        = document.getElementById("job_" + jobnumber);
	      var hideLink              = document.getElementById("hide_" + jobnumber);
	      var showLink              = document.getElementById("show_" + jobnumber);
	      jobDescription.className  = "";
	      hideLink.className        = "";
	      showLink.className        = "hidden";
	  }
}


function showItems() {
	var targetName        = this.getAttribute("id").replace(/suggest_/, "new_");
	var closeName         = this.getAttribute("id").replace(/suggest_/, "close_");
	var targetDiv         = document.getElementById(targetName);
	var closeButton       = document.getElementById(closeName);
	targetDiv.className   = "";
	closeButton.className = "";
	this.className        = "hidden";
}

function hideItems() {
	var targetName          = this.getAttribute("id").replace(/close_/, "new_");
	var suggestName         = this.getAttribute("id").replace(/close_/, "suggest_");
	var targetDiv           = document.getElementById(targetName);
	var suggestButton       = document.getElementById(suggestName);
	targetDiv.className     = "hidden";
	suggestButton.className = "";
	this.className          = "hidden";
}

function showJob() {
	var jobName               = this.getAttribute("id").replace(/show_/, "job_");
	var linkName              = this.getAttribute("id").replace(/show_/, "hide_");
	var jobDescription        = document.getElementById(jobName);
	var hideLink              = document.getElementById(linkName);
	jobDescription.className  = "";
	hideLink.className        = "";
	this.className            = "hidden";
}

function hideJob() {
	var jobName              = this.getAttribute("id").replace(/hide_/, "job_");
	var linkName             = this.getAttribute("id").replace(/hide_/, "show_");
	var jobDescription       = document.getElementById(jobName);
	var showLink             = document.getElementById(linkName);
	jobDescription.className = "hidden";
	showLink.className       = "";
	this.className           = "hidden";
}

function showRightItems () {
	var listItems      = document.getElementById("suggested_topics");
    var positionNewItems  = listItems.selectedIndex;
    for(var i=0; i < listItems.length; i++) {
        if (i == positionNewItems) {
    	    document.getElementById('new_' + listItems[i].value.replace(/s$/, "")).className = "";
        }
        else {
            document.getElementById('new_' + listItems[i].value.replace(/s$/, "")).className = "hidden";
        }
    }
}


function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}