var menureference = [];

var initializeMenu = function(menuid)
{
	var mainMenu = $('#mainmenu' + menuid);
	
	menureference[menuid] = 0;
	
	mainMenu.mouseover(function() {
		var menuid = this.id.substr(8);
		var mainMenuOffset = $('#mainmenu' + menuid).offset();
		$('#submenu' + menuid).css({'left':  ( mainMenuOffset.left - 17 ) + 'px', 'top':  mainMenuOffset.top + $('#mainmenu' + menuid).outerHeight() + 'px'}).show();
		menureference[menuid]++;
	});
	
	mainMenu.mouseout(function() {
		var menuid = this.id.substr(8);
		menureference[menuid]--;
		setTimeout('checkMenureference(' + menuid + ')', 100);
	});
	
	$('#submenu' + menuid).mouseover(function() {
		var menuid = this.id.substr(7);
		menureference[menuid]++;
	});
	
	$('#submenu' + menuid).mouseout(function() {
		var menuid = this.id.substr(7);
		menureference[menuid]--;
		setTimeout('checkMenureference(' + menuid + ')', 100);
	});
}

var checkMenureference = function(menuid)
{
	if( menureference[menuid] == 0 )
		$('#submenu' + menuid).hide();
}

/**
 * PICS SLIDER
 */

var pictureCount;
var picIndex = 0;
var picsAutoPlayID = -1;
var picsStartTop = 0;
var zIndex = 11;

var startPicslider = function(picCount)
{
	pictureCount = picCount;
	
	picIndex = pictureCount - 1;
	if( picCount > 1 )
		picsAutoPlayID = setInterval("nextPicture(-1, false);", 5000);
	
	var lastPic = $('#pics_' + ( pictureCount - 1 ));
	if( slideText[pictureCount - 1].text.length > 0 )
	{
		$('#pictureslidertext').css('top', lastPic.height()).animate({top: lastPic.height() - 57}, 700).css('z-index', zIndex++);
		setSliderText(pictureCount - 1);
	}
	else
		$('#pictureslidertext').css('top', lastPic.height());
	
}

var gotoPicture = function(targetIndex)
{
	if( targetIndex != picIndex )
		nextPicture(targetIndex - picIndex, true);
}

var nextPicture = function(indexChange, stopAutoPlay)
{
	$('#nav_' + picIndex).removeClass('active').addClass('inactive');
	picIndex += indexChange;
	
	if( stopAutoPlay )
		if( picsAutoPlayID > 0 )
			clearInterval(picsAutoPlayID);
	
	if( picIndex >= pictureCount )
		picIndex = indexChange - pictureCount;
	if( picIndex < 0 )
		picIndex = pictureCount + indexChange;
	
	var thisPicure = $('#pics_' + picIndex);
	thisPicure.css('z-index', zIndex++);
	
	if( indexChange > 0 )
		thisPicure.css('top', picsStartTop + thisPicure.height());
	else
		thisPicure.css('top', picsStartTop - thisPicure.height());
	
	$('#slidesnavigation').css('z-index', zIndex);
	$('#pictureslidertext').css('z-index', zIndex++).animate({top: thisPicure.height()}, 700,  'swing', returnSliderText);
	
	$('#nav_' + picIndex).removeClass('inactive').addClass('active');
	
	thisPicure.animate({top: picsStartTop}, 1400);
}

var returnSliderText = function()
{
	var sliderText = $('#pictureslidertext');
	
	if( slideText[picIndex].text.length > 0 )
	{
		setSliderText(picIndex);
		
		sliderText.animate({top:  $('#pics_' + picIndex).height() - 57}, 700);
	}
}

var setSliderText = function(index)
{
	if( slideText[index].link.length > 0 )
		$('#pictureslidertext').html('<div>' + slideText[picIndex].text + '<a href="' + slideText[picIndex].link + '">' + linkText + '</a></div>');
	else
		$('#pictureslidertext').html('<div>' + slideText[picIndex].text + '</div>');
}

var setupSinglePicture = function(pText, pURL, pSlideHeight)
{
	var pictureSliderText = $('#pictureslidertext');
	
	if( pText.length > 0 )
	{
		if( pURL.length > 0 )
			pictureSliderText.html('<a href="' + pURL + '">' + pText + '</a>');
		else
			pictureSliderText.html(pText);
	}
	
	pictureSliderText.css('z-index', 11).css('top', (pSlideHeight - 57) + 'px');
}

/**
 * SERVICES SLIDER
 */

var serviceCount;
var serviceIndex = 0;
var serviceWidth = 307;
var serviceTransitionTime = 300;

var startServiceslider = function(pServiceCount)
{
	serviceCount = pServiceCount;
	
	serviceIndex = 0;
}

var nextService = function(indexChange)
{
	var service1 = $('#service_' + serviceIndex);
	var service2 = $('#service_' + getServiceIndex(serviceIndex, 1));
	var service3 = $('#service_' + getServiceIndex(serviceIndex, 2));
	
	if( indexChange == 1 )
	{
		var newService = $('#service_' + getServiceIndex(serviceIndex, 3));
		
		newService.css('left', serviceWidth * 3);
		
		service1.animate({left: serviceWidth * -1}, serviceTransitionTime);
		service2.animate({left: 0}, serviceTransitionTime);
		service3.animate({left: serviceWidth}, serviceTransitionTime);
		newService.animate({left: serviceWidth * 2}, serviceTransitionTime);
	}
	else
	{
		var newService = $('#service_' + getServiceIndex(serviceIndex, -1));
		
		newService.css('left', serviceWidth * -1);
		
		newService.animate({left: 0}, serviceTransitionTime);
		service1.animate({left: serviceWidth}, serviceTransitionTime);
		service2.animate({left: serviceWidth * 2}, serviceTransitionTime);
		service3.animate({left: serviceWidth * 3}, serviceTransitionTime);
	}
	
	serviceIndex = getServiceIndex(serviceIndex, indexChange);
}

var getServiceIndex = function(startIndex, movement)
{
	var movedIndex = startIndex += movement;
	
	if( movedIndex >= serviceCount )
		movedIndex = movedIndex - serviceCount;
	if( movedIndex < 0 )
		movedIndex = serviceCount + movedIndex;
	
	return movedIndex;
}










