

$(document).ready(function() {
	//features
	new function() {
		var viewport = $(".viewport a");
		var index = -1;
		var size = viewport.length - 1;
		var offset = 210;
		var speed = 250;
		viewport.css("left", -offset).each(function() {
			$(this).css("top", this.offsetHeight < 30 ? "45px" : "35px");
		});
		var slide = function() {
			if (index > -1) $(viewport[index]).animate({left : offset}, {
				duration : speed,
				complete : function() {$(this).css("left", -offset);}
			});
			index = index == size ? 0 : index + 1;
			$(viewport[index]).animate({left : "15px"}, {duration : speed});
		};
		slide();setInterval(slide, 3000);
	};
	
	// company
	new function() {
		var currentCompany = location.hash.substring(1) || "about";
		scrollTo(0, 0);
		$("." + currentCompany + " a").css("backgroundPosition", "145px").css("paddingLeft", 0).css("paddingRight", 50);
		$("#" + currentCompany).css("left", 0);
		$(".topics").addClass("slider");
		$(".secondary li a").click(function() {
			var newCompany = this.hash.substring(1);
			if (currentCompany != newCompany) {
				$("." + currentCompany + " a").animate({paddingLeft : 50, paddingRight : 0, backgroundPosition : 0});
				$(this).animate({paddingLeft : 0, paddingRight : 50, backgroundPosition : "145px"});
			}
			$(".secondary li a").removeClass("selected");
			$(this).addClass("selected")
			$(".topic:not(#" + newCompany + ")").animate({left : "-650px"},"fast");
			$("#" + newCompany).animate({left : 0});
			currentCompany = newCompany;
			return false;
		})
	};
	
	//product
	new function() {
		var currentProduct = location.hash.substring(1) || "fireengine";
		scrollTo(0, 0);
		$("." + currentProduct + " a").css("backgroundPosition", "145px").css("paddingLeft", 0).css("paddingRight", 50);
		$("#" + currentProduct).css("left", 0);
		$(".topics").addClass("slider");
		$(".secondary li a").click(function() {
			var newProduct = this.hash.substring(1);
			if (currentProduct != newProduct) {
				$("." + currentProduct + " a").animate({paddingLeft : 50, paddingRight : 0, backgroundPosition : 0});
				$(this).animate({paddingLeft : 0, paddingRight : 50, backgroundPosition : "145px"});
			}
			$(".secondary li a").removeClass("selected");
			$(this).addClass("selected")
			$(".topic:not(#" + newProduct + ")").animate({left : "-650px"},"fast");
			$("#" + newProduct).animate({left : 0});
			currentProduct = newProduct;
			return false;
		})
	};
	
	//services
	new function() {
		var currentService = location.hash.substring(1) || "webdev";
		scrollTo(0, 0);
		$("." + currentService + " a").css("backgroundPosition", "145px").css("paddingLeft", 0).css("paddingRight", 50);
		$("#" + currentService).css("left", 0);
		$(".topics").addClass("slider");
		$(".secondary li a").click(function() {
			var newService = this.hash.substring(1);
			if (currentService != newService) {
				$("." + currentService + " a").animate({paddingLeft : 50, paddingRight : 0, backgroundPosition : 0});
				$(this).animate({paddingLeft : 0, paddingRight : 50, backgroundPosition : "145px"});
			}
			$(".secondary li a").removeClass("selected");
			$(this).addClass("selected")
			$(".topic:not(#" + newService + ")").animate({left : "-650px"},"fast");
			$("#" + newService).animate({left : 0});
			currentService = newService;
			return false;
		})
	};
	
	//client
	new function() {
	    var currentClient = location.hash.substring(1) || "clientsmenu";
	    $("." + currentClient + " a").css("backgroundPosition", "145px").css("paddingLeft", 0).css("paddingRight", 50);
		$("#" + currentClient).css("left", 0);
		$(".controls").removeClass("disabled");
		$(".secondary li a").click(function() {
			var newClient = this.hash.substring(1);
			if (currentClient != newClient) {
				$("." + currentClient + " a").animate({paddingLeft : 50, paddingRight : 0, backgroundPosition : 0});
				$(this).animate({paddingLeft : 0, paddingRight : 50, backgroundPosition : "145px"});
			}
			$(".secondary li a").removeClass("selected");
			$(this).addClass("selected")
			$(".topic:not(#" + newClient + ")").animate({left : "-650px"},"fast");
			$("#" + newClient).animate({left : 0});
			currentClient = newClient;
			return false;
		})
	};
	
	//client websites
	new function() {
	    var sites = $(".site1");
	    var dolly = {el : $(".dolly1"), size : sites.length - 1, resolution : -parseInt($(sites).css("width")), position : 0, lock : false};
	    
	    $(".sites1").addClass("display");
	    $(".back1").click(function() {
		    if (!dolly.lock) {
			    dolly.lock = true;
			    var position = dolly.position ? dolly.position - 1 : dolly.size;
			    var left = dolly.resolution * position + "px";
			    dolly.el.animate({left : left}, {complete: function() {dolly.lock = false;}});
			    dolly.position = position;
		    }
		    return false;
	    });
	    $(".next1").click(function() {
		    if (!dolly.lock) {
			    dolly.lock = true;
			    var position = dolly.position == dolly.size ? 0 : dolly.position + 1;
			    var left = dolly.resolution * position + "px";
			    if (position > 0)
				    dolly.el.animate({left : left}, {complete: function() {dolly.lock = false;}});
			    else
				    dolly.el.animate({left : left}, 10, "linear", function() {dolly.lock = false;});
			    dolly.position = position;
		    }
		    return false;
	    });
	};
	
	//client applications
	new function() {
	    var sites = $(".site2");
	    var dolly = {el : $(".dolly2"), size : sites.length - 1, resolution : -parseInt($(sites).css("width")), position : 0, lock : false};
	    $(".sites2").addClass("display");
	    $(".back2").click(function() {
		    if (!dolly.lock) {
			    dolly.lock = true;
			    var position = dolly.position ? dolly.position - 1 : dolly.size;
			    var left = dolly.resolution * position + "px";
			    dolly.el.animate({left : left}, {complete: function() {dolly.lock = false;}});
			    dolly.position = position;
		    }
		    return false;
	    });
	    $(".next2").click(function() {
		    if (!dolly.lock) {
			    dolly.lock = true;
			    var position = dolly.position == dolly.size ? 0 : dolly.position + 1;
			    var left = dolly.resolution * position + "px";
			    if (position > 0)
				    dolly.el.animate({left : left}, {complete: function() {dolly.lock = false;}});
			    else
				    dolly.el.animate({left : left}, 10, "linear", function() {dolly.lock = false;});
			    dolly.position = position;
		    }
		    return false;
	    });
	};
});

