/*    HTTP Host:  static.ak.fbcdn.net                                          */
/*    Generated:  November 5th 2008 11:03:27 AM PST                            */
/*      Machine:  10.16.139.107                                                */
/*       Source:  Local Cache                                                  */
/*     Location:  rsrc:79wx17bj:en_US:/html/js/gifts/giftshop.js               */
/*       Locale:  en_US                                                        */
/*         Path:  js/gifts/giftshop.js                                         */


var last_selected=null;function GiftshopController(){}
GiftshopController.initialize=function(start,per_page,form,init_payload){GiftshopController.cachedPages={};GiftshopController.currentSettings={};GiftshopController.setCurrentSettings(form);GiftshopController.setCachedPage(start,per_page,init_payload);};GiftshopController.buildHashkeyCachedPages=function(start,per_page){var form=JSON.encode(GiftshopController.getCurrentSettings());var hash_key=[start,per_page,form].join(':');return hash_key;}
GiftshopController.setCachedPage=function(start,per_page,payload){var hash_key=GiftshopController.buildHashkeyCachedPages(start,per_page);GiftshopController.cachedPages[hash_key]=payload;}
GiftshopController.getCachedPage=function(start,per_page){var hash_key=GiftshopController.buildHashkeyCachedPages(start,per_page);return GiftshopController.cachedPages[hash_key]||null;}
GiftshopController.getCurrentSettings=function(){return GiftshopController.currentSettings;}
GiftshopController.getCurrentSettingByKey=function(key){return GiftshopController.currentSettings[key]||null;}
GiftshopController.setCurrentSettings=function(form){GiftshopController.currentSettings=form;}
GiftshopController.setCurrentSettingByKey=function(key,value){GiftshopController.currentSettings[key]=value;}
GiftshopController.paginate=function(start,per_page,callback_func){var data={'start':start,'per_page':per_page}
copy_properties(data,GiftshopController.getCurrentSettings());new AsyncRequest().setURI('/ajax/giftshop/browse.php').setData(data).setHandler(function(response){var payload=response.getPayload();if(callback_func){callback_func(payload);}
GiftshopController.setCachedPage(start,per_page,payload);}).send();}
GiftshopController.select_unselect_option=function(selected_div,unselected_div,default_div){if(unselected_div&&ge(unselected_div)){$(unselected_div).removeClass('selected');}else if(default_div&&ge(default_div)){$(default_div).removeClass('selected');}
if(selected_div&&ge(selected_div)){$(selected_div).addClass('selected');}else if(default_div&&ge(default_div)){$(default_div).addClass('selected');}}
GiftshopController.sortmethod=function(sort,start,per_page){var current_sort=GiftshopController.getCurrentSettingByKey('sort')
var current_sort_div=current_sort?"giftshop_sort_method_"+current_sort:null;var sort_div="giftshop_sort_method_"+sort;GiftshopController.select_unselect_option(sort_div,current_sort_div,null);GiftshopController.setCurrentSettingByKey('sort',sort);onClickStorePager(start,per_page);}
GiftshopController.filtermethod=function(filter,start,per_page){var current_filter=GiftshopController.getCurrentSettingByKey('filter');var current_filter_div=current_filter?"giftshop_filter_method_"+current_filter:null;var filter_div="giftshop_filter_method_"+filter;GiftshopController.select_unselect_option(filter_div,current_filter_div,null);GiftshopController.setCurrentSettingByKey('filter',filter);onClickStorePager(start,per_page);}
GiftshopController.set_item_category=function(tag_id){var current_tag=GiftshopController.getCurrentSettingByKey('tag_id');var current_div_id='giftshop_top_tag_'+(current_tag?current_tag:'');var div_id='giftshop_top_tag_'+(tag_id?tag_id:'');var default_div='giftshop_top_tag_';GiftshopController.select_unselect_option(div_id,current_div_id,default_div);}
GiftshopController.reset_item_category=GiftshopController.set_item_category.bind(null,null);GiftshopController.search_addtag=function(start,per_page,token){GiftshopController.findgifts_by_tag(start,per_page,token.i);}
GiftshopController.findgifts_by_tag=function(start,per_page,tag_id){GiftshopController.set_item_category(tag_id);GiftshopController.setCurrentSettingByKey('tag_id',tag_id);onClickStorePager(start,per_page);}
GiftshopController.search_removetag=function(start,per_page,token){GiftshopController.reset_item_category();GiftshopController.setCurrentSettingByKey('tag_id',null);onClickStorePager(start,per_page);}
GiftshopController.skuPrices={};GiftshopController.addSkuPrices=function(new_sku_prices){copy_properties(GiftshopController.skuPrices,new_sku_prices);}
GiftshopController.getSkuPrice=function(sku){return GiftshopController.skuPrices[sku];}
GiftshopController.getEndpoint=function(sku){var default_endpoint='/ajax/giftcredits/prompt.php';var free_endpoint='/ajax/giftcredits/index.php';return GiftshopController.getSkuPrice(sku)!==0?default_endpoint:free_endpoint;}
GiftshopController.onclickSubmit=function(){var giftshopData=serialize_form($('giftshop_form'));giftshopData.source='giftshop';giftshopData.ref=giftshopData.ref||URI().getQueryData().ref||'';giftshopData.back_url=URI().removeQueryData(['ref']).toString();var req=new AsyncRequest(GiftshopController.getEndpoint(giftshopData.sku)).setData(giftshopData);new Dialog().setDarkModal(true).setAsync(req).show();}
GiftshopController.updateNumCredits=function(num_credits_str){$('giftshop_num_credits_holder').setContent(num_credits_str);}
function gift_recipient_onfound(result){if(!result){$('receiver').value='';$('recipient_pic').style.backgroundImage='';if(ge('filter_dont_have')){$('filter_dont_have').innerHTML='';}}else{if(ge('filter_dont_have')){var text=_tx("Show only gifts that {name} doesn't already have",{'name':result.t.substring(0,result.t.indexOf(' '))});$('filter_dont_have').innerHTML='&raquo; <a href="/giftshop.php?to='+result.i+'&filter=7">'+text+'</a>';}
$('receiver').value=result.i;$('recipient_pic').style.backgroundImage='url(secure_pic.php?i='+result.i+')';}
return true;}
function mouseoutStoreGift(gift_outer,sku){if(!last_selected||(last_selected!=sku)){gift_outer.className='gift_outer';}}
function mousedownStoreGift(gift_outer,img,sku,free){_mousedownStoreGift(gift_outer,img,sku,free,'gift_outer_onclick');}
function mouseoverStoreGift(gift_outer,img,sku){_mouseoverStoreGift(gift_outer,img,sku,'gift_outer_onmouseover');}
function _mousedownStoreGift(gift_outer,img,sku,free,class_name){gift_outer.className=class_name;if(last_selected&&last_selected!=sku){if(ge('gift_outer_'+last_selected))
$('gift_outer_'+last_selected).className='gift_outer';}
if(ge('gift_pic_selected')&&ge('placeholder_'+sku)){if(!last_selected||last_selected!=sku)
DOM.setContent($('gift_pic_selected'),HTML($('placeholder_'+sku).innerHTML));}
last_selected=sku;$('sku').value=sku;}
GiftshopController.resetForm=function(){$('message').value='';$('gift_privacy_type_0').checked=true;!($('friend_selector').typeahead)&&$('friend_selector').focus();$('friend_selector').typeahead.clear();$('friend_selector').typeahead.blur();gift_recipient_onfound();if(last_selected!==null){$('gift_outer_'+last_selected).className='gift_outer';}
last_selected=null;$('gift_pic_selected').setContent('');}
function _mouseoverStoreGift(gift_outer,img,sku,class_name){if(!last_selected||(last_selected!=sku)){gift_outer.className=class_name;}}
function onClickStorePager(start,per_page){var set_payload=function(payload){set_inner_html($('store_window'),payload.store_window);if(ge('gift_pic_holder')){DOM.setContent($('gift_pic_holder'),HTML(payload.placeholders));}};var payload=GiftshopController.getCachedPage(start,per_page);if(payload){set_payload(payload);return;}
DOM.setContent($('gifts_grid'),'');$('gifts_grid').addClass('loading');GiftshopController.paginate(start,per_page,set_payload);}
function GiftshopPaymentSelector(){}
copy_properties(GiftshopPaymentSelector,{_instance:null,getInstance:function(){if(!GiftshopPaymentSelector._instance){GiftshopPaymentSelector._instance=new GiftshopPaymentSelector();}
return GiftshopPaymentSelector._instance;}});copy_properties(GiftshopPaymentSelector.prototype,{toggleNewCard:function(obj){if(obj.checked){show_new_cc();$('use_coupon_code').checked=false;this.checkShowBundle();}else{hide_new_cc();}},showAddCard:function(){show('new_card_payment');},hideAddCard:function(){hide('new_card_payment');var obj=ge('add_new_card');if(obj){obj.checked=false;}}});function giftshop_explain_credits(){new Dialog().setAsync(new AsyncRequest('/ajax/giftcredits/faq.php').setMethod('GET').setReadOnly(true)).show();}
function giftshop_show_redeem_credits(){new Dialog().setAsync(new AsyncRequest('/ajax/giftcredits/redeem.php').setMethod('GET').setReadOnly(true)).setDarkModal(true).show();}
function giftshop_redeem_credits_onclick(input_id){new Dialog().setAsync(new AsyncRequest('/ajax/giftcredits/redeem.php').setMethod('POST').setData({code:$(input_id).value})).setDarkModal(true).show();}
GiftCredits={postData:null,onsubmit:function(button_elem){var data=GiftCredits.postData;copy_properties(data,serialize_form(button_elem.form));data.full_page=1;var async=new AsyncRequest('/ajax/giftcredits/').setData(data);new Dialog().setAsync(async).setDarkModal(true).show();}};

if (window.Bootloader) { Bootloader.done(["js\/gifts\/giftshop.js"]); }