/*
HTTP Host: static.ak.fbcdn.net
Generated: March 18th 2010 11:42:51 PM PDT
Machine: 10.16.140.106
Locale: nu_ll
Path: js/3killofjtu4gog8k.pkg.js
*/

if (window.CavalryLogger) { CavalryLogger.start_js(["js\/3killofjtu4gog8k.pkg.js"]); }

function UIErrorForm(c,a,d,b,e){this.container=a;if(!is_empty(d)){this.form=$(d);this.form.listen('submit',coalesce(e,this.onSubmit).bind(this));}this.errorMap=c;this.displayedErrors={};this.endpoint=b;}UIErrorForm.prototype={attachError:function(b,c){if(!(b in this.errorMap)){var d=DOM.find(this.container,'div[id="UIErrorForm_GenericError"]');var j=$N('h2',{className:'"main_message'},HTML(c));var e=DOM.scry(this.container,'div[id="error_div"]')[0];if(e){DOM.appendContent(e,j);}else{e=$N('div',{id:'error_div',className:"UIMessageBox error"},j);DOM.setContent(d,j);show(d);}return;}var f=DOM.find(this.container,'div[id="'+this.errorMap[b]+'_div"]');var h=DOM.find(this.container,'span[id="'+this.errorMap[b]+'_span"]');var g=DOM.find(this.container,'[id="'+this.errorMap[b]+'"]');this.displayedErrors[b]=true;var e=$N('strong',{className:'UIErrorForm_Flag_Inner'},c);var i=$N('strong',{className:'UIErrorForm_Flag',id:b},e);var a=intl_locale_is_rtl()?'right':'left';i.setStyle(a,'105%');DOM.insertAfter(g,i);CSS.addClass(h,'UIErrorForm_ErrorField');},toggleError:function(a,d){if(this.displayedErrors[a]==d)return;var b=DOM.find(this.container,'strong[id="'+a+'"]');var c=DOM.find(this.container,'span[id="'+this.errorMap[a]+'_span"]');if(d){CSS.addClass(c,'UIErrorForm_ErrorField');CSS.removeClass(b,'hidden_elem');}else{CSS.removeClass(c,'UIErrorForm_ErrorField');CSS.addClass(b,'hidden_elem');}this.displayedErrors[a]=d;},clearErrors:function(){for(var a in this.displayedErrors)this.toggleError(a,false);var b=DOM.scry(this.container,'div[id="error_box_div"]')[0];if(b)DOM.empty(b);},enableButton:function(a){button=$(a);if(button)button.disabled=false;},displayErrors:function(b){this.clearErrors();if(!b)return;for(var a in b)if(a in this.displayedErrors){this.toggleError(a,true);}else this.attachError(a,b[a]);},errorHandler:function(b){var a=b.getPayload();this.displayErrors(a.error_codes);if(a.button_to_enable_on_error)this.enableButton(a.button_to_enable_on_error);},onSubmit:function(){var a=serialize_form(this.form);var b=new AsyncRequest().setURI(this.endpoint).setData(a).setHandler(this.clearErrors.bind(this)).setErrorHandler(this.errorHandler.bind(this));this.clearErrors();b.send();return false;}};
function UICreditCardForm(b,a,d,c,e){this.parent.construct(this,b,a,d,'/ajax/payment/CreditCardFormResponse.php',null);this.errorStrings=c;this.postURI=e;}UICreditCardForm.extend('UIErrorForm');UICreditCardForm.prototype={onSubmit:function(){if(this.validate()){var a=serialize_form(this.form);var b=new AsyncRequest().setURI(this.endpoint).setData(a).setHandler(this.post_register_card.bind(this)).setErrorHandler(this.errorHandler.bind(this));this.clearErrors();b.send();}return false;},post_register_card:function(b){this.clearErrors();if(this.postURI){var a=serialize_form(this.form);a.cc_id=b.getPayload().cc_id;dynamic_post(this.postURI,a);}},validate_zip_for_country:function(){var b=DOM.find(this.container,'select[name="cc_countryCode"]').value;var c=trim(DOM.find(this.container,'input[name="cc_zip"]').value);if(b=='US'){if(c.match(/^[0-9]{5}(-[0-9]{4}){0,1}$/)){return c;}else if(c.match(/^[0-9]{9}$/)){c=c.slice(0,5)+'-'+c.slice(5);return c;}}else if(b=='CA'){var a=c.length;if(a>=3&&c.match(/^[a-zA-Z][0-9][a-zA-z]/)){return c;}else if(a==7&&c.match(/[0-9][a-zA-Z][0-9]$/))return c;}else return c;return null;},validate_state_for_country:function(){var a=DOM.find(this.container,'select[name="cc_countryCode"]').value;var b=trim(DOM.find(this.container,'input[name="cc_state"]').value);if((a=='US'||a=='CA')&&b==='')return null;return b;},validate:function(){var f={};var n={};var l=DOM.scry(this.container,'input[id="for_edit"]')[0];var i=DOM.scry(this.container,'input[id="fewer_fields"]')[0];n.cc_cvv2='CC_CVV2_INVALID';if(!l){n.cc_firstName='CC_NO_FIRSTNAME';n.cc_lastName='CC_NO_LASTNAME';n.cc_creditCardNumber='CC_NO_NUMBER';}if(!i){n.cc_street='CC_NO_STREET';n.cc_city='CC_NO_CITY';}for(var k in n){var j=DOM.scry(this.container,'input[name="'+k+'"]')[0];if(j&&j.value.length<=0)f[k]=n[k];}if(!i){var r=this.validate_zip_for_country();if(r===null)f.cc_zip='CC_NO_ZIP';var q=this.validate_state_for_country();if(q===null)f.cc_state='CC_NO_STATE';}var g=DOM.find(this.container,'select[name="cc_expMonth"]').value;var h=DOM.find(this.container,'select[name="cc_expYear"]').value;if(isNaN(g)||g<1||g>12||isNaN(h)||h<2009||h>2099)f.cc_expYear='CC_INVALID_YEAR';var m=new Date();var a=m.getMonth()+1;var b=m.getFullYear();if(h<b||(h==b&&g<a))f.cc_expYear='CC_EXPIRED_ALREADY';if(!('cc_cvv2' in f)){var c=DOM.find(this.container,'input[name="cc_cvv2"]').value;if(c.length<3||c.length>4||isNaN(c))f.cc_cvv2='CC_CVV2_INVALID';}if(!l&&!('cc_creditCardNumber' in f)){cc_number=DOM.find(this.container,'input[name="cc_creditCardNumber"]').value;if(isNaN(cc_number)){f.cc_creditCardNumber='CC_INVALID_NUMBER_BAD_CHARS';}else if(cc_number.length<13){f.cc_creditCardNumber='CC_INVALID_NUMBER';}else if(!this.validateCCNumber(cc_number)){f.cc_creditCardNumber='CC_BAD_CARD_NUMBER';}else if(!this.validateCCType(cc_number))f.cc_creditCardNumber='CC_CARD_TYPE_NOT_VALID';}var p=DOM.scry(this.container,'input[name="cc_save_required"]')[0];var o=DOM.scry(this.container,'checkbox[name="cc_save_cc"]')[0];if(p&&p.value&&o&&!o.value)f.save_required='CC_SAVE_REQUIRED';if(is_empty(f))return true;var d={};for(k in f){var e=f[k];d[e]=this.errorStrings[e];}this.displayErrors(d);return false;},validateCCNumber:function(f){if(f.match(/[a-zA-Z]/))return false;f=f.replace(/[^0-9]/gi,"");var e=f.split('').reverse();var d='';for(var b=0;b<e.length;b++){var a=parseInt(e[b],10);if(b%2!=0)a=a*2;d=d+a;}var c=0;for(b=0;b<d.length;b++)c=c+parseInt(d.charAt(b),10);return (c!=0&&c%10==0);},getCCType:function(b){var a=b.substr(0,6);if(a.match(/^5[1-5]/)){return 77;}else if(a.match(/^4/)){return 86;}else if(a.match(/^3[47]/)){return 65;}else if(a.match(/^35(2[8-9]|[3-8])/)){return 74;}else if(a.match(/^(6011|65|64[4-9]|622([2-8]|1[3-9]|12[6-9]|9[0-1]|92[0-5]))/)){return 68;}else if(a.match(/^30[0-5]/))return 64;return 85;},validateCCType:function(a){var b=DOM.scry(this.container,'input[name="supported_cards"]')[0];if(!b||b.value.match(this.getCCType(a)))return true;return false;}};
function PasswordConfirmationDialog(){this.parent.construct(this);this._initAsyncRequest();this.setHandler(this._confirm.bind(this));}PasswordConfirmationDialog.SUCCESS=1;PasswordConfirmationDialog.ERROR_BAD_PASSWORD=2;PasswordConfirmationDialog.ERROR_UNKNOWN=3;PasswordConfirmationDialog.extend('Dialog');PasswordConfirmationDialog.prototype={showError:function(a){this._initAsyncRequest({error:a});this.show();return this;},setHandler:function(a){this.parent.setHandler(this._confirm.bind(this,a));return this;},_initAsyncRequest:function(a){var b=new AsyncRequest('/ajax/password_check_dialog.php');if(a)b.setData(a);this.setAsync(b);},_confirm:function(d){var b=document.createElement('img');b.style.position='absolute';b.style.left='-100px';b.style.top='-100px';b.onload=function(){if(b.width!=PasswordConfirmationDialog.SUCCESS){this.showError(b.width);}else if(d)d();}.bind(this);b.onerror=function(){this.showError(PasswordConfirmationDialog.ERROR_UNKNOWN);}.bind(this);var c=$('password_dialog_text').value;var a=$('password_check_uri').value;b.src=URI(a).addQueryData({password:c});}};
GiftCredits={PLACE_APP:'app',PLACE_GIFTSHOP:'giftshop',getPrompt:function(b,i,g,c,d,h,a,e,f){GiftCredits.main('/ajax/giftcredits/prompt.php',b,i,g,c,d,h,a,e,f);},main:function(o,b,p,m,d,e,n,a,f,g){p=!p?0:p;var h={deadbeef:2386512837,app_id:b,api_key:a,receiver:p,order_info:JSON.encode(m),place:n||GiftCredits.PLACE_APP,back_url:d,credits_purchase:g};var l=function(q){Dialog.getCurrent().setUserData(q.getPayload().userData);ErrorDialog.showAsyncError(q);};var c=new AsyncRequest(o).setData(h).setErrorHandler(l);if(f)c.setContextData(f,'application_'+b);var i=new Dialog().setAsync(c);var k=function(){if(e){var r=i.getUserData();var q=null;if(r)if(r.fbpayments_data){q=JSON.decode(r.fbpayments_data);}else if(r.fbpayments_error)q=JSON.decode(r.fbpayments_error);if(q)e(q);}};var j=function(){if(e){var q={error_code:kError_FBPayments_UserCanceled,error_message:'User canceled the order.'};e(q);}i.setCloseHandler(null);};i.setCancelHandler(j).setCloseHandler(k).show();}};GiftCreditsFullPage={postData:null,displayData:null,onsubmit:function(a,g,d,b){a.disabled=true;DOMScroll.scrollTo(new Vector2(0,0,'document'),false);var c=GiftCreditsFullPage.postData;copy_properties(c,serialize_form(a.form));var e=function(j){if(j){b.clearErrors();c.cc_id=j.getPayload().cc_id;}show('loading_payment');hide('payment_footer');hide('payment_body_and_buttons');c.popup_window_cc=d;var h=new AsyncRequest(g).setData(c);if(d){var i=function(l){var k=l.getPayload();window.opener.GiftCreditsDialog.composeConfirmationDialogForPopUpCC(k.title,k.label,k.body,k.callback_js);window.opener.GiftCreditsDialog.checkAndClosePopUpWinForCC();};}else var i=function(k){hide('checkout_cart');$('loading_payment').setContent(HTML(k.getPayload().body));};h.setHandler(i);h.setErrorHandler(function(k){payload=k.getPayload();if(payload){hide('gift_credits_body');$('order_error_msg').setContent(HTML(payload.body));$('back_button').setContent(HTML(payload.button));show('order_error_msg');show('back_button');}});h.send();};if(!b){e(null);return false;}if(!b.validate()){a.disabled=false;return false;}var f=new AsyncRequest().setURI(b.endpoint).setData(c).setHandler(e.bind(this)).setErrorHandler(b.errorHandler.bind(b));f.send();},onPaymentMethodSelected:function(a){if(a){$('payment').setContent(HTML(this.displayData['stored_credit_card_details_'+a]));}else $('payment').setContent(HTML(this.displayData.payment_method_new_cc));}};GiftCreditsDialog={popUpWinForCC:null,checkAndClosePopUpWinForCC:function(){if(GiftCreditsDialog.popUpWinForCC){GiftCreditsDialog.popUpWinForCC.close();GiftCreditsDialog.popUpWinForCC=null;}},getPaymentMethod:function(){if(ge('giftcredits_form')){var b=$('giftcredits_form');var a=serialize_form(b);return a.payment_method;}return 0;},getCreditsAmount:function(){if(ge('giftcredits_form')){var b=$('giftcredits_form');var a=serialize_form(b);return a.add_num_credits;}return 0;},_asyncReq:function(c,e,b){var d=function(f){Dialog.getCurrent().setUserData(f.getPayload().userData);ErrorDialog.showAsyncError(f);};var a=new AsyncRequest().setURI(e).setData(b).setMethod(c).setErrorHandler(d).setReadOnly(c=='GET');Dialog.getCurrent().setAsync(a);return false;},onSubmitWithEnoughCredit:function(a,b){Dialog.getCurrent().getButtonElement('use_credits').disabled=true;return GiftCreditsDialog._asyncReq('POST',b,a);},onSubmitWithCCId:function(d,e,a,b){var c=d;c.add_num_credits=a;c.cc_id=b;return GiftCreditsDialog._asyncReq('POST',e,c);},onSubmitNoCC:function(j,a,k,i){Dialog.getCurrent().getButtonElement('add_credits').disabled=true;var b=j;b.add_num_credits=a;if(!i){dynamic_post(k,b);return false;}else{GiftCreditsDialog.checkAndClosePopUpWinForCC();var h=680;var e=500;var d=0;var l=0;if(window.screenLeft){d=window.screenLeft;l=window.screenTop;}else if(window.screenX){d=window.screenX;l=window.screenY;}var m=Vector2.getViewportDimensions().x;var c=Vector2.getViewportDimensions().y;var f=d+(m-h)/2;var g=l+(c-e)/2;GiftCreditsDialog.popUpWinForCC=window.open('','creditcardWindow','location=yes, top='+g+',left='+f+',width='+h+',height='+e+'resizable=yes,scrollbars=yes',true);if(!GiftCreditsDialog.popUpWinForCC){b.pop_up_get_blocked=true;dynamic_post(k,b);}else dynamic_post(k,b,'creditcardWindow');return false;}},onSubmitFromPrompt:function(e,f,a,b,d){Dialog.getCurrent().getButtonElement('add_credits').disabled=true;if(!ge('payment_body_amount')){var c=_tx("Please select a payment method and amount.");(new ErrorDialog()).showError(_tx("Error"),c);}else if(GiftCreditsDialog.getPaymentMethod()=='mobile'){GiftCreditsDialog.onSubmitUseMobile(e);}else GiftCreditsDialog.onSubmitUseCreditCard(e,f,a,b,d,null);},updatePricepoints:function(a,c){var e=function(h){if(ge('payment_body_amount')){var g=$('payment_body_amount');g.parentNode.removeChild(g);}$('payment_body_method').parentNode.appendContent(HTML(h.getPayload()));show(Dialog.getCurrent().getButtonElement('add_credits'));};if(ge('payment_body_amount')){var b=$('payment_body_amount');b.parentNode.removeChild(b);}var d={method:GiftCreditsDialog.getPaymentMethod(),amount:a,appid:c};var f=new AsyncRequest().setURI('/ajax/giftcredits/pricepoints.php').setData(d).setHandler(e.bind(this)).send();},onSubmitUseMobile:function(d){hide('gift_cart');hide(Dialog.getCurrent().getButtonElement('add_credits'));var c=function(f){$('gift_cart').parentNode.appendContent(HTML(f.getPayload()));};var b=function(f){Dialog.getCurrent().hide();ErrorDialog.showAsyncError(f);};var a={url:GiftCreditsDialog.getCreditsAmount(),post_data:d};var e=new AsyncRequest().setURI('/ajax/giftcredits/zong-begin.php').setData(a).setHandler(c.bind(this)).setErrorHandler(b.bind(this)).send();},onSubmitUseCreditCard:function(e,f,b,c,d,a){Dialog.getCurrent().getButtonElement('add_credits').disabled=true;var g=GiftCreditsDialog.getPaymentMethod();var a=(a==null)?GiftCreditsDialog.getCreditsAmount():a;if(g){if(c){GiftCreditsDialog.onSubmitWithCCId(e,f,a,g);}else{var h=GiftCreditsDialog.onSubmitWithCCId.bind(null,e,f,a,g);new PasswordConfirmationDialog().setHandler(h).show();}}else GiftCreditsDialog.onSubmitNoCC(e,a,b,d);},onloadMobileIframe:function(){hide('zong-loading');},onMobileComplete:function(a){GiftCreditsDialog._asyncReq('POST','/ajax/giftcredits/mobile.php',{transactionRef:a});},selected_stored_cc:function(c,d,a){hide('redirect_message');var b=Dialog.getCurrent().getButtonElement('add_credits');b.value=c;if(d>0)GiftCreditsDialog.updatePricepoints(d,a);},selected_new_cc:function(c,d,a){show('redirect_message');var b=Dialog.getCurrent().getButtonElement('add_credits');b.value=c;if(d>0)GiftCreditsDialog.updatePricepoints(d,a);},selected_mobile:function(c,d,a){hide('redirect_message');var b=Dialog.getCurrent().getButtonElement('add_credits');b.value=c;if(d>0)GiftCreditsDialog.updatePricepoints(d,a);},showLearnMoreDialog:function(){var a=new AsyncRequest('/ajax/giftcredits/learn.php');new Dialog().setAsync(a).show();},composeConfirmationDialogForPopUpCC:function(d,c,a,b){Dialog.getCurrent().setTitle(d).setBody(a).setButtons({name:'ok',label:c,handler:b}).show();}};
function GiftsMall(e,b,c,d){this.root=e;this.directory=b;this.current=c;this.home=c;this.virtualGiftsId=this.root.find('.VIRTUAL-GIFTS').id;var a=this.root.find('div.dark_loaded').childNodes||[];to_array(a).map(function(f){hide(f);this.root.appendChild(f);}.bind(this));this.switchTo(d);Arbiter.subscribe(GiftsMall.SWITCH_TO,function(h,f){var g=f.id||this.home;this.directory[g]&&this.switchTo(g);}.bind(this));}GiftsMall.prototype={switchTo:function(a){if(!this.directory[a])return;var b=this.current;if(a==b)return;GiftshopController.log('switchTo-'+a);Arbiter.inform(GiftsMall.SET_PURCHASE_BUTTON,{enable:false,buttonText:_tx("Buy Gift")},Arbiter.BEHAVIOR_STATE);GiftStoreManager.getInstance().clearAppOrderInfo();if(typeof this.directory[a].virtualGiftsTag=='number'){GiftshopController.selectBrowseTag(this.directory[a].virtualGiftsTag);GiftStoreManager.getInstance().resetSku();}if(this.directory[a].isVirtualGiftsShortcut)a=this.virtualGiftsId;if(!(ge(a)))if(this.directory[a].html){this.root.appendContent(HTML(this.directory[a].html));hide(a);}else return;this.fadeTo(b,a);this.current=a;if(this.directory[b].isIframe)DOM.remove(b);Arbiter.inform(GiftsMall.SWITCHED_TO,{sender:this,prev:b,id:a},Arbiter.BEHAVIOR_STATE);return true;},fadeTo:function(a,b){show(b);hide(a);},getCrumbs:function(b){b=b||this.current;var a=[];while(b){a.push({title:this.directory[b].title,onclick:(b!=this.current)&&this.switchTo.curry(b).bind(this)});b=this.directory[b].parent;}return a.reverse();},isIframe:function(a){return this.directory[a].isIframe;}};GiftsMall.SWITCH_TO='GiftsMall.SWITCH_TO';GiftsMall.SWITCHED_TO='GiftsMall.SWITCHED_TO';GiftsMall.SET_PURCHASE_BUTTON='GiftsMall.SET_PURCHASE_BUTTON';function Breadcrumb(a){this.root=a;this.root.addClass('gifts_mall_breadcrumb');Arbiter.subscribe(GiftsMall.SWITCHED_TO,function(c,b){this.update(b.sender.getCrumbs());}.bind(this));}Breadcrumb.prototype={update:function(c){if(!c.length)return;this.root.setContent('');for(var d=0;d<c.length;++d){var b=c[d];var a=d?'not_first':'first';this.root.appendContent($N(b.onclick?'a':'span',{className:a,onclick:b.onclick||bagofholding},htmlize(b.title)));}}};function GiftsMallFullPage(){this.submitButton=$('giftshop_continue_button');new Breadcrumb($('gifts_full_page_breadcrumb'));Arbiter.subscribe(GiftsMall.SWITCHED_TO,function(b,a){GiftshopController.forcePublicPrivacy(a.sender.isIframe(a.id));});this.submitButton.listen('click',function(){if(!this.submitButton.hasClass('UIButton_Disabled'))GiftshopController.onclickSubmit();return false;}.bind(this));Arbiter.subscribe(GiftsMall.SET_PURCHASE_BUTTON,function(b,a){if(a.enable!=undefined)this.submitButton.conditionClass('UIButton_Disabled',!a.enable);if(a.buttonText!=undefined)this.submitButton.find('.UIButton_Text').setContent(a.buttonText);}.bind(this));}copy_properties(GiftsMallFullPage.prototype,{onSubmit:function(){var c=serialize_form(this.form);var b=$(this.form.message);c.message=(b.getControl&&trim(b.getControl().getValue()))||'';var d=c.receiver;delete c.receiver;var a=URI.getRequestURI().removeQueryData(['ref']).toString();GiftshopController.initOrder(d,c,a);}});
function GiftshopController(){}GiftshopController.giftsAppId=2386512837;GiftshopController.giftsApiKey='baf530df1c0ee03c86f5f55b2e6ca3e1';GiftshopController.maxMessageLength=200;GiftshopController.selectBrowseTag=function(b){if(ge('giftshop_search_option_input'))$('giftshop_search_option_input').scry('a.token').each(DOM.remove);var a=$('giftshop_tag_options');set_form_select_value(a,b);a.onchange();};GiftshopController.initialize=function(d,c,a,b,e){GiftshopController.cachedPages={};GiftshopController.currentSettings={};GiftshopController.setCurrentSettings(a);GiftshopController.setCachedPage(d,c,b);GiftshopController.user=e;GiftshopController.forcePublicPrivacy(false);GiftshopController.numSkusPerPage=c;};GiftshopController.buildHashkeyCachedPages=function(d,c){var a=JSON.encode(GiftshopController.getCurrentSettings());var b=[d,c,a].join(':');return b;};GiftshopController.setCachedPage=function(d,c,b){var a=GiftshopController.buildHashkeyCachedPages(d,c);GiftshopController.cachedPages[a]=b;GiftshopController.lastPage=a;};GiftshopController.getCachedPage=function(c,b){var a=GiftshopController.buildHashkeyCachedPages(c,b);return GiftshopController.cachedPages[a]||null;};GiftshopController.getCurrentSettings=function(){return GiftshopController.currentSettings;};GiftshopController.getCurrentSettingByKey=function(a){return GiftshopController.currentSettings[a]||null;};GiftshopController.setCurrentSettings=function(a){GiftshopController.currentSettings=a;};GiftshopController.setCurrentSettingByKey=function(a,b){GiftshopController.currentSettings[a]=b;};GiftshopController.updateComposerButtonText=function(a){Arbiter.inform(GiftsMall.SET_PURCHASE_BUTTON,{buttonText:a?_tx("Give Gift"):_tx("Buy Gift")});};GiftshopController.enablePurchaseButton=function(a){Arbiter.inform(GiftsMall.SET_PURCHASE_BUTTON,{enable:a});};GiftshopController.set_item_category=function(e){if(!e){GiftshopController.log('selected category 0');}else GiftshopController.log('selected category '+e);var b=GiftshopController.getCurrentSettingByKey('tag_id');var a='giftshop_top_tag_'+(b?b:'');var d='giftshop_top_tag_'+(e?e:'');var c='giftshop_top_tag_';};GiftshopController.reset_item_category=GiftshopController.set_item_category.bind(null,null);GiftshopController.search_addtag=function(b,a,c){GiftshopController.findgifts_by_tag(b,a,c.i);};GiftshopController.findgifts_by_tag=function(b,a,c){this.enablePurchaseButton(false);GiftshopController.set_item_category(c);GiftshopController.setCurrentSettingByKey('tag_id',c);GiftStoreManager.getInstance().updatePager();};GiftshopController.search_removetag=function(b,a,c){GiftshopController.reset_item_category();GiftshopController.setCurrentSettingByKey('tag_id',null);GiftStoreManager.getInstance().updatePager();};GiftshopController.skuPrices={};GiftshopController.addSkuPrices=function(a){copy_properties(GiftshopController.skuPrices,a);};GiftshopController.getSkuPrice=function(a){return GiftshopController.skuPrices[a];};GiftshopController.setAutoExpandedMode=function(a){GiftshopController.isAutoExpanded=a;};GiftshopController.getAutoExpandedMode=function(){return GiftshopController.isAutoExpanded;};GiftshopController.composer=null;GiftshopController.getComposer=function(){return GiftshopController.composer||null;};GiftshopController.fallBackStatusUpdate=function(){var a=GiftshopController.getComposer();if(a)a.reset(true,false,false).post();};GiftshopController.focusMessageInput=function(){var a=GiftshopController.getComposer();if(a){var b=a.focusInput();}else $('message').focus();};GiftshopController.initOrder=function(l,k,d,e,i){i=true;var f;var a;var g=GiftStoreManager.getInstance();if(!g)return;var b=g.getAppOrderInfo();copy_properties(k,b.order_info);a=b.api_key;if(!a){if(GiftshopController.getAutoExpandedMode()){GiftshopController.fallBackStatusUpdate();}else GiftshopController.log('gsh:select-gift '+k.sku);return;}var h=(a==GiftshopController.giftsApiKey)&&!GiftshopController.getSkuPrice(k.sku);if(!l){GiftshopController.log('gsh:select-receiver '+k.sku);f=_tx("Please pick a receiver for your gift.");DOMScroll.scrollTo(new Vector2(0,0,'document'),false);}else if(!k.message&&!i){GiftshopController.log('gsh:include-message '+k.sku);new Dialog().setTitle(_tx("Write Message")).setBody(_tx("Would you like to write a message to send with your gift?")).setButtons([Dialog.newButton('Yes',_tx("Write Message"),null,GiftshopController.focusMessageInput),Dialog.newButton('No',_tx("Send Anyway"),'inputaux',function(){GiftshopController.initOrder(l,k,d,e,true);})]).show();return;}else if(k.message.length>GiftshopController.maxMessageLength){GiftshopController.log('gsh:message-too-long '+k.sku);var j=k.message.length-GiftshopController.maxMessageLength;f=_tx("Your message is too long by {number} characters.",{number:j});}if(f){new ErrorDialog().showError(_tx("Error"),f);return;}k.source=k.source||'';k.ref=k.ref||URI.getRequestURI().getQueryData().ref||'';if(h){var c=new AsyncRequest('/ajax/giftshop/free_gifts.php').setData({order_info:JSON.encode(k),receiver:l,back_url:d});if(e)c.setContextData(e,'application_'+a);new Dialog().setAsync(c).show();return;}GiftshopController.enablePurchaseButton(false);GiftCredits.getPrompt(null,l,k,d,GiftshopController.enablePurchaseButton.curry(true),GiftCredits.PLACE_GIFTSHOP,a,e);};GiftshopController.onclickSubmit=function(event){var b=serialize_form($('giftshop_form'));b.message=($('message').getControl&&trim($('message').getControl().getValue()))||'';var c=b.receiver;delete b['receiver'];var a=URI.getRequestURI().removeQueryData(['ref']).toString();GiftshopController.initOrder(c,b,a);event&&event.kill();};GiftshopController.updateNumCredits=function(a,b){if(ge('giftshop_num_credits_balance_holder'))$('giftshop_num_credits_balance_holder').setContent(a);if(ge('giftshop_num_credits_holder'))$('giftshop_num_credits_holder').setContent(b);};function gift_recipient_onfound(a){if(!a){$('receiver').value='';$('recipient_pic').style.backgroundImage='';$('recipient_pic').style.height='0px';$('recipient_pic').style.width='0px';}else{$('receiver').value=a.i;$('recipient_pic').style.backgroundImage='url('+a.it+')';$('recipient_pic').style.height='50px';$('recipient_pic').style.width='50px';}return true;}copy_properties(GiftStoreManager,{_instance:null,getAndUpdateInstance:function(c,d,b,e,a){if(!this._instance)this._instance=new GiftStoreManager(c,d,b,e);this._instance.update(e);return this._instance;},getInstance:function(){return this._instance;}});function GiftStoreManager(b,c,a,d){this.embedded_store=$(b);onunloadRegister(bind(this,function(){DOM.remove(this.embedded_store);delete GiftStoreManager._instance;}),true);this.pageOffset=c;this.perPage=a;this.totalPages=d;this.prevSelect=null;this.initialize();this.initPager();this.addGiftListeners();}GiftStoreManager.prototype.updatePager=function(){this.pager.setOffset(0);this.changePage(0);};GiftStoreManager.prototype.initialize=function(b,a,c){this.giftsGrid=DOM.find(this.embedded_store,'div#gifts_grid');this.storeFooter=DOM.find(this.embedded_store,'div#store_footer');};GiftStoreManager.prototype.update=function(a){this.totalPages=a||this.totalPages;this.pager.setTotal(this.totalPages);};GiftStoreManager.prototype.initPager=function(){this.pager=new UIPager(this.totalPages,1,this.pageOffset,this.changePage.bind(this));this.pagerspan=DOM.find(this.embedded_store,'div#giftstore_pager');this.pagerspan.appendChild(this.pager.getRoot());this.pager.setSummaryTextHandler(this.getSummaryText.bind(this));};GiftStoreManager.prototype.getSummaryText=function(a,c,b){return _tx("Page {current} of {total}",{current:a+1,total:c});};GiftStoreManager.prototype.setTotalPages=function(a){GiftStoreManager.getInstance().totalPages=a;GiftStoreManager.getInstance().pager.setTotal(a);};GiftStoreManager.prototype.addGiftListeners=function(){var a=DOM.scry(this.giftsGrid,'div.gift_outer.instock');for(var b=0;b<a.length;b++){a[b].listen('click',this.giftOnClick.bind(this,a[b]));a[b].listen('mouseover',this.giftOnMouseOver.bind(this,a[b]));a[b].listen('mouseout',this.giftOnMouseOut.bind(this,a[b]));}};GiftStoreManager.prototype.changePage=function(b){this.pageOffset=b;if(b<0||b>this.totalPages)return;var a=this.perPage*b;GiftshopController.log('changed to page starting at '+a+' with '+this.perPage+' per page');var d=function(e){this.setTotalPages(e.total_pages);DOM.replace(this.giftsGrid,HTML(e.gifts_grid));this.giftsGrid=DOM.find(this.embedded_store,'div#gifts_grid');this.addGiftListeners();}.bind(this);var c=GiftshopController.getCachedPage(a,this.perPage);if(c){d(c);return;}DOM.setContent(this.giftsGrid,'');this.giftsGrid.addClass('gifts_loading');this.paginate(a,this.perPage,d);};GiftStoreManager.prototype.paginate=function(d,c,a){var b={start:d,per_page:c};copy_properties(b,GiftshopController.getCurrentSettings());new AsyncRequest().setURI('/ajax/giftshop/browse.php').setData(b).setHandler(function(f){var e=f.getPayload();if(a)a(e);GiftshopController.setCachedPage(d,c,e);}).send();};GiftStoreManager.prototype.giftOnClick=function(a,event){var b=a.getAttribute('sku');GiftshopController.updateComposerButtonText(GiftshopController.getSkuPrice(b));if(this.prevSelect!=a){GiftshopController.log('selected SKU '+b);if(this.prevSelect)GiftshopController.changeGiftOuterClass(this.prevSelect,'gift_outer');}GiftshopController.changeGiftOuterClass(a,'gift_outer_onclick');this.prevSelect=a;this.setAppOrderInfo(GiftshopController.giftsApiKey,{sku:b},true);event&&event.kill();};GiftStoreManager.prototype.resetSku=function(){if(this.prevSelect)GiftshopController.changeGiftOuterClass(this.prevSelect,'gift_outer');this.prevSelect=null;};GiftStoreManager.prototype.giftOnMouseOver=function(a,event){if(this.prevSelect!=a)GiftshopController.changeGiftOuterClass(a,'gift_outer_onmouseover');event.kill();};GiftshopController.changeGiftOuterClass=function(d,b){var c={gift_outer:0,gift_outer_onmouseover:0,gift_outer_onclick:0};c[b]=1;for(var a in c)if(!c[a]){CSS.removeClass(d,a);}else CSS.addClass(d,a);};GiftStoreManager.prototype.giftOnMouseOut=function(a,event){if(this.prevSelect!=a)GiftshopController.changeGiftOuterClass(a,'gift_outer');event.kill();};GiftStoreManager.prototype.getAppOrderInfo=function(){return {api_key:this.appOrderApiKey||null,order_info:this.appOrderInfo||{}};};GiftStoreManager.prototype.setAppOrderInfo=function(a,b,c){if(!a)return;if(b){this.appOrderApiKey=a;this.appOrderInfo=b;}if(c!==null)GiftshopController.enablePurchaseButton(c);};GiftStoreManager.prototype.clearAppOrderInfo=function(){this.appOrderApiKey=null;this.appOrderInfo={};};GiftshopController.forcePublicPrivacy=function(d){if(ge('delivery_info')&&ge('platform_gift_privacy_txt')){var a=$('delivery_info');var b=$('platform_gift_privacy_txt');if(d){hide(a);show(b);var c=$('gift_privacy_type_0');c.checked=true;}else{show(a);hide(b);}}};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();GiftStoreManager.getInstance().resetSku();};GiftshopController.option_select_tag=function(a,c,b){GiftshopController.findgifts_by_tag(0,b,get_form_select_value(a));};GiftshopController.log=function(a){var d='\001';var e=Math.floor((new Date()).getTime()/1000);var b=new Array(e,GiftshopController.user,a);var c=b.join(d);scribe_log('giftshop',c);};
var FBPay={registerServiceForIFrame:function(){var a={submitOrder:{asyncMethod:FBPay.onSubmitOrderRequest},updateGiftshopOrder:{asyncMethod:FBPay.onUpdateGiftshopOrderRequest},submitGiftshopOrder:{asyncMethod:FBPay.onSubmitGiftshopOrderRequest}};FBPay._rpcServer=new FB.XdComm.XdRpcServer('PaymentsServer',a);},onSubmitOrderRequest:function(c,d,i){var b=c.app_id;var g=c.order_info;var h=c.receiver;var f=c.next_url;var a=c.api_key;var e=c.credits_purchase;GiftCredits.getPrompt(b,h,g,f,d,null,a,null,e);},onUpdateGiftshopOrderRequest:function(a,b,f){var c=a.order_info||null;var d=null;a.price!==undefined&&(d=a.price);var e=null;a.ready!==undefined&&(e=a.ready);GiftStoreManager.getInstance().setAppOrderInfo(a.api_key,c,e);},onSubmitGiftshopOrderRequest:function(){var a=GiftshopController.getComposer();if(a){a.getData();}else GiftshopController.onclickSubmit();}};
JSCC=function(){var a={},b={};return {get:function(c){if(c in b){return b[c];}else{b[c]=a[c]();delete a[c];return b[c];}},init:function(d,c){if(c){a={};b={};}JSCC.put(d);},put:function(c){copy_properties(a,c);}};}();
function Typeahead(){this.args=arguments;}Typeahead.mixin('Arbiter',{init:function(){this.init=bagofholding;!function(b,c,a){Bootloader.loadComponents([c.ctor,b.ctor,a.ctor],function(){this.view=new window[c.ctor](c.node,c.options||{});this.data=new window[b.ctor](b.options||{});this.core=new window[a.ctor](a.node,this.view,this.data,a.options||{});DataStore.set(a.node,'typeahead',this);this.inform('init',this);}.bind(this));}.apply(this,this.args);}});

if (window.Bootloader) { Bootloader.done(["js\/3killofjtu4gog8k.pkg.js"]); }