 $(document).ready(function(){
	
	$("form#selector input").val('');
	
	var usage = 'internal';
	var usageltrs = 0;
	var ability = '';
	var suggested = '';
	var prevstep = '';
	var fortnightly = 0;
	var curstep = 'step1';
	var remainder = 0;

	$(".graf-btn").click(function(event){ 
	
		event.preventDefault();
	    
		prevstep = $(this).attr("alt");
		if(checkStep(prevstep) == false){return false};
		curstep = "step"+(parseInt(prevstep.substr(4))+1);
		
		//compile next step
		
		if(curstep!="step6"){ 
			nextStep() 
			}else{ curstep="step5"};
		
   	});

//////////// Change Usage Radio Button

/*	$("input[name='usage']").change(function () {
	
		var usageradio = $("input[name='usage']:checked").val();
	
		switch(usageradio){
		case 'indoor': usageltrs = 230; break;
		case 'outdoor': usageltrs = 430; break;
		case 'both': usageltrs = 650; break;
		};
		$("#litres").val(usageltrs);
		
   	}); */
   	
   	
//////////// Step Bar clicked

   	 $(".stepbar").click(function(){
		var barstep = $(this).attr("id");
			
   		if (parseInt(barstep.substr(4))<parseInt(curstep.substr(4))){
   			prevstep = curstep;
   			curstep = barstep; 			
   			nextStep();
   		};
   	});

//////////// Select Lid

   	$(".selectlid").click(function(event){
   		$(".selectlid .selected").hide();
		event.preventDefault();
		$("#Pstep3").val($(this).attr("id"));
   		$(".selected", this).show();
   		$(".selectlid.current").removeClass("current");
   		$(this).addClass("current");
   	
   	});

//////////// Select Optional Lid

   	$(".selectlidoptional").click(function(){
		
		if($("#Pstep3opt").val()==0){ 
			$("#Pstep3opt").val(1);
			$(".selected", this).show();
	   		$(this).addClass("currentopt");
		} else {
			$("#Pstep3opt").val(0);
			$(".selected", this).hide();
	   		$(this).removeClass("currentopt");
		};   	
   	});
   	
//////////// Select Optional Filter

   	$(".extensionfilter").click(function(){
   	
		
		if(usage=="internal"&&$("#Pstep4").val()!="1908909")
		{
				$(this).attr('checked', false);
		   		$("#Pstep4opt").val(0);
				return false;
		};

		if(usage=="external"&&$("#Pstep4").val()!="9501260")
		{
				$(this).attr('checked', false);
		   		$("#Pstep4opt").val(0);
				return false;
		};
		
		if($("#Pstep4opt").val()==0){ 
			$("#Pstep4opt").val(1);
	   		//$(this).addClass("currentopt");
		} else {
			$("#Pstep4opt").val(0);
	   		//$(this).removeClass("currentopt");
		};   	
   	});

//////////// Select Filter
   	
	$(".selectfilter").click(function(event){
		event.preventDefault();
		$("#Pstep4").val($(this).attr("id"));   	
   		$(".selectfilter").removeClass("current");
   		$(this).addClass("current"); 	
   		
   		if($(this).attr('id')!="1908909"||$(this).attr('id')!="9501260"){
	   		$(".extensionfilter").attr('checked', false);
	   		$("#Pstep4opt").val(0);
   		}


      		
   	});


//////////// Select Filter
   	
	$(".selectpump").click(function(event){
		event.preventDefault();
		var thisPump = "#"+$(this).attr('id');
		selectPump(thisPump);

   	});


	function selectPump(thisPump){
	
	
		$(".pump-div .current").removeClass("current");
		$(thisPump).addClass("current");

		if(thisPump=='#pumpopt1'||thisPump=='#pumpopt2'){
				$("#Pstep5").val('');
				$("#Pstep5opt").val('1');		
			} else {
				$("#Pstep5opt").val('');
				$("#Pstep5").val($(thisPump).attr('id'));			
			};
			
		$("#formComplete").fadeIn();
	
	};

   	
   	function nextStep(){

		$(".qtip").hide();	
   	
		$("#"+prevstep+"content").slideUp(function(){
		
		$("#grafsel h3.current").removeClass("current");
		$("#grafsel h3#"+curstep).addClass("current");
				
		switch(curstep){
		case 'step1': makeStep1(); break;
		case 'step2': makeStep2(); break;
		case 'step3': makeStep3(); break;
		case 'step4': makeStep4(); break;
		case 'step5': makeStep5(); break;
		};
		
	});
   	
   	};

//////////// Validate step 1


	function checkStep(step){

		switch(prevstep){
		case 'step1': 
			if(postcodeValidate($("#postcode").val())==false){ alert('Please enter a postcode'); return false }; 
			if(!$("input[name='usage']:checked").val()){ alert('Please select a usage'); return false }; 
			if($("#area").val()==''){ alert('Please enter a roof area'); return false }; 
//			if($("input[name='usage']:checked").val() == 'outdoor'||$("input[name='usage']:checked").val()=="both"||parseInt($("#area").val())>349){ usage = 'external'} else { usage = 'internal' };
			if(parseInt($("#area").val())>350){ usage = 'external'} else { usage = 'internal' };

	
			$("#Pcode").val($("#postcode").val());
			$("#Pusage").val($("input[name='usage']:checked").val());
			$("#Parea").val($("#area").val());
			
			calculateUsage();
				
			break;
			
		case 'step2':
			if($("#Pstep2").val()==''){ alert('Please select a tank size'); return false }; break;
		case 'step3': 
			if($("#Pstep3").val()==''){ alert('Please select a lid'); return false }; break;
		case 'step4':
			if($("#Pstep4").val()==''){ alert('Please select a filter option'); return false }; break;
		case 'step5': break;
		};
		
		
		
	
	};
		
	
//////////// Calculate Usage
	

	function calculateUsage(){
					
			var roofarea = $("#area").val();
			var postcode = parseInt($("#postcode").val());
			var rainfall = 0;
			var perday = 0;
			
			if(postcode > 2000 && postcode < 2999) rainfall = 450; //nsw
			if(postcode > 3000 && postcode < 3999) rainfall = 650; //victoria
		
			perday = (rainfall/365) * roofarea;
			fortnightly = $("#litres").val()*14;
			
			$(".totalcapacity span").html(fortnightly + ' Litres');
			
			suggested = calculateSize(fortnightly);

	};
	
	function calculateSize(fortnightly)
	{	
	
		if(fortnightly < 6500)
		{
		//don't need an extension
		if(parseInt(fortnightly)<2500){ clearExtensions(); return "9501241"};
		if(parseInt(fortnightly)<3750){ clearExtensions(); return "9501242"}; 
		if(parseInt(fortnightly)<4800){ clearExtensions(); return "9501243"; }; 		
		if(parseInt(fortnightly)<6500){ clearExtensions(); return "9501244"; }; 		
		}
		
		else
		{		
		
		extension = fortnightly - 6500;
			
		var extensions6500 = 0;
		var extensions4800 = 0;
		var extensions3750 = 0;
		var extensions2500 = 0;

		clearExtensions();
		
		if(parseInt(fortnightly)<7500){  $("#qty-9501229").val(1); $("#9501229").addClass("active"); return "9501242"};

		if(parseInt(fortnightly)<9600){  $("#qty-9501230").val(1); $("#9501230").addClass("active"); return "9501243"};
	
		
			while(extension > 0)
			{
							
				if(extension > 6500)
				{
					$("#9501250").addClass("active");
					extensions6500 = Math.floor(extension/6500);
					extension = extension % 6500;
				}
		/*		else if(extension > 4800)
				{
					$("#9501250").addClass("active");
					extensions6500++;
					break;					
				}
				else if(extension > 3750)
				{
					$("#9501230").addClass("active");
					extensions4800++;
					break;							
				}
				else if(extension > 2500)
				{
					$("#9501229").addClass("active");
					extensions3750++;
					break;												
				}
				else
				{
					$("#9501228").addClass("active");				
					extensions2500++;
					break;
				}*/
				else
				{
					$("#9501250").addClass("active");
					extensions6500++;
					break;		
				}
			}
			

		$("#qty-9501250").val(extensions6500);
		$("#qty-9501230").val(extensions4800);
		$("#qty-9501229").val(extensions3750);
		$("#qty-9501228").val(extensions2500);
			
		return "9501244"
			
		}

	};
	
	
	function clearExtensions(){
	
		$("#qty-9501250").val(0);
		$("#qty-9501230").val(0);
		$("#qty-9501229").val(0);
		$("#qty-9501228").val(0);
		$("#9501250").removeClass("active");
		$("#9501230").removeClass("active");
		$("#9501229").removeClass("active");
		$("#9501228").removeClass("active");
	
	};

	
	

//////////////////////////////////////////////////////////// Make Steps


	function makeStep1(){
	
		$(".sizeqty input").val(0);

		doslidedown(curstep);
	
	};
	
	function makeStep2(){
		
		sizeselect(suggested);  //select suggested size
		
		$("#"+suggested).qtip({
			   show:  {ready: true},
   				  position: {
				  corner: {
					 target: 'topMiddle',
					 tooltip: 'bottomMiddle'
				  }
			   },
			   content: '<p style="margin-top:0;">Based on the information you supplied on the previous page, we would recommend the highlighted tank size.</p><p style="font-size:10px;">(This is  intended to be a guide only. You could choose an alternative sized tank if you wish.)</p>',
			  style: { 
			  	tip: 'bottomMiddle',
			      name: 'dark' // Inherit from preset style
			   },
			   api: {
				  onShow: function() {
					 setTimeout(this.hide, 5000)
				  }
				}
			}); 
	
		doslidedown(curstep);
	
	};
	
	function makeStep3(){
	
		$("#qty9501250").val($("#qty-9501250").val());
		$("#qty9501230").val($("#qty-9501230").val());
		$("#qty9501229").val($("#qty-9501229").val());
		$("#qty9501228").val($("#qty-9501228").val());
		$("#Pstep2qty").val($("#step2content a.current input").val());
	
		$(".filter-div").hide();
		$("#filter-"+usage).show();
		
		doslidedown(curstep);
	
	};
	
	function makeStep4(){
		
		doslidedown(curstep);
	
	};
	
	function makeStep5(){

		var usageDiv = '';
		
		$(".pump-div").hide();
		$("#pump-internal").show();
		
/*		if(usage=="external"){ 
			usageDiv="pumpopt2";
			$("#Pstep5").val(usageDiv);
			selectPump("#pumpopt2");
		}*/
		
		doslidedown(curstep);
	
	};
	
	
	function doslidedown(step){
		scrollWin();
		$("#"+step+"content").slideDown();
	};


////////////////////////////////////////////////////////////////////////



//////////// Select Size
   
   
   	$(".size").click(function(event){
		event.preventDefault();
		sizeselect($(this).attr("id"));   	
   	});
   	
   	function sizeselect(id){
		$(".sizes a.size input").val("").hide();
		$("input", "#"+id).val("1").show();
		$("#Pstep2").val(id);   	
   		$("div.sizes a.current").removeClass("current");
   		$("#"+id).addClass("current");
   	};
   	
	$(".sizeqty input").change(function () {
	
	if ($(this).val()==0){
			$(this).parent().removeClass("active");
		}else{
			$(this).parent().addClass("active");
		}
   	
   	});


/// tooltips

	$('.selectfilter').each( function() {
		
			var thisid = $(this).attr('id');			
			var thishtml= $("#"+thisid+" .filterdesc").html();
			
			$(this).qtip({
			   show: 'mouseover',
			   hide: 'mouseout',
			   position: {
				  corner: {
					 target: 'topMiddle',
					 tooltip: 'bottomMiddle'
				  }
			   },
			   content: thishtml,
			  style: { 
			  	tip: 'bottomMiddle',
			      name: 'dark' // Inherit from preset style
			   }
			});
			
		}); 

	$('a.tooltip[title]').qtip({ 
			   show: 'mouseover',
			   hide: 'mouseout',
			   position: {
			   	  corner: {
					 target: 'topMiddle',
					 tooltip: 'bottomMiddle'
				  }},
			  	style: {
			  	tip: 'bottomMiddle',
			   	name: 'dark' // Inherit from preset style
			   } 
		});

	$('#step5content .current').each( function() {
		
			var thisid = $(this).attr('id');			
			var thishtml= $("#"+thisid+" .filterdesc").html();
			
			$(this).qtip({
			   show: 'mouseover',
			   hide: 'mouseout',
			   position: {
				  corner: {
					 target: 'topMiddle',
					 tooltip: 'bottomMiddle'
				  }
			   },
			   content: thishtml,
			  style: {
			  	tip: 'bottomMiddle',
			      name: 'dark' // Inherit from preset style
			   }						 
			});
			
		});
		
	$('.step4optional').qtip({
			   show: 'mouseover',
			   hide: 'mouseout',
			   position: {
				  corner: {
					 target: 'rightMiddle',
					 tooltip: 'leftMiddle'
				  }
			   },
			   content: "<b style='font-size:14px; color:red;'>Only for the Optimax Filter</b><br/><ul><li>Intense water jet for cleaning the filter sieve</li><li>Routine maintenance intervals are kept to a minimum </li></ul>",
			  style: { 
			  	tip: 'leftMiddle',
			      name: 'dark' // Inherit from preset style
			   }
			});
			

});

function postcodeValidate(postcode){
		if(isNaN(postcode)) return false;				
		if(postcode<200||postcode>9999||postcode.length<4) return false; 			
};

function previewForm(targ){
	var win = window.open('', targ, 'resizable=1,scrollbars=1,width=700,height=700');
}

function scrollWin(){
	$('html').animate({
		scrollTop: $("#grafselTop").offset().top
	}, 500);
}





















