var car;

var mousepos = function( e )
{
	var pos = {};
	pos.x = 0;
	pos.y = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		pos.x = e.pageX;
		pos.y = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		pos.x = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		pos.y = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	
	return pos;
}

var homepage = function()
{
	$$('#carousel ul li div ul').each( function(el) { el.hide(); } );
	$$('#carousel ul li div h4').each( function(el) { el.hide(); } );

	var cw = $('carousel').getWidth();
	var w = 0;
	$('carousel').down('ul').childElements('li').each( function(el) {
		w += el.getWidth();
	} );
	
	if(w > cw)
	{
		$('carousel').down('ul').style.width = '15000px';
		
		$('go-right').hide();
		$('go-left').hide();
		
		$$('.controls').each( function(el) { el.observe('click', function( e ) {
			e.stop();
		} ); } );
		
		var plg = $$('.plugHome-subbox').first();
		
		var rect = {};
		rect.left = plg.cumulativeOffset().left;
		rect.right = plg.cumulativeOffset().left + plg.getWidth();
		rect.top = plg.cumulativeOffset().top;
		rect.bottom = plg.cumulativeOffset().top + plg.getHeight();

		plg.observe('mouseover', function(e) {
			if(Prototype.Browser.IE)
			{
				$('go-left').show();
				$('go-right').show();				
			}
			else
			{
				$('go-left').appear();
				$('go-right').appear();
			}
		}, false);
		
		plg.observe('mouseout', function(e) {
			var pos = mousepos( e );

			if(pos.x > rect.right || pos.x < rect.left || pos.y > rect.bottom || pos.y < rect.top)
			{
				if(Prototype.Browser.IE)
				{
					$('go-left').hide();
					$('go-right').hide();				
				}
				else
				{
					$('go-left').fade();
					$('go-right').fade();
				}
			}
			
		}, false);

		$('go-right').observe('mouseover', function(e) { car.setdirection( -1 ); car.start(); }, false );
		$('go-left').observe('mouseover', function(e) { car.setdirection( 1 ); car.start(); }, false );

		$('go-right').observe('mouseout', function(e) { car.stop(); }, false );
		$('go-left').observe('mouseout', function(e) { car.stop(); }, false );
		
		if(typeof(car) == 'undefined')
		{
			car = new Carousel('carousel', 
									{ 
										offSetX: 2,
										delay: 0.001, 
										direction: -1,
										mousedirection: false,
										mousestop: true,
										autostart: true,
										continuous: true
									} );
		}
		else
		{
			car.start();
		}
	}
	else
	{
		if(typeof(car) != 'undefined') { car.stop(); }
		$('carousel').down('ul').setStyle( { width: w+'px', margin: '0 auto', left: 'auto' } );
		
		$('go-right').stopObserving('mouseover');
		$('go-left').stopObserving('mouseover');

		$('go-right').stopObserving('mouseout');
		$('go-left').stopObserving('mouseout');
		
		$('go-right').hide();
		$('go-left').hide();
	}

	$('carousel').down('ul').childElements('li').each( function(el) {
		el.observe('mouseover', function(e) { 

				var elem = e.findElement('li.top');
				elem.down('h4').show();
				if(elem.down('ul'))
				{
					elem.down('ul').show();
				}

			}, false );

		el.observe('mouseout', function(e) { 

				var elem = e.findElement('li.top');
				elem.down('h4').hide();
				if(elem.down('ul'))
				{
					elem.down('ul').hide();
				}

			}, false );

		el.observe('click', function(e) { 

			if(typeof(car) != 'undefined') { car.stop(); }

		}, false );
	} );
}
