var prefix="#masterPage_pageContentRegion_";var summaryBox=prefix+"summaryBox_ctl00_";var summaryBoxFork=summaryBox+"fork";var summaryBoxWheelset=summaryBox+"wheelset";var summaryBoxWeight=summaryBox+"weight";var summaryBoxSubtotal=summaryBox+"subtotal";var summaryBoxPanel=prefix+"summaryBoxPanel";function Item(C,D,B){this.getMethod=C?C:"";this.updateMethod=D?D:"";this.controlName=B?B:"";this.dropDownName=B;this.imageName=B;this.containerName=B;var A=this;this.SelectedValue=function(){return $(A.dropDownName).val()}}Item.prototype={getMethod:"",updateMethod:"",controlName:"",dropDownName:"",imageName:"",containerName:"",units:"g",showAddSub:true,showSingleItem:true,prefix:null,controlSuffix:null,imageSuffix:null,containerSuffix:null,Init:function(){var A=this;if(!A.pageLogic){throw ("PageLogic not defined")}A.prefix=A.prefix!=null?A.prefix:A.pageLogic.prefix;A.controlSuffix=A.controlSuffix!=null?A.controlSuffix:A.pageLogic.controlSuffix;A.imageSuffix=A.imageSuffix!=null?A.imageSuffix:A.pageLogic.imageSuffix;A.containerSuffix=A.containerSuffix!=null?A.containerSuffix:A.pageLogic.containerSuffix;A.dropDownName=A.dropDownName?A.prefix+A.dropDownName+A.controlSuffix:"";A.imageName=A.imageName?A.prefix+A.imageName+A.imageSuffix:"";A.containerName=A.containerName?A.prefix+A.containerName+A.containerSuffix:"";var B=$(A.dropDownName);if(B){B.bind("change",A,A.OnUpdate);B.bind("keypress",A,A.OnUpdate);B.bind("LoadComplete",A,A.OnLoadComplete);B.bind("UpdateComplete",A,A.OnUpdateComplete)}},Load:function(){var A=this;var C=$(A.dropDownName);if(A.getMethod){C.addOption("-1","Loading...",true).attr("disabled","disabled");A.selectedItem=null;if(A.dependentItems){$.each(A.dependentItems,function(){$(this.dropDownName).addOption("-1","Loading...",true).attr("disabled","disabled")})}var B={success:function(D){$(A.dropDownName).data("items",D.d);A.LoadDropDownItems();C.triggerHandler("LoadComplete",A)},error:function(D){C.triggerHandler("LoadComplete",A)}};A.pageLogic.ExecuteCall(A.getMethod,A.getParameters,B)}else{C.triggerHandler("LoadComplete",A)}},OnLoadComplete:function(B){var A=B?B.data:this;A.UpdateContainer();A.OnUpdate()},OnUpdate:function(B){var A=B?B.data:this;A.UpdateItem()},OnUpdateComplete:function(B){var A=B?B.data:this;A.UpdateSelectedItem();A.UpdateDropDownItems();A.UpdateImage();A.LoadDependentItems()},UpdateItem:function(){var B=this;var E=$(B.dropDownName);var A=E.val();var D=E.data("items");if(B.updateMethod&&D&&D.length>0){var C={success:function(F){E.triggerHandler("UpdateComplete",B)},error:function(F){E.triggerHandler("UpdateComplete",B)}};B.pageLogic.ExecuteCall(B.updateMethod,B.updateParameters,C)}else{E.triggerHandler("UpdateComplete",B)}},AddDependentItem:function(C,B){var A=this;if(A.dependentItems){A.dependentItems[C]=B}},ClearDependentItems:function(){var A=this;A.dependentItems={}},LoadDependentItems:function(){var A=this;if(A.dependentItems){$.each(A.dependentItems,function(){this.Load()})}},UpdateImage:function(){var A=this;if(A.imageName&&A.selectedItem&&A.selectedItem.Image){$(A.imageName).attr("src",A.pageLogic.appRoot+A.pageLogic.imagePath+A.selectedItem.Image)}},UpdateContainer:function(){var A=this;if(A.containerName){var C=$(A.containerName);var B=$(A.dropDownName).data("items");if(B&&B.length>0&&(A.showSingleItem||B.length!=1)){C.show()}else{C.hide()}}},LoadDropDownItems:function(){var B=this;var D=$(B.dropDownName).data("items");if(D){var E=$(B.dropDownName);var C="";E.removeOption(/./);E.attr("disabled","");for(index in D){var A=D[index];if(A.Selected){B.selectedItem=A}if(A.Manufacturer!=C&&index>0){E.addOption(-index,"------------------------------",false)}C=A.Manufacturer;E.addOption(A.Id,A.Description,A.Selected)}if(B.selectedItem){E.addOption(B.selectedItem.Id,B.selectedItem.Description,true)}}},UpdateDropDownItems:function(){var D=this;var H=$(D.dropDownName);var F=H.data("items");if(F){var A=H.val();for(index in F){if(D.selectedItem&&D.selectedItem.Id){if(F[index].Id==D.selectedItem.Id){H.addOption(F[index].Id,F[index].Description)}else{var C=((F[index].SalePrice-D.selectedItem.SalePrice)*F[index].Quantity);var E=((F[index].Weight-D.selectedItem.Weight)*F[index].Quantity).toFixed(2);var B="";var G="";if(D.showAddSub||A>0){B="Subt ";G="Add "}if(C==0){C=""}else{C=(C<0)?B+FormatCurrency(Math.abs(C)):G+FormatCurrency(C);C=" ("+C+")"}if(E==0){E=""}else{E=(E<0)?B+Math.abs(E):G+E;E=" ["+E+D.units+"]"}description=F[index].Description+E+C;H.addOption(F[index].Id,description)}}}if(A){H.selectOptions(A)}}},UpdateSelectedItem:function(){var B=this;var A=$(B.dropDownName).val();var C=$(B.dropDownName).data("items");if(C){for(index in C){if(C[index].Id==A){B.selectedItem=C[index];return }}}}};function PageLogic(){}PageLogic.prototype={buildId:0,appRoot:"",styleCode:"",imagePath:"",prefix:"",controlSuffix:"",imageSuffix:"",containerSuffix:"",store:"",items:{},factoryWheels:{},customWheels:{},Init:function(){var A=this;for(index in A.items){A.items[index].Init()}switch(A.styleCode.replace(/^\s+|\s+$/g,"")){case"R":A.store="Road";break;case"C":A.store="Cyclocross";break;case"TT":A.store="TimeTrial";break;case"M":case"HT":case"ST":case"XC":case"AM":case"FR":case"DH":case"DJ":case"29":A.store="Mountain";break;case"SS":A.store="SingleSpeed";break;case"TK":A.store="Track";break}A.InitCustomWheels();A.InitFactoryWheels()},InitCustomWheels:function(){var A=this;for(index in A.customWheels){A.customWheels[index].pageLogic=A;A.customWheels[index].Init()}},InitFactoryWheels:function(){var A=this;for(index in A.factoryWheels){A.factoryWheels[index].pageLogic=A;A.factoryWheels[index].Init()}},CreateItem:function(C,D,B){var A=this;A.items[B]=new Item(C,D,B);A.items[B].pageLogic=A;return A.items[B]},LoadUrl:function(A){var B=this;location=B.appRoot+A+"?stylecode="+B.styleCode+"&buildid="+B.buildId},ExecuteCall:function(F,C,E){var B=this;var A="WSLogicService.asmx/"+F;var D=B.GetParameters(C);if(E==undefined){E={}}return B.AjaxRequest(A,D,E)},AjaxRequest:function(A,D,E){var C=this;A=C.appRoot+"/Tests/"+A;needsUpdate=true;var B=$.ajax({type:"POST",url:A,data:D,contentType:"application/json; charset=utf-8",dataType:"json",async:true,cache:false,success:E.success,error:E.error});return B},GetParameters:function(C){var B=this;var A={};A.buildId=B.buildId;if(C){for(param in C){if(typeof (C[param])=="function"){A[param]=C[param]()}else{A[param]=C[param]}}}return B.GetStringFromJSON(A)},GetStringFromJSON:function(A){return JSON.stringify(A).replace("''","'")}};function InitScrollControl(A){$(window).scroll(function(){var C=15;var B=$(window).scrollTop()+C;if(B<150){B=150+C}$(A).animate({top:B+"px"},{queue:false,duration:100})});$(A).disableTextSelect()}function FormatCurrency(A){A=A.toString().replace(/\$|\,/g,"");if(isNaN(A)){A="0"}sign=(A==(A=Math.abs(A)));A=Math.floor(A*100+0.50000000001);cents=A%100;A=Math.floor(A/100).toString();if(cents<10){cents="0"+cents}for(var B=0;B<Math.floor((A.length-(1+B))/3);B++){A=A.substring(0,A.length-(4*B+3))+","+A.substring(A.length-(4*B+3))}return(((sign)?"":"-")+"$"+A+"."+cents)}function SetVisibility(B,A){selectObj=$(B);if(A){selectObj.show()}else{selectObj.hide()}}var needsUpdate=true;function InitSummaryBox(A){$(summaryBoxPanel).ajaxStop(function(){if(needsUpdate){UpdateSummaryBox(A)}})}function UpdateSummaryBox(D){var A="WSLogicService.asmx/GetCompleteBikeSummary";var B=D.GetParameters();var C={success:function(E){if(E.d){$(summaryBoxFork).text(E.d.Fork);$(summaryBoxWheelset).text(E.d.Wheelset);$(summaryBoxWeight).text(E.d.TotalPounds);$(summaryBoxSubtotal).text(FormatCurrency(E.d.TotalPrice))}}};D.AjaxRequest(A,B,C);needsUpdate=false}function DebugResult(A){for(item in A){if(item=="responseText"||item=="responseXML"){alert("result["+item+"]: "+A[item])}}}function DebugObject(A){if(A){$.each(A,function(){alert("obj["+item+"]: "+A[item])})}};