//requres jquery to be loaded first
burger_state = "1";
burger_prevState = 0;
berger_states = new Array("1","2","3","4","Error");

// counts how much we have in all tabs
function burger_currentAmtAll(){
	return(burger_currentAmt(1)+burger_currentAmt(2)+burger_currentAmt(3));
}

// counts how much we have in a given tab
function burger_currentAmt(burger_tabNo){
	var sum = 0;
	$("#burgerTab"+burger_tabNo+" select").each(function(){
		sum+=this.value*1;
	});
	return sum;
}

function burger_setError(burger_ErrorText){
	$("#burgerTabError p.burgerError").html(burger_ErrorText);
	burger_showTab("Error");
}

function burger_blankSelectionsFrom(burger_tab_num){
	for (i=burger_tab_num+1;i<=3;i+=1){
		$("#burgerTab"+i+' select').val(0);
	}
}

function burger_errorBack(){
	burger_state=burger_prevState;
	burger_prevState=(burger_state*1)-1;
	burger_showTab(burger_state);
}

function burger_showTab(burger_tabName){
	$(".burgerTab:visible").slideUp('medium');
	$("#burgerTab"+burger_tabName).slideDown('medium');
;
}

function burger_transitionBack(){
	burger_state=burger_prevState;
	burger_prevState = (burger_state*1)-1+'';
	burger_blankSelectionsFrom(burger_state*1);
	burger_updateList();
	burger_showTab(burger_state);
}

function burger_sendToBaseket(){
	var queryString = '{"meats":{';
	for (i=1;i<=3;i+=1){
		$("#burgerTab"+i+' select').each(function(){
			if($(this).val()*1!=0){
				queryString+='"'+$(this).attr('id').substring(6)+'":'+$(this).val()+',';
			}
		});
	}
	queryString=queryString.substring(0, queryString.length-1);
	queryString+='},"total":'+$('#burgerAmount').val()+',"note":" "}';
	queryString+='&sourcePage=' + $("#pageinfo").val();
	var nextLocation = "./lib/checker.php?addBurger="+queryString;
	window.location=nextLocation;
}

function burger_updateList(){
		var burger_sum = burger_currentAmtAll()*100;
		var burger_list ='<h2 class="burgerHeader2">Your Burger:</h2>';
		if(burger_sum!=0){
			$(".burgerIngredientSelect").each(function(){
				if($(this).val()*1!=0){
					burger_list += '<span class="burgerContents hidden"><strong>'+$(this).val()*100+'%</strong> '+$(this).parent().parent().find('.burgerName').text()+'</span><br />';
				}
			});
		}else{
			burger_list += '<span class="burgerContents hidden">Nothing yet...</span>';
		}
		burger_list += '<hr /><span class="burgerTotal hidden';
		if(burger_sum>100){burger_list += ' burgerTotalOver';}
		else if(burger_sum==100){burger_list += ' burgerTotalComplete';}
		burger_list +='">Total: '+burger_sum+'%</span>';
		$('#burgerTabs .burgerSummary').html(burger_list);
		$('#burgerTabs .burgerTotal, #burgerTabs .burgerContents').fadeIn('medium');
		$('#burgerTabs .burgerSummary').fadeIn('slow');
}

function burger_transition(burger_tabNoFrom,burger_tabNoTo){
	burger_state = burger_tabNoTo;
	burger_prevState = burger_tabNoFrom;
	
	if(burger_currentAmtAll()>1){
		burger_setError("Slow down there burger enthusiast! You can't have more than 100% of a burger (I know, how cool would that be!) Please go back and make sure your total mix works out to 100% in the end.");
	}else{	
		
		if(burger_tabNoFrom=="1"){
			if(burger_currentAmt("1")<0.5){
				burger_setError("You need at least 50% of your burger to come from step one or else the dang thing falls apart on the grill!");
			}
			else if(burger_tabNoTo=="4" && burger_currentAmtAll()<1){
				burger_setError("This is the last step and we don't want to skimp on your burger so go back and make sure you have a total of 100%!");	
			}else{
				burger_showTab(burger_tabNoTo);
			}
		}else if(burger_tabNoFrom=="2"){
			if(burger_tabNoTo=="4" && burger_currentAmtAll()<1){
				burger_setError("This is the last step and we don't want to skimp on your burger so go back and make sure you have a total of 100%!");	
			}else if(burger_tabNoTo=="3" && burger_currentAmtAll()<.75){
				burger_setError("Your creation can only be 25% from items in the last step or else the dang thing falls apart on the grill! Please add another igredient from steps one or two."); 
			}else{
				burger_showTab(burger_tabNoTo);
			}
		}else if(burger_tabNoFrom=="3"){
			if(burger_currentAmt("3")>.25){
				burger_setError("Your creation can only be 25% from items in step three or else the dang thing falls apart on the grill!"); 
			}else if(burger_tabNoTo=="4" && burger_currentAmtAll()<1){
				burger_setError("This is the last step and we don't want to skimp on your burger so go back and make sure you have a total of 100%!");	
			}else{
				burger_showTab(burger_tabNoTo);
			}
		}
	}
}




$(document).ready(function () {
	$("#burgerContinue1").click(function(){burger_transition("1","2"); return false;});
	$("#burgerFinished1").click(function(){burger_transition("1","4"); return false;});
	$(".burgerIngredientSelect").change(function(){burger_updateList(); return false;});
	
	$("#burgerErrorBack").click(function(){burger_errorBack(); return false;});
	$(".burgerBack").click(function(){burger_transitionBack(); return false;});

	$("#burgerContinue2").click(function(){burger_transition("2","3"); return false;});
	$("#burgerFinished2").click(function(){burger_transition("2","4"); return false;});

	$("#burgerFinished3").click(function(){burger_transition("3","4"); return false;});
	$("#burgerAddToCart").click(function(){burger_sendToBaseket(); return false;});
	burger_blankSelectionsFrom(0);
	burger_updateList();	
	$('img.burgerHelp').each(function(){
									  	var burger_help_content = $("#burger"+$(this).parent().parent().find("td select").first().attr("id").substring(6)+"_desc").html();
									  	$(this).qtip({
													 content: burger_help_content, 
													 position: {
														  corner: {
															 tooltip: 'bottomMiddle',
															 target: 'topRight' 
														  }
													  },
													  style: {

														color:'#27421C',
														background:'#D7ECD9',
														border: '2px solid #B5DB9B',
														  width: 600,
														  border: {
															 width: '2',
															 radius: 4
														  },
														  padding: 8, 
														  textAlign: 'left',
														  tip: true, // Give it a speech bubble tip with automatic corner detection
														  name: 'green' // Style it according to the preset 'cream' style
													  }

											 });
								  });


	
	//$("img.burgerHelp").click(function(){burger_help($(this).parent().parent().find("td select").first().attr("id").substring(6)); return false;});
	
	$("#burgerTab1").show();
});