
(function(){var user_bubbler=function(){var that={bubble:null,body:null,bubble_created:false,currently_shown_id:null,cached_profile_status:{},loading_html:'<p class="loading">Loading status&hellip;</p>'};that.show_profile_status=function(user_id,obj){that.currently_shown_id=user_id;var cached=that.cached_profile_status[user_id];if(cached===true){that.body.html(that.loading_html);}else if(!cached){that.body.html(that.loading_html);var total_loading_height=$(obj).height();if(total_loading_height<43){total_loading_height=43;}
var loading_padding=(total_loading_height/2)-7;that.body.find('.loading').css({'height':$(obj).height()-loading_padding+'px','padding-top':loading_padding+'px'});that.cached_profile_status[user_id]=true;var url='/a/xhr/avatar_bubble/123'.replace(123,user_id);$.getJSON(url,function(data){if(!data.html){that.body.html("<div style='height: 42px'>Error loading user info...</div>");that.cached_profile_status[user_id]=null;return;}
if(that.currently_shown_id!=user_id){return;}
that.body.html(data.html);that.cached_profile_status[user_id]=data.html;that.fix_avatar_size(obj);});}else{that.body.html(cached);}};that.show=function(user_id,obj,popup_right){if(!that.bubble_created){$(document.body).append('<div id="avatar-bubble" class="status-bubble"><div class="top">&nbsp;</div><div class="content clearfix"></div><div class="bottom">&nbsp;</div></div>');that.bubble=$('#avatar-bubble');that.body=that.bubble.find('.content');that.bubble_created=true;that.bubble.mouseleave(function(){$(this).css('visibility','hidden');});}
that.show_profile_status(user_id,obj);var offset=$(obj).offset();var co=that.calc_offset(obj);that.bubble.css({top:(offset.top-co)+'px',left:(offset.left-co)+'px',visibility:'visible'});that.fix_avatar_size(obj);};that.fix_avatar_size=function(obj){var avatar_width=$(obj).width();var avatar_height=$(obj).height();var orig_avatar_width=avatar_width;if(avatar_width<43){avatar_width=43;}
if(avatar_height<43){avatar_height=43;}
if(orig_avatar_width>=43){that.body.find('img.avatar').attr('src',$(obj).attr('src'));}
that.body.find('.details').width(261-avatar_width);that.body.find('img.avatar').width(avatar_width).height(avatar_height);that.body.find('.user_info').width(261-avatar_width-45);if($(obj).hasClass('.popup_on_left')){that.body.addClass('align_right');that.bubble.css({left:'auto',left:($(obj).offset().left+$(obj).width())+that.calc_offset(obj)-that.bubble.width()});}else{that.body.removeClass('align_right');}};that.calc_offset=function(obj){var co=9;if($(obj).css('borderTopWidth')!=='0px'){co=8;}
return co;};return that;};$.site_feature('avatar_bubbles',function(){var bubbler=user_bubbler();jQuery.avatar_bubble=function(selector,custom_settings){var get_uid=function(el){var cl=el.attr('class');var m=/user_id_(\d+)/.exec(cl);if(m!==null){return m[1];}
return null;};$.live(selector,'mouseover',function(){var uid=get_uid($(this));if(uid!==null){bubbler.show(uid,this);}});};$.avatar_bubble('.medium_avatar_bubble');$.avatar_bubble('.thumb_avatar_bubble');$.avatar_bubble('.thumb_avatar_bubble_right');$.avatar_bubble('.icon_avatar_bubble');$.live('#avatar-bubble a.add_as_friend','click',function(){var that=$(this);pf_ajax({url:that.attr('href'),success:function(data){that.html('Invited!');}});return false;});});}());
cached_game_status={};(function(){var boxart_bubble_state=0;function boxart_bubbler(){var that={bubble:null,body:null,bubble_created:false,currently_shown_id:null,loading_html:'<div class="bubble-loading"><img id="xhr-loader" src="'+loading_image_url+'" /> Loading game information...</div>'};that.init_bubble=function(context,game_id){$('#popup-show-friends-link',context).click(function(){$('#popup-show-friends',context).toggle(800);return false;});};that.show_game_status=function(game_id){that.currently_shown_id=game_id;var cached=cached_game_status[game_id];if(cached===true){that.body.html(that.loading_html);}else if(!cached){that.body.html(that.loading_html);cached_game_status[game_id]=true;var url="/a/xhr/game_popup/"+game_id+'?'+
(jQuery.browser.msie?randomString():'');if(typeof hide_track_game_buttons_in_popup!="undefined"){url+='&no_tracking';}
$.get(url,function(html){cached_game_status[game_id]=html;if(that.currently_shown_id==game_id){that.body.html(html);that.init_bubble(that.body,game_id);}});}else{that.body.html(cached);that.init_bubble(that.body,game_id);}};that.show=function(game_id,obj,top,left){var border_thickness=7;if(boxart_bubble_state>0){return;}
boxart_bubble_state=1;if(that.bubble){that.bubble.css("visibility","hidden");}
setTimeout(function(){if(boxart_bubble_state===0){return;}
if(!that.bubble_created){$(document.body).append("<div id=\"game-status-bubble\" class=\"status-bubble game-bubble\">"+"<div></div></div>");that.bubble=$("div#game-status-bubble");that.body=that.bubble.find("div");that.bubble_created=true;}
that.show_game_status(game_id);var offset=$(obj).offset();var calc_left=(offset.left+left-border_thickness-13);if(calc_left<0){calc_left=0;}
that.bubble.css({top:(offset.top+top-49)+"px",left:calc_left+"px",visibility:"visible"});$(that.bubble).hover(function(){boxart_bubble_state=1;},function(){that.hide();});},750);};that.hide=function(){setTimeout(function(){if((boxart_bubble_state===0)&&that.bubble){that.bubble.css("visibility","hidden");}},250);boxart_bubble_state=0;};return that;}
var bb=boxart_bubbler();jQuery.fn.boxart_bubble=function(top,left){$(this).each(function(n,o){var cl=$(o).attr("class");var m=/game_id_(\d+)/.exec(cl);if(m!==null){var game_id=m[1];$(o).hover(function(){bb.show(game_id,o,top,left);},function(){bb.hide();});}});};$.site_feature('f_boxart_bubbles',function(){$('.games_list_shadow img').boxart_bubble(0,7);$('.boxart_bubble').boxart_bubble(0,7);});}());
$.feature('f_create_event',function(){function validate_event_form(){var button=$('#lb_create_edit_event .submit button');var valid_date=true;var day=$('#id_start_day').val();var month=parseInt($('#id_start_month').val());var year=$('#id_start_year').val();if(month=='9'||month=='4'||month=='6'||month=='11'){if(day>30){valid_date=false;}}
if(month=='2'){if(day>28){if(year!='2012'&&year!='2016'&&year!='2020'&&year!='2024'&&year!='2028'){valid_date=false;}else{if(day>29){valid_date=false;}}}}
if(valid_date){if($('#lb_create_edit_event #id_title').val().length>0){button.removeClass('unselectable');}else{button.addClass('unselectable');}}else{button.addClass('unselectable');}}
$.live('.create_event_popup','click',function(){var url='';if($(this).is('a')){url=$(this).attr('href');}else if($(this).is('input')){url=$(this).closest('form').attr('action');var title=$('#event-title').val();}else{return false;}
$.get(url,function(data){$(document.body).append(data);var lb=$('#lb_create_edit_event');var button=lb.find('.submit button');init_game_autocomplete('#lb_create_edit_event');$('#lb_create_edit_event #id_title').keyup(function(){validate_event_form();});$('#lb_create_edit_event .duration select').not('#id_start_time').change(function(){validate_event_form();});if(title){lb.find('#id_title').val(title);}
lb.showPopup({closeSelector:'.close_popup',dispose:true});lb.find('#id_title, #id_desc').init_inline_label();});return false;});$.live('#lb_create_edit_event .friends_list input[type=checkbox]','click',function(){var num_selected=$('#lb_create_edit_event .friends_list input[type=checkbox]:checked').length;$('#lb_create_edit_event #selected_count').text(num_selected);});$.live('#lb_create_edit_event .submit button','click',function(){if($(this).hasClass('unselectable')){return false;}});});
$.fn.extend({bind_expandable_divs:function(containers){if(!containers.length){return;}
$('.one-line-expand p',containers).each(function(){var p=$(this);var ole=$(this).parent(0);if(ole.height()+3>=p.height()){return;}
p.data('orig-width',p.width());p.css('width',(p.width()-10)+'px');p.append('<span class="read-link read-more"><span class="ellip">&hellip;&nbsp;</span><a href="#">Read more</a></span>');p.data('ellipsis',$('.ellipsis',p));});this.click(function(e){if($(e.target).parent(0).hasClass('read-link')){var ptag=$(e.target).parent(0).parent(0);var anchor=$(e.target);var span=anchor.parent(0);var ellip=span.find('.ellip');var expander=ptag.parent(0);if(span.hasClass('read-more')){span.removeClass('read-more');anchor.text('Read less');ellip.hide();expander.data('orig-height',expander.height());expander.animate({height:ptag.height()},'fast');}else{span.addClass('read-more');anchor.text('Read more');ellip.show();expander.animate({height:expander.data('orig-height')},'fast');}
return false;}});}});
$(function(){$('.styled_file_input').each(function(){var container=$(this);var input=$('input.real_file_input',container);input.change(function(){var fake_input=$('.fake_input',container);fake_input.removeAttr('readonly');fake_input.val(input.val());fake_input.attr('readonly','true');});});});
$.feature('f_filter',function(){var filter_field_selector="ul.browse_side_filters li";var expand_filter=function(el){if(this!==window){el=this;}
el=$(el);if(el.hasClass('collapsed')){el.addClass('expanding');el.removeClass('ready-to-add');el.removeClass('collapsed');$('.expandable',el).show('fast',function(){el.removeClass('expanding');el.addClass('expanded');addCollapseIcon(el);});}};var collapse_filter=function(el){if(this!==window){el=this;}
el=$(el);if(!el.hasClass('collapsed')){if(!el.hasClass('collapsing')){el.addClass('collapsing');$('.expandable',el).hide('fast',function(){reset_filter(el);el.removeClass('collapsing');el.addClass('collapsed');addExpandIcon(el);el.removeClass('ready-to-delete');});}}};var reset_select=function(){this.selectedIndex=0;};var reset_filter=function(el){var select=$("select",el);select.each(reset_select);};var collapse_filter_if_unset=function(){var el=this;var select=$("select",this);var anySelected=false;select.each(function(){if(this.selectedIndex!==0){anySelected=true;}});if(!anySelected){collapse_filter(el);}};var collapseIcon=document.createElement('img');collapseIcon.alt="Remove Filter";collapseIcon.src='http://c.pfcdn.net/static/images/bullets/embossed/minus/grey.png?7218b2';collapseIcon.height=14;collapseIcon.width=14;collapseIcon.className="bullet transimg";var expandIcon=document.createElement('img');expandIcon.alt="Add Filter";expandIcon.src='http://c.pfcdn.net/static/images/bullets/embossed/plus/green.png?8992be';expandIcon.height=14;expandIcon.width=14;expandIcon.className="bullet transimg";var addCollapseIcon=function(el){var oldIcon=$('img.bullet',el);var newIcon=$(collapseIcon).clone();newIcon.click(function(){var icon=this;var container=$($(this).parents(filter_field_selector).get(0));collapse_filter(container);});newIcon.mouseover(function(){this.src='http://c.pfcdn.net/static/images/bullets/embossed/minus/red.png?cf7793';$(this).parents(filter_field_selector).addClass('ready-to-delete');});newIcon.mouseout(function(){this.src='http://c.pfcdn.net/static/images/bullets/embossed/minus/grey.png?7218b2';$(this).parents(filter_field_selector).removeClass('ready-to-delete');});oldIcon.replaceWith(newIcon);};var addExpandIcon=function(el){var oldIcon=$('img.bullet',el);var newIcon=$(expandIcon).clone();$(newIcon).click(function(){var icon=this;var container=$($(this).parents(filter_field_selector).get(0));expand_filter(container);});oldIcon.replaceWith(newIcon);};var ready_to_add=function(){var el=$(this).parents(filter_field_selector);if(el.hasClass('collapsed')){el.addClass('ready-to-add');}};var not_ready_to_add=function(){var el=$(this).parents(filter_field_selector);el.removeClass('ready-to-add');};var filters=$(filter_field_selector+":not(.always-open)");filters.each(function(){addCollapseIcon(this);});filters.click(expand_filter);filters.each(collapse_filter_if_unset);$('label, img',filters).mouseover(ready_to_add);$('label, img',filters).mouseout(not_ready_to_add);});
$.feature('f_friendship',function(){var toggle_updates=function(){var bits=/(.*)-updates-(.*)/.exec($(this).attr('id'));var action=bits[1];var username=bits[2];var link=$(this);var toggle_option=link.parent();var urls={'show':'/a/dashboard_new/set_updates/show','hide':'/a/dashboard_new/set_updates/hide'};function make_call(){$.ajaxPost({url:urls[action],data:{username:username},loading_anim:{pos:'before',element:link},success:function(data){if(data.status==='success'){var opposite=(action=='show')?'hide':'show';var wrap_link=function(text){return['<a href="#" id="',opposite,'-updates-',username,'">'+text+'</a>'].join('');};var follow=function(username,wrap_link){return wrap_link('Follow');};var unfollow=function(username,wrap_link){return wrap_link('Stop following');};var cb=(action=='show')?unfollow:follow;toggle_option.empty().append(cb(username,wrap_link));}else{}},error:function(){}});}
if(action=='hide'){$('#lb_stop_tracking_user .content').empty().append('<p><strong>'+username+'</strong> will no longer appear in your activity feed.</p>');$('#lb_stop_tracking_user').showPopup({'on_confirm':make_call});}else if(action=='show'){make_call();}
return false;};$.live('a[id^="hide-updates-"]','click',toggle_updates);$.live('a[id^="show-updates-"]','click',toggle_updates);$.live('a.request_friendship','click',function(event){var link=$(this);var url=link.attr('href');if(url&&url!=='#'){pf_ajax({url:url,success:function(data){link.attr('href','#');if(link.hasClass('add_friend')){link.html('<span class="icon request_sent">&nbsp; </span> Request Sent');}else{link.html('Friend Request Sent');}}});}
return false;});$.live('a.remove_friend','click',function(){var link=$(this);var url=link.attr('href');var li=link.closest('li');var friend_link=li.find('.name a');if(url!=='#'){if(friend_link.length>0){$('#lb_remove_friend .avatar').html(li.find('.avatar img').clone());$('#lb_remove_friend .details').empty().append(li.find('.name').clone()).append(li.find('.description').clone()).append('<div class="tagline">'+li.find('.tagline .last_login').text()+'</li>');$('#lb_remove_friend').showPopup({'on_confirm':function(){pf_ajax({url:url,success:function(data){li.addClass('friend_removed').html('<a href="'+friend_link.attr('href')+'">'+friend_link.text()+'</a> removed from friends');}});}});}else{pf_ajax({url:url,success:function(data){li.addClass('friend_removed').html('<span class="remove_friend"><span class="icon"></span> Removed!</span>');}});}}
return false;});var Moderator=function(form,prefix){this.form=form;this.prefix=prefix;this.get_data=function(filter){var fdata=this.form.serializeArray();var data={};if(fdata.length===0){return null;}
for(var i=0;i<fdata.length;i++){var d=fdata[i];if(filter(d)){if(data[d.name]!==undefined){data[d.name].push(d.value);}else{data[d.name]=[d.value];}}}
return data;};this.single_data=function(id){var re=new RegExp(prefix+'_'+id+'_');return this.get_data(function(dat){return re.test(dat.name)||(dat.value===id);});};this.all_data=function(){return this.get_data(function(){return true;});};};var update_li={accept:function(li,follow){var user_link=li.find('.info .name a');li.attr('class','accepted').empty().append('<p>You have accepted <a href="'+user_link.attr('href')+'">'
+user_link.text()+'</a> as a friend</p>');if(follow){li.append('<p class="also">Also added to your <a href="/">activity feed</a></p>');li.css({position:'relative'});}},decline:function(li){var user_link=li.find('.info .name a');li.attr('class','declined').empty().append('<p>You have declined <a href="'+user_link.attr('href')+'">'
+user_link.text()+'</a>\'s friend request</p>');}};var callback_gen=function(context,updater){return function(data){$('li.friend_request',context).each(function(){var uid=parseInt($(this).find('input[name=user]:eq(0)').val(),10);if(data.ok[uid]!==undefined){updater($(this),data.ok[uid]);}});};};var confirm_friends_url='/a/confirm_friends';var decline_friends_url='/a/decline_friends';$.live('#accept_all_friend_requests, #decline_all_friend_requests','click',function(){var link=$(this);var mod=new Moderator(link.closest('form'),'user');var action=link.attr('id')==='accept_all_friend_requests'?'accept':'decline';var updater=update_li[action];var data=mod.all_data();if(data){if(action=='decline'){$('#lb_decline_all_friends').showPopup({'on_confirm':function(){pf_ajax({url:decline_friends_url,data:data,success:callback_gen(link.closest('form'),updater)});}});}else{pf_ajax({url:confirm_friends_url,data:data,success:callback_gen(link.closest('form'),updater)});}}
return false;});$.live('a.accept_friend, a.decline_friend','click',function(){var link=$(this);var li=link.closest('li');var mod=new Moderator(li.closest('form'),'user');var uid=li.find('input[name=user]').val();var action=link.hasClass('accept_friend')?'accept':'decline';var data=mod.single_data(uid);if(data){var updater=update_li[action];pf_ajax({url:(action=='accept')?confirm_friends_url:decline_friends_url,data:data,success:callback_gen(li.closest('form'),updater)});}
return false;});});
function xhr_game_result(t,hidden_field_id,name,id){t=$(t);var h=$("#"+hidden_field_id);t.val(name);h.val(id);h.change();}
function init_game_autocomplete(context){if(!context){context=document.body;}
$(context).find('input[id^=js_autocomplete_for_]').each(function(){var el=$(this);var id=el.attr('id');var m=/js_autocomplete_for_(\w+)/.exec(id);if(m){var hidden_id=m[1];el.focus(function(){var h=$("#"+hidden_id);if($(this).val()==="Start typing game name..."){$(this).val("");}});var url='/a/xhr/game';el.autocomplete(url,{loadingClass:"xhr_loading",max:20,width:306,parse:function(data){var games=eval(data);var parsed=[];for(var i=0,len=games.length;i<len;i++){var row=games[i];parsed.push({data:row,value:row.name,result:row.id});}
return parsed;}});el.result(function(event,data,formatted){xhr_game_result(this,hidden_id,data.name,data.id);});}else{throw"Can't find hidden autocomplete input element";}});}
$(function(){init_game_autocomplete();});
$.feature('f_game_content',function(){$.live('div.delete_submitted_content a','click',function(){var videos=$('div.video_media');videos.css('visibility','hidden');$('.lightbox_delete_content').eq(0).showPopup({on_close:function(){videos.css('visibility','visible');},closeSelector:'.buttons a.cancel'});return false;});$('.media_view .media').mouseover(function(){$('a.prev, a.next').show();}).mouseout(function(){$('a.prev, a.next').hide();});});
if($.growl){$.growl.settings.displayTimeout=0;$.growl.settings.noticeTemplate=(''
+'<div class="notice">'
+'  <div class="new3k_trans_border_upper"></div>'
+'  <div class="new3k_trans_border_middle growl_%image%_status">'
+'    <a rel="close" class="close_button"><img src="http://a.pfcdn.net/static/images/icons/trans_close_large.png?759225" alt="close" /></a>'
+'    <div class="alert_icon"></div>'
+'    <div class="message_container"><div class="header_box"><div class="header_bg"></div><h3>%title%</h3></div>'
+'       <p class="message">%message%</p></div>'
+'  </div>'
+'  <div class="new3k_trans_border_lower"></div>'
+'<div style="clear: both"></div>');$.growl.settings.point_incrementTemplate=(''
+'<div class="site_notification sn_positive">'
+'<div class="icon">&nbsp;</div>'
+'<p class="notification_text">%title%</p>'
+'<div class="sn_highlight">'
+'  <div class="xp_positive">'
+'    <div class="xp_wrapper"><span>+%action_points%</span> EXP</div>'
+'    <div class="more_xp">'
+'      You need %next_level_points_required% more EXP to get to level %next_level%<br>'
+'      <a class="view_points" href="/'+current_user.username+'/points">View your points</a>'
+'    </div>'
+'  </div>'
+'</div>'
+'<div>');$.growl.settings.point_decrementTemplate=(''
+'  <div class="site_notification sn_positive">'
+'    <div class="icon">&nbsp;</div>'
+'    <p class="notification_text">%title%</p>'
+'    <div class="sn_highlight">'
+'      <div class="xp_negative"><div class="xp_wrapper"><span>-%action_points%</span> EXP</div></div>'
+'    </div>'
+'  </div>');$.growl.settings.awardTemplate=(''
+'  <div class="site_notification sn_award">'
+'    <div class="sn_section sn_section_first">'
+'      <p class="congratulations">Congratulations!</p>'
+'    </div>'
+'    <div class="sn_section sn_section_xp_positive">'
+'      <span>+%points%</span><br>'
+'      BONUS EXP'
+'    </div>'
+'    <div class="sn_section sn_section_award">'
+'      <p>You earned the award "<a href="/'+current_user.username+'/points#awards">%name%</a>"</p>'
+'    </div>'
+'  </div>');$.growl.settings.level_upTemplate=(''
+'  <div class="site_notification sn_level">'
+'    <div class="sn_section sn_section_first">'
+'      <p class="congratulations">Congratulations!</p>'
+'    </div>'
+'    <div class="sn_section sn_section_level">'
+'      <p>Your level increased to <span>%level%</span>!</p>'
+'    </div>'
+'  </div>');$.growl.settings.noticeCss={};$.growl.settings.dockCss={};}
(function(){var expand_or_shrink=function(tip,h2){if(tip.is(':visible')){tip.slideUp();h2.removeClass('open');}else{tip.slideDown();h2.addClass('open');}
return false;};$.live("div.about-box a.about-box-hide",'click',function(){var box=$($(this).parents('div.about-box')[0]);box.slideUp();PF.hide_highlight($(this).attr('id').split('-',2)[1]);return false;});$.live('div.about-box a.about-box-toggle','click',function(){var box=$($(this).parents('div.about-box')[0]);var tip=$('.about-box-tip',box);var h2=$('h2',box);expand_or_shrink(tip,h2);return false;});})();
$(function(){$('.image_upload_existing').each(function(){var container=$(this);var input=$('input[name$="__remove"]',container);var file_input_name=/(.*)__remove/.exec(input.attr('name'))[1];var file_input=$('input[name="'+file_input_name+'"]');var remove=$('span.remove_action',container);var existing_image=$('img.existing',container);var removed_text=$('<span>None</span>');removed_text.hide();existing_image.after(removed_text);remove.toggle(function(){remove.html('Restore');input.val('1');existing_image.hide();removed_text.show();file_input.val('').change();},function(){remove.html('Remove');input.val('');existing_image.show();removed_text.hide();});});});
jQuery.blankScreen=function(settings)
{var blankScreen={};blankScreen.clear=false;blankScreen.color='#000';blankScreen.opacity=0.25;if(settings!==undefined){jQuery.extend(blankScreen,settings);}
if(blankScreen.clear){$('#dimmer').remove();}else{var dimmer=$('#dimmer').eq(0);if(dimmer.length===0){dimmer=$('<div id="dimmer">');}
dimmer.css({'top':'0','right':'0','bottom':'0','left':'0','z-index':'1000','position':'fixed','background-color':blankScreen.color,'opacity':blankScreen.opacity,'filter':'alpha(opacity='+blankScreen.opacity*100+')'});jQuery('body').append(dimmer);}};jQuery.fn.showPopup=function(settings)
{var popup=this.eq(0);var pop={};pop.blank_screen=true;pop.dispose=false;pop.disposable_container='#popupHolder';pop.done=function(){if(pop.blank_screen){jQuery.blankScreen({'clear':true});}
if(pop.dispose){jQuery(popup).remove();}else{popup.hide();}};pop.closeSelector='div.title a.close, .choices .cancel';pop.on_close=function(){};pop.close=function(){pop.done();pop.on_close();return false;};pop.confirmSelector='.choices .confirm';pop.on_confirm=function(){};pop.confirm=function(){pop.done();pop.on_confirm();return false;};if(settings!==undefined){jQuery.extend(pop,settings);}
if(pop.blank_screen){jQuery.blankScreen();}
popup.show();popup.css({'position':'absolute','z-index':'1010','left':Math.ceil((jQuery("body").eq(0).width()/2)-(popup.width()/2))});popup.centerVertically();if(!pop.dispose){popup.get(0).style.display='';}
popup.unbind('click.auto_popup').bind('click.auto_popup',function(e){var el=$(e.target);if(el.is(pop.closeSelector)){pop.close();return false;}else if(el.is(pop.confirmSelector)){pop.confirm();return false;}});popup.data('popup_info',pop);return popup;};jQuery.fn.closePopup=function()
{if(this.length===0){return this;}
var popup=this.eq(0);var pop=popup.data('popup_info');if(pop===undefined){throw{name:'ValueError',message:popup+' is not a popup (it did not have showPopup called on it).'};}
pop.close();return popup;};(function(){var confirm_lb_template=['<div style="display: none;" class="generic_lightbox" id="lb_confirm">','<div class="header"><h2>%(header)s</h2></div>','<div class="content">%(query)s</div>','<div class="footer">','<div class="choices">','<a href="#" class="confirm">%(action)s</a>','<span class="separator">-</span>','<a href="#" class="cancel">%(cancel)s</a>','</div>','</div>','</div>'].join('');$.confirm=function(args,on_confirm){var defaults={header:'Hold on a minute!',query:'',action:'OK',cancel:'Cancel'};if(typeof args==='string'){args=$.extend({},defaults,{query:args});}else if(typeof args==='object'){args=$.extend({},defaults,args);}
if(typeof args.query!=='string'){throw'Query required for confirm lightbox.';}
var lb=$($.render_string(confirm_lb_template,args));$('body').append(lb);lb.showPopup({on_confirm:on_confirm});};}());jQuery.fn.centerVertically=function(){$(this).css({'top':(jQuery(window).height()/2)-(this.height()/2)+$(window).scrollTop()});return $(this);};
(function($){$.sound={tracks:{},enabled:true,template:function(src){return'<embed style="height:0" loop="false" src="'+src+'" autostart="true" hidden="true"/>';},play:function(url,options){if(!this.enabled){return;}
var settings=$.extend({url:url,timeout:2000},options);if(settings.track){if(this.tracks[settings.track]){var current=this.tracks[settings.track];if(current.Stop){current.Stop();}
current.remove();}}
var element=$.browser.msie?$('<bgsound/>').attr({src:settings.url,loop:1,autostart:true}):$(this.template(settings.url));element.appendTo("body");if(settings.track){this.tracks[settings.track]=element;}
if(settings.timeout>0){setTimeout(function(){element.remove();},settings.timeout);}
return element;}};})(jQuery);
function setup_keyboard_transitions(inputs,finish){jQuery.each(inputs,function(i){$(this).keydown(function(e){if(e.keyCode==13){var j=i+1;while(j<inputs.length){var el=inputs[j];var parents_self=el.parents().add(el);var visible=!parents_self.filter(':hidden').length;var mutable=!el.attr('readonly');if(visible&&mutable){inputs[j].focus();return;}
j+=1;}
if(finish){finish();}}});});}
$.feature('f_kcode',function(){var contra=function(){var body=$('body').append('<div id="contra_black"></div>');var black=$('#contra_black');black.css({position:'fixed',top:0,left:0,right:0,bottom:'-100px','background-color':'black','z-index':500});$.preload(['http://b.pfcdn.net/static/images/contra.jpg?6dfd50','http://a.pfcdn.net/static/sound/contra.mp3?10334a'],function(){black.append('<img>');var attrs={'width':$(window).width(),'height':$(window).height(),src:'http://b.pfcdn.net/static/images/contra.jpg?6dfd50'};var img=$('img',black);img.attr(attrs);img.css({position:'absolute',top:0,left:attrs.width});img.animate({left:0},5000,'linear',function(){img.wrap('<a href="/a/game/contra"></a>');});$.sound.play('http://a.pfcdn.net/static/sound/contra.mp3?10334a',{timeout:0});});};var k={LEFT:37,UP:38,RIGHT:39,DOWN:40,A:65,B:66};var kcode=[k.UP,k.UP,k.DOWN,k.DOWN,k.LEFT,k.RIGHT,k.LEFT,k.RIGHT,k.B,k.A];var pointer=0;$(document).bind('keydown',function(e){if(e.keyCode===kcode[pointer]){pointer++;}else{pointer=0;}
if(pointer>=kcode.length){contra();pointer=0;}});});
var in_maintenance=function(){var in_maintenance=false;pf_ajax({url:'/a/maintenance',type:'GET',async:false,success:function(data){in_maintenance=(data['out_of_maintenance']===false);}});return in_maintenance;};var maintenance_check=function(){if(!in_maintenance()){return true;}
msg="Playfire has gone into maintenance mode since you started typing.\n\n";msg+="Normally we would redirect you to the maintenance page, but we ";msg+="didn't to save you losing your post. Try to resubmit again in a ";msg+="few minutes time.";alert(msg);return false;}
$.feature('f_messages',function(){$.livehover('.message_list a.delete',function(){$(this).closest('li').addClass('delete_hover');},function(){$(this).closest('li').removeClass('delete_hover');});$.live('.message_list a.delete','click',function(){var li=$(this).closest('li');$('#lb_delete_message .avatar').empty().append(li.find('.thumb_avatar_bubble').clone());var conv_between=$('<p>Between You and <span class="last_sentby">'+li.find('a.last_sentby').text()+'</span></p>');var num_others=li.find('.num_others').text();if(num_others){conv_between.append(' <span class="num_others">'+num_others+'</span>');}
$('#lb_delete_message .details').empty().append(conv_between).append('<h5>'+li.find('.message_title').text()+'</h5>');var lnk_delete=$(this);$('#lb_delete_message').showPopup({'on_confirm':function(){lnk_delete.closest('form.removeForm').submit();}});return false;});$.live('.message_list > li','click',function(){if($('#lb_delete_message').css('display')=='none'){document.location=$(this).find('.message_title').attr('href');}});var to_field=$("#pc-new-to");to_field.autocomplete("/a/xhr/friend_autocomplete_search",{multiple:true,selectFirst:false,parse:function(data){var usernames=eval(data);var parsed=[];for(var i=0,len=usernames.length;i<len;i++){var row=usernames[i];parsed.push({data:row,value:row,result:row});}
return parsed;}});to_field.bind("keypress",function(event){if(event.keyCode==13){return false;}});$.livefocus('.message_reply_box textarea',function(){$(this).addClass('expanded');});$.live('#read_message_header .reply','click',function(){$('.message_reply_box textarea').focus();window.scrollTo(0,$('.message_reply_box').offset().top);});$.live('#read_message_header a.delete','click',function(){$('#lb_delete_message .avatar').empty().append($('.thumb_avatar_bubble').eq(0).clone());$('#lb_delete_message .details').empty().append('<p>'+$('#read_message_header p').text()+'</p>').append('<h5>'+$('#read_message_header h3').text()+'</h5>');var lnk_delete=$(this);$('#lb_delete_message').showPopup({'on_confirm':function(){lnk_delete.closest('form.removeForm').submit();}});return false;});$.live('a.report_spam','click',function(){$('#lb_report_spam .content').empty().append('<h5>'+$('#read_message_header h3').text()+'</h5>');var lnk_report=$(this);$('#lb_report_spam').showPopup({'on_confirm':function(){lnk_report.closest('form.form_report_spam').submit();}});return false;});});
setup_multi_widget=function(){var setup_multi_widget=function(selector,object_html){$(selector).each(function(){var container=$(this);var search_box=$('.search_box',container);var first_focus=true;var input=$('input[type="hidden"][name]',container);var initial=$('input[type="hidden"].initial',container);var url=$('input[type="hidden"].search_url',container).val();var results_container=$('.results_box',container);var selection_ul=$('ul.selection',container);var object_ids=[];var update_input=function(){input.val(object_ids.join(','));};var add_object=function(data,fade){var id=data[0];if(jQuery.inArray(id,object_ids)>=0){return;}
var li=$('<li>'+object_html(data)+'<span class="remove remove_action">Remove</span></li>');object_ids.push(id);$('.remove',li).click(function(){object_ids=jQuery.grep(object_ids,function(n){return n!=id;});li.remove();update_input();});update_input();li.hide();selection_ul.append(li);li[fade?'fadeIn':'show']();};if(initial.length){jQuery.each(initial,function(index){var vals=$(this).val().split('|');add_object(vals,false);});}
search_box.focus(function(){if(first_focus){search_box.val("");first_focus=false;}});search_box.autocomplete(url,{"loadingClass":"xhr_loading","max":20,"width":306});search_box.result(function(event,data,formatted){add_object([data[1],data[0],data[2]],true);});});};$(function(){var game_html=function(data){var name=data[1];var avatar=data[2];return('<img class="avatar" src="'+avatar+'" alt=""/><div class="game_name">'+
name+'</div>');};setup_multi_widget('div.multi_game_widget',game_html);});return setup_multi_widget;}();
(function(){var previous_over=function(){this.src='http://a.pfcdn.net/static/images/page/previous_hover.png?7ff337';};var previous_out=function(){this.src='http://c.pfcdn.net/static/images/page/previous.png?469517';};$(".pagination_block img.previous").bind('mouseenter',previous_over);$(".pagination_block img.previous").bind('mouseleave',previous_out);var next_over=function(){this.src='http://a.pfcdn.net/static/images/page/next_hover.png?b7dc5f';};var next_out=function(){this.src='http://a.pfcdn.net/static/images/page/next.png?667b56';};$(".pagination_block img.next").bind('mouseenter',next_over);$(".pagination_block img.next").bind('mouseleave',next_out);}());
$(function(){setTimeout(function(){$('.progress-bar span span span').each(function(){var m=/([0-9.]+)%/.exec($(this).parents('.progress-bar').attr('title'));var width;if(m){width=Math.max(3,m[1]);}
$(this).animate({'width':width+'%'},'slow');});},600);});
$.feature('f_quiz_page',function(){if(window.location.hash!==""){window.location.href='/a/quiz/ask/'+window.location.hash.substring(1);}
function post_action_json(data){if(data['noquestion']){window.location.href=data['redirect'];return;}
if(data.status=='success'){PF.handle_alerts(data['alert_messages']);$('#pod_quiz_question').html(data['question_html']);$('#last_question').html(data['last_question_html']);$('#quiz_stats').html(data['stats_html']);window.location.hash=data['question_id'];bind_buttons();_gaq.push(['_trackPageview','/a/quiz/ask-ajax']);}else{window.location.href='/a/quiz/ask';}}
function pre_submit_json(data){var answer_id=$('.quiz_answer .answers input:checked').val();if(answer_id===undefined){return false;}
$('#quiz_submit_button').hide();$('#quiz_submitted').show();var question_id=$('#question_id').val();var url=$('#quiz-question-form').attr('action');$.post(url,{'answer':answer_id,'question_id':question_id,'xhr':1},post_action_json,'json');return false;}
function pre_skip_json(data){$('.quiz_submit').hide();$('#quiz_skipped').show();var question_id=$('#question_id').val();var url=$('#skip-option').attr('href');$.post(url,{'xhr':1},post_action_json,'json');return false;}
function bind_buttons(){$('#quiz-question-form').submit(pre_submit_json);$('#skip-option').click(pre_skip_json);$('.pre-reg-action').click(function(){$('.pre-reg-action-form').show();return false;});}
bind_buttons();$('a.game').boxart_bubble(0,0);$.live('.answer_skip button[type=submit]','click',function(e){var el=$(this);var value=el.attr('value');el.html(value).addClass('clicked');el.closest('form').submit(function(event){$(this).find('button[value!='+value+']').remove();});});$('a.flag_question').live('click',function(){if($('#lightbox_flag_question').length===0)
{var question_id=$(this).attr('id').split('-')[1];$.get('/a/quiz/flag/'+question_id,function(data){$('#popupHolder').append(data);$('#lightbox_flag_question').showPopup({closeSelector:".content a.cancel",dispose:true});});}
return false;});$('#flag_question_submit').live('click',function(){if(!$(this).attr('src').match('_inactive'))
{var question_id=$(this).parents('form#feedback_form').attr('action').split('/')[4];$.post('/a/quiz/flag/'+question_id,{reason:$('#flag_question_reason').val()},function(data){$('#lightbox_flag_question .notification_submit').html('<a href="/a/home_apps/quiz">Continue quiz</a>');$('#lightbox_flag_question .notification_submit').prepend(data);});$('#flag_question_submit').attr('src','http://c.pfcdn.net/static/images/buttons/flag_inactive.png?d55ee0');$('a.flag_question#question-'+question_id).parent().remove();}
return false;});});
$(document).ready(function(){var outer_inner_event_handler=function(callback){return function(e){var outer_span=null;var inner_span=null;if(e.target==this){outer_span=$(this);inner_span=outer_span.find("span").eq(0);if(e.relatedTarget==inner_span.get(0)){return;}}else{inner_span=$(e.target);outer_span=inner_span.parent();if(e.relatedTarget==outer_span.get(0)){return;}}
return callback(e,outer_span,inner_span);};};var selector="span.rating_stars";$.live(selector,'mouseover',outer_inner_event_handler(function(e,outer_span,inner_span){outer_span.data('updated_class',inner_span.attr("class"));$(document).bind('mousemove.ratings',function(e){inner_span.attr("class","hover r"+outer_span.rating(e));});}));$.live(selector,'click',function(e){var outer_span=$(this);var rating=outer_span.rating(e);var input_name=outer_span.attr('name');var inner_span=outer_span.find("span").eq(0);$(document).unbind(".ratings");outer_span.data('updated_class','r'+rating);inner_span.attr("class",'r'+rating);outer_span.parent(0).find('input[name="'+input_name+'"]').eq(0).val(rating);});$.live(selector,'mouseout',outer_inner_event_handler(function(e,outer_span,inner_span){$(document).unbind(".ratings");inner_span.attr("class",outer_span.data('updated_class'));}));jQuery.fn.rating=function(e)
{var rating_offset=(e.pageX-$(this).offset().left)+1;var half_rating_width=$(this).width()/10;return Math.ceil(rating_offset/half_rating_width);};});
$.feature('f_reflect',function(){$.fn.extend({reflect:function(options){options=$.extend({height:1/4,opacity:0.3},options);return this.unreflect().each(function(){var img=this;if(/^img$/i.test(img.tagName)){function doReflect(){var imageWidth=img.width,imageHeight=img.height,reflection,reflectionHeight,wrapper,context,gradient;reflectionHeight=Math.floor((options.height>1)?Math.min(imageHeight,options.height):imageHeight*options.height);if($.browser.msie){reflection=$("<img />").attr("src",img.src).css({width:imageWidth,height:imageHeight,marginBottom:reflectionHeight-imageHeight,filter:"flipv progid:DXImageTransform.Microsoft.Alpha(opacity="+(options.opacity*100)+", style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy="+(reflectionHeight/imageHeight*100)+")"})[0];}else{reflection=$("<canvas />")[0];if(!reflection.getContext)return;context=reflection.getContext("2d");try{$(reflection).attr({width:imageWidth,height:reflectionHeight});context.save();context.translate(0,imageHeight-1);context.scale(1,-1);context.drawImage(img,0,0,imageWidth,imageHeight);context.restore();context.globalCompositeOperation="destination-out";gradient=context.createLinearGradient(0,0,0,reflectionHeight);gradient.addColorStop(0,"rgba(255, 255, 255, "+(1-options.opacity)+")");gradient.addColorStop(1,"rgba(255, 255, 255, 1.0)");context.fillStyle=gradient;context.rect(0,0,imageWidth,reflectionHeight);context.fill();}catch(e){return;}}
$(reflection).css({display:"block",border:0});wrapper=$(/^a$/i.test(img.parentNode.tagName)?"<span />":"<div />").insertAfter(img).append([img,reflection])[0];wrapper.className=img.className;$.data(img,"reflected",wrapper.style.cssText=img.style.cssText);$(wrapper).css({width:imageWidth,height:imageHeight+reflectionHeight,overflow:"hidden"});img.style.cssText="display: block; border: 0px";img.className="reflected";}
if(img.complete)doReflect();else $(img).load(doReflect);}});},unreflect:function(){return this.unbind("load").each(function(){var img=this,reflected=$.data(this,"reflected"),wrapper;if(reflected!==undefined){wrapper=img.parentNode;img.className=wrapper.className;img.style.cssText=reflected;$.removeData(img,"reflected");wrapper.parentNode.replaceChild(img,wrapper);}});}});});
jQuery.ajaxSettings.traditional=true;if(typeof Object.beget!=='function'){Object.beget=function(o){var F=function(){};F.prototype=o;return new F();};}
loader_urls={black_bg:'http://c.pfcdn.net/static/images/xhrloading_playfire.gif?85f662'};loader_urls.site_default=loader_urls.black_bg;$(document).bind('click.interactive_links',function(e){if($(e.target).is('a[href="#"]')){return false;}});xhrloader=function(){var mouseinfo={pageX:0,pageY:0};var that={refcount:0,start:function(offset_left,offset_top){if(that.refcount===0){that.start_helper(offset_left,offset_top);}
that.refcount+=1;},stop:function(){that.refcount-=1;if(that.refcount<=0){that.stop_helper();that.refcount=0;}},start_helper:function(offset_left,offset_top)
{if(!document.getElementById("xhrloader_mousefollow"))
{if(offset_left===undefined){offset_left=12;}
if(offset_top===undefined){offset_top=12;}
$("body").append("<img id='xhrloader_mousefollow' src='"+loader_urls.site_default+"' width='16' height='16' style='display: block; position: absolute; left: 0; top: 0; z-index: 9999' alt=''>");$(document).bind("mousemove.xhr",function(){that.follow(offset_left,offset_top);});that.follow(offset_left,offset_top);}},stop_helper:function()
{$(document).unbind(".xhr");$("#xhrloader_mousefollow").remove();},follow:function(offset_left,offset_top)
{$("#xhrloader_mousefollow").css({"left":mouseinfo.pageX+offset_left,"top":mouseinfo.pageY+offset_top});}};$(document).mousemove(function(e){mouseinfo=e;});return that;}();$(document).bind('ajaxStart',function(){xhrloader.start();});$(document).bind('ajaxStop',function(){xhrloader.stop();});if(window.PF===undefined){PF={};}
jQuery.extend(PF,function(){var ajax_pagination_defs=[];var ajax_paginate=function(container_sel,after_load){ajax_pagination_defs.push({selector:container_sel,post_load_callback:after_load});};$(document).bind('click.wall',function(e){var a=$(e.target).closest('a');var get_post_info=function(a){var post_id=a.get_parent_object_id('comment_id_');var post_container=a.closest('li.comment_id_'+post_id);return{id:post_id,container:post_container};};if(a.is('a.edit-wall-post')){var edit_post=get_post_info(a);var post_content=edit_post.container.find('div.post-content');var edit_url=edit_post.container.parents('.js_wall_comment_wrapper').eq(0).find('input[name="xhr-comment-edit"]').val();if(!a.data('open')){open_edit_post_area(a,post_content,edit_post.id,edit_url);}else{close_edit_post_area(a,post_content,edit_post.id);}
return false;}else if(a.is('a.delete-wall-post')){var del_post=get_post_info(a);if(confirm("Are you sure you want to delete this comment? You cannot undo.")){a.text('Deleting...');var delete_url=del_post.container.parents('.js_wall_comment_wrapper').eq(0).find('input[name="xhr-comment-delete"]').val();$.ajaxPost({url:delete_url,data:{'id':del_post.id},loading_anim:{pos:'after',element:a},success:function(json){if(json.status==='deleted'){del_post.container.fadeOut();}}});}
return false;}else{for(var i=0;i<ajax_pagination_defs.length;i++){var apd=ajax_pagination_defs[i];if(a.is(apd.selector+' a.ajax_pagination')){var block=a.closest(apd.selector);var url=a.attr('href');$.get(url,function(content){PF.tinymce_setup.pre(block);block.html(content);PF.tinymce_setup.post(block);apd.post_load_callback(block);});return false;}}}});var tinymce_setup_pre=function(){$('textarea.mce_editor').each(function(){tinyMCE.execCommand('mceRemoveControl',false,$(this).attr('id'));});};var tinymce_setup_post=function(){$('textarea.mce_editor').each(function(){tinyMCE.execCommand('mceAddControl',false,$(this).attr('id'));});};return{ajax_paginate:ajax_paginate,tinymce_setup:{pre:tinymce_setup_pre,post:tinymce_setup_post},hide_highlight:function(highlight_name){$.ajaxPost({url:'/a/xhr/hide_highlights',data:{highlight_name:highlight_name}});},show_highlight:function(highlight_name){$.ajaxPost({url:'/a/xhr/show_highlights',data:{highlight_name:highlight_name}});},add_post_expanders:function(container){$('.post_content_inner',container).each(function(){var inner=$(this);var trimmer=inner.closest('.post_content_trimmer');if(inner.height()>trimmer.height())
{if(trimmer.parent().find('.view_full_post a').length===0){trimmer.after('<p class="view_full_post"><a href="#">View full post</a></p>');trimmer.parent().find('.view_full_post a').data('trimmer',trimmer);}}});}};}());PF.handle_alerts=function(messages){if(messages===undefined){messages=Global.alert_messages;}
if(messages===undefined||messages.length===0){return;}
$('#growlDock').children().remove();jQuery.each(messages,function(){jQuery.growl(this.title,this.message,this.status,this.data);});messages.splice(0,messages.length);};PF.handle_alerts();function ajax_error_translator(code_mapping){var default_code_mapping={'DEFAULT':"An unknown error just came in and messed everything up, then left.",'GENERIC':"Something bad happened on the server.",'TIMEOUT':"This is taking way too long.  I give up.",'redundant':"This action has already been performed.",'does_not_exist':"The object you are trying to access does not exist.",'invalid_action':"This doesn't make any sense!",'not_allowed':"You do not have permission to perform this action.",'value_error':"Invalid value, somewhere.  I dunno.",'already_taken':"Too slow!"};var mapping=$.extend({},default_code_mapping,code_mapping);var that={mapping:mapping,decode:function(error_code,response){var val=that.mapping[error_code];if($.isFunction(val)){return val(error_code,response);}else if(val){return val;}else{return that.mapping.DEFAULT;}}};return that;}
ajax_error_translator.mygames=ajax_error_translator({'rating_required':"If you want to comment, you need to submit a rating too."});error_handler={base:function(callback,hider){var that={handle:callback,hide:hider||function(){}};return that;},ajax:function(callback,translator,handle_disabled){translator=translator||ajax_error_translator();var that=error_handler.base(callback);that.handle_ajax=function(response_data){var error_code=response_data?response_data.reason:'GENERIC';if(error_code==='disabled_for_upgrade'){return that.handle_disabled(response_data);}
var error_message=translator.decode(error_code);return that.handle(error_message,error_code,response_data);};that.handle_disabled=handle_disabled||function(response_data){alert(response_data.message);return false;};return that;}};function pf_ajax(user_args){var default_args={timeout:20,error_handler:error_handler.ajax(function(){}),async:true};var args=$.extend({},default_args,user_args);if(args.error_handler)
{args.error_handler.hide();}
$.ajax({url:args.url,data:args.data||{},dataType:'json',type:args.type||'POST',timeout:args.timeout*1000,async:args.async,error:function(xhr,textStatus,errorThrown){if(args.error_handler){args.error_handler.handle_ajax();}},success:function(data,textStatus){if(args.error_handler){args.error_handler.hide();}
if(data.status=='success'){if(data['alert_messages']!==undefined){PF.handle_alerts(data['alert_messages']);data['alert_messages']=undefined;}
if(args.success!==undefined){args.success(data,textStatus);}}else if(data.status=='fail'||data.status=='error'){if(args.error_handler){args.error_handler.handle_ajax(data);}}else{if(args.error_handler){args.error_handler.handle_ajax();}}},complete:function(xhr,textStatus){if(args.complete){args.complete();}}});return false;}
function ajax_action(url,options){var settings;var default_confirm=function(that){return confirm(settings.confirm_text);};var default_success=function(data,textStatus){alert(settings.success_text);};var default_failure=function(message){alert(message);};var default_options={confirm_text:'Are you sure you want to do this?',success_text:'Success!',confirm:default_confirm,success:default_success};settings=$.extend({},default_options,options||{});settings.error_handler=settings.error_handler||error_handler.ajax(default_failure,settings.error_translator||ajax_error_translator());return function(){var event_this=this;if(settings.confirm){if(!settings.confirm(event_this)){return false;}}
var data=settings.data;if($.isFunction(data)){data=data(event_this);}
pf_ajax({url:url,data:data,timeout:settings.timeout,success:function(data,textStatus){if(settings.success){settings.success(data,textStatus,event_this);}},error_handler:settings.error_handler});return false;};}
function make_lightbox(options){var default_settings={classes:'generic_lightbox',id:'lightbox',content_classes:'',title:'',show_close:true,on_close:function(){}};var settings=jQuery.extend({},default_settings,options);$('#'+settings.id).remove();var element=$('<div class="'+settings.classes+'" style="display: none;" id="'+settings.id+'">'+'<div>'+'<div class="header"><h2></h2></div>'+'<div class="content">'+'</div>'+'<div class="footer">&nbsp;</div>'+'</div>');$('body').append(element);var that={set_title:function(title){that.title=title;$('div.header h2',that.element).eq(0).empty().append(title);},set_header:function(header){$('div.header',that.element).empty().append('<h2>'+settings.title+'</h2>'+header);},element:element,close:function(){that.element.closePopup();}};that.content=$('div.content',that.element);that.set_title(settings.title);if(settings.show_close){that.set_header('<div class="links"><a class="close" href="#">Close</a></div>');}
$("#"+settings.id).eq(0).showPopup({closeSelector:".header .links a",on_close:settings.on_close,fade:false,verticalOffset:"center"});return that;}
jQuery.fn.get_parent_object_id=function(prefix){if(this.length===0){return;}
var ele=this.eq(0);var game_id=false;var elements=ele.parents('[class*='+prefix+']');var re=new RegExp(prefix+"([^\\s]+)");for(var i=0;i<elements.length;i++){var el=elements.eq(i);var match=re.exec(el.attr('class'));if(match){return match[1];}}};if(current_user.username){$(document).ready(function(){var Toggle={class_to_toggle:{},slug_to_toggle:{},pending_toggles:{},register:function(slug,classname){var obj=Object.beget(this);obj.slug=slug;obj.classname=classname;this.class_to_toggle[classname]=obj;this.slug_to_toggle[slug]=obj;},from_class:function(classname){return this.class_to_toggle[classname];},from_slug:function(slug){return this.slug_to_toggle[slug];},handle_click:function(el){var proposed_state=el.attr('class')=='active'?0:1;if(el.parents('.lightbox_edit_game').length){this.update_toggle(el.parents('.lightbox_edit_game'),proposed_state);return false;}
var relevant_id=this.get_relevant_id(el);if((this.slug=='completed')&&(relevant_id==3208)&&(proposed_state)){alert("Sorry, but it's not actually possible to complete Big Rigs..");return false;}
var self=this;var data=self.get_data(proposed_state,relevant_id);if(!self.pending_toggles[self.classname])
{self.pending_toggles[self.classname]=true;pf_ajax({url:self.get_url(),data:data,success:function(data){self.update(relevant_id,proposed_state);},complete:function(data){self.pending_toggles[self.classname]=false;}});return false;}},update:function(relevant_id,state){this.update_toggle(this.container_selector(relevant_id),state);this.update_page(relevant_id,state);},update_toggle:function(context,state){var action=state?'addClass':'removeClass';$('.game_toggle_container span.'+this.classname+' a',context)[action]('active');},update_page:function(relevant_id,state){}};var TrackingToggle=$.extend(Object.beget(Toggle),{get_url:function(){return'/'+current_user.username+'/games/xhr/track_game';},get_relevant_id:function(el){return el.get_parent_object_id('game_id_');},container_selector:function(relevant_id){return'.game_id_'+relevant_id;},get_data:function(pstate,rid){return{game_id:rid,state:pstate};}});var FilterToggle=$.extend(Object.beget(Toggle),{get_url:function(){return'/'+current_user.username+'/games/xhr/set_toggle';},get_relevant_id:function(el){return el.get_parent_object_id('gameplatform_id_');},container_selector:function(relevant_id){return'.gameplatform_id_'+relevant_id;},get_data:function(pstate,rid){return{gameplatform_id:rid,property:this.slug,state:pstate};},update_page:function(relevant_id,pstate){$('.games_list_filtered_'+this.slug+' '+this.container_selector(relevant_id)).slideUp(500,function(){$(this).remove();});var amt_to_add=(pstate===0)?-1:1;var count_els=$(".filter_menu_bar ."+this.slug+" .num");count_els.text(parseInt(count_els.text(),10)+amt_to_add);}});FilterToggle.register('playing','playing_now');FilterToggle.register('favorites','favorite');FilterToggle.register('completed','completed');FilterToggle.register('owns','owns');TrackingToggle.register('tracking','track_game');$.live('.game_toggle_container a','click',function(){var a=$(this);var li_class=a.parent().attr('class');Toggle.from_class(li_class).handle_click(a);return false;});window.GameToggle=Toggle;});}
error_handler.generic_ajax=function(user_settings,translator){var settings={context:{},position:"after",margin:null};$.extend(settings,user_settings);var that=error_handler.ajax(function(error_message,error_code,response_data)
{if(!that.element){that.element=settings.context.parent().find("p.generic_error");}
that.hide(false);that.show(error_message);},translator);that.show=function(message,animate){if(animate===undefined){animate=true;}
var obj_message=$("<p class='generic_error' style='display: none; "+
((settings.margin===null)?"":"margin: "+settings.margin)+"'>"+message+"</p>");settings.context[settings.position](obj_message);that.element=settings.context.parent().find("p.generic_error");if(animate){that.element.slideDown(500);}
else{that.element.show();}};that.hide=function(animate){if(!that.element){return;}
if(animate===undefined){animate=true;}
if(animate){that.element.slideUp(500,function(){$(this).remove();});}
else
{that.element.remove();}
that.element=null;};return that;};error_handler.generic_lightbox=function(lightbox,translator){var settings={context:lightbox.find("h3").eq(0),margin:"5px 0 0"};return error_handler.generic_ajax(settings,translator);};comment_textarea_focus=function(){var setup_inputs_with_default_text=function(not_live,extra_elems){if(not_live===undefined){not_live=true;}
var str_elems=".input_default_text textarea, .input_default_text input";if(extra_elems){str_elems+=", "+extra_elems;}
if(not_live)
{var elems=$(str_elems);var onfocus=function(){$(this).addClass("has_content");};var onblur=function(){if($(this).val()===""){$(this).removeClass("has_content");}};var onclick=function(){$(this).parent().find("textarea, input").addClass("has_content").focus();};for(var i=0;i<elems.length;i++)
{elems.eq(i).focus(onfocus).blur(onblur);elems.eq(i).parent().find("p").click(onclick);}}
else
{$.livefocus(str_elems,function(){$(this).addClass("has_content");});$.liveblur(str_elems,function(){if($(this).val()===""){$(this).removeClass("has_content");}});}};return function(not_live){setup_inputs_with_default_text(not_live,".comment_textarea_wrapper textarea");};}();$.feature('f_edit_game_lightbox',function(){window.features.edit_game_in_lightbox=function(lb,gameplatform_id,on_continue,on_save,context){var username=current_user.username;var url='/'+username+'/games/xhr/edit/'+gameplatform_id;var errh=error_handler.ajax(function(){},null,function(response_data){lb.close();alert(response_data.message);});pf_ajax({url:url,type:'GET',error_handler:errh,success:function(data){lb.content.html(data.content_html);comment_textarea_focus(true);$('.lightbox_edit_game textarea.comment').init_inline_label();lb.set_title('Edit game');lb.element.centerVertically();if(!on_continue){var actions=lb.element.find('div.edit_game_actions');$('span.separator, .save_and_continue',actions).hide();}
lb.element.find('div.lists input[type=checkbox]').click(function(){var num_checked_boxes=lb.element.find('div.lists input[type=checkbox]:checked').length;if(num_checked_boxes===0){$(this).attr({checked:"checked"});}});var submit_errh=error_handler.generic_lightbox(lb.element,ajax_error_translator.mygames);lb.element.find('.save_changes, .save_and_close, .save_and_continue').click(function(e){var save_button=$(this);var pdata={context:context||'',rating:lb.element.find('input[name=rating_gp_'+gameplatform_id+']').val(),comment:lb.element.find('textarea').eq(0).val()};var toggle_map={'playing_now':'playing','favorite':'favorites','completed':'completed','owns':'owns','track_game':'tracking'};lb.element.find('div.game_buttons span').each(function(i){var toggle=toggle_map[$(this).attr('class')];pdata['toggle_'+toggle]=$(this).children('a').eq(0).hasClass('active');});lb.element.find('div.lists input[type=checkbox]').each(function(i){var cb=$(this);pdata[cb.attr('name')]=cb.is(':checked');});if(window.current_list_slug){var remove_from_current_list=!(pdata['member_'+window.current_list_slug]||window.current_list_slug==='rated');}
pf_ajax({url:url,data:pdata,error_handler:submit_errh,success:function(data,textStatus){if(on_save){on_save(data,remove_from_current_list);}
if(save_button.hasClass('save_and_continue')){on_continue();}else{lb.close();}}});return false;});}});};window.features.edit_game_lightbox=function(gpid,context){var lb=make_lightbox({classes:'generic_lightbox large lightbox_edit_game gameplatform_id_'+gpid,title:'Loading...'});var on_save=function(data,remove_from_current_list){if(remove_from_current_list){$(".games_list .gameplatform_id_"+gpid).slideUp(500,function(){$(this).remove();});}else{$(".games_list .gameplatform_id_"+gpid).after(data.game_li).remove();}
update_list_counts(data.counts);};window.features.edit_game_in_lightbox(lb,gpid,false,on_save,context);};});$(document).ready(function(){var editing=false;$(document).click(function(e){var t=$(e.target);if(t.is('button')){var cont=t.parents('.add_to_my_games');if(cont.length){t.blur();cont.find('ul').toggle();return false;}}else{if(!editing){$('.add_to_my_games ul').hide();}
$('.hide_on_doc_click').hide();}});$('.add_to_my_games li a').live('click',function(){var li=$(this).parent();var gp_id=$(this).attr('name');if(!user_logged_in){return false;}
var classes='generic_lightbox large small_title lightbox_edit_game gametitle_id_'+gp_id;var lb=make_lightbox({classes:classes,title:'Loading...',on_close:function(){editing=false;}});lb.set_header('<div class="links"><a class="close_view_my_games" href="#">Close and view My Games</a>'+' <span class="seperator">|</span> '+'<a class="close" href="#">Close</a></div>');$('a.close_view_my_games',lb.element).click(function(){lb.close();window.location.href='/'+current_user.username+'/games';return false;});$('a.close',lb.element).click(function(){lb.close();return false;});var on_save=function(data){li.addClass('owned');var game_id=li.get_parent_object_id('game_id_');cached_game_status[game_id]=null;};editing=true;window.features.edit_game_in_lightbox(lb,gp_id,false,on_save);return false;});});$(document).ready(function(){$(".lnk_feedback").click(function(){var lb=make_lightbox({id:"lightbox_feedback",classes:"generic_lightbox large",title:"Leave feedback"});pf_ajax({type:'GET',url:"/a/xhr/sendfeedback",success:function(data){lb.content.html(data.html);$('#lightbox_feedback').centerVertically();}});return false;});});function submit_feedback(){$("#feedback_formrow_feedback p.generic_error").remove();var feedback=$("#feedback_text").val();if(feedback===''){$("#feedback_formrow_feedback label").after("<p class='generic_error' style='margin-bottom: 9px'>Please provide us with your feedback.</p>");return false;}
$.post("/a/xhr/sendfeedback",{"type":$("#feedback_type").val(),"feedback":feedback},function(ret_text){var ret=eval('('+ret_text+')');if(ret.status=='success'){$("#feedback_notification_submit").prepend("<p>Thanks for the feedback!</p>");$("#feedback_submit_button").attr("src",'http://b.pfcdn.net/static/images/buttons/send_feedback_disabled.png?4444aa').attr("onclick","return false");$("#feedback_form").submit(function(){return false;});$("#feedback_type, #feedback_text").each(function(){$(this).hide().after("<p class='summary'/>").next().text($(this).val());});}});}
$(document).ready(function(){comment_textarea_focus();$('.input_default_text input, .input_default_text textarea').each(function(){if($(this).val())
{$(this).parent().find("textarea, input").addClass("has_content");}});});$.feature('f_generic_ddl',function(){$.live('.generic_ddl .ddl_btn','click',function(){$(this).parent().find('.ddl_content').eq(0).toggle();return false;});});PF.ajax_paginate('.comment_list_container',function(block){bind_comment_forms(block);});PF.ajax_paginate('.blog_container',function(block){bind_comment_forms(block);PF.add_post_expanders(block);});$(function(){$('#wall-form-ele').submit(function(e){var edit_textarea=$('textarea',this);tinyMCE.get(edit_textarea.attr('id')).save();var message=$.trim_ws(edit_textarea.val()||'');if(message===''){return false;}
if(user_logged_in){var post_button=$('input.post_submit_button',this);post_button.after('<img align="bottom" src="http://b.pfcdn.net/static/images/xhrloading.gif?724e0c" alt="Loading" width="16" height="16" style="float:right;margin-top: 10px;margin-right: 5px;" />');return true;}
post_temp_action('/a/xhr/temp_wall_message',{'sendto':$('#username-store').val(),'message':message});return false;});});$.feature('f_fade_right',function(){$('.fade_right').each(function(){$(this).prepend('<span class="fade_right_inner" style="width: '+$(this).width()+'px; height: '+$(this).height()+'px"></span>');});});$('#display_hidden_login').click(function(){$('#primary_menu_tools').hide();$('#hidden_login').show();return false;});$.feature('f_avatar_dropshadows',function(){$('.avatar .shadow_wrapper').each(function(){if($(this).closest('.pod').css('display')!='none')
{var img_avatar=$(this).find('img');$(this).width(img_avatar.width()).height(img_avatar.height()).css({'background-color':'#d0d0d0'});}});});$.feature('f_read_more',function(){$('.read_more_wrapper a.read_more').click(function(){var wrapper=$(this).parent();if(wrapper.hasClass('expanded'))
{wrapper.removeClass('expanded');wrapper.height($(this).attr('rel')+'px');}
else
{$(this).attr('rel',$(this).height());wrapper.addClass('expanded');wrapper.height('auto');}
return false;});});$.feature('f_community_invite_popup',function(){function show_community_invite_popup(username){var lb=$('#lb_community_invite_user');lb.find('.header h2').text('Invite '+username+' to clans/groups');lb.showPopup({closeSelector:'.header .close_popup',on_close:function(){$('#lb_community_invite_user').remove();}});}
$.live('a.community_invite_popup','click',function(){var wrapper=$(this).closest('.community_invite_wrapper');var userid=/community_invite_user-(.*)/.exec($(this).attr('id'))[1];var username=wrapper.find('.username').text();$.get('/a/popup/invite_user_to_communities',{'username':username},function(data){$(document.body).append(data);show_community_invite_popup(username);});return false;});$('#lb_community_invite_user #btn_send_invitation').live('click',function(){var lb=$('#lb_community_invite_user');var form=lb.find('form').eq(0);var username=form.find('input[name=username]').val();var invite_ids=[];form.find('input[name=invite_ids]:checked').each(function(){invite_ids.push($(this).val());});$.post(form.attr('action')+'?username='+username,{'invite_ids':invite_ids},function(data){lb.replaceWith(data);show_community_invite_popup(username);});return false;});});$(function(){$.live('a.open_comment_box','click',function(event){var item=$(this).closest('.commentable_item');$('ul.inline_comments',item).show();$('ul.inline_comments textarea',item).focus();return false;});$('form.feed_comment').submit(submit_comment);});submit_comment=function(){var form=$(this);var content=$('[name=content]',form);var comments=form.parents('ul.inline_comments');var item_id=form.get_parent_object_id('item-');var app_name=form.get_parent_object_id('app-');var model_name=form.get_parent_object_id('model-');var comment_count_elem=$('span.num_comments',comments);if(!content.val()){return false;}
pf_ajax({url:'/a/xhr/comments/app_name/model_name/123'.replace('app_name',app_name).replace('model_name',model_name).replace('123',item_id),type:form.attr('method'),data:form.serialize(),success:function(data){var elem=$(data.html);var num_comments=parseInt(comment_count_elem.text(),10)+1;comment_count_elem.text(num_comments);elem.hide();form.closest('li').before(elem);elem.slideDown();var pluralise=(num_comments==1)?'':'s';var css_suffix='-'+app_name+'-'+model_name+'-'+item_id;$('.num_comments'+css_suffix).text(num_comments+' comment'+pluralise);$('.num_comments_plain'+css_suffix).text(num_comments);$('.num_comments_brackets'+css_suffix).text('Comment'+pluralise+' ('+num_comments+')');}});content.val('');return false;};function bind_comment_forms(){$('form.feed_comment').unbind('submit').submit(submit_comment);}
$(function(){bind_comment_forms();});$.feature('f_inline_comments',function(){$('ul.inline_comments li.submit_comment textarea').init_inline_label();$.live('ul.inline_comments li.separator a.inline_expand','click',function(){var separator=$(this).parent();var item_id=$(this).get_parent_object_id('item-');var app_name=$(this).get_parent_object_id('app-');var model_name=$(this).get_parent_object_id('model-');var comments=$(this).parents('ul.inline_comments');var num_comments=$('span.num_comments_initial',comments).text();pf_ajax({url:'/a/xhr/comments/app_name/model_name/123/more/456'.replace('app_name',app_name).replace('model_name',model_name).replace('123',item_id).replace('456',num_comments),type:'GET',success:function(data){var elem=$(data.html);separator.before(elem);separator.remove();elem.slideDown();}});return false;});});$.feature('f_inline_video',function(){$.live('.dashboard_gvid a.play_video','click',function(e){var a=$(e.target);if(!a.is('a.play_video')){a=a.closest('a.play_video');}
var flash_url=a.find('span.play').attr('rel');var el_id=a.closest('div.dashboard_gvid').attr('id');swfobject.embedSWF(flash_url,el_id,350,280,"8.0.0",null,{wmode:'opaque',autoplay:1});return false;});});$.feature('f_expandable_blog_posts',function(){$.live('.view_full_post a','click',function(){$(this).data('trimmer').addClass('post_content_expanded');$(this).parent().remove();return false;});});$.livefocus('.inline_label_wrapper input[type=text], .inline_label_wrapper input[type=password], .inline_label_wrapper textarea',function(e){$(this).removeClass('empty').closest('.inline_label_wrapper').addClass('had_focus');});$.liveblur('.inline_label_wrapper input[type=text], .inline_label_wrapper input[type=password], .inline_label_wrapper textarea',function(e){if($(this).val()===''){$(this).addClass('empty');}});$.fn.extend({init_inline_label:function(){this.each(function(){var el=$(this);if(el.val()===''){el.addClass('empty');}else{el.closest('.inline_label_wrapper').addClass('had_focus');}});}});$(document).ready(function(){$('#sitewide_search_input').init_inline_label();$('#hidden_login_username').init_inline_label();});jQuery.fn.extend({ajax_error:function(user_settings){var settings={'message':'There was an unexpected error.','style':'','position':'before'};if(user_settings!==undefined){jQuery.extend(settings,user_settings);}
var bubble=$('<span class="aeb"><div class="ajax_error" style="'+settings.style+'"><div class="top">&nbsp;</div><div class="content clearfix"><a class="close" href="#"></a><p>'+settings.message+'</p></div><div class="bottom">&nbsp;</div></div></span>');switch(settings.position){case'before':$(this).before(bubble);break;case'after':$(this).after(bubble);break;case'prepend':$(this).prepend(bubble);break;case'append':$(this).append(bubble);break;}}});$(document).ready(function(){$.live('.ajax_error .close','click',function(){$(this).closest('.aeb').remove();return false;});});$.feature('f_side_pods',function(){$.live('.rounded_side_pod.expandable .expand a','click',function(){var hideables=$(this).closest('.rounded_side_pod.expandable').find('.hideable');if($(this).text()=='+ View more'){hideables.show();$(this).text('- View less');}else{hideables.hide();$(this).text('+ View more');}
return false;});$.live('.rounded_side_pod.hideable .show_hide','click',function(){var name=$(this).attr('id').split('-',2)[1];if($(this).hasClass('hidden')){$(this).removeClass('hidden');$(this).closest('.rounded_side_pod.hideable').removeClass('collapsed').find('.content').slideDown(200);if(name){PF.show_highlight(name);}}else{$(this).addClass('hidden');$(this).closest('.rounded_side_pod.hideable').find('.content').slideUp(200,function(){$(this).closest('.rounded_side_pod').addClass('collapsed');});if(name){PF.hide_highlight(name);}}
return false;});});$.feature('f_help_tip',function(){$.live('.help_tip .close','click',function(){var help_tip=$(this).closest('.help_tip');var name=$(this).attr('id').split('-',2)[1];help_tip.slideUp(500);if(help_tip.attr('id')){$('#'+help_tip.attr('id').replace('help_tip','blur')).fadeOut(500,function(){$(this).remove();});}
PF.hide_highlight(name);return false;});});$.feature('f_tab_selector',function(){function section_to_hashname(section){return'#go_'+section;}
function hashname_to_section(hashname){return hashname.substr(4);}
function show_section(section_to_show)
{if(!section_to_show){return;}
var tabs=$('.tab_selector');tabs.find('a').each(function(){var section=$(this).attr('rel');if(section){var li=$(this).closest('li');var el=$('#'+section);if(section==section_to_show){var content_link=el.find('a.lazy_loading');if(content_link.length>0){content_link.after('<div></div>');content_link.next().html(make_loading_anim()).load(content_link.attr('href'));content_link.remove();}
el.show();window.location.hash=section_to_hashname(section);li.addClass('active');}else{el.hide();li.removeClass('active');}}});}
$.live('.tab_selector a','click',function(){var section=$(this).attr('rel');show_section(section);return false;});$(document).ready(function(){var tabs=$('.tab_selector');tabs.find('a').each(function(){$(this).attr('href',section_to_hashname($(this).attr('rel')));});show_section(hashname_to_section(window.location.hash));});});$.feature('f_hidden_login',function(){$.live('#links_register_login .login','click',function(){$('#links_register_login').hide();$('#links_forgot').show();$('#site_search').hide();$('#tools_login').show();$('#hidden_login_username').focus();return false;});});
(function(){var count_templates={};$.declare_text_count=function(singular_template,plural_template){var t=[singular_template,plural_template];count_templates[singular_template]=t;count_templates[plural_template]=t;};$.fn.extend({text_count:function(singular_template,plural_template){var elements=this;var update_count=function(cb){var upd=function(){$(this).contents().each(function(){if(this.nodeType==Node.TEXT_NODE){if(/\d/.test(this.nodeValue)){var catch_ws=/^(\s*)(.*)(\s*)$/.exec(this.nodeValue);var content=catch_ws[2];content=content.replace(/^(.*?)(-?\d+)(.*)$/,function(all,before,num_text,after){var num=cb(parseInt(num_text,10));var template=null;if(singular_template){template=(num===1?singular_template:plural_template);}else{var t=count_templates[before+'$N'+after];if(t){template=(num===1?t[0]:t[1]);}}
if(template){return template.replace(/\$N/i,num);}else{return before+num+after;}});this.nodeValue=catch_ws[1]+content+catch_ws[3];}}else{upd.apply(this);}});};elements.each(upd);return elements;};var that={decrement:function(n){return update_count(function(a){return a-(n===undefined?1:n);});},increment:function(n){return update_count(function(a){return a+(n===undefined?1:n);});},set:function(n){return update_count(function(a){return n;});}};return that;}});}());