/**
 * 10.28.11	MDC rotates indefinitely
 */
function clearForm() {
	$("#clientlogin").find(":text,:password").val('');
}

var Slider = {
	seconds: 10,
	img_w : null,
	timer : null,
	currentIndex: 0,

	start : function () {
		Slider.img_w = $("#slider").width();
		Slider.timer = setInterval(Slider.next, Slider.seconds*1000);
		
		Slider.buildControls();
	},
	
	stop : function () {
		clearInterval(Slider.timer);
	},
	
	buildControls : function () {
		$("#slider .images .imgbox").each(function(i,e){
			var $btn = $('<div class="btn"><div class="btn_on"></div></div>')
						.hover(
							function(){ $(this).addClass("btn_over"); },
							function(){ $(this).removeClass("btn_over"); }
						)
						.click(function(){
							Slider.stop();
							Slider.showImage(i);
						});
			
			if (i > 0) {
				$btn.find('div.btn_on').hide();
			}
			
			$("#slider .controls").prepend($btn);
		});
	},

	showImage : function (index) {
		Slider.currentIndex = index;
		
		var left = $("#slider .images .imgbox").eq(index).position().left;

		$("#slider .images").animate({left:"-"+left+"px"});
		$("#slider .controls div.btn > div").fadeOut('fast');
		$("#slider .controls div.btn").eq(-(index+1)).find('div.btn_on').fadeIn('fast');
	},

	prev : function (e) {
		if (e != undefined) {
			Slider.stop();
		}
		
		if (Slider.currentIndex > 0) {
			Slider.showImage(Slider.currentIndex - 1);
		}
	},

	next : function (e) {
		if (e != undefined) {
			Slider.stop();
		}
		
		if (Slider.currentIndex < $("#slider .images .imgbox").length - 1) {
			Slider.showImage(Slider.currentIndex + 1);
		} else {
			if (e == undefined) {
				Slider.showImage(0);
			}
		}
	}
	
	
};

var LogoGrid = {
	logos: [],
	used: [],
	replace: [],
	rows: 2,
	cols: 3,
	seconds: 2,
	timer : null,
	
	init: function(logos) {
		LogoGrid.logos = logos;

		var $t = $("<table>")
					.prop({
						cellpadding: 10,
						cellspacing: 0
					})
					.addClass('logos')
					.appendTo("#slider .images .imgbox:first")
				;
		
		for (var row=0; row<LogoGrid.rows; row++) {
			var $tr = $("<tr>").appendTo($t);
			
			for (var col=0; col<LogoGrid.cols; col++) {
				var img = LogoGrid.getNextImage();
				
				$("<td>")
					.css({
						textAlign: "center",
						verticalAlign: "middle"
					})
					.append($("<img>")
						.prop({
							src: "/images/home/logos/" + img.image,
							title: img.company_name
						})
					)
					.appendTo($tr);
			}
		}
		
		if (LogoGrid.logos.length) {
			var preload = [];
			
			for (i=0; i<LogoGrid.logos.length; i++) {
				preload.push(LogoGrid.logos[i].image);
			}
			
			$.preload(preload, { base:'/images/home/logos/' });
			
			LogoGrid.timer = setTimeout(LogoGrid.replaceImage, LogoGrid.seconds*1000);
		}
	},
	
	getNextImage: function() {
		if (LogoGrid.logos.length == 0) {
			LogoGrid.logos = LogoGrid.used;
			LogoGrid.used = [];
		}
		
		var img = LogoGrid.logos.shift();
		LogoGrid.used.push(img);
		
		return img;
	},
	
	replaceImage: function() {
		var img = LogoGrid.getNextImage();
		var $tds = $("#slider .images .imgbox:first table td[class!=replaced]");
		var rand = Math.floor(Math.random() * $tds.length);
		
		$tds.eq(rand)
			.addClass("replaced")
			.find("img")
			.fadeOut("fast", function(e){
				$(this)
					.prop({
						src: "/images/home/logos/" + img.image,
						title: img.company_name
					})
					.fadeIn()
				;
			});

		if ($("#slider .images .imgbox:first table td[class!=replaced]").length == 0) {
			$("#slider .images .imgbox:first table td").removeClass('replaced');
		}
		
		if (!LogoGrid.logos.length) {
			LogoGrid.logos = LogoGrid.used;
			LogoGrid.used = [];
		}

		LogoGrid.timer = setTimeout(LogoGrid.replaceImage, LogoGrid.seconds*1000);
	}
};

$(function(){
	Slider.start();
	
	$("#slider .container").swipe({
		swipeLeft: Slider.next,
		swipeRight: Slider.prev
	});
});

