$(document).ready(function() {
	slide.init();
	html.links();
	html.services();
	html.lists();
});

html = {
	links: function() {
		$("a[rel=external]").attr({target: "blank"});
	},
	
	services: function() {
		$("div.col-right").after('<div class="cleaner"></div>');
	},
	
	lists: function() {
		$("div.widget ul").each(function() {
			$(this).children("li").eq(0).addClass("first");
		});
	}
}

slide = {
	current: 0,
	interval: null,
	idleTimeout: null,
	
	init: function() {
		slide.slides = $("div.slide");
		slide.controls = $("div.slide-control a");
		slide.lists = $("div.slide-control li");
		slide.images = $("div.slide-image");
		slide.texts = $("div.slide-text");
		slide.slider = $("div.slider");
		
		slide.automate();
		
		slide.slides.click(function() {
			slide.stopSlider();
		});
		
		slide.controls.each(function(i, item) { 
			$(this).bind("click", { index: i }, slide.buttonClick)
		});
	},
	
	show: function(i, automated) {
		if (slide.current != i) {
			slide.lists.removeClass("selected");
			slide.lists.eq(i).addClass("selected");
			slide.slides.eq(i).animate({ left: "0px" }, 450, "swing", function() { });
			slide.slides.eq(slide.current).animate({ left: "-620px" }, 450, "swing", function() {
				slide.slides.each(function(index, item) {
					if (index != i) {
						$(this).css({ left: "620px" });
					}
				});
				slide.current = i;
			});
		}
	},
	
	automate: function() {
		slide.interval = setInterval(function() {
			if (slide.current == slide.slides.length-1) {
				slide.show(0);
			}
			else {
				slide.show(slide.current+1);
			}			
		}, 7000);
	},
	
	buttonClick: function(event) {
		//slide.controls.unbind();		
		slide.show(event.data.index);
		slide.stopSlider();
	},
	
	stopSlider: function() {
		clearInterval(slide.interval);
		clearTimeout(slide.idleTimeout)
		slide.idleTimeout = setTimeout(function() {
			slide.automate();
		}, 5000);
	}
}

