
/**
 *	Unshuffle Text
 *
 *	Writes arguments after unshuffling them. Unshuffling order is before, after, before after eg.  d + b + a + c
 */

function unshuffle()
{
	var unshuffled = "";

	for (var i = 0; i < arguments.length; i++ )
	{
		if (i%2 == 0)
		{
			unshuffled = unshuffled + arguments[i];
		} else
		{
			unshuffled = arguments[i] + unshuffled;
		}
	}
	
	return unshuffled;
}

/**
 * Add an event to clear the contents of an input the first time it is clicked
 */
function clickToClearText(input)
{
	input.focus(function(){

		var defaultVal = $(this).val();
		$(this).val('').unbind('focus').blur(function(){

			if ( $(this).val()==='' )
			{
				$(this).val(defaultVal);
				clickToClearText($(this));
			}
		});
	});
}


function startClassRotator($container,baseClass,startIndex,endIndex) {

	var curClass = baseClass+startIndex;
	var preIndex = startIndex + 1;
	var preClass = baseClass+preIndex;

	$container.addClass(curClass);

	var $preloader = $('<div></div>').addClass(preClass).css({
		'visibility':'hidden',
		'height':'0px'
	}).appendTo($('body'));

	setInterval(function(){

		preIndex++;
		if (preIndex > endIndex) {
			preIndex = startIndex;
		}

		$container.removeClass(curClass);
		$container.addClass(preClass);
		curClass = preClass;

		$preloader.removeClass(preClass);
		preClass = baseClass+preIndex;
		$preloader.addClass(preClass);

	},3000);
}


/*
 *
 */
function dualSlide($container) {

	// configure the container for the dual slider
	$container.css({
		'overflow':'hidden'
	});

	// create references to the components of the dual slide
	$action	= $container.find('.DualSlideAction');
	$top	= $container.find('.DualSlideTop');
	$bottom	= $container.find('.DualSlideBottom');

	$action.css({
		'cursor':'pointer'
	});
	$action.addClass('DualSlideActionTopActive');

	$top.addClass('Active');

	$bottom.css({
		'display':'none'
	});

	$action.toggle(
		function(){
			$action.removeClass('DualSlideActionTopActive');
			$action.addClass('DualSlideActionBottomActive');

			$top.slideUp().removeClass('Active');
			$bottom.slideDown().addClass('Active');
		},
		function(){
			$action.removeClass('DualSlideActionBottomActive');
			$action.addClass('DualSlideActionTopActive');

			$bottom.slideUp().removeClass('Active');
			$top.slideDown().addClass('Active');
		}
	);
}


/**
 *  Very Simple Accordion (jQuery)
 */
$(document).ready(function(){

	$('.accordion').each(function(){

		var accordion = $(this);

		var sliders = accordion.find('.accordion-slider');

		sliders.hide();
		
		accordion.find('.accordion-trigger').css('cursor','pointer').click(function(){

			var target = $(this).next('.accordion-slider');
			var validSlide = (target.css('display')!='block');

			sliders.slideUp();
			if (validSlide) $(this).next('.accordion-slider').slideDown();
		});
	})
});
