/*
2009/11/03 - 16:19:14
*/

$.bfg={};$.loader.add(function(){$('.sifr_title').sifr(false,['* { color: #003366; }']);$('.sifr_title_ol').sifr(false,['* { color: #362F2D; }']);$('.sifr_title_red').sifr(false,['* { color: #9A0200; }']);$.each($('[data-flash]'),function(){var fdata=JSON.parse($(this).attr('data-flash'));if(!fdata.AllowScriptAccess){fdata.AllowScriptAccess='always';}
$(this).flash(fdata);});},2);$.loader.add(function(){$.each($('.js_center_floats'),function(){$(this).center_children(true);});$.each($('.js_center'),function(){$(this).center_children(false);});$.eq_cols();},3);$.bfg.flash_backup=function(parentSelector){if(($(parentSelector).length>0)&&($.os.iphone||$.os.mobile||!$().flash.hasFlash())){var img_data_attr=$(parentSelector).attr('data-img');if($.ct(img_data_attr)){var img_data=JSON.parse(img_data_attr);var link_start=((img_data.link!==null)?'<a href="'+img_data.link+'">':'');var link_end=((img_data.link!==null)?'</a>':"");var new_img=link_start+'<img src="'+img_data.src+'" width="'+img_data.width+'" height="'+img_data.height+'" />'+link_end;$(parentSelector).empty().append(new_img);}}};$.loader.add(function(){$.bfg.flash_backup('div#theme_banner');$.bfg.flash_backup('div#feature_dw');},1);if($.ct(jQuery.pointy_tips)){jQuery.pointy_tips.game_links=function(selector){if(($.browser.msie&&($.browser.version<6))||($.os.mobile||$.os.iphone)){return;}
var tip_links=(selector?$(selector):$('.pointy_tips').find('a'));$(tip_links).each(function(i){var link_title=($.ct($(this).attr('title_holder'))?$(this).attr('title_holder'):$(this).attr('title'));if($.ct(link_title)&&(link_title.indexOf('--')>-1)){$(this).attr('title_holder',link_title).removeAttr('title');}});$(tip_links).hoverIntent(function(event){var cur_link=$(this);var data_att=$(this).attr('data-gtip');if(!$.ct(data_att)){return;}
var use_previous=(data_att=='prev');var link_title=false;if(use_previous){var prev_link=false;var specsel='a:not([data-gtip="prev"])';var leads=[$(cur_link).siblings(specsel),$(cur_link).parent().prev(specsel),$(cur_link).parent().prev().find(specsel),$(cur_link).parent().parent().find(specsel)];$.each(leads,function(k,v){if(v.length>0){prev_link=v;return false;}});leads=null;if(!prev_link){return;}
cur_link=prev_link;data_att=$(cur_link).attr('data-gtip');if(!$.ct(data_att)){return;}}
link_title=$(cur_link).attr('title_holder');if(!$.ct(link_title)||(link_title.indexOf('--')<0)){return;}
var gtip_data=JSON.parse(data_att);var img_use_local=($.ct(gtip_data.img_base)&&(gtip_data.img_base=='gurl'));var img_base_url=(img_use_local?$.cfg.paths.gurl:$.cfg.paths.games);var img_height=(img_use_local?94:150);var gtip_img=($.ct(gtip_data.img)?img_base_url+'/'+gtip_data.img:false);if(gtip_data.img=='reuse'){var current_img=$(cur_link).find('img').attr('src');if($.ct(current_img)){var img_parts=current_img.split('_');var img_end=img_parts.pop();var img_beg=((img_parts.length>1)?img_parts.join('_'):img_parts[0]);gtip_img=(img_beg+'_subfeature.jpg');}}
var tip_parts=link_title.split('--');var tip_fill='<div id="ptip_game"><h4>'+tip_parts[0]+'</h4><div>';if(gtip_img){tip_fill+='<img src="'+gtip_img+'" height="'+img_height+'" width="175" />';}
tip_fill+=tip_parts[1]+'</div>';if((tip_parts.length>2)&&$.ct(gtip_data.gsn)){tip_fill+='<h5><span class="icon_genre_med_sel icon_'+gtip_data.gsn+'">'+tip_parts[2]+'</span></h5>';}
tip_fill+='</div>';jQuery.pointy_tips.show_tip(tip_fill,event,{png_alpha:true});},function(event){jQuery.pointy_tips.hide_tip();});};};$(function(){jQuery.pointy_tips.game_links();});$(function(){var cmess={dl_no_mac:"This game is for PC only, and no Mac version is available. \n\nAre you sure you want to download it?",dl_no_ppc_mac:"This game only runs on Intel-based Macs. Your Mac is PowerPC-based. \n\nAre you sure you want to download this game?",dl_no_pc:"This game is for Mac only, and no PC version is available. \n\nAre you sure you want to download it?",dl_os:"This game will not work on your operating system. \n\nAre you sure you want to download it?",buy_pc_on_mac:"This game is for PC, and your computer is a Mac. \n\nAre you sure you want to purchase it?",buy_mac_on_pc:"This game is for Mac, and your computer is a PC. \n\nAre you sure you want to purchase it?",buy_os:"This game will not work on your operating system. \n\nAre you sure you want to purchase it?",buy_no_ppc_mac:"This game only runs on Intel-based Macs. Your Mac is PowerPC-based. \n\nAre you sure you want to purchase this game?"};$('a.dl_link').click(function(event){var link_data=$(this).attr('data');if($.ct(link_data)){var data=JSON.parse(link_data);if($.ct(data.gos)){if($.os.mac&&$.ct(data.chip)&&(data.chip!='all')){var platform=(navigator.platform||'').toLowerCase();if((platform.indexOf('ppc')>-1)&&(data.chip=='intel')){return confirm(cmess['dl_no_ppc_mac']);}}
else if((data.gos=='mac'&&$.os.windows)||(data.gos=='pc'&&$.os.mac)){if($.ct(data.ov)&&data.ov&&(data.ov!='false')){$(this).attr('href',$.cfg.paths.hurl+'/'+$.cfg.paths.dldir+'/'+data.ov);return true;}
else{var question=($.os.mac?cmess['dl_no_mac']:cmess['dl_no_pc']);return confirm(question);}}
else if(!$.os.windows&&!$.os.mac){return confirm(cmess['dl_os']);}}}});$('a.buy_link').click(function(event){var link_data=$(this).attr('data');if($.ct(link_data)){var data=JSON.parse(link_data);if($.ct(data.gos)){if($.os.mac&&$.ct(data.chip)&&(data.chip!='all')){var platform=(navigator.platform||'').toLowerCase();if((platform.indexOf('ppc')>-1)&&(data.chip=='intel')){return confirm(cmess['buy_no_ppc_mac']);}}
else if((data.gos=='mac'&&$.os.windows)||(data.gos=='pc'&&$.os.mac)){var question=($.os.mac?cmess['buy_pc_on_mac']:cmess['buy_mac_on_pc']);return(confirm(question)?true:false);}
else if(!$.os.windows&&!$.os.mac){return(confirm(cmess['buy_os'])?true:false);}}}});if($.browser.ie&&$.browser.version<7){$('a.blank').click(function(event){$.popper('window',$(this).attr('href'),{w:'full',h:'full'});event.preventDefault();});}else{$('a.blank').attr('target','_blank');}
$('a.blank75').click(function(event){$.popper('window',$(this).attr('href'));event.preventDefault();});$.each($('a.blank75auto'),function(){$.popper('window',$(this).attr('href'));$(this).click(function(event){$.popper('window',$(this).attr('href'));event.preventDefault();});});$('a.screenshot').click(function(event){var dest=$.cfg.paths.hurl+'/winpop.php?screenshot='+$(this).attr('href');$.popper('window',dest,{w:400,h:300,config:'plain',window_name:'screenshot'});event.preventDefault();});});$(function(){$('#addtofaves').appendTo('div#content div#b4').css({display:'block'}).click(function(event){if($.browser.msie&&!$.os.mac){var thisPage=location.href;if(thisPage.lastIndexOf('#')!=-1){thisPage=thisPage.substring(0,thisPage.lastIndexOf('#'));}
window.external.AddFavorite(thisPage,document.title);}
else{var mess={apple_d:'Press <span>Apple+D</span> to bookmark this page.',ctrl_d:'Press <span>CTRL+D</span> to bookmark this page.',unknown:'We\'re not sure what browser you\'re using, so we can\'t tell you how to bookmark this page, but please look in your toolbar for "Bookmarks" or "Favorites".'}
var choice=($.os.mobile?'unknown':($.os.mac?'apple_d':'ctrl_d'));var insert='<p class="popFaves">'+mess[choice]+'</p>';if(choice!=='unknown'){insert+='<img class="popFaves" src="'+$.cfg.paths.gurl+'/images/en/icons/bookmarks/'+choice+'.jpg" width="159" height="50" alt="" />';}
$.pointy_tips.show_tip(insert,event);var close_mess=window.setTimeout(function(){$.pointy_tips.hide_tip();},2500);}
event.preventDefault();}).hover(function(){$(this).addClass('faveshover');},function(){$(this).removeClass('faveshover');});});jQuery.bfg.game_history={_cookie_name:'recently_viewed_games',_history_max:20,_get_history:function(){var viewed_cookie=$.cookie(this._cookie_name);if(viewed_cookie!=null){viewed_cookie=unescape(viewed_cookie);return((viewed_cookie.indexOf(",")>-1)?viewed_cookie.split(","):[viewed_cookie]);}
return[];},select_link:function(selectID){var sbox=$('#'+selectID);if($(sbox)){var destination=$(sbox).val();if(destination){location.href=destination;}}},_make_list:function(boxID,listID,gameName,gameLink,firstOption,cookieArray){var game_link_parts=gameLink.split("/");var game_id=game_link_parts[4];var new_game=gameName+"|"+game_id;if(cookieArray.length){if($.inArray(new_game,cookieArray)<0){cookieArray.unshift(new_game);}
if(cookieArray.length>this._history_max){cookieArray=cookieArray.slice(0,this._history_max);}
var new_cookie=escape(cookieArray.join(","));$.cookie(this._cookie_name,new_cookie,{expires:7,path:'/'});var lister=document.createElement('select');$(lister).attr('id',listID);$(lister).change(function(){$.bfg.game_history.select_link(listID);});$.each(cookieArray,function(c,gm){if(gm!=new_game){var game_data=gm.split("|");var game_full_path=$.cfg.paths.hurl+"/download-games/"+game_data[1]+"/game/index.html";$(lister).append('<option value="'+game_full_path+'">'+game_data[0]+'</option>');}});if(cookieArray.length>1){$(lister).prepend('<option class="selectTop">'+firstOption+'</option>');$('#'+boxID).append($(lister));}}
else{$.cookie(this._cookie_name,escape(new_game),{expires:7,path:'/'});}
$('.selectTop').attr('selected','selected');},create:function(boxID,listID,gameName,gameLink,firstOption){this._make_list(boxID,listID,gameName,gameLink,firstOption,this._get_history());this._get_history=null;this._make_list=null;}};$.bfg.video=function(){var _settings={button_id_open:'video_button_open',button_id_close:'video_button_close',button_parent:false,button_open_text:"Watch Video",button_close_text:"Close Video",button_game_name:false,linktitle_text:"Watch demo video of [GAMENAME]",feature_box:false,feature_static_path:false,feature_flash_path:false,feature_link:'',player_id:'video_outer',player_parent:'body',shell_path:$.cfg.paths.gl_gurl+'/images/bfg/all/flash/videoshell.swf',flv_path:false,video_playing:false,state:'off',enable_autoshow:false};var _make_box=function(){if($('#'+_settings.player_id).length<1){var $mama=$(_settings.player_parent);$mama.append('<div id="'+_settings.player_id+'"><div id="video_top"></div><div id="video_middle"><div id="video_container"></div><div id="video_button_box_off" class="section"><a href="" id="'+_settings.button_id_close+'" class="btn_sm"><span class="close">'+_settings.button_close_text+'</span></a></div></div><div id="video_bottom"></div></div>');$('#'+_settings.button_id_close).click(function(event){event.preventDefault();_turn_off(true);});if($.browser.msie&&$.browser.version<7){$('#'+_settings.player_id).pngFix();}
$('#'+_settings.player_id).hide();}};var _turn_on=function(event){if(!_settings.flv_path){return;}
if(_settings.player_parent&&($(_settings.player_parent).length)&&($('#'+_settings.player_id).length)){$(_settings.player_parent).append($('#'+_settings.player_id));}
else{var vpos=(event?$.positioner($('#'+_settings.player_id),event):false);}
$('#video_container').flash({src:_settings.shell_path,width:316,height:254,AllowScriptAccess:"always",flashvars:{videoinfo:_settings.flv_path}});$.userPrefs.savePrefs('video_state','on','permaPrefs');_settings.video_playing=_settings.player_id;$('#'+_settings.player_id).show();if(_settings.feature_static_path){_settings.feature_box.empty().append('<img src="'+_settings.feature_static_path+'" width="175" height="150" id="gameImage_static" />');}};var _turn_off=function(intention){if(_settings.video_playing&&$('#'+_settings.video_playing).length){$('#'+_settings.video_playing).hide();$('#video_container').empty();if(intention){$.userPrefs.savePrefs('video_state','off','permaPrefs');}
if(_settings.feature_flash_path){_settings.feature_box.flash({src:_settings.feature_flash_path,width:175,height:150,AllowScriptAccess:"always",flashvars:{gameinfo:_settings.feature_link}});}
_settings.video_playing=false;}};var _button=function(){if(_settings.button_parent){if(!_settings.button_game_name){_settings.button_game_name=$(_settings.button_parent).attr('title');}
$(_settings.button_parent).append('<a href="" id="'+_settings.button_id_open+'" title="'+_settings.linktitle_text.replace('[GAMENAME]',_settings.button_game_name)+'" class="btn_sm"><span class="video">'+
_settings.button_open_text+'</span></a>');$('#'+_settings.button_id_open).click(function(event){event.preventDefault();_turn_on(event);});}};this.init=function(buttonParentSelector,options){$.cookie('video_state',null);if(!buttonParentSelector||!$().flash.hasFlash()){return;}
var $vbutton_box=$(buttonParentSelector);if(($vbutton_box.length>0)&&$.ct($vbutton_box.attr('data-video'))){_settings.button_parent=buttonParentSelector;var vdata=JSON.parse($vbutton_box.attr('data-video'));var ops=($.ct(options,'object')?options:{});$.extend(vdata,ops);$.each(vdata,function(k,v){_settings[k]=v;});_make_box();_button();if(_settings.enable_autoshow){var qs_trigger=($.qstring.getval('vid')||'off');var cookie_trigger=$.userPrefs.getPrefs('video_state','permaPrefs');if((qs_trigger=='on')||(_settings.state=='on')||(cookie_trigger&&(cookie_trigger=='on'))){_turn_on();}}
$('.conflict_video').click(function(event){_turn_off(false);});}};};(function($){$.fn.attributeSort=function(options){var defaults={};var options=$.extend(defaults,options);options.sortable=this;options.sortkeys.html='html';options.sortkeys.href='href';var sortableList=new Array();var selectors=new Array();$.each($(options.sortable),function(i,ele){var sorted=new Array();$.each(options.sortkeys,function(key,param){sorted[key]=typeof param=='function'?param(ele):(param=='html'?$(ele).html():$(ele).attr(param));});sortableList.push(sorted);});$.each(options.actions,function(action,method){if(typeof method[0]!='undefined'){selectors.push(method[0]);$(method[0]).bind('click',function(e){e.preventDefault();if(options.toggleSort==true){if(method[2]=='DESC'){applySort(method[1],'ASC',method[3]);method[2]='ASC';}else{applySort(method[1],'DESC',method[3]);method[2]='DESC';}}else{applySort(method[1],method[2],method[3]);}
$.each($(selectors),function(i,ele){$(ele).removeClass('attrSelect');if(options.toggleSort==true){$(ele).removeClass('attrAsc attrDesc');}});$(method[0]).addClass('attrSelect');if(options.toggleSort==true){$(method[0]).addClass(method[2]=='ASC'?'attrAsc ':'attrDesc');}});}});if(typeof options.triggerSort!='undefined'){$(options.triggerSort).trigger('click');}
function array_key_sort(array,key,sort_order,sort_flags){sorter=false;if(typeof(key)=='undefined'){return false;}
if(sort_flags=='SORT_NUMERIC'){sorter=function(a,b){return(parseInt(a[key])-parseInt(b[key]));};}else{sorter=function(a,b){return(a[key]<b[key])?-1:((a[key]>b[key])?1:0);};}
array.sort(sorter);if(sort_order=='DESC'){array.reverse();}
return true;}
function applySort(sort_key,sort_order,sort_flags){var sortableListByValue=sortableList.slice();array_key_sort(sortableListByValue,sort_key,sort_order,sort_flags);if(typeof options.actions.beforeSort=='function'){options.actions.beforeSort($(options.sortable));}
$.each($(options.sortable),function(i,ele){$.each(options.sortkeys,function(key,param){if(typeof param!='function'){param=='html'?$(ele).html(sortableListByValue[i][key]):$(ele).attr(param,sortableListByValue[i][key]);}});});if(typeof options.actions.afterSort=='function'){options.actions.afterSort($(options.sortable));}}};})(jQuery);var number_format=function(number,decimals,dec_point,thousands_sep){var n=number,c=isNaN(decimals=Math.abs(decimals))?2:decimals;var d=dec_point==undefined?".":dec_point;var t=thousands_sep==undefined?",":thousands_sep,s=n<0?"-":"";var i=parseInt(n=Math.abs(+n||0).toFixed(c))+"",j=(j=i.length)>3?j%3:0;return s+(j?i.substr(0,j)+t:"")+i.substr(j).replace(/(\d{3})(?=\d)/g,"$1"+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):"");};(function($){$.userPrefs={_allowed_cookies:{sessionPrefs:{ttl:0},weekPrefs:{ttl:7},permaPrefs:{ttl:10250}},_default_cookie:'weekPrefs',savePrefs:function(prefKey,prefVal,cookieName){if(!prefKey||!prefVal||!cookieName){return false;}
var cookie_settings=this._get_cookie_settings(cookieName);var out_prefs,stored_prefs=$.cookie(cookie_settings.cookie_name);if((stored_prefs!==null)&&$.ct(stored_prefs,'string')){out_prefs=JSON.parse(stored_prefs);}else{out_prefs={};}
out_prefs[prefKey]=prefVal;$.cookie(cookie_settings.cookie_name,JSON.stringify(out_prefs),{expires:cookie_settings.ttl,path:'/',domain:$.cfg.paths.cookie_domain});return true;},getPrefs:function(prefKey,cookieName){if(!prefKey||!cookieName){return false;}
var out_val=false;var cookie_settings=this._get_cookie_settings(cookieName);var out_prefs,stored_prefs=$.cookie(cookie_settings.cookie_name);if((stored_prefs!==null)&&$.ct(stored_prefs,'string')){out_prefs=JSON.parse(stored_prefs);if($.is_object(out_prefs)&&$.ct(out_prefs[prefKey])){out_val=($.is_array(out_prefs[prefKey])?out_prefs[prefKey]:[out_prefs[prefKey]]);}}
return out_val;},_get_cookie_settings:function(cookieName){var c_name=(cookieName?cookieName:this._default_cookie);if(!$.ct(this._allowed_cookies[c_name])){c_name=this._default_cookie;}
return{cookie_name:c_name,ttl:this._allowed_cookies[c_name].ttl};}}})($);gcupsell={_overlay:'#gc_overlay',_close_view:'.close_view',_apnd_to:'#content',_page:$.cfg.paths.surl+'/gc_overlay.php',_iframe_dims:{w:'740',h:'500'},_overlay_appended:false,_set_overlay:function(){$.modal($(this._overlay),{containerCss:{position:'absolute'}});$(this._close_view).click(function(e){e.preventDefault();$.modal.close();});},init:function(trigger){$(trigger).click(function(e){e.preventDefault();if(!gcupsell._overlay_appended){$.get($.cfg.paths.hurl+'/'+$.cfg.paths.dldir+'/'+'rest.php',{gc_overlay:true},function(data){$(gcupsell._apnd_to).append(data);gcupsell._overlay_appended=true;gcupsell._set_overlay();},'html');}else{gcupsell._set_overlay();}});}};(function($){var pageTracker;$.geekGaTrackPage=function(account_id){var host=(("https:"==document.location.protocol)?"https://ssl.":"http://www.");var src=host+'google-analytics.com/ga.js';$.ajax({type:'GET',url:src,success:function(){pageTracker=_gat._getTracker(account_id);pageTracker._trackPageview();},error:function(){throw"Unable to load ga.js; _gat has not been defined.";},dataType:'script',cache:true});};$.geekGaTrackEvent=function(category,action,label,value){if(typeof pageTracker!=undefined){pageTracker._trackEvent(category,action,label,value);}else{throw"Unable to track event; pageTracker has not been defined";}};})(jQuery);$(function(){if($.ct($.cfg)&&$.ct($.cfg.gat_track)&&$.cfg.gat_track){$.geekGaTrackPage($.cfg.gat_track);}});