var links = {};

if('undefined' == typeof window.scriptLoaders) {
	window.scriptLoaders = [];
}

var hideJobDescr = function(link) {
	var linkId = link.getAttribute('id');
	var jobDescrText = $(linkId.split('Link')[0] + 'Descr');
	var height = jobDescrText.offsetHeight;
	var footer = $('footer');
	var footerTop = footer.offsetTop;
	
	jobDescrText.style.visibility = 'hidden';
	jobDescrText.style.height = '0';
	jobDescrText.style.width = '0';
	jobDescrText.style.overflow = 'hidden';
	
	footer.style.top = (footerTop - height - 50) + 'px';
	
	link.innerHTML = link.innerHTML.replace('(hide description)', '(view description)');
};

var showJobDescr = function(link) {
	var linkId = link.getAttribute('id');
	var jobDescrText = $(linkId.split('Link')[0] + 'Descr');
	var footer = $('footer');
	var footerTop = footer.offsetTop;
	
	jobDescrText.style.visibility = 'visible';
	jobDescrText.style.height = 'auto';
	jobDescrText.style.width = 'auto';
	
	footer.style.top = (footerTop + jobDescrText.offsetHeight + 50) + 'px';
	
	link.innerHTML = link.innerHTML.replace('(view description)', '(hide description)');
};

var scriptLoader = function() {
	var jobLinks = getElementsByClass('popupJobDescr', $('content'));
	
	for(var i=0; i < jobLinks.length; i++) {
		var link = jobLinks[i];
		var linkId = link.getAttribute('id');
		var jobDescrId = linkId.split('Link')[0] + 'Descr';
		link.setAttribute('href', '#' + jobDescrId);
		
		var jobDescrText = $(jobDescrId);
		jobDescrText.style.visibility = 'hidden';
		jobDescrText.style.height = '0';
		jobDescrText.style.width = '0';
		jobDescrText.style.overflow = 'hidden';
		
		window.links[linkId] = {'dom': link, 'status': 0, 'onclick': window.showJobDescr};
		
		link.onclick = function() {
			var thisId = this.getAttribute('id');
			var link = null;
			
			if(window.links[thisId].status == 0) {
				for(var id in window.links) {
					link = window.links[id];
					
					if(id != thisId && link.status == 1) {
						link.onclick(link.dom);
						link.status = 0;
						link.onclick = window.showJobDescr;
					}
				}
			}
			
			link = window.links[thisId];
			link.onclick(this);
			
			if(link.status == 0) {
				link.status = 1;
				link.onclick = window.hideJobDescr;
			} else {
				link.status = 0;
				link.onclick = window.showJobDescr;
			}
		}
		
		this.keyup = this.onclick;
	}
};

window.scriptLoaders = window.scriptLoaders.concat([scriptLoader]);

