(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;}
that.cached_profile_status[user_id]=data.html;if(that.currently_shown_id!=user_id){return;}
that.body.html(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-backer'}));$(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.backer=$('#avatar-bubble-backer');that.body=that.bubble.find('.content');that.bubble_created=true;that.backer.mousemove(function(){that.backer.hide();that.bubble.css('visibility','hidden');});}
that.backer.attr('style','position:absolute; top:0; left:0; right:0; bottom:-16000px;');that.backer.show();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).closest('.right_avatar').length){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,'mouseenter',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;});});}());$.feature('f_ban_user',function(){$.live('a.ban_user','click',function(){var username=$('#username-store').val();var lb=make_lightbox({classes:'fancy_lightbox',title:'Loading...',id:'ban_explanation'});$.get("/123/ban".replace('123',username),function(data){lb.set_title('Explain ban');lb.content.html(data);$('#ban_explanation').centerVertically();});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;});var re=that.reference_element;var offset=re.offset();that.object_center={x:offset.left+re.width()/2,y:offset.top+re.height()/2};var bo=that.body.offset();var inner_el=that.body.find(re.is('img')?'img':'h2 a');var io=inner_el.offset();var inner_center={x:io.left-bo.left+inner_el.width()/2,y:io.top-bo.top+inner_el.height()/2};var calc_left=that.object_center.x-inner_center.x;var calc_top=that.object_center.y-inner_center.y;that.bubble.css({top:calc_top+"px",left:calc_left+"px",visibility:"visible"});};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){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.reference_element=$(obj);that.show_game_status(game_id);$(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();$.live('.game_popup','mouseenter',function(){var game_id=$(this).attr('data-game-id');if(game_id){bb.show(parseInt(game_id,10),$(this));}});$.live('.game_popup','mouseleave',function(){bb.hide();});}());(function(){var 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(){$.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;});$.live('form.feed_comment','submit',submit_comment);});$.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_submission_guidelines',function(){$.live('.guidelines_wrapper a.open_guidelines','click',function(){$('.guidelines_wrapper .uber_help_tip').show();return false;});$.live('.guidelines_wrapper .uber_help_tip a.close','click',function(){$('.guidelines_wrapper .uber_help_tip').hide();return false;});});$.feature('f_add_to_my_games',function(){function close_dropdown(uls){uls.hide().children('li').removeClass('expanded');uls.find('ul').hide();}
var editing=false;$.live('.add_to_my_games button','click',function(){$(this).blur();var menu=$(this).parent().children('ul');menu.toggle();if(menu.children('li').length==1){menu.find('ul').show();}
close_dropdown($('.add_to_my_games > ul:visible').not(menu));return false;});$.live('body','click',function(){close_dropdown($('.add_to_my_games > ul:visible'));});function update_derived_ownership_display(container){var lists_container=container.children('ul.lists').eq(0);var button=container.children('button').eq(0);lists_container.children('li').each(function(){var list=$(this);var button_class=list.attr('data-bclass');var any_owned=list.is(':has(li.owned)');button.toggleClass(button_class,any_owned);list.toggleClass('owned',any_owned);});}
$.live('.add_to_my_games li[data-gp-id] > a','click',function(){var add_to=$(this).closest('.add_to_my_games');var gp_li=$(this).closest('li');var gp_id=gp_li.attr('data-gp-id');function do_toggle(){if(gp_li.hasClass('owned')){var list_ident=gp_li.closest('li[data-list-name]').attr('data-list-name')+'-'+current_user.id;var url="/a/xhr/remove_gameplatform/"+list_ident+'/'+gp_id;pf_ajax({url:url,success:function(data){gp_li.removeClass('owned');update_derived_ownership_display(add_to);add_to.find('ul.lists').hide();}});return;}
if(gp_li.closest('ul').hasClass('wishlist_platforms')){var data={gp_id:gp_id,list:'wishlist'};$.ajax({url:'/a/xhr/add_gameplatform',data:data,type:'POST',success:function(){gp_li.addClass('owned');update_derived_ownership_display(add_to);add_to.find('ul.lists').hide();}});return;}
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;});editing=true;window.features.edit_game_in_lightbox(lb,gp_id);}
PF.login_required(do_toggle);return false;});signals.mygames.edited.connect(function(data){var divs=$('.add_to_my_games:has(li[data-gp-id='+data.gameplatform_id+'])');divs.each(function(){var lists_container=$(this).children('ul.lists').eq(0);lists_container.children('li').each(function(){var list=$(this);var ident=list.attr('data-list-name')+'-'+current_user.id;list.find('li[data-gp-id="'+data.gameplatform_id+'"]').toggleClass('owned',!!data.lists[ident]);});update_derived_ownership_display($(this));var game_id=$(this).get_parent_object_id('game_id_');cached_game_status[game_id]=null;});});function switch_lists(this_selector,expanded_class){var sublists=$(this).closest('ul').find('ul');var mine=sublists.filter(this_selector);var others=sublists.not(this_selector);var cont=$(this).closest('ul');mine.hide();mine.closest('li').addClass('expanded');others.closest('li').removeClass('expanded');mine.show('medium');others.hide('medium',function(){others.css('display',null);});}
$.live('.add_to_my_games li.my_games a','click',function(){switch_lists.call(this,'.my_games_platforms','my_games_expanded');return false;});$.live('.add_to_my_games li.wishlist a','click',function(){switch_lists.call(this,'.wishlist_platforms','wishlist_expanded');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;}});}});$(document).ready(function(){$.live(".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;});$.live("#feedback_submit_button",'click',function(){$("#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;}
pf_ajax({type:'POST',url:"/a/xhr/sendfeedback",data:{"type":$("#feedback_type").val(),"feedback":feedback},success:function(data){if(data.status=='success'){$("#feedback_notification_submit").prepend("<p>Thanks for the feedback!</p>");$("#feedback_submit_button").attr("src",'http://c.pfcdn.net/static/images/buttons/send_feedback_disabled.png?14250a').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());});}}});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 images={collapse:'http://b.pfcdn.net/static/images/bullets/embossed/minus/grey.png?1b58fd',collapse_hover:'http://c.pfcdn.net/static/images/bullets/embossed/minus/red.png?012a5d',expand:'http://c.pfcdn.net/static/images/bullets/embossed/plus/green.png?fbbb26'};var collapseIcon=$('<img>',{alt:"Remove Filter",src:images.collapse,height:14,width:14,className:"bullet transimg"});var expandIcon=$('<img>',{alt:"Add Filter",src:images.expand,height:14,width:14,className:"bullet transimg"});var addCollapseIcon=function(el){var oldIcon=$('img.bullet',el);var newIcon=$(collapseIcon).clone();newIcon.mouseover(function(){this.src=images.collapse_hover;$(this).parents(filter_field_selector).addClass('ready-to-delete');});newIcon.mouseout(function(){this.src=images.collapse;$(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();oldIcon.replaceWith(newIcon);};var expand_filter=function(el){el=$(el);el.removeClass('collapsed');el.removeClass('ready-to-add');$('.expandable',el).show();el.addClass('expanded');return false;};var reset_filter=function(el){$("select",el).each(function(){this.selectedIndex=0;});};var collapse_filter=function(el){el=$(el);el.removeClass('expanded');$('.expandable',el).hide();reset_filter(el);el.removeClass('ready-to-delete');addExpandIcon(el);el.addClass('collapsed');return false;};var collapse_filter_if_unset=function(){if($("select",this).find('option:selected[value!=""]').length===0){collapse_filter(this);}};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);});$.live(filter_field_selector+'.expanded','click',function(e){if(!$(e.target).is('label, li, img')){return false;}
collapse_filter(this);return false;});$.live(filter_field_selector+'.collapsed','click',function(){expand_filter(this);});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(){$.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 a:first-child').text()).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;});$.live('div.automatic_friend div.bottom a.a_btn','click',function(){var help_tip=$(this).closest('.help_tip');help_tip.slideUp(500);pf_ajax({url:help_tip.attr('data-clear_url')});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){throw"Can't find hidden autocomplete input element";}
var hidden_id=m[1];el.focus(function(){var h=$("#"+hidden_id);if($(this).val()==="Start typing game name..."){$(this).val("");}});el.autocomplete('/a/xhr/game',{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);});});}
$(function(){init_game_autocomplete();});$.feature('f_media_view',function(){$.live('.delete_submitted_content a','click',function(){var url=$(this).attr('href');var videos=$('div.video_media');videos.css('visibility','hidden');var lb=make_lightbox({classes:'generic_lightbox',title:'loading...',id:'lightbox_delete_content',on_close:function(){videos.css('visibility','visible');},show_close:false,close_selector:'.header .links a, .buttons a.close'});pf_ajax({type:'GET',url:url,success:function(data){lb.set_title(data.title);lb.content.html(data.content);var footer_content=lb.content.find('.move_to_footer').remove();if(footer_content){$('#lightbox_delete_content .footer').html(footer_content);}
lb.recenter();}});return false;});$('.media_view .media').mouseover(function(){$('a.prev, a.next').show();}).mouseout(function(){$('a.prev, a.next').hide();});});$.feature('f_group_invite_popup',function(){function show_community_invite_popup(){var lb=$('#lb_community_invite_user');lb.find('.header h2').text('Invite to groups');lb.showPopup({close_selector:'.header .close_popup',on_close:function(){$('#lb_community_invite_user').remove();}});}
$.live('a.group_invite_popup','click',function(){$.get($(this).attr('href'),function(data){$(document.body).append(data);show_community_invite_popup();});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;});});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://c.pfcdn.net/static/images/icons/trans_close_large.png?21b667" 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;});})();$.feature('f_image_upload_remove',function(){$('.uploaded_image label.delete').each(function(){var label=$(this);var checkbox=$('#'+label.attr('for'));if(checkbox.length){label.before('- ');checkbox.hide();checkbox.removeAttr('checked');}});$.live('.uploaded_image input[type=checkbox]','click',function(){var checkbox=$(this);var container=checkbox.closest('.uploaded_image');var label=container.find('label[for="'+checkbox.attr('id')+'"]');if(checkbox.is(':checked')){container.find('img').hide();label.attr('data-delete-text',label.text());label.text(label.attr('data-restore-text'));}else{container.find('img').show();label.text(label.attr('data-delete-text'));}});});jQuery.blankScreen=function(settings)
{var blank_screen={clear:false,color:'#000',opacity:0.25};if(settings!==undefined){jQuery.extend(blank_screen,settings);}
if(blank_screen.clear){jQuery('#dimmer').remove();}else{var dimmer=jQuery('#dimmer').eq(0);if(dimmer.length===0){dimmer=$('<div id="dimmer"></div>');}
dimmer.css({'top':'0','right':'0','bottom':'0','left':'0','z-index':'1000','position':'fixed','background-color':blank_screen.color,'opacity':blank_screen.opacity,'filter':'alpha(opacity='+blank_screen.opacity*100+')'});jQuery('body').append(dimmer);}};jQuery.fn.showPopup=function(settings)
{var popup=this.eq(0);var pop={blank_screen:true,dispose:false,done:function(){if(pop.blank_screen){jQuery.blankScreen({'clear':true});}
if(pop.dispose){popup.remove();}else{popup.hide();}},close_selector:'.title .close, .choices .cancel',on_close:function(){},close:function(){pop.done();pop.on_close();return false;},confirm_selector:'.choices .confirm',on_confirm:function(){},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.close_selector)){pop.close();return false;}else if(el.is(pop.confirm_selector)){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.centerOn=function(x,y){var me=$(this);var args={};if(x!==null&&typeof x!=='undefined'){args.left=x-(me.width()/2);}
if(y!==null&&typeof y!=='undefined'){args.top=y-(me.height()/2);}
me.css(args);return me;};jQuery.fn.centerVertically=function(){return $(this).centerOn(null,(jQuery(window).height()/2)+$(window).scrollTop());};(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://c.pfcdn.net/static/images/contra.jpg?16f2fc','http://c.pfcdn.net/static/sound/contra.mp3?8491d7'],function(){black.append('<img>');var attrs={'width':$(window).width(),'height':$(window).height(),src:'http://c.pfcdn.net/static/images/contra.jpg?16f2fc'};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://c.pfcdn.net/static/sound/contra.mp3?8491d7',{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;}});});$.feature('f_lazy_loading',function(){$('img.lazy_load').bind('appear.lazyload',function(){var img=$(this);img.unbind('appear.lazyload');$.ajax({type:"GET",url:img.attr('data-url'),data:null,success:function(html,textStatus,xhr){img.hide();if(xhr.getResponseHeader('X-Playfire-Maintenance')!==null){return;}
if(typeof html!=='string'){return;}
img.replaceWith($.trim(html));animate_progress_bars();},show_spinner:false});}).lazyload();});$(function(){var id='lb_lazy_register_login';PF.login_required=function(callback,url){url=url||'/a/lazy-registration';var lb=null;var showpopup_args={on_close:function(){lb.remove();if(user_logged_in){callback(false);}}};function set_login_status(id,username){current_user.id=id;current_user.username=username;user_logged_in=true;}
var rebind;function reg_login_callback(data){if(data.htmlresp){data=data.htmlresp;}
if(typeof data==='string'){var html=$(data);var username=html.find('.inner').attr('data-username');var user_id=html.find('.inner').attr('data-user-id');if(username){set_login_status(user_id,username);}
if(lb){lb.html(html.html());}else{$('#'+id).remove();lb=html.appendTo($('body')).showPopup(showpopup_args);}
lb.attr('id',id);lb.centerVertically();rebind();}else if(typeof data==='object'&&data.status){if(data.status==='success'){set_login_status(data.user_id,data.username);lb.closePopup();}}}
function register_or_login(method,data,extra,file_input_id){var to_url=url+(extra?('?'+$.param(extra)):'');if(file_input_id){if(method!='post'){throw'Cannot upload file via ajax "get"';}
uploadFile.upload(file_input_id,to_url,reg_login_callback,'json');}else{$.ajax({url:to_url,dataType:null,type:method,data:data,success:reg_login_callback});}}
rebind=function(context){var make_handler=function(method,extra,file_input_id){return function(){register_or_login(method,$(this).closest('form').serialize(),extra,file_input_id);return false;};};$('.register1 .next',context).bind('click',make_handler('get'));$('.register2 .done',context).bind('click',make_handler('post',{'action':'register'}));$('.login .done',context).bind('click',make_handler('post',{'action':'login'}));$('.avatar .upload',context).bind('click',make_handler('post',{'action':'avatar'},'id_orig_image'));$('input',context).bind('keypress',function(event){if(event.keyCode==13){$(this).parents('form').find('button').click();return false;}});};if(user_logged_in){callback(true);}else{register_or_login('get');}};$.live('#'+id+' .toggle_mode','click',function(){var cont=$(this).closest('div.login_mode, div.register_mode');if(cont.hasClass('login_mode')){cont.addClass('register_mode').removeClass('login_mode');}else{cont.addClass('login_mode').removeClass('register_mode');}});$.live('a.login_required','click',function(){var a=$(this);if(user_logged_in){return true;}
PF.login_required(function(){window.location=a.attr('href');});return false;});});maintenance_check=function(){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;};return function(){if(!in_maintenance()){return true;}
var msg=["Playfire has gone into maintenance mode since you started typing.\n\n","Normally we would redirect you to the maintenance page, but we ","didn't to save you losing your post. Try to resubmit again in a ","few minutes time."].join('');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 .details').empty().append('<h5>Subject: <em>'+li.find('.message_title').text()+'</em></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/messages/friend_autocomplete",{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 .details').empty().append('<h5>Subject: <em>'+$('#read_message_header h3').text()+'</h3>');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;});var update_limits=function(){var input=$('#id_content');if(input.length===0){return;}
var length=input.val().length;$('#limits').text(length+'/2000');if(length>2000){$('#limits').addClass('over');}else{$('#limits').removeClass('over');}
return true;};$('#id_content').keyup(update_limits);$(update_limits);});setup_multi_widget=function(){$.live('ul.selection .remove','click',function(){$(this).closest('li').fadeOut(function(){$(this).remove();});return false;});var setup_multi_widget=function(options){var selector=options.selector;var object_html=options.li_maker;$(selector).each(function(){var container=$(this);var search_box=$('.search_box',container);var input=$('input[type="hidden"][name]',container);var url=$('input[type="hidden"].search_url',container).val();var field_name=$('input[type="hidden"].field_name',container).val();var results_container=$('.results_box',container);var selection_ul=$('ul.selection',container);var add_object=function(data){var id=data[0];if(selection_ul.find('input[value='+id+']').length){return;}
var li=$(object_html.apply({field_name:field_name},data));li.hide();selection_ul.append(li);li.fadeIn();};var default_text=search_box.attr('data-default-text');if(default_text){var padding=[(search_box.outerWidth()-search_box.width())/2,(search_box.outerHeight()-search_box.height())/2];var dtspan=$('<span>',{'css':{'height':search_box.height(),'width':search_box.width(),'position':'absolute','display':'block','padding-left':padding[0],'padding-right':padding[0],'padding-top':padding[1],'padding-bottom':padding[1],'z-index':'-1','color':'grey'},'text':default_text});search_box.parent().css('position','relative');search_box.before(dtspan);search_box.addClass('empty');}
search_box.autocomplete(url,{"loadingClass":"xhr_loading","max":20,"width":306});search_box.result(function(event,data,formatted){search_box.val('');add_object([data[1],data[0],data[2]]);});});};return setup_multi_widget;}();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.hasClass('active')?0:1;var lb=el.closest('.lightbox_edit_game');if(lb.length){this.update_toggle(lb,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;});}
signals.mygames={edited:new Signal(['gameplatform_id','lists','toggles','list_counts'])};$.feature('f_edit_game_lightbox',function(){window.features.edit_game_in_lightbox=function(lb,gameplatform_id,on_save){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();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').click(function(e){var save_button=$(this);var pdata={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');});pf_ajax({url:url,data:pdata,error_handler:submit_errh,success:function(data,textStatus){var lists={};var idents=data.memberships.ident;for(var i=0;i<idents.length;i++){lists[idents[i]]=true;}
signals.mygames.edited.send(data,{list_counts:data.counts,gameplatform_id:gameplatform_id,toggles:data.toggles,lists:lists});lb.close();}});return false;});}});};window.features.edit_game_lightbox=function(gpid){var lb=make_lightbox({classes:'generic_lightbox large lightbox_edit_game gameplatform_id_'+gpid,title:'Loading...'});window.features.edit_game_in_lightbox(lb,gpid);};});function animate_progress_bars(){$('.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');});}
$.feature('f_animated_progress_bars',function(){setTimeout(animate_progress_bars,600);});$.feature('f_quiz_page',function(){if(window.location.hash!==""){window.location.href='/a/quiz/ask/'+window.location.hash.substring(1);}
$.live('.pre-reg-action','click',function(){$('.pre-reg-action-form').show();return false;});$.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({close_selector:".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="'+window.location+'">Continue quiz</a>');$('#lightbox_flag_question .notification_submit').prepend(data);});$('#flag_question_submit').attr('src','http://b.pfcdn.net/static/images/buttons/flag_inactive.png?ee1e00');$('a.flag_question#question-'+question_id).parent().remove();}
return false;});$.live('.delete_question a','click',function(){var url=$(this).attr('href');$.get(url,function(data){if(data.status=='success'){$(document.body).append(data.template);$('#lb_delete_quiz_question').showPopup({'dispose':true,'on_confirm':function(){$.post(url,{},function(data){if(data.status=='success'){$('#pod_quiz_question .delete_question').empty().append('<p class="question_deleted">Question deleted</p>');}},'json');}});}});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,'mouseenter',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,'mouseleave',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://a.pfcdn.net/static/images/xhrloading_playfire.gif?78dc2c'};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('ajaxSend',function(e,x,s){if(s.show_spinner||s.show_spinner===undefined){xhrloader.start();}});$(document).bind('ajaxComplete',function(e,x,s){if(s.show_spinner||s.show_spinner===undefined){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{var match=null;for(var i=0;i<ajax_pagination_defs.length;i++){var apd=ajax_pagination_defs[i];if(a.is(apd.selector+' a.ajax_pagination')){match=a;break;}}
if(match){var block=match.closest(apd.selector);var url=match.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();}
switch(data.status){case'success':if(data['alert_messages']!==undefined){PF.handle_alerts(data['alert_messages']);data['alert_messages']=undefined;}
if(args.success!==undefined){args.success(data,textStatus);}
break;case'fail':case'error':if(args.error_handler){args.error_handler.handle_ajax(data);}
break;case'redirect':document.location=data.location;break;default:if(args.error_handler){args.error_handler.handle_ajax();}
break;}},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(){},close_selector:".header .close_popup"};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);},recenter:function(){that.popup.centerVertically();},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('<a class="close_popup" href="#">Close</a>');}
that.popup=$("#"+settings.id).eq(0).showPopup({close_selector:settings.close_selector,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];}}};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;$('.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="separator">|</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;}
pf_ajax({type:'POST',url:"/a/xhr/sendfeedback",data:{"type":$("#feedback_type").val(),"feedback":feedback},success:function(data){if(data.status=='success'){$("#feedback_notification_submit").prepend("<p>Thanks for the feedback!</p>");$("#feedback_submit_button").attr("src",'http://c.pfcdn.net/static/images/buttons/send_feedback_disabled.png?14250a').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){});PF.ajax_paginate('.blog_container',function(block){PF.add_post_expanders(block);});$.live('#wall-form-ele','submit',function(e){var form=$(this);var edit_textarea=$('textarea',form);tinyMCE.get(edit_textarea.attr('id')).save();var message=$.trim_ws(edit_textarea.val()||'');if(message===''){return false;}
if(!user_logged_in){PF.login_required(function(){var post_button=$('input.post_submit_button',form);post_button.after('<img align="bottom" src="http://a.pfcdn.net/static/images/xhrloading.gif?d0f693" alt="Loading" width="16" height="16" style="float:right;margin-top: 10px;margin-right: 5px;" />');form.submit();});return false;}});$('#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_inline_video',function(){var playing=null;$.live('a.play_video','click',function(e){var a=$(e.target);if(!a.is('a.play_video')){a=a.closest('a.play_video');}
if(a.attr('rel')){$('#'+a.attr('rel')).click();return false;}
var meta=a.find('span.play').attr('rel');var m=/^(\d+):(.*$)/.exec(meta);var el_id='profile_flash_video_'+m[1];var cont=$('#'+el_id);var flash_url=m[2];if(cont.is(':visible')&&playing===flash_url){cont.empty().hide();$(this).closest('.dashboard_gvid').show();}else{playing=flash_url;swfobject.embedSWF(flash_url,el_id,350,280,"8.0.0",null,{wmode:'opaque',autoplay:1});if($(this).closest('.content').find('.dashboard_gvid').length==1){$(this).closest('.dashboard_gvid').hide();}}
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_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;});});$.feature('f_post_box',function(){$.live('.post_box .pre_message','click',function(){$(this).hide().closest('.post_box').find('.message').show().closest('.post_box').next('.activity_feed').css('top','1px').css('top','auto');tinyMCE.execCommand('mceFocus',false,'id_content');});});$(function(){$(document).click(function(e){$('.hide_on_doc_click').hide();});});(function(){function auto_lazy_load_section(el){var content_links=el.find('a.lazy_loading');var sub_tabs=el.find('.tab_selector,.simple_tab_selector').parent();var exclude=$.makeArray(sub_tabs.find('a.lazy_loading'));$.each(content_links,function(i,link_){if($.inArray(link_,exclude)!=-1){return;}
var link=$(link_);link.after('<div></div>');link.next().html(make_loading_anim()).load(link.attr('href'));link.remove();});}
$.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;}
if($('#'+section_to_show).length===0){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){auto_lazy_load_section(el);el.show();$('img.lazy_load',el).trigger('appear.lazyload');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');if(section=='exclude'){return true;}else{show_section(section);return false;}});$(document).ready(function(){var tabs=$('.tab_selector');tabs.find('a').each(function(){if($(this).attr('rel')!='exclude'){$(this).attr('href',section_to_hashname($(this).attr('rel')));}});show_section(hashname_to_section(window.location.hash));});});$.feature('f_simple_tab_selector',function(){$.live('.simple_tab_selector a','click',function(){$(this).closest('ul').find('a').each(function(){$('#'+$(this).attr('rel')).hide();$(this).closest('li').removeClass('active');});auto_lazy_load_section($('#'+$(this).attr('rel')).show());$(this).closest('li').addClass('active');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;}});}());$.feature('f_timezone_guess',function(){PF.guess_timezone=function(){var node=Global.timezone_tree;while(true){if($.isArray(node)){break;}
var ymd=/^(\d\d\d\d)-(\d\d)-(\d\d)/.exec(node.d);var date=new Date(Date.UTC(ymd[1],ymd[2]-1,ymd[3],0,0,0,0));var offset=date.getTimezoneOffset()*-1;node=node.c[offset+''];}
return node[0];};PF.guess_timezone_in_select=function(selector){var select=$(selector);var tzname=PF.guess_timezone();select.find('option:selected').attr('selected',false);select.find('option').filter(function(){return/(\S+)$/.exec($(this).text())[1]==tzname;}).attr('selected',true);};if(window.guess_timezone_selector){PF.guess_timezone_in_select(window.guess_timezone_selector);}});uploadFile=function(){var that={loading_afu:false,loadScripts:function(when_loaded){when_loaded=when_loaded||function(){};if(that.loading_afu||$.ajaxFileUpload){when_loaded();return;}else{that.loading_afu=true;$.getScript('http://c.pfcdn.net/static/js/ajaxfileupload.js?ff2dda',function(){that.loading_afu=false;when_loaded();});}},upload:function(input_id,url,success_callback,datatype){if($("#"+input_id).val()===''){return;}
that.loadScripts(function(){$.ajaxFileUpload({url:$.set_query_param(url,'ajaxFileUpload','1'),secureuri:false,fileElementId:input_id,dataType:typeof datatype==='undefined'?'json':datatype,success:function(data,status){if(success_callback){success_callback(data);}
return false;},error:function(s,xml,status,e)
{return false;}});});return false;}};return that;}();