$(document).ready(function() {
	
var oRegions = new Array("selondon", "nelondon", "herts", "bucks", "swnwlondon", "hants", "dorset", "surrey");
var sDefaultMapClass = "nohover";
function $(element)
{
	if(arguments.length > 1)
	{
		for(var i = 0, elements = [], length = arguments.length; i < length; i++)
		{
			elements.push($(arguments[i]));
		}
		return elements;
	}
	if(typeof element == 'string')
	{
    	element = document.getElementById(element);
    }
return element;
}
function getElementsByClass(searchClass, node, tag)
{
var classElements = new Array();
	if(node == null)
	{
		node = document;
	}
	if(tag == null)
	{
		tag = '*';
	}
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for(i = 0, j = 0; i < elsLen; i++)
	{
		if(pattern.test(els[i].className))
		{
			classElements[j] = els[i];
			j++;
		}
	}
return classElements;
}
function addEvent(elm, evType, fn, useCapture)
{
	if(elm.addEventListener)
	{
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if(elm.attachEvent)
	{
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else
	{
		elm['on' + evType] = fn;
	}
}
function setCombo(oCbo, sValue)
{
	for(var i = 0, nOptions = oCbo.options.length; i < nOptions; i++)
	{
		if(oCbo.options[i].value == sValue)
		{
			oCbo.options[i].selected = true;
			break;
		}	
	}
}
function setObjectClass(sObjectID, sClass)
{
	try
	{
		$(sObjectID).className = sClass;
	}
	catch(er){}
}
function swapMapImage(evt)
{
    var sEventNode;
    
    if(window.event)
    {
        sEventNode = window.event.srcElement.id;
    }
    else
    {
        sEventNode = evt.target.id;  
    }	
	var sMapArea = sEventNode.substring(5);
	
	if(evt.type == "mouseover")
	{		
		setObjectClass("regions", sMapArea);
	}
	else if(evt.type == "mouseout")
	{
		setObjectClass("regions", sDefaultMapClass);
	}
	else if(evt.type == "click")
	{
		sDefaultMapClass = sMapArea;
		setObjectClass("regions", sMapArea);
		hideAllRegions();
		setObjectClass(sMapArea, "");
		setCombo($("filter"), sMapArea);
	}	
}
function pageLoader()
{
	hideAllRegions();
	var sRegion = $("swnwlondon");
	setObjectClass(sRegion, "");
		setObjectClass("regions", sRegion);
		
		
	addEvent($("region_go"), "click", showRegion, false);
	var oMapArea;
	
	for(var i = 0, nRegions = oRegions.length; i < nRegions; i++)
	{
		oMapArea = $("area_" + oRegions[i]);
		addEvent(oMapArea, "mouseover", swapMapImage, false);
		addEvent(oMapArea, "mouseout", swapMapImage, false);
		addEvent(oMapArea, "click", swapMapImage, false);		
	}
}
function hideAllRegions()
{
	for(var i = 0; i < oRegions.length; i++)
	{
		$(oRegions[i]).className = "hidden";
	}
}
function showRegion()
{
	var sRegion = $("filter").value;
	
	if(sRegion.length > 0)
	{
		hideAllRegions();
		setObjectClass(sRegion, "");
		setObjectClass("regions", sRegion);
		sDefaultMapClass = sRegion;	
	}
}

addEvent(window, "load", pageLoader, false);// JavaScript Document
	
});
