/**
 * @author Jonathan Cochran <jono.cochran@gmail.com>
 * v. 1.0
 *
 *
 * #brief	SLIDES IMAGES HORIZONTALLY OR VERTICALLY
 * @param	orient 		- horiztontal or vertical
 * @param	imgW 		- width of images
 * @param	imgH 		- height of images
 * @param	iSpeed 		- milliseconds
 * @param	strEasing 	- easing function (requires jquery.easing and easing.compatibility)
 * @parma	triger	 	- mixed (obj or str): object to trigger clicks eg: $('a.scroll-right'), 
 *					      OR str timer. Use like timer=5000 where 5000 milliseconds
 * --------------------------------------------------------- */

(function($) {
	jQuery.fn.slideImages = function(orient, iImgW, iImgH, iSpeed, strEasing, trigger) {
		//Starting positions
		var iBannerX = 0;
		var iBannerY = 0;
		var objBanner = $(this);
		var objBannerImages = $('img', objBanner);
		var iBannerWidth = Number(objBannerImages.length)*iImgW;
		var iBannerHeight = Number(objBannerImages.length)*iImgH;
		
		//Establish the trigger to cycle images...
		//Use a timer instead
		if (typeof(trigger) == "string" && trigger.substr(0,5) == "timer")
		{
			iMilliSeconds = Number(trigger.replace('timer=', ''));
			trigger = objBanner; //Make it the banner, to fire only once
			$(document).everyTime(iMilliSeconds, function(i) { 
				trigger.trigger('click');
			});
		}
		//Object will trigger the slide
		else if(trigger != "" && typeof(trigger) == "object") 
		{
			//do nothing... keep it as an object
		}
		else
		{
			//make the images clickable
			trigger = objBannerImages;
		}
				
		//Slide banners vertically
		if (orient == "vertical")
		{	
			objBanner.height(iBannerHeight);
			trigger.click(function() {
				iBannerY -= iImgH;
				((-1*iBannerY) == iBannerHeight) ? iBannerY = 0 : "";
				objBanner.animate( { 'marginTop' : iBannerY }, iSpeed, strEasing );
			});
		}

		//Slide banners horizontally
		if (orient == "horizontal")
		{			
			objBanner.width(iBannerWidth);
			trigger.click(function() {
				iBannerX -= iImgW;
				((-1*iBannerX) == iBannerWidth) ? iBannerX = 0 : "";
				objBanner.animate( { 'marginLeft' : iBannerX }, iSpeed, strEasing );
			});
		}
		

	};   
})(jQuery);
