var xml;var itemXml;var lighterXml;var legendsXml,legendsArr,selectedLegend,selectedLegendCrust,selectedLegendSize;var ltArr=[];var nutArray=new Array("gw","prot","carb","df","ts","fat","satFat","tFat","chol","va","vc","calc","iron","sod","calFat","calories");var rdaArray=new Array("--","50","300","--","--","65","20","--","300","--","--","--","--","2400","585","2000");var changeMade=false;$.get("xml/pizza-info.xml",function(data){xml=data;xmlInit();calculatorInit();});$.get("xml/Item-info_v2.23.00.xml",function(data){itemXml=data;itemXmlInit();});$.get("xml/lighter-options.xml",function(data){lighterXml=data;getLighterOptionsArray();});$.get("xml/legend-pizzas_v2.23.00.xml",function(data){legendsXml=data;legendsArr=getLegendSizesByCrust();legendsInit();});function legendsInit(){setTimeout(function(){getLegends();},500);}
function xmlInit(){buildPage();}
function buildPage(){setTimeout(function(){getFeasts();},500);setTimeout(function(){generateCrustOptions();},500);}
function generateCrustOptions(){var htmlOptions="<option value=\"\">Crust</option>\n";var feastHtmlOptions="<option value=\"\">Crust</option>\n";var sizesArray=getSizesByCrust();var feastSizesArray=getFeastSizesByCrust();for(var i in sizesArray){htmlOptions+="<option value=\""+sizesArray[i]+"\">"+i+"</option>\n";}
for(var i in feastSizesArray){feastHtmlOptions+="<option value=\""+feastSizesArray[i]+"\">"+i+"</option>\n";}
$("#crust").html(htmlOptions);$("#fcrust").html(feastHtmlOptions);setupBtnBindings();}
function generateLegendsCrustsOptions(){var legendOptions="<option value=\"\">Crust</option>\n";for(var i in legendsArr[selectedLegend]){legendOptions+="<option value=\""+i+"\">"+i+"</option>\n";}
$("#lcrust").html(legendOptions);setupBtnBindings();}
function updateLegendCrustSizes(){var optionArray={};var sizesArr,htmlval="";var size="";var name="";var sizesArr=legendsArr[selectedLegend][selectedLegendCrust].split(";")[0].split(",");for(index in sizesArr){size=sizesArr[index];name=$(legendsXml).find('size[num_size='+size+']').attr('name');optionArray[size]='<option value="'+size+'">'+name+'</option>\n';}
htmlval="<option value=\"\">Size</option>\n";for(var num_size in optionArray){htmlval+=optionArray[num_size];}
$("#lsize").empty();$("#lsize").html(htmlval);toggleLegendSelects();}
function updateCrustSizes(type){var optionArray=[];var sizesArray,htmlval="";var size="";var name="";$(xml).find("pizza").each(function(){size=$(this).attr("size");name=$(this).attr("name");optionArray[size]='<option value="'+size+'">'+name+'</option>\n';});if(type=="feast"){sizesArray=getFeastSizesArray();htmlval="<option value=\"\">Size</option>\n";for(var i=0;i<sizesArray.length;i++){htmlval+=optionArray[sizesArray[i]];}
$("#fsize").empty();$("#fsize").html(htmlval);toggleFeastSelects();}else{sizesArray=getSizesArray();htmlval="<option value=\"\">Size</option>\n";for(var i=0;i<sizesArray.length;i++){htmlval+=optionArray[sizesArray[i]];}
$("#size").html(htmlval);toggleSelects();}}
function getSizesByCrust(){var size=new Array(),type,parent,calories=new Array(),calVal;$(xml).find("pizza").children("crust").each(function(){type=$(this).attr("type");calVal=$(this).attr("calories");var _fat=parseFloat($(this).attr("fat"))*9;var _carb=parseFloat($(this).attr("carb"))*4;var _prot=parseFloat($(this).attr("prot"))*4;calVal=Math.round((_prot+_carb+_fat));if(calVal==""||calVal==undefined||calVal==null)calVal=0;parent=$(this).parent("pizza").attr("size");if(parent!=null){if(size[type]!=null){size[type]+=","+parent;calories[type]+=","+calVal;}else{size[type]=parent;calories[type]=calVal;}}});for(var i in size){size[i]+=";"+calories[i];}
return size;}
function getLegends(){var htmlOptions="",type="";htmlOptions+='<option value="">Specialty Pizzas</option>';$(legendsXml).find("pizza[size=10]").each(function(){name=$(this).attr("name");htmlOptions+='<option value="'+name+'">'+name+'</option>';});$("#legends").html(htmlOptions);setupBtnBindings();}
function getFeasts(){var htmlOptions="",type="";htmlOptions+='<option value="">Favorites</option>';$(xml).find("pizza[size=10]").children("feasts").children("feast").each(function(){type=$(this).attr("type");htmlOptions+='<option value="'+type+'">'+type+'</option>';});$("#favorite").html(htmlOptions);setupBtnBindings();}
function getFeastCaloriesBySize(){var size="",feast="";size=$("#fsize").val();feast=$("#favorite").val();return $(xml).find("pizza[size="+size+"]").children("feasts").children("feast[type="+feast+"]").attr("calories");}
function getLegendCaloriesBySize(){var size="",legend="";size=$("#lsize").val();legend=$("#legends").val();return $(legendsXml).find("pizza[size="+size+"][name='"+legend+"']").attr('calories');}
function getFeastSizesByCrust(){var size=new Array(),type,parent,calories=new Array(),calVal;$(xml).find("pizza").children("feasts").children("crust").each(function(){type=$(this).attr("type");calVal=$(this).attr("calories");var _fat=parseFloat($(this).attr("fat"))*9;var _carb=parseFloat($(this).attr("carb"))*4;var _prot=parseFloat($(this).attr("prot"))*4;calVal=Math.round((_prot+_carb+_fat));if(calVal==""||calVal==undefined||calVal==null)calVal=0;parent=$(this).parents("pizza").attr("size");if(parent!=null){if(size[type]!=null){size[type]+=","+parent;calories[type]+=","+calVal;}else{size[type]=parent;calories[type]=calVal;}}});for(var i in size){size[i]+=";"+calories[i];}
return size;}
function getLegendSizesByCrust(){var size={},crust_name,pizza_name,parent,calories={},calVal,i=0;$(legendsXml).find("pizza").each(function(){pizza_name=$(this).attr("name");$(this).find("crust").each(function(){crust_name=$(this).attr("name");calVal=$(this).attr("calories");var _fat=parseFloat($(this).attr("fat"))*9;var _carb=parseFloat($(this).attr("carb"))*4;var _prot=parseFloat($(this).attr("prot"))*4;parent=$(this).parents("pizza").attr("size");if(parent!=null){if(!size[pizza_name]){size[pizza_name]={};}
if(!calories[pizza_name]){calories[pizza_name]={};}
if(size[pizza_name][crust_name]!=null){size[pizza_name][crust_name]+=","+parent;calories[pizza_name][crust_name]+=","+calVal;}else{size[pizza_name][crust_name]=parent;calories[pizza_name][crust_name]=calVal;}}});});for(var i in size){for(var j in size[i]){size[i][j]+=";"+calories[i][j];}}
return size;}
function getToppingsBySize(){var size="",toppings=new Array(),numToppings="";size=getPizzaSize();$(xml).find("pizza[size="+size+"]").each(function(){$(this).children("toppings").each(function(){numToppings=$(this).attr("number");toppings[numToppings]=$(this).children("topping");});});return toppings;}
function getCalorieValuesBySize(){var toppings=null,type="",calories="",topping=new Array();toppings=getToppingsBySize();$(toppings).each(function(){$(this).each(function(){type=$(this).attr("type");calories=$(this).attr("calories");var _fat=parseFloat($(this).attr("fat"))*9;var _carb=parseFloat($(this).attr("carb"))*4;var _prot=parseFloat($(this).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));if(calories==""||calories==undefined||calories==null)calories=0;if(topping[type]==undefined){topping[type]=calories;}else{topping[type]+=","+calories;}});});return topping;}
function getExtraCheeseHtml(){var size="",crustName="",html="",cheeseElem=null,calories;size=getPizzaSize();crustName=getPizzaCrustName();cheeseElem=$(xml).find("pizza[size="+size+"]").children("crust[type="+crustName+"]").children("cheese");calories=$(cheeseElem).attr("calories");var _fat=parseFloat($(cheeseElem).attr("fat"))*9;var _carb=parseFloat($(cheeseElem).attr("carb"))*4;var _prot=parseFloat($(cheeseElem).attr("prot"))*4;calories=(_prot+_carb+_fat);html='<li><input id="Extra Cheese" type="checkbox" value="'+calories+','+calories+','+calories+'" />'+'<label for="Extra Cheese">Extra Cheese<span></span></label></li>';return html;}
function writeCheckboxes(){var html="",topping;topping=getCalorieValuesBySize();for(var i in topping){if(i!="undefined"){html+='<li><input id="'+i+'" type="checkbox" value="'+topping[i]+'" />'+'<label for="'+i+'">'+i+'<span></span></label></li>';}}
$(".pizza .checkboxes").html(html);$(".checkboxes input").bind("click",function(e){outputPizzaCalories();buildMealDetailsTable(this);updateYourMeal();buildLighterOptions();calcCalFromFat();hiliteCheckboxes();});}
function getToppingByVars(tSize,tCount,tType){var toppingNumKey=0,theItem=null;if(tCount==1){toppingNumKey=1;}else if(tCount>1&&tCount<4){toppingNumKey=3;}else{toppingNumKey=4;}
theItem=$(xml).find("pizza[size="+tSize+"]").children("toppings[number="+toppingNumKey+"]").children("topping[type="+tType+"]");return theItem;}
function getFeastBySize(pizzaSize){var feastName="";feastName=getFeastPizzaName();return $(xml).find("pizza[size="+pizzaSize+"]").children("feasts").children("feast[type="+feastName+"]");}
function getFeastCrustBySize(pizzaSize){var crustName="";crustName=getFeastPizzaCrustName();return $(xml).find("pizza[size="+pizzaSize+"]").children("feasts").children("crust[type="+crustName+"]");}
function itemXmlInit(){setTimeout(function(){buildItemCategories();},500);}
function buildItemCategories(){var html="";var catName="";var itemName="";var description="";var servings=null;var counter=0;var idName="";$(itemXml).find("items").each(function(){catName=$(this).attr("type");idName=$(this).attr("id");html+='<fieldset class="pod thirds" id="'+idName+'">\n'
+'    <h2 class="result">'+catName+': <span>0</span> Calories</h2>\n';html+='<ul class="line-items">\n'
+'<li class="top">Serving Size</li>';$(this).children("servings").children("serving").each(function(){description=$(this).attr("description");html+='<li>'+description+'</li>';});html+='</ul>';html+='<ul class="items">\n';$(this).children("item").each(function(i){itemName=$(this).attr("type");itemId=$(this).attr("id")?$(this).attr("id"):itemName;itemId=itemId.replace(/ /g,"_");itemSummary=$(this).attr("summary")?$(this).attr("summary"):itemName;idName='item-'+counter;var _fat=parseFloat($(this).attr("fat"))*9;var _carb=parseFloat($(this).attr("carb"))*4;var _prot=parseFloat($(this).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));if($(this).parent("items").children("extras").length>0){html+='<li><input type="hidden" value="'+calories+'" name="'+$(this).attr("extraIds")+'"/><input type="text" class="text" maxlength="1" id="'+itemId+'" name="'+itemId+'" value="0" /><label for="'+itemId+'">'+itemName+'<span></span></label></li>'}else{html+='<li><input type="hidden" value="'+calories+'"/><input type="text" class="text" id="'+itemId+'" name="'+itemSummary+'" maxlength="1" value="0" /><label for="'+itemId+'">'+itemName+'<span></span></label></li>'}
counter++;});html+='</ul>';if($(this).children("extras").length>0){html+='<ul class="items extras">';$(this).children("extras").children("item").each(function(){itemName=$(this).attr("type");idName=$(this).attr("id");var _fat=parseFloat($(this).attr("fat"))*9;var _carb=parseFloat($(this).attr("carb"))*4;var _prot=parseFloat($(this).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));html+='<li><input type="hidden" value="'+calories+'"/><input type="text" class="text" id="'+idName+'" name="'+itemName+'" maxlength="1" value="0" disabled="disabled" /><label for="'+idName+'" class="grey">'+itemName+'<span></span></label></li>';});html+='</ul>';}
html+='</fieldset>';});$("#calculator").append(html);$(".line-items li:last-child").addClass("bottom");$(".text").keypress(function(e){if(e.which!=8&&e.which!=0&&(e.which<48||e.which>57)){return false;}});function updateCalculator(obj){addOtherItemCalories();buildMealDetailsTable(obj);updateYourMeal();checkExtraInputs();buildLighterOptions();calcCalFromFat();hiliteOthers();}
$(".text").unbind().bind("keyup",function(e){if($(this).val()!=0){updateCalculator(this);}});$(".text").focus(function(){if($(this).val()==0){$(this).val('');}}).blur(function(){if($(this).val()==""){$(this).val(0);updateCalculator(this);}});$('h2.result').each(function(i){var foodTitle=$(this).parent('fieldset').attr('id');$(this).txtToSwf({swfLocation:"../swf/",swf:"TradeGothic.swf",fontSize:"19px",letterSpacing:-0.4,trigger:foodTitle});});}
function hiliteOthers(){var siblingValue=0;$("fieldset input:not(:hidden)").each(function(){if($(this).val()>0){siblingValue=parseInt($(this).siblings("input:hidden").val())
$(this).parent("li").css("background","#EFEFEF");$(this).siblings("label").children("span").html((siblingValue).toString()+"-Serv.");}else{$(this).parent("li").css("background","#FFFFFF");$(this).siblings("label").children("span").html("");}});}
function hiliteCheckboxes(){var siblingValue=0,toppingCount=0,calorieArray=[];toppingCount=getToppingCount();$("fieldset#pizza .checkboxes input").each(function(){if($(this).attr("checked")==true){calorieArray=$(this).val().split(",");if(toppingCount==1){$(this).parent().css("background","#efefef");$(this).siblings("label").children("span").html(calorieArray[0]);}else if(toppingCount==2||toppingCount==3){$(this).parent().css("background","#efefef");$(this).siblings("label").children("span").html(calorieArray[1]);}else if(toppingCount>=4){$(this).parent().css("background","#efefef");$(this).siblings("label").children("span").html(calorieArray[2]);}}else{$(this).parent().css("background","#ffffff");$(this).siblings("label").children("span").html("");}});}
function checkExtraInputs(){var siblingUl=null,siblingInput=null,tempArr=null;$("fieldset ul.extras").each(function(){$(this).children("li").children("input:not(:hidden)").attr("disabled","disabled");$(this).children("li").children("input:not(:hidden)").siblings('label').addClass('grey');parentFieldset=$(this).parent("fieldset");siblingUl=$(this).siblings("ul");$(siblingUl).children("li").children("input[value!=0]:not(:hidden)").each(function(){siblingInput=$(this).siblings("input:hidden");tempArr=$(siblingInput).attr("name").split(",");$(tempArr).each(function(){$("#"+this).attr("disabled","");$("#"+this).siblings('label').removeClass('grey');});});});$("fieldset ul.extras").children("li").children("input:not(:hidden)").each(function(){var $this=$(this);var myval=parseInt($this.val());var isDisabled=$this.attr("disabled");if(isDisabled==true&&myval>0){$this.val(0);}});outputPizzaCalories();updateYourMeal();buildMealDetailsTable($('#extra-1'));buildLighterOptions();}
function buildMealDetailsTable(elem){var html="",topHtml="",parentFieldset=null,idVal="",parentFieldsetId="",numActiveInputs=0,rdasMap=[],nutritionMap=[],crustXmlElem=null,xmlElem=null,elemId="",pizzaSize="",toppingCount=0,pizzaCrust="",inputs=null,iType="",iVal="",multiplier="";parentFieldset=$(elem).parents("fieldset");parentFieldsetId=$(parentFieldset).attr("id");if(parentFieldsetId=="pizza"){if($(elem).attr("id")=="fsize"||$(elem).attr("id")=="lsize"){numActiveInputs=1;}else{numActiveInputs=$(".checkboxes input:checked").length+1;}}else{inputs=$("#"+parentFieldsetId+" input[value!=0]:not(:hidden)");numActiveInputs=$(inputs).length;}
if(numActiveInputs==0){if($("#"+parentFieldsetId)){$("#details-"+parentFieldsetId).replaceWith("");}}else{$("#details-"+parentFieldsetId).replaceWith("");if(parentFieldsetId=="bread_pastas"){parentFieldsetName="pasta in a breadbowl";}
else if(parentFieldsetId=="tin_pastas"){parentFieldsetName="pasta in a dish";}
else{parentFieldsetName=parentFieldsetId;}
html='<table class="meal-details" id="details-'+parentFieldsetId+'">\n'
+'<thead>\n'
+'<tr>\n'
+'<th></th>\n'
+'<th scope="col">GW<br /> (%DV)</th>\n'
+'<th scope="col">Prot<br /> (%DV)</th>\n'
+'<th scope="col">Carb<br /> (%DV)</th>\n'
+'<th scope="col">DF<br /> (%DV)</th>\n'
+'<th scope="col">TS<br /> (%DV)</th>\n'
+'<th scope="col">Fat<br /> (%DV)</th>\n'
+'<th scope="col">S Fat<br /> (%DV)</th>\n'
+'<th scope="col">T Fat<br /> (%DV)</th>\n'
+'<th scope="col">Chol<br /> (%DV)</th>\n'
+'<th scope="col">VA<br /> (%DV)</th>\n'
+'<th scope="col">VC<br /> (%DV)</th>\n'
+'<th scope="col">Calc<br /> (%DV)</th>\n'
+'<th scope="col">Iron<br /> (%DV)</th>\n'
+'<th scope="col">Sod<br /> (%DV)</th>\n'
+'<th scope="col">Cal Fat<br /> (%DV)</th>\n'
+'<th scope="col">Cal Total<br /> (%DV)</th>\n'
+'</tr>\n'
+'<tr>\n'
+'<th class="category">'+parentFieldsetName+'</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">mg</th>\n'
+'<th scope="col">g</th>\n'
+'<th scope="col">IU</th>\n'
+'<th scope="col">mg</th>\n'
+'<th scope="col">mg</th>\n'
+'<th scope="col">mg</th>\n'
+'<th scope="col">kcal</th>\n'
+'<th scope="col">kcal</th>\n'
+'</tr>\n'
+'</thead>\n'
+'<tbody>\n'
+'<tr>\n'
+'<td class="total">Total</td>\n';if(parentFieldsetId=="pizza"){if($(elem).attr("id")=="fsize"){pizzaSize=getFeastPizzaSize();pizzaCrust=getFeastPizzaCrustName();xmlElem=getFeastBySize(pizzaSize);crustXmlElem=getFeastCrustBySize(pizzaSize);nutritionMap=mapNutrition(nutritionMap,xmlElem);nutritionMap=mapNutrition(nutritionMap,crustXmlElem);rdasMap=mapRdas(rdasMap,xmlElem);rdasMap=mapRdas(rdasMap,crustXmlElem);}
else if($(elem).attr("id")=="lsize"){pizzaSize=selectedLegendSize;pizzaCrust=selectedLegendCrust;xmlElem=$(legendsXml).find("pizza[name='"+selectedLegend+"'][size="+selectedLegendSize+"]");crustXmlElem=$(xmlElem).find("crust[name='"+selectedLegendCrust+"']");nutritionMap=mapNutrition(nutritionMap,xmlElem);nutritionMap=mapNutrition(nutritionMap,crustXmlElem);rdasMap=mapRdas(rdasMap,xmlElem);rdasMap=mapRdas(rdasMap,crustXmlElem);}
else{pizzaSize=getPizzaSize();pizzaCrust=getPizzaCrustName();toppingCount=getToppingCount();$(".checkboxes input:checked").each(function(){elemId=$(this).attr("id");xmlElem=getToppingByVars(pizzaSize,toppingCount,elemId);nutritionMap=mapNutrition(nutritionMap,xmlElem);rdasMap=mapRdas(rdasMap,xmlElem);});crustXmlElem=$(xml).find("pizza[size="+pizzaSize+"]").children("crust[type="+pizzaCrust+"]");nutritionMap=mapNutrition(nutritionMap,crustXmlElem);rdasMap=mapRdas(rdasMap,crustXmlElem);}}else{$(inputs).each(function(){iVal=$(this).siblings("input:hidden").val();multiplier=$(this).val();iType=$(this).attr("name").replace(/_/g," ");idVal=$(this).attr("id").replace(/_/g," ");if(idVal.split("-")[0]=="extra"){xmlElem=$(itemXml).find("items[id="+parentFieldsetId+"]").children("extras").children("item[type="+iType+"]");}else{xmlElem=$(itemXml).find("items[id="+parentFieldsetId+"]").children("item[type="+iType+"]");if(xmlElem.length==0){xmlElem=$(itemXml).find("items[id="+parentFieldsetId+"]").children("item[type="+idVal+"]");}
if(xmlElem.length==0){xmlElem=$(itemXml).find("items[id="+parentFieldsetId+"]").children("item[id="+idVal+"]");}}
nutritionMap=mapNutritionMulti(nutritionMap,xmlElem,multiplier);rdasMap=mapRdasMulti(rdasMap,xmlElem,multiplier);});}
for(var i in nutritionMap){if(rdasMap[i]!="--"){html+='<td class="'+i+'"><span class="weight">'+nutritionMap[i]+'</span><br /><span class="rda">'+rdasMap[i]+'</span>%</td>\n';}else{html+='<td class="'+i+'"><span class="weight">'+nutritionMap[i]+'</span><br /><span class="rda">'+rdasMap[i]+'</span></td>\n';}}
html+='</tr>\n'
+'</tbody>\n'
+'</table>\n';$(".key").before(html);}}
function mapNutrition(nutritionMap,xmlElem){var totalBreakdown=0;$(nutArray).each(function(){var $this=""+this;if(!nutritionMap[this]){if(this=="va"||this=="vc"||this=="calc"||this=="iron"){nutritionMap[this]="--";}else{nutritionMap[this]=parseFloat($(xmlElem).attr($this));}}else{if(this=="va"||this=="vc"||this=="calc"||this=="iron"){nutritionMap[this]="--";}else{nutritionMap[this]+=parseFloat($(xmlElem).attr($this));}}});nutritionMap["calFat"]=(nutritionMap["fat"]*9);totalBreakdown+=(nutritionMap["prot"]*4);totalBreakdown+=(nutritionMap["carb"]*4);totalBreakdown+=(nutritionMap["fat"]*9);nutritionMap["calories"]=Math.round(totalBreakdown);return nutritionMap;}
var globalExtraCalories=0;function mapNutritionMulti(nutritionMap,xmlElem,multiplier){$(nutArray).each(function(i){var $this=""+this;if(!nutritionMap[this]){if($this=="va"||$this=="vc"||$this=="calc"||$this=="iron"){nutritionMap[this]="--";}else{if($this!="calories"){nutritionMap[this]=parseFloat($(xmlElem).attr($this))*parseFloat(multiplier);}
if($this=="calories"){nutritionMap[this]=0;var totalBreakdown=0;totalBreakdown+=(parseFloat($(xmlElem).attr('prot'))*4);totalBreakdown+=(parseFloat($(xmlElem).attr('carb'))*4);totalBreakdown+=(parseFloat($(xmlElem).attr('fat'))*9);nutritionMap[this]+=Math.round(totalBreakdown);}}}else{if($this=="va"||$this=="vc"||$this=="calc"||$this=="iron"){nutritionMap[this]="--";}else{if($this!="calories"){nutritionMap[this]+=parseFloat($(xmlElem).attr($this))*parseFloat(multiplier);}
if($this=="calories"){var totalBreakdown=0;totalBreakdown+=(parseFloat($(xmlElem).attr('prot'))*4);totalBreakdown+=(parseFloat($(xmlElem).attr('carb'))*4);totalBreakdown+=(parseFloat($(xmlElem).attr('fat'))*9);nutritionMap[this]+=Math.round(totalBreakdown);}}}});return nutritionMap;}
function mapRdas(rdasMap,xmlElem){$(nutArray).each(function(i){var $this=""+this;if(!rdasMap[$this]){if(this=="va"||this=="vc"||this=="calc"||this=="iron"){rdasMap[this]=parseFloat($(xmlElem).attr($this));}else{if(rdaArray[i]=="--"){rdasMap[this]="--";}else{rdasMap[this]=parseInt(Math.round(parseFloat($(xmlElem).attr($this))/parseFloat(rdaArray[i])*100));}}}else{if(this=="va"||this=="vc"||this=="calc"||this=="iron"){rdasMap[this]+=parseFloat($(xmlElem).attr($this));}else{if(rdaArray[i]=="--"){rdasMap[this]="--";}else{rdasMap[this]+=parseInt(parseFloat($(xmlElem).attr($this))/parseFloat(rdaArray[i])*100);}}}});return rdasMap;}
function mapRdasMulti(rdasMap,xmlElem,multiplier){$(nutArray).each(function(i){var $this=""+this;if(!rdasMap[$this]){if(this=="va"||this=="vc"||this=="calc"||this=="iron"){rdasMap[$this]=parseFloat($(xmlElem).attr($this));}else{if(rdaArray[i]=="--"){rdasMap[$this]="--";}else{rdasMap[$this]=parseInt((parseFloat($(xmlElem).attr($this))*parseFloat(multiplier))/parseFloat(rdaArray[i])*100);}}}else{if(this=="va"||this=="vc"||this=="calc"||this=="iron"){rdasMap[$this]+=parseFloat($(xmlElem).attr($this))*parseFloat(multiplier);}else{if(rdaArray[i]=="--"){rdasMap[$this]="--";}else{rdasMap[$this]+=parseInt((parseFloat($(xmlElem).attr($this))*parseFloat(multiplier))/parseFloat(rdaArray[i])*100);}}}});return rdasMap;}
function outputPizzaCalories(){var calories=0;if(readyForToppings()==true){calories+=Number(getCrustCalories());if(getToppingCount()>0){calories+=getToppingCalories();}
if($('.pizza').children("h2.result").children('span.swfToTxt').size()==0){$(".pizza .result span").html(calories);}
var swfTxt="PIZZA: "+calories+" calories ";if($('#container').css('display')!="none")
$('.pizza').children("h2.result").trigger('pizza',[swfTxt.toUpperCase()]);}else if(legendItemsSelected()){calories+=Number(getLegendCrustCalories());calories+=Number(getLegendCaloriesBySize());if($('.pizza').children("h2.result").children('span.swfToTxt').size()==0){$(".pizza .result span").html(calories);}
var swfTxt="PIZZA: "+calories+" calories ";if($('#container').css('display')!="none")
$('.pizza').children("h2.result").trigger('pizza',[swfTxt.toUpperCase()]);}else if(feastItemsSelected()){calories+=Number(getFeastCrustCalories());calories+=Number(getFeastCaloriesBySize());if($('.pizza').children("h2.result").children('span.swfToTxt').size()==0){$(".pizza .result span").html(calories);}
var swfTxt="PIZZA: "+calories+" calories ";if($('#container').css('display')!="none")
$('.pizza').children("h2.result").trigger('pizza',[swfTxt.toUpperCase()]);}else{if($('.pizza').children("h2.result").children('span.swfToTxt').size()==0){$(".pizza .result span").html("0");}
var swfTxt="PIZZA: "+calories+" calories ";if($('#container').css('display')!="none")
$('.pizza').children("h2.result").trigger('pizza',[swfTxt.toUpperCase()]);}}
function updateLegendServing(){var html='<li class="top">Serving Size</li>';var description=$(legendsXml).find("serving[size="+selectedLegendSize+"]").attr("description");if(description){html+='<li class="bottom">'+description+'</li>';}
else{html+='<li class="bottom">Build a pizza...</li>';}
$("#pizza .line-items").html(html);}
function updateServing(){var size="",fsize="",html="",result=null;size=$("#size").val();fsize=$("#fsize").val();$("#pizza .line-items").html("");html+='<li class="top">Serving Size</li>';if(size!=""){result=$(xml).find("pizza[size="+size+"]").children("servings").children("serving");}else if(fsize!=""){result=$(xml).find("pizza[size="+fsize+"]").children("servings").children("serving");}else{result=null;}
if(result!=null){$(result).each(function(i){if(($(result).length-1)==i){html+='<li class="bottom">'+$(result).attr("description")+'</li>';}else{html+='<li>'+$(result).attr("description")+'</li>';}});}else{html+='<li class="bottom">Build a pizza...</li>';}
$("#pizza .line-items").html(html);}
function getLighterOptionsArray(){var priority=0,selected="",replacement="",statement="";$(lighterXml).find("option").each(function(){priority=$(this).attr("priority");selected=$(this).attr("selected");replacement=$(this).attr("replacement");statement=$(this).attr("statement");category=$(this).parent("category").attr("name");ltArr[priority]=selected+";"+replacement+";"+statement+";"+category;});}
function getAllReplaceableItems(){var selectedCheckboxes=null,otherItems=null,allItemsArr=[],id="",xmlElem=null,size="",numToppings="",category="";if(readyForToppings()){size=getPizzaSize();xmlElem=$(xml).find("pizza[size="+size+"]").children("crust[type="+getPizzaCrustName()+"]");if($(xmlElem).attr("hasLighterOpt")=="true"){allItemsArr[$(xmlElem).attr("type")]=xmlElem;}
$("fieldset[id=pizza] input:checkbox:checked").each(function(){id=$(this).attr("id");numToppings=determineToppingSetting(getToppingCount());xmlElem=$(xml).find("pizza[size="+size+"]").children("toppings[number="+numToppings+"]").children("topping[type="+id+"]");if($(xmlElem).attr("hasLighterOpt")=="true"){allItemsArr[$(xmlElem).attr("type")]=xmlElem;}});}else if(feastItemsSelected()){id=$("#favorite").val();size=getFeastPizzaSize();xmlElem=$(xml).find("pizza[size="+size+"]").children("feasts").children("feast[type="+id+"]");if($(xmlElem).attr("hasLighterOpt")=="true"){allItemsArr[$(xmlElem).attr("type")]=xmlElem;}
xmlElem=$(xml).find("pizza[size="+size+"]").children("feasts").children("crust[type="+getFeastPizzaCrustName()+"]");if($(xmlElem).attr("hasLighterOpt")=="true"){allItemsArr[$(xmlElem).attr("type")]=xmlElem;}}
$("fieldset[id!=pizza] input[value!=0]:not(:hidden)").each(function(){id=$(this).attr("name");category=$(this).parents("fieldset").attr("id");if($(this).attr("id").split("-")[0]=="extra"){xmlElem=$(itemXml).find("items[id="+category+"]").children("extras").children("item[type="+id+"]");}else{xmlElem=$(itemXml).find("items[id="+category+"]").children("item[type="+id+"]");}
if($(xmlElem).attr("hasLighterOpt")=="true"){allItemsArr[$(xmlElem).attr("type")]=xmlElem;}});return allItemsArr;}
function determineToppingSetting(numtop){var use="";if(numtop=="1"){use="1";}else if(numtop=="2"||numtop=="3"){use="3";}else if(numtop>"3"){use="4";}
return use;}
function buildLighterOptions(){var allItemsArr=[],isExtra=false,current="",statement="",replacement="",inputVal="",html="",xmlElem=null,counter=0,savedCal=0,replaceCal=0;allItemsArr=getAllReplaceableItems();for(var i in ltArr){var tempArray=ltArr[i].split(";");current=tempArray[0];replacement=tempArray[1];statement=tempArray[2];category=tempArray[3];inputVal=current+";"+replacement+";"+category;if(allItemsArr[current]!=null){xmlElem=allItemsArr[current];var extra=$(xmlElem).parent("extras");if(extra!=null){isExtra=true;}
if(replacement!="removeit"){replaceCal=getReplacementItemCalories(replacement,category,isExtra);var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;var newCal=Math.round((_prot+_carb+_fat));if(newCal==""||newCal==undefined||newCal==null)newCal=0;savedCal=newCal-replaceCal;}else{var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;var newCal=Math.round((_prot+_carb+_fat));savedCal=newCal;}
html+='<li><input type="checkbox" value="'+inputVal+'" id="ex-'+current+'" /><label for="ex-'+current+'">'+statement+"<strong> REMOVE "+savedCal.toString()+' CALORIES</strong></label></li>';counter++;}
if(counter==4){break;}}
if(html!=""&&savedCal>0){$("#lighter-instruction").html("To make this meal lighter, try this:");$("#make-changes").show();}else if(changeMade){$("#lighter-instruction").html("Congratulations on lightening your meal. See your updated meal summary on the left.");$("#make-changes").hide();}else{$("#lighter-instruction").html("Based on the products and toppings you selected, we have no further recommendations to lighten your meal. Feel free to peruse our <a href='lighteroptions.jsp'>Lighter Options</a> page for pre-configured pizza recommendations.");$("#make-changes").hide();}
if(savedCal>0){$(".lighter-exchange").html(html);}else{$(".lighter-exchange").html('');}}
function getReplacementItemCalories(name,category,isExtra){var calories=0,toppingCount=0,pizzaSize="",xmlElem=null,size="";if(category=="pizza"){if(readyForToppings()){toppingCount=determineToppingSetting(getToppingCount());size=getPizzaSize();xmlElem=$(xml).find("pizza[size="+size+"]").children("toppings[number="+toppingCount+"]").children("topping[type="+name+"]");var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));}else if(feastItemsSelected()){size=getFeastPizzaSize();xmlElem=$(xml).find("pizza[size="+size+"]").children("feasts").children("feast[type="+name+"]");var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));}}else if(category=="crust"){if(readyForToppings()){size=getPizzaSize();xmlElem=$(xml).find("pizza[size="+size+"]").children("crust[type="+name+"]");var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));}else if(feastItemsSelected()){size=getFeastPizzaSize();xmlElem=$(xml).find("pizza[size="+size+"]").children("feasts").children("crust[type="+name+"]");var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));}}else if(category=="condiments"){xmlElem=$(itemXml).find("items[id="+category+"]").children("item[type="+name+"]");var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));}else{if(isExtra==true&&category!="condiments"){xmlElem=$(itemXml).find("items[id="+category+"]").children("item[type="+name+"]");var _fat=parseFloat($(xmlElem).attr("fat"))*9;var _carb=parseFloat($(xmlElem).attr("carb"))*4;var _prot=parseFloat($(xmlElem).attr("prot"))*4;calories=Math.round((_prot+_carb+_fat));}else{}}
return calories;}
function makeSelectedChanges(){var value="",valArr=[],initial=0,relacement="",selected="",category="";$(".lighter-exchange li input:checked").each(function(){value=$(this).val();valArr=value.split(";");selected=valArr[0];replacement=valArr[1];category=valArr[2];if(category=="pizza"){if(feastItemsSelected()){$("#favorite option[value="+replacement+"]").attr("selected","selected");buildMealDetailsTable($("#fsize"));}else if(readyForToppings()){$("#pizza .checkboxes input[id="+selected+"]").attr("checked","");$("#pizza .checkboxes input[id="+replacement+"]").attr("checked","checked");buildMealDetailsTable($("#size"));}}else if(category=="crust"){if(feastItemsSelected()){$("#fcrust option").each(function(){if($(this).html()==replacement){$(this).attr("selected","selected");}});buildMealDetailsTable($("#fsize"));}else if(readyForToppings()){$("#crust option").each(function(){if($(this).html()==replacement){$(this).attr("selected","selected");}});buildMealDetailsTable($("#size"));}}else{initial=parseInt($("fieldset input[name="+selected+"]").val());if(replacement!="removeit"){initialReplace=parseInt($("fieldset input[name="+replacement+"]").val());$("fieldset input.text[name="+replacement+"]").val((initialReplace+1).toString());$("fieldset input.text[name="+selected+"]").val((initial-1).toString());buildMealDetailsTable($("fieldset input.text[name="+selected+"]"));}else{$("fieldset input.text[name="+selected+"]").val((initial-1).toString());buildMealDetailsTable($("fieldset input.text[name="+selected+"]"));}}
changeMade=true;});outputPizzaCalories();updateYourMeal();updateServing();buildLighterOptions();calcCalFromFat();hiliteOthers();hiliteCheckboxes();}
function setupBtnBindings(){$("#crust").unbind("change").bind("change",function(e){clearFeastSelects();clearLegendSelects();updateCrustSizes("normal");toggleToppings();outputPizzaCalories();updateYourMeal();});$("#size").unbind("change").bind("change",function(e){writeCheckboxes();toggleToppings();outputPizzaCalories();buildMealDetailsTable(this);updateYourMeal();updateServing();calcCalFromFat();buildLighterOptions();});$("#fcrust").unbind("change").bind("change",function(e){updateCrustSizes("feast");toggleToppings();outputPizzaCalories();updateYourMeal();});$("#fsize").unbind("change").bind("change",function(e){outputPizzaCalories();buildMealDetailsTable(this);updateYourMeal();updateServing();buildLighterOptions();calcCalFromFat();});$("#favorite").unbind("change").bind("change",function(e){generateCrustOptions();toggleFeastSelects();toggleToppings();toggleSelects();outputPizzaCalories();updateYourMeal();});$("#legends").unbind("change").bind("change",function(e){selectedLegend=$(this).val();generateLegendsCrustsOptions();clearBuildSelects();toggleLegendSelects();toggleToppings();toggleSelects();outputPizzaCalories();updateYourMeal();});$("#lcrust").unbind("change").bind("change",function(e){selectedLegendCrust=$(this).val();updateLegendCrustSizes();toggleToppings();outputPizzaCalories();updateYourMeal();});$("#lsize").unbind("change").bind("change",function(e){selectedLegendSize=$(this).val();outputPizzaCalories();buildMealDetailsTable(this);updateYourMeal();updateLegendServing();buildLighterOptions();calcCalFromFat();});$("#back-to-calc").unbind("click").bind("click",function(e){$("#container2").hide();$("#container").show();});$("#make-changes").unbind("click").bind("click",function(e){makeSelectedChanges();});}