function is_all_ws( nod )
{
	return !(/[^\t\n\r ]/.test(nod.data));
}

function is_ignorable( nod )
{
	return ( nod.nodeType == 8) || ((nod.nodeType == 3) && is_all_ws(nod));
}

function node_before( sib )
{
	while ((sib = sib.previousSibling))
	{
		if (!is_ignorable(sib)) return sib;
	}
	return null;
}

function node_after( sib )
{
	while ((sib = sib.nextSibling))
	{
		if (!is_ignorable(sib)) return sib;
	}
	return null;
}

function servicesSwitch(liObject)
{
	switch (liObject.id)
	{
		case 'residents':
			currentListItem(liObject);
			notCurrentListItem(document.getElementById('businesses'));
			notCurrentListItem(document.getElementById('online_services'));
			break;
		case 'businesses':
			currentListItem(liObject);
			notCurrentListItem(document.getElementById('residents'));
			notCurrentListItem(document.getElementById('online_services'));
			break;
		case 'online_services':
			currentListItem(liObject);
			notCurrentListItem(document.getElementById('residents'));
			notCurrentListItem(document.getElementById('businesses'));
			break;
	}
}

function currentListItem(liObject)
{
	node_before(liObject).className = 'services_left_curr';
	liObject.className = 'current';
	document.getElementById('services_content_'+liObject.id).style.display = 'block';
	node_after(liObject).className = 'services_right_curr';			
}

function notCurrentListItem(liObject)
{
	node_before(liObject).className = 'services_left';
	liObject.className = '';
	document.getElementById('services_content_'+liObject.id).style.display = 'none';
	node_after(liObject).className = 'services_right';				
}

