var bsg = {};

bsg.hover = function(id, imgName)
{
	if(document.getElementById(id))
	{
		document.getElementById(id).src = 'images/' + imgName + '_over.jpg';  
	}
};

bsg.hoverout = function(id, imgName)
{
	if(document.getElementById(id))
	{
		document.getElementById(id).src = 'images/' + imgName + '.jpg'; 
	}
};

bsg.showVM = function()
{
	if(document.getElementById('homeVM'))
	{
		document.getElementById('homeVM').style.display = 'block';
	}
};

bsg.hideVM = function()
{
	if(document.getElementById('homeVM'))
	{
		document.getElementById('homeVM').style.display = 'none';
	}
};

bsg.changeBg = function(dir)
{
	if(document.getElementById('cnt_home'))
	{
		document.getElementById('cnt_home').style.background = 'transparent url(images/the_bath_stone_group2.jpg) no-repeat 16px 9px';
	}
};

bsg.swapBG = function(id)
{
	var txtDiv = id + '_txt';
	if(document.getElementById(id))
	{
		document.getElementById(id).style.backgroundPosition = 'bottom left';
		if(document.getElementById(txtDiv))
		{
			document.getElementById(txtDiv).style.display = 'block'; 
		}
	}
};

bsg.swapBGBack = function(id)
{
	var txtDiv = id + '_txt';
	if(document.getElementById(id))
	{
		document.getElementById(id).style.backgroundPosition = 'top left';
		if(document.getElementById(txtDiv))
		{
			document.getElementById(txtDiv).style.display = 'none'; 
		}
	}
};

bsg.noSpam = function(user,domain) 
{
	document.location = 'mailto:' + user + '@' + domain;
}

<!-- By Dylan Wagstaff, http://www.alohatechsupport.net -->
bsg.slideshow = function() 
{
	//Set the opacity of all images to 0
	$('div#rotator ul li').css({opacity: 0.0});
	
	//Get the first image and display it (gets set to full opacity)
	$('div#rotator ul li:first').css({opacity: 1.0});
		
	//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('bsg.rotate()',6000);
		
};
	
bsg.rotate = function() 
{	
	//Get the first image
	var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul li:first'));

	//Get next image, when it reaches the end, rotate it back to the first image
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));	
	
	//Set the fade in effect for the next image, the show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
};