/* Author: i-mouse.net */

$(document).ready(function() {
	
	//***Custom Battery Packs***//
	
	$( "#accordion" ).accordion({collapsible: true,autoHeight: false,navigation: true});

	$('.init').draggable();
	$('.init').addClass("item");
	$('.init').removeClass("ui-draggable init");
	$(".item").draggable({
		containment: "#drop-zone",
		revert: 'valid', 
		stack: ".item",
		snap: ".item", 
		opacity: 0.35
	});
	
	$('#trash').droppable({
		greedy: 'true',
		accept: ".item",
		drop: function( event, ui ) {
			ui.draggable.detach();
			$(this).css({'background-position':'-60px'});
		}	
	});

	
	$(".side").draggable({revert: 'invalid', helper:'clone'});
	$(".connector").draggable({revert: 'invalid', helper:'clone'});
	$(".h-top").draggable({revert: 'invalid', helper:'clone'}); 
	$(".v-top").draggable({revert: 'invalid', helper:'clone'});   
	
	$(".drop").droppable({
		accept: ".side, .connector, .h-top, .v-top",
        drop: function(event, ui) {
				$(this).append($(ui.draggable).clone().addClass("item"));
                $(".item").removeClass("ui-draggable side");
				$(".item").removeClass("ui-draggable connector");
				$(".item").removeClass("ui-draggable h-top");
				$(".item").removeClass("ui-draggable v-top");
                $(".item").draggable({
					containment: "#drop-zone",
					revert: 'valid', 
					stack: ".item",
					snap: ".item", 
					opacity: 0.35
				});		
        }
    });
	
	$('#redo').click(function(){
		self.location.reload(); 
		return false;
	});
	
	/***End Custom Battery Packs***/
	
	
	$('#slider').nivoSlider({
        effect:'random', 
        startSlide:0,
        directionNav:false,
        controlNav:false,
        pauseOnHover:true
    });
	
	
	$(".content").equalHeights();
	
	$("h2.bristol").click(function () {
		$("address.swindon").slideUp("slow");
		$("address.exeter").slideUp("slow");
		$("address.plymouth").slideUp("slow");
		$("address.truro").slideUp("slow");
		if ($("address.bristol").is(':visible')) {
			$("address.bristol").slideUp("slow");
		}else{
			$("address.bristol").slideDown("slow");
		}
	});
	
	$("h2.swindon").click(function () {
		$("address.bristol").slideUp("slow");
		$("address.exeter").slideUp("slow");
		$("address.plymouth").slideUp("slow");
		$("address.truro").slideUp("slow");
		if ($("address.swindon").is(':visible')) {
			$("address.swindon").slideUp("slow");
		}else{
			$("address.swindon").slideDown("slow");
		}
	});
	
	$("h2.exeter").click(function () {
		$("address.bristol").slideUp("slow");
		$("address.swindon").slideUp("slow");
		$("address.plymouth").slideUp("slow");
		$("address.truro").slideUp("slow");
		if ($("address.exeter").is(':visible')) {
			$("address.exeter").slideUp("slow");
		}else{
			$("address.exeter").slideDown("slow");
		}
	});
	
	$("h2.plymouth").click(function () {
		$("address.bristol").slideUp("slow");
		$("address.swindon").slideUp("slow");
		$("address.exeter").slideUp("slow");
		$("address.truro").slideUp("slow");
		if ($("address.plymouth").is(':visible')) {
			$("address.plymouth").slideUp("slow");
		}else{
			$("address.plymouth").slideDown("slow");
		}
	});
	
	$("h2.truro").click(function () {
		$("address.bristol").slideUp("slow");
		$("address.swindon").slideUp("slow");
		$("address.exeter").slideUp("slow");
		$("address.plymouth").slideUp("slow");
		if ($("address.truro").is(':visible')) {
			$("address.truro").slideUp("slow");
		}else{
			$("address.truro").slideDown("slow");
		}
	});
		
	$("p.technical").click(function () {
		if ($("ul.staff-data").is(':visible')) 
		{
			$("ul.staff-data").slideUp("slow");
		}
		
		if ($("ul.promotions").is(':visible'))
		{
			$("ul.promotions").slideUp("slow");
		}
		
		if ($("ul.technical-data").is(':visible')) 
		{
			$("ul.technical-data").slideUp("slow");
		}
		else
		{
			$("ul.technical-data").slideDown("slow");
		}
	});
	
	$("p.staff").click(function () {
		if ($("ul.technical-data").is(':visible')) 
		{
			$("ul.technical-data").slideUp("slow");
		}
		
		if ($("ul.promotions").is(':visible'))
		{
			$("ul.promotions").slideUp("slow");
		}
		
		if ($("ul.staff-data").is(':visible')) 
		{
			$("ul.staff-data").slideUp("slow");
		}
		else
		{
			$("ul.staff-data").slideDown("slow");
		}
	});
	
	$("p.promotions").click(function () {
		if ($("ul.technical-data").is(':visible')) 
		{
			$("ul.technical-data").slideUp("slow");
		}
		
		if ($("ul.staff-data").is(':visible'))
		{
			$("ul.staff-data").slideUp("slow");
		}
		
		if ($("ul.promotions").is(':visible'))
		{
			$("ul.promotions").slideUp("slow");
		}
		else
		{
			$("ul.promotions").slideDown("slow");
		}
	});
	
	$("#keywords").focus(function() {
	if( this.value == this.defaultValue ) 
	{
		this.value = "";
	}
	}).blur(function() {
	if( !this.value.length ) 
	{
		this.value = this.defaultValue;
	}

	});
	
	/***Solar Energy Calculations***/
	
	$("input[name^='energy-sum']").attr("disabled","disabled");
	$("input[name^='ah-sum']").attr("disabled","disabled");
	$("input[name^='energy-total']").attr("disabled","disabled");
	$("input[name^='ah-total']").attr("disabled","disabled");
	$("input[name^='total-watts']").attr("disabled","disabled");
	
	$("#solar_0_energy").calc(
		"qty * power * use",
		{
			qty: $("#solar_0_quantity"),
			power: $("#solar_0_power"),
			use: $("#solar_0_use")
		},
		function (s){
			return s.toFixed(2);
		}
	);
	
	$("#energy-total").val($("input[name^='energy-sum']").sum().toFixed(2));
	
	$("#solar_0_ah").calc(
		"energy / 12",
		{
			energy: $("#solar_0_energy")
		},
		
		function (s){
			return s.toFixed(2);
		}	
	);
			
	$("#ah-total").val($("input[name^='ah-sum']").sum().toFixed(2));
	
	
	$("input#sun-hours,input#solar-panel-size").change(function() {
		
		$("#total-watts").calc(
			"size * hours * 0.85",
			{
				size: $("#solar-panel-size"),
				hours: $("#sun-hours") 
			},
			
			function (s){
				return s.toFixed(2);
			}	
		);
	});
	
	
	$("input").change(function() {
		
		$("#min-ah").calc(
			"ah* 4 * 1.7",
			{
				ah: $("#ah-total").val($("input[name^='ah-sum']").sum().toFixed(2))
			},
			
			function (s){
				return s.toFixed(2);
			}	
		);
	});
			
	
		


	$("button").click(function() {
		
		var $newrow = $("tbody#main>tr:last").clone(true);
		
		$newrow.find('input').each(function() {
        var $this = $(this);
        $this.attr('id', $this.attr('id').replace(/_(\d+)_/, function($0, $1) {
            return '_' + (+$1 + 1) + '_';
        }));
		
        $this.attr('name', $this.attr('name').replace(/\[(\d+)\]/, function($0, $1) {
            return '[' + (+$1 + 1) + ']';
        }));
        $this.val('');
    	});
		
		$newrow.insertAfter('tbody#main>tr:last');

    });
	
	
	$("input").change(function() {
		
		var i = 0;
		
		$("tbody#main").find(".solar-energy").each(function(){
			$("#solar_" + i + "_energy").calc(
				"qty * power * use",
				{
					qty: $("#solar_" + i + "_quantity"),
					power: $("#solar_" + i + "_power"),
					use: $("#solar_" + i + "_use")
				},
				function (s){
					return s.toFixed(2);
				}
			);
			
			
			$("#energy-total").val($("input[name^='energy-sum']").sum().toFixed(2));
			
			$("#solar_" + i + "_ah").calc(
				"energy / 12",
				{
					energy: $("#solar_" + i + "_energy")
				},
				function (s){
					return s.toFixed(2);
				}
			);
			
			$("#ah-total").val($("input[name^='ah-sum']").sum().toFixed(2));	
			
			i++
			
		});
	});
	
	/***End Solar Energy Calculations***/
			
});
