/*$(document).ready(function()
{
	$('input[type=submit], input[type=button]').hover(
		function()
		{
			//hover in
			$(this).addClass('hover');
		},
		function()
		{
			//hover out
			$(this).removeClass('hover');
		}
	);

	$('a, div.submit input').click(function()
	{
		$(this).blur();
	});

	$('div.panel-bg').each(function()
	{
		var panel = $(this).next('div.panel');
		$(this).width(panel.width());
		$(this).height(panel.height());
		$(this).fadeTo(0, 0.75);
	});

	var navTop = $('#nav').css('top');
	navTop = navTop.substr(0, navTop.length - 2);
	var navHeight = $('#nav div.panel').height();
	var navBottom = parseInt(navTop) + parseInt(navHeight) + 2;

	$('#client-login, #search-client, #contact-us').css('top', navBottom + 'px');

	$('a[id$="-toggle"]').each(function()
	{
		var id = $(this).attr('id');
		var panelSelector = '#' + id.split('-toggle').join(' > div');
		$(panelSelector).slideToggle(0);
		$(this).click(function()
		{
			if ($(panelSelector).hasClass('current-panel'))
			{
				currentToggleClick();
			}
			else
			{
				$('.current-panel').slideToggle(1000).toggleClass('current-panel');
				$('.current-toggle').toggleClass('current-toggle');
				$(this).toggleClass('current-toggle');
				$(panelSelector).toggleClass('current-panel');
				$(panelSelector).slideToggle(1000);
			}
			return false;
		});
	});

	var navShowing = $.cookie('eatdesign.navShowing');
	if (navShowing == null)
	{
		navShowing = false;
		$.cookie('eatdesign.navShowing', navShowing);
	}
	else if (typeof(navShowing) == 'string')
	{
		if (navShowing == 'true')
		{
			navShowing = true;
		}
		else if (navShowing == 'false')
		{
			navShowing = false;
		}
	}
	var navToggleWorking = false;
	if (navShowing === false)
	{
		$('#nav > div').slideToggle(0);
	}
	$('#nav-parenttoggle').click(function()
	{
		currentToggleClick(function()
		{
			if (!navToggleWorking)
			{
				navToggleWorking = true;
				$('#nav > div').slideToggle(1000, function(){navToggleWorking = false;});
			}
		});
		navShowing = !navShowing;
		$.cookie('eatdesign.navShowing', navShowing);
		return false;
	});

	$('#cycle-background div.info-summary').css('left', '950px');
	$('#info-summary-sidetoggle').toggle(
		function()
		{
			//open
			oldPaused = paused;
			pauseImages();
			$('#cycle-background div.info-summary').animate({left:'700px'}, 1000);
			return false;
		},
		function()
		{
			//close
			if (oldPaused)
			{
				pauseImages();
			}
			else
			{
				resumeImages();
			}
			$('#cycle-background div.info-summary').animate({left:'950px'}, 1000);
			return false;
		}
	);

	$('#login-button').click(function()
	{
		ajaxDots('start', $(this));
		$('#client-login span.message').fadeIn(1000,
			function()
			{
				ajaxDots('stop', $('#login-button'));
				setTimeout(function() { $('#client-login span.message').fadeOut(1000); } , 3000);
			}
		);
		return false;
	});

	$('#search-client-results').fadeTo(0, 0);
	$('#search-client-button').click(function()
	{
		ajaxDots('start', $(this));
		var action = $(this).parents('form').attr('action');
		var search = $('#ClientName').attr('value');
		$('#search-client-results').fadeTo(1000, 0);
		$.post(action, {name: search}, function(data)
			{
				$('#search-client-results').html(data);
				var panel = $('#search-client div.panel');
				var panelbg = $('#search-client div.panel-bg');

				panelbg.animate(
					{
						height: panel.height()
					}, 1000, null, function() { $('#search-client-results').fadeTo(1000, 1, function(){ajaxDots('stop', $('#search-client-button'));}); }
				);
			}
		);
		return false;
	});
});

var ajaxButtons = new Array();
function ajaxDots(action, e, interval) //interval is milliseconds
{
	eID = e.attr('id');
	if (action == 'start')
	{
		if (typeof interval == 'undefined' ) interval = 500;
		ajaxButtons[eID] = new Array();
		ajaxButtons[eID]['interval'] = interval;
		ajaxButtons[eID]['count'] = 0;
		ajaxButtons[eID]['startingValue'] = e.attr('value');
		ajaxButtons[eID]['setIntervalID'] = setInterval(function(){ajaxDots('run', e);}, interval);
	}
	else if (action == 'run')
	{
		if (eID in ajaxButtons)
		{
			//if in array, we can run
			info = ajaxButtons[eID];
			info['count'] = info['count'] + 1;
			dots = '';
			for (i = 0; i < info['count']; i++)
			{
				dots = dots + '.';
			}
			if (info['count'] >= 3)
			{
				info['count'] = 0;
			}
			$('#' + eID).attr('value', info['startingValue'] + dots);
		}
	}
	else if (action == 'stop')
	{
		if (eID in ajaxButtons)
		{
			//if in array, we can stop
			info = ajaxButtons[eID];
			$('#' + eID).attr('value', info['startingValue']);
			clearInterval(info['setIntervalID']);
			delete ajaxButtons[eID];

		}
	}
}

var paused = false;
var oldPaused = paused;
$(window).load(function()
{
	$('#cycle-background div.items').cycle({
		fx: 'fade',
		timeout: 6000,
		speed: 2000,
		next: '#cycle-next',
		prev: '#cycle-prev'
	});

	$('#pause-images').click(function()
	{
		if (paused)
		{
			resumeImages();
		}
		else
		{
			pauseImages();
		}
		return false;
	});
});

function pauseImages()
{
	paused = true;
	$('#pause-images').text('Play Images');
	$('#cycle-background div.items').cycle('pause');
}

function resumeImages()
{
	paused = false;
	$('#pause-images').text('Pause Images');
	$('#cycle-background div.items').cycle('resume');
}

function currentToggleClick(callback)
{
	if ($('.current-panel').length != 0)
	{
		if (callback === undefined)
		{
			$('.current-panel').toggleClass('current-panel').slideToggle(1000);
		}
		else
		{
			$('.current-panel').toggleClass('current-panel').slideToggle(1000, callback);
		}
		$('.current-toggle').toggleClass('current-toggle');
	}
	else
	{
		callback();
	}
}*/

