function fn_recurring_billing_add_js_item(data)
{if(data.var_prefix=='r'){data.append_obj_content=data.object_html.str_replace('{recurring_plan_id}',data.var_id).str_replace('{recurring_plan}',data.item_id);}}
function fn_recurring_billing_update_js_item_id(data)
{if(data.prefix=='r'){data.child_id=data.root_id+'_'+data.id;}}
function fn_recurring_billing_check_exceptions(data)
{if(typeof(recurring_plan)!='undefined'&&recurring_plan[data.id]){for(var id in recurring_plan[data.id]){fn_update_recurring_prices('recurring_price',data.id,id,recurring_plan[data.id][id]['last_price']);fn_update_recurring_prices('start_recurring_price',data.id,id,recurring_plan[data.id][id]['price']);}
price[data.id]=recurring_plan[data.id][$('#rb_plan_'+data.id).val()]['price'];fn_update_product_price(data.id);}}
function fn_update_recurring_prices(id,prod_id,plan_id,rec_price)
{var elm=$('#'+id+'_'+prod_id+'_'+plan_id);if(elm.length){price[prod_id]=rec_price;fn_update_product_price(prod_id);elm.html(jQuery.formatNum((typeof(update_ids[prod_id]['discounted_price']['P'])!='undefined'?update_ids[prod_id]['discounted_price']['P']:update_ids[prod_id]['discounted_price']['S']),decplaces,false));}
elm=$('#sec_'+id+'_'+prod_id+'_'+plan_id);if(elm.length){price[prod_id]=rec_price;fn_update_product_price(prod_id);elm.html(jQuery.formatNum(update_ids[prod_id]['discounted_price']['S'],decplaces,false));}}