/**
 * Adds a function to the onload event.
 * @author Simon Willison
 * @see http://simonwillison.net/
 * @param {Object} func
 */
function addLoadEvent(func){
	var oldonload = window.onload;
	
	if(typeof window.onload != 'function'){
		window.onload = func;
	}
	else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

/**
 * Create a picture above the menu that can be switched depending on the chosen menu item.
 */
function prepareMenuPicture(){
		
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById('menu')) return false;
	var menu = document.getElementById('menu');
	
	if(!menu.getElementsByTagName('ul')) return false;
	var ul = menu.getElementsByTagName('ul');
	
	var p = document.createElement('p');
	p.setAttribute('id','menupic');
	menu.insertBefore(p,ul[0]);
}

/**
 * Swich the background image in the menu header.
 */
function switchImage(){
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById('menu')) return false;
	if(!document.getElementById('menupic')) return false;
	
	var menu = document.getElementById('menu');
	
	var menupic = document.getElementById('menupic');
	
	if(!menu.getElementsByTagName('a')) return false;
	var a = menu.getElementsByTagName('a');
	
	for(var i = 0; i < a.length; i++){
		var eml = a[i];
		var value = eml.getAttribute('class');
		if(value != null)
		{
			menupic.style.backgroundImage = 'url(media/images/menupic'+(i+1)+'.jpg)';
			eml.style.color = '#A61414';
			return;
		}
	}
}

/**
 * Hide info about the field.
 */
function hideInfo(){
	if(!document.getElementById) return false;
	if(!document.getElementById('content')) return false;
	if(!document.getElementById('hoverinfo')) return false;
	
	var content = document.getElementById('content');
	var hoverinfo = document.getElementById('hoverinfo');
	content.removeChild(hoverinfo);
	return false;
}

/**
 * Show infor about the selected field.
 */
function showInfo(elem){
	//Check if briwser supports actions
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementsByName) return false;
	if(!document.getElementsByName('map')) return false;
	
	
	//Check if the relevant elements are present
	if(!elem.getAttribute('id')) return false;
	if(!elem.getAttribute('alt')) return false;
	if(!elem.getAttribute('title')) return false;

	
	//Retrive the info from the DOM
	var name = elem.getAttribute('id').substring(1);
	var squareMeter = elem.getAttribute('alt');
	var prize = elem.getAttribute('title');
	
	//Prepare the output.
	var message = 'Grundnummer: ' + name + "\n" + 'Areal: ' + squareMeter + ' m2' + "\n" + 'Pris: ' + prize;
	
	var content = document.getElementById('content');
	
	var hoverinfo = document.createElement('div');
	hoverinfo.setAttribute('id','hoverinfo');
	
	//Create nodes for the infobox
	var namep = document.createElement('p');
	var grundnummer = document.createElement('strong');
	grundnummer.appendChild(document.createTextNode('Grundnummer: '));
	namep.appendChild(grundnummer);
	namep.appendChild(document.createTextNode(name));
	
	var squareMeterp = document.createElement('p');
	var kvadratm = document.createElement('strong');
	kvadratm.appendChild(document.createTextNode('Areal: '));
	squareMeterp.appendChild(kvadratm);
	squareMeterp.appendChild(document.createTextNode(squareMeter + ' m2'));
	
	var prizep = document.createElement('p');
	var pris = document.createElement('strong');
	pris.appendChild(document.createTextNode('Pris: '));
	prizep.appendChild(pris);
	prizep.appendChild(document.createTextNode(prize));
	
	//Add nodes to the info boxs.
	hoverinfo.appendChild(namep);
	hoverinfo.appendChild(squareMeterp);
	hoverinfo.appendChild(prizep);
	
	//If it has already been set, remove it
	if(document.getElementById('hoverinfo')){
		content.removeChild(hoverinfo);
	}
	
	//Insert the info
	content.appendChild(hoverinfo);
	
	//alert(message);
	return false;
}

addLoadEvent(prepareMenuPicture);
addLoadEvent(switchImage);