if (projectImagesFx == undefined)
{
	var projectImagesFx = 'scrollLeft';
	var projectImagesFxPrev = 'scrollRight';
	var projectImagesFxNext = 'scrollLeft';
	var projectImagesTimeout = 0;
	var projectImagesSpeed = 1000;
}

$(document).ready(function()
{
	restoreBgValues();
	animateBackground();
	handleMainNav();
	startProjectImages();
	handleInfoSummary();
	handleClientLogin();
});

$(window).load(function()
{
	cycleProjectImages();
});

$(window).unload(function()
{
	saveBgValues();
});


function handleClientLogin()
{
	$('#login-button').click(function()
	{
		ajaxDots('start', $(this));
		$('#client-login span.message').fadeIn(1000,
			function()
			{
				ajaxDots('stop', $('#login-button'));
				setTimeout(function() { $('#client-login span.message').fadeOut(1000); } , 3000);
			}
		);
		return false;
	});
}

var ajaxButtons = new Array();
function ajaxDots(action, e, interval) //interval is milliseconds
{
	eID = e.attr('id');
	if (action == 'start')
	{
		if (typeof interval == 'undefined' ) interval = 500;
		ajaxButtons[eID] = new Array();
		ajaxButtons[eID]['interval'] = interval;
		ajaxButtons[eID]['count'] = 0;
		ajaxButtons[eID]['startingValue'] = e.attr('value');
		ajaxButtons[eID]['setIntervalID'] = setInterval(function(){ajaxDots('run', e);}, interval);
	}
	else if (action == 'run')
	{
		if (eID in ajaxButtons)
		{
			//if in array, we can run
			info = ajaxButtons[eID];
			info['count'] = info['count'] + 1;
			dots = '';
			for (i = 0; i < info['count']; i++)
			{
				dots = dots + '.';
			}
			if (info['count'] >= 3)
			{
				info['count'] = 0;
			}
			$('#' + eID).attr('value', info['startingValue'] + dots);
		}
	}
	else if (action == 'stop')
	{
		if (eID in ajaxButtons)
		{
			//if in array, we can stop
			info = ajaxButtons[eID];
			$('#' + eID).attr('value', info['startingValue']);
			clearInterval(info['setIntervalID']);
			delete ajaxButtons[eID];

		}
	}
}

