var rSlider;var usesSelect;var usesCaption;var usesContainer;function getProductPriceBeforeRedemptions(){var priceBeforeRedemptions=0;if(optionsPrice.optionPrices.config!=undefined){priceBeforeRedemptions=optionsPrice.optionPrices.config+optionsPrice.productPriceBeforeRedemptions;}else{priceBeforeRedemptions=optionsPrice.productPriceBeforeRedemptions;}
return priceBeforeRedemptions;}
function feignPriceChange(rule_id){var newPrice=$(new_price_dom_id);var oldPrice=$(old_price_dom_id);var numUses=getRedemptionUses();numUses=(numUses=="")?1:parseInt(numUses);if(rule_id==null){rule_id=$('redemption_rule').value;}
if(!show_lowest_price){return;}
if(oldPrice==null){oldPrice=newPrice.cloneNode(true);newPrice.up().insertBefore(oldPrice,newPrice);oldPrice.id=old_price_dom_id;oldPrice.removeClassName('price');oldPrice.addClassName('old-price');do_hide_old_price=true;}
var finalPrice;if(optionsPrice.optionPrices.config!=undefined){if(optionsPrice.optionPrices.config>0){finalPrice=optionsPrice.productPriceBeforeRedemptions;}else{finalPrice=getProductPriceBeforeRedemptions();}}else{finalPrice=getProductPriceBeforeRedemptions();}
if(rule_id==""){if(do_hide_old_price)oldPrice.hide();optionsPrice.productPrice=finalPrice;optionsPrice.reload();}else{if(do_hide_old_price)oldPrice.show();var price_disposition=rule_options[rule_id]['price_disposition'];optionsPrice.productPrice=finalPrice-price_disposition*numUses;points_amount=rule_options[rule_id]['amount'];points_currency_id=rule_options[rule_id]['currency_id'];points_caption=getPointsString(points_amount*numUses,points_currency_id);optionsPrice.reload();var points_with=" "+CAPTION_WITH+" "+points_caption;if(newPrice.down()!=null){newPrice.down().innerHTML=newPrice.down().innerHTML+points_with;}else if(newPrice.down()==null&&newPrice!=null){newPrice.innerHTML=newPrice.innerHTML+points_with;}else{}}}
function updateRemptionUsesSelector(rule_id,retain_value){var init_value=retain_value?retain_value:usesSelect.value;if(rule_id==''){usesContainer.hide();}else{usesSelect.innerHTML='';var uses=1;var amt=rule_options[rule_id]['amount'];var curr=rule_options[rule_id]['currency_id'];var max_uses=rule_options[rule_id]['max_uses'];var relevant_customer_points=customer_points?customer_points[curr]:default_guest_points;var price_disposition=rule_options[rule_id]['price_disposition'];var nextPrice=getProductPriceBeforeRedemptions()-price_disposition;usesSelect.hide();usesCaption.hide();if(max_uses==1||max_uses==null){usesCaption.innerHTML=CAPTION_YOU_WILL_SPEND+" "+getPointsString(uses*amt,curr);usesCaption.show();}else{while(relevant_customer_points>=amt*uses){var oOption=document.createElement("option");oOption.text=getPointsString(uses*amt,curr);if(show_discount_in_uses_selector){oOption.text=oOption.text+" ( - "+optionsPrice.formatPrice(price_disposition*uses)+")";}
oOption.value=uses;usesSelect.appendChild(oOption);uses++;if(nextPrice<=0||(uses>max_uses&&max_uses!=0))break;nextPrice=getProductPriceBeforeRedemptions()-price_disposition*uses;}
if(retain_value){if(init_value>uses){init_value=max_uses;}
usesSelect.setValue(init_value);}else{usesSelect.setValue(1);}
usesSelect.show();}
usesContainer.show();}};var SmoothSlider=Class.create();SmoothSlider.prototype=Control.Slider.prototype;SmoothSlider.prototype.setValue=function(sliderValue,handleIdx){if(!this.active){this.activeHandleIdx=handleIdx||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles();}
handleIdx=handleIdx||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((handleIdx>0)&&(sliderValue<this.values[handleIdx-1]))
sliderValue=this.values[handleIdx-1];if((handleIdx<(this.handles.length-1))&&(sliderValue>this.values[handleIdx+1]))
sliderValue=this.values[handleIdx+1];}
sliderValue=this.getNearestValue(sliderValue);this.values[handleIdx]=sliderValue;this.value=this.values[0];if(this.slideFxBusy==true){this.slideFx.cancel();this.slideFxBusy=false;this.handles[handleIdx].style[this.isVertical()?'top':'left']=this.translateToPx(sliderValue);}else{this.slideFxBusy=true;this.slideFx=new Effect.Move(this.handles[handleIdx],{x:this.isVertical()?0:parseInt(this.translateToPx(sliderValue)),y:this.isVertical()?parseInt(this.translateToPx(sliderValue)):0,mode:'absolute',duration:0.5,afterFinish:function(){this.slideFxBusy=false;}.bindAsEventListener(this)});}
this.isMoving=false;this.drawSpans();if(!this.dragging||!this.event)this.updateFinished();};;var PointsSlider=Class.create();PointsSlider.prototype={initialize:function(sliderHandleId,sliderRailId,sliderCaptionId,sliderValueboxId){this.sliderHandleId=sliderHandleId;this.sliderRailId=sliderRailId;this.sliderCaptionId=sliderCaptionId;this.sliderValuebox=$(sliderValueboxId);this.sliderData={minimum:1,maximum:1,sliderValue:1,step:1,range:$R(0,100),values:$R(0,100),onSlide:this.slideListener.bind(this),onChange:this.changeListener.bind(this)};this.regenerateSlider(1,1,1,1);this.sliderCaption=$(sliderCaptionId);this.points_per_use=1;this.points_currency=-1;this.oldRuleId=-1;this.oldProductPrice=-1;},changeListener:function(val){this.setExternalValue(val);feignPriceChange();},setExternalValue:function(val){this.sliderCaption.innerHTML=getPointsString(val*this.points_per_use,this.points_currency);this.sliderValuebox.value=this.getUses();},slideListener:function(val){this.changeListener(val);},getValue:function(){return this.slider.value;},getUses:function(){return this.getValue();},changeRule:function(rule_id){var init_value=this.getValue();if(init_value==null)init_value=1;var uses=1;if(rule_id==''){usesContainer.hide();}else{var amt=parseInt(rule_options[rule_id]['amount']);var curr=parseInt(rule_options[rule_id]['currency_id']);var max_uses=parseInt(rule_options[rule_id]['max_uses']);this.points_per_use=amt;this.points_currency=curr;if(max_uses==0){max_uses=parseInt(getProductPriceBeforeRedemptions())*1000+1;}
var relevant_customer_points=customer_points?customer_points[curr]:default_guest_points;var price_disposition=rule_options[rule_id]['price_disposition'];var product_price=getProductPriceBeforeRedemptions();max_uses=this.getRealMaxUses(max_uses,this.points_per_use,relevant_customer_points,product_price,price_disposition);if(max_uses>1){if(init_value>max_uses){init_value=max_uses;}
this.regenerateSlider(1,max_uses,1,init_value);this.slider.setValue(init_value);usesContainer.show();}else{this.regenerateSlider(1,1,1,1);usesContainer.hide();}}
if(this.oldRuleId!=rule_id){this.slider.setValue(1);this.oldRuleId=rule_id;}},getRealMaxUses:function(max_uses,points_per_use,cp,pp,pp_disp){var lowest_max_uses=max_uses;var max_pp_uses=pp/pp_disp;max_pp_uses=parseInt(max_pp_uses)+((max_pp_uses-parseInt(max_pp_uses)>0)?1:0);if(max_pp_uses<lowest_max_uses){lowest_max_uses=max_pp_uses;}
var max_cp_uses=parseInt(cp/points_per_use);if(max_cp_uses<lowest_max_uses){lowest_max_uses=max_cp_uses;}
return lowest_max_uses;},regenerateSlider:function(min,max,step,initial_value){if(this.slider!=null){this.slider.dispose();}
this.sliderData.minimum=min;this.sliderData.maximum=max;this.sliderData.step=step;this.sliderData.range=$R(min,max);this.sliderData.values=$R(min,max);this.sliderData.sliderValue=initial_value;this.slider=new SmoothSlider(this.sliderHandleId,this.sliderRailId,this.sliderData);}};