	$(document).ready(function() {
	
	$('.driver').live('click', function() {
		$('.followergears').hide();
		$('#motors').hide();
    var myid = this.id.replace("d-", "");
		$('#d-' + myid).removeClass("wg1 g8 g12b g12db g14 g16 g16wc g20b g20bo g20db g24 g24c g24wc d24 d28n d28o g36 g40 t57n t57o g168");
		$('#dg-' + myid).slideDown("fast");
	});

	$('.d').live('click', function() {
		$('.drivergears').hide();
		var myid = this.id.split("-");
		if (myid[2] != 'c')
		{
			$('#d-' + myid[1]).addClass(myid[0]);
			getRatio(myid[1]);
		}
		else
		{
			$('#o-' + myid[1]).empty();
			getTotalRatio($('#pair').val());	
		}
	});	
	
	$('.follower').live('click', function() {
		$('.drivergears').hide();
		$('#motors').hide();
    var myid = this.id.replace("f-", "");
		$('#f-' + myid).removeClass("wg1 g8 g12b g12db g14 g16 g16wc g20b g20bo g20db g24 g24c g24wc d24 d28n d28o g36 g40 t57n t57o g168");
		$('#fg-' + myid).slideDown("fast");
	});

	$('.f').live('click', function() {
		$('.followergears').hide();
		var myid = this.id.split("-");
		if (myid[2] != 'c')
		{
			$('#f-' + myid[1]).addClass(myid[0]);
			getRatio(myid[1]);
		}
		else
		{
			$('#o-' + myid[1]).empty();
			getTotalRatio($('#pair').val());	
		}
	});	

	$('#drive-motor').click(function() {
		$('.followergears').hide();
		$('.drivergears').hide();
		$('#drive-motor').removeClass("mpfm mpfxl mnxt mrc1 mrc2 m71427 m43362 m47154 m2838 mtrain mmicromotor");
		$('#motors').slideDown("fast");
	});

	$('.m').click(function() {
		$('#motors').hide();
		var myid = this.id;
		if (myid != 'clear')
		{
			$('#drive-motor').addClass(myid);
			getSpeed();
		}
		else
			$('#m-output').empty();
	});	

	function getSpeed(){
		var ratios = $('#storer').val().split(":");
		var motor = $('#drive-motor').attr('class').split(' ').slice(-1);
		if(motor == null)
				motor = '0';
		$('#m-output').html('<div class="loading"></div>');
		$('#m-output').load('getspeed.php?d=' + ratios[0] + "&f=" + ratios[1] + "&m=" + motor);
	}

	function getRatio(j){
		var driver = $('#d-' + j).attr('class').split(" ");
		var follower = $('#f-' + j).attr('class').split(" ");
		
		if (driver[1] != null && follower[1] != null)
		{
			var stringAsFloat = function (string) {return parseFloat(string.replace(/\./g, '').replace(/,/g,'.').replace(/[^\d\.]/g,''), 10);}
			var driver = stringAsFloat(driver[1]);
			var follower = stringAsFloat(follower[1]);
			$('#o-' + j).html('<div class="loading"></div>');
			$('#o-' + j).load('calculate.php?d=' + driver + "&f=" + follower + "&p=" + j, function() {
				getTotalRatio(j);
			});
		}
	}
	
	function getTotalRatio(j){
		var dt = 1;
		var ft = 1;

		for( i=0; i < j; i++)
		{
			var x = parseInt(i) + 1;
			var ratio = $('#r-' + x).val();
			if(ratio == null)
				ratio = '1:1';
			ratio = ratio.split(":");
			dt = dt * ratio[0];
			ft = ft * ratio[1];						
		}
		$('#total').show().html('<div class="excerpt"><div class="loading"></div></div>');
		$('#total').load('calculate_total.php?d=' + dt + "&f=" + ft, function() {
			$('#speed').slideDown();
			getSpeed();
		});
	}
	
	$('#add').click(function() {
		var p = parseInt($('#pair').val()) + 1;
		if (p > 25)
		{
			alert("Sorry, there is a maximum limit of 25 pairs of gears.");
			return false;
		}
		else
		{
			$('#extras').append('<div class="extra" id="e-' + p + '"></div>');
			$('#e-' + p).load('render.php?p=' + p, function() {
				$('#e-' + p).slideDown();
			});
			$('#pair').val(p);
			return false;
		}
	});	
	
	$('.close').live('click', function() {
		var myid = this.id.replace("close-", "");
		$('#w-' + myid).slideUp('fast');
		$('#w-' + myid).empty();
		getTotalRatio($('#pair').val());	
		return false;
	});	
	
	$('.liftarm').click(function() {
		$('.liftarm').removeClass("active");
		var locator = this.id;
		$('#' + locator).addClass("active");
		var v = this.id.replace("l-", "");
		$('#c-output').load('coupler.php?c=liftarm&v=' + v, function() {
				$('#c-output').slideDown();
			});
	});	

	$('.brick').click(function() {
		$('.brick').removeClass("active");
		var locator = this.id;
		$('#' + locator).addClass("active");
		var v = this.id.replace("b-", "");
		$('#c-output').load('coupler.php?c=brick&v=' + v, function() {
				$('#c-output').slideDown();
			});
	});	

	$('#liftarms').click(function() {
		$('#bricks').removeAttr("checked")
		$('.brick').removeClass("active");
		$('#c-liftarms').show();
		$('#c-bricks').hide();		
		$('#c-output').empty();
		$('#c-output').hide();		
	});	

	$('#bricks').click(function() {
		$('#liftarms').removeAttr("checked")
		$('.liftarm').removeClass("active");
		$('#c-liftarms').hide();
		$('#c-bricks').show();		
		$('#c-output').empty();
		$('#c-output').hide();		
	});	

	});