var bgColours = [ "#ff9999", "#ffcccc", "#ffcc99", "#ffffcc", "#ccffcc", "#ccffff", "#3e3d40" ]
var bgFadeTime = 10000;
var bgStep = 0;

function saveBgValues()
{
	$.cookie('bgValues', $('body').css('background-color') + '||' + bgStep)
}

function restoreBgValues()
{
	var bgValues = $.cookie('bgValues');
	if (bgValues == null)
	{
		bgStep = 0;
	}
	else
	{
		var values = bgValues.split('||');
		$('body').css('background-color', values[0]);
		bgStep = values[1];
	}
}

function animateBackground()
{
	if (bgStep > bgColours.length - 1)
	{
		bgStep = 0;
	}
	$('body').animate({ backgroundColor: bgColours[bgStep] }, bgFadeTime, null, animateBackground);
	bgStep++;

	/*$('body')
		.animate({ backgroundColor: "#ff9999" }, fadeTime)
		.animate({ backgroundColor: "#ffcccc" }, fadeTime)
		.animate({ backgroundColor: "#ffcc99" }, fadeTime)
		.animate({ backgroundColor: "#ffffcc" }, fadeTime)
		.animate({ backgroundColor: "#ccffcc" }, fadeTime)
		.animate({ backgroundColor: "#ccffff" }, fadeTime)
		.animate({ backgroundColor: "#3e3d40" }, fadeTime, null, animateBackground)
	;*/
}

function startProjectImages()
{
	$('#project-images > div').hide();
}

function cycleProjectImages()
{
	$('#project-images > div').fadeIn(2000);

	$('#project-images > div').cycle({
		fx: projectImagesFx,
		fxPrev: projectImagesFxPrev,
		fxNext: projectImagesFxNext,
		speed: projectImagesSpeed,
		timeout: projectImagesTimeout,
		manualTrump: false,
		next:   '#pc-next',
		prev:   '#pc-prev'
	});

	$('#project-images div img').live('click', function()
	{
		$('#pc-next').trigger('click');
	});
}

function handleMainNav()
{
	$('#main-nav ul ul').hide();

	$('#main-nav li a.current').parent().parent().show().parent().children('a').addClass('selected');

	$('#main-nav > ul > li > a').live('click', function()
	{
		if ($(this).parent().children('ul').length)
		{
			var alreadySelected = $(this).hasClass('selected');
			$('#main-nav ul a.selected').removeClass('selected').parent().children('ul').slideUp(500);

			if (!alreadySelected)
			{
				$(this).addClass('selected').parent().children('ul').slideDown(500);
			}

			return false;
		}
	});
}

var infoSummaryMoving = false;
function handleInfoSummary()
{
	$('#info-summary').css('right', $('#info-summary').width()*-1);

	$('#pc-info-summary').click(function()
	{
		if (!infoSummaryMoving)
		{
			var right = $('#info-summary').css('right');
			if (right.match('^-'))
			{
				infoSummaryMoving = true;
				$('#info-summary').animate({'right' : 0}, 1000, function(){infoSummaryMoving = false})
			}
			else
			{
				infoSummaryMoving = true;
				$('#info-summary').animate({'right' : $('#info-summary').width()*-1}, 1000, function(){infoSummaryMoving = false})
			}
		}
		return false;
	});
}