/* File: js/globals.js, Ratio: 39.9% */

var DEBUG=false;var HOSTS={production:'tigerwoodsonline.ea.com'};var requiredMajorVersion=9;var requiredMinorVersion=0;var requiredRevision=124;var msie6;var warnActive=false;var coursesXml=null;var firstTimeUserChecked=false;var characterProgressionTableXML='';var myPlayerCardXML='';var playerLevel=0;var playerCutLine=0;var playerCashBalance=0;var userMoney=0;var activeGameId=-1;var activeTournamentRoundId=-1;var activeTournamentId=-1;var isActiveGameMultiplayer=-1;var isActiveGameTournament=-1;var MAX_LARGE_PERSONA_CHAR_COUNT=14;$(document).ready(function(){msie6=$.browser.msie&&parseInt($.browser.version)==6&&!window["XMLHttpRequest"];checkBrowserCompatibility();setupScrollToTop();playbtn_setup();setupProfileAccordion();setupTabs();checkAuthentication();setupNav();setupSubNav();setupModalWindow();modal_setup();setupPageFTUF();setupNotifyListener();if((DEBUG===true)&&(location.host!==HOSTS.production)){(function($){var oldfind=$.fn.find;$.fn.find=function(sel){var ret=oldfind.call(this,sel);if(ret.length===0){if(window.console){if(window.console.warn){console.warn('jQuery Selector \''+sel.toString()+'\' found nothing.');}}}
return ret;}})(jQuery);}});function setupNotifyListener()
{startListeningForNotifications(50,(function(data)
{var appName=$("appName",data).text();var service=$("service",data).text();var serviceType=$("servicetype",data).text();var sourceName=$("sourceName",data).text();var sourceId=$("sourceId",data).text();var destName=$("destName",data).text();var destId=$("destId",data).text();if(service=='presence')
{if(serviceType=='update')
{if($("payload message",data).text()=='')
{$("payload message",data).text('Logged in');}
$(document).trigger('presence.update',{personaId:parseInt($("payload personaid",data).text()),persona:$("payload persona",data).text(),franchise:$("payload franchise",data).text(),message:$("payload message",data),webStatus:parseInt($("payload webstatus",data).text()),gameStatus:parseInt($("payload gamestatus",data).text()),venueId:$("payload venueid",data).text()});}}
else if(service=='invitation')
{if(serviceType=='invite')
{var inviteId=parseInt($("payload id",data).text());var gameId=parseInt($("gameId",data).text());var slotNum=parseInt($("slot",data).text());var viewDetailsFunction='odbHandleViewDetails('+inviteId+')';var declineFunction='odbHandleDeclineInvite('+inviteId+','+gameId+','+slotNum+')';var holesStr=getHoleSelectionDisplay(parseInt($("holestoplay",data).text()));var courseName=$("coursename",data).text();var gameDesc='<div class="odbBoxMessage"><a class="profileName" href="/profiles/'+sourceName+'">'+sourceName+'</a> has invited you to play '+holesStr+' on '+courseName+'</div>';$('#odbGameInvitesPanel .newBoxItem').removeClass('newBoxItem');if($('#odbGameInviteListItem'+inviteId).length==0)
{var row='<li id="odbGameInviteListItem'+inviteId+'" class="newBoxItem">\
       <div class="profileThumb"><a href="/profiles/'+sourceName+'"><img src="/players/avatarsbyid/'+sourceId+'"/></a></div>'+gameDesc+'\
        <div class="itemActions">\
         <a class="gradient_button" onclick="'+viewDetailsFunction+'"><span class="text">View Details</span></a>\
         <a class="gradient_button" onclick="'+declineFunction+'"><span class="text">Decline</span></a>\
         </div>\
       </li>';$('#odbGameInvitesList').prepend(row);}
$('#odbGameInvitesNub .emptyBoxItem').remove();$('#odbGameInvitesNub .odbBoxReadAll').show();var total=parseInt($("#game-invite-count").text())+1;$("#game-invite-count").addClass('showCounter').html(total).show();$('#odbGameInvitesNub .odbBoxReadAll').show();$("#odbGameInvitesPanel").fadeIn('slow');}
else if((serviceType=='accept'||serviceType=='decline')&&sourceId!=destId)
{}
else if(serviceType=='cancel'||serviceType=='expire'||serviceType=='accept'||serviceType=='decline')
{var text="Unknown";switch(serviceType)
{case'cancel':text='<a class="profileName" href="/profiles/'+sourceName+'">'+sourceName+'</a> has removed you from the round.';break;case'expire':text='<a class="profileName" href="/profiles/'+sourceName+'">'+sourceName+'</a>\'s invite has expired.';break;case'accept':var inviterName=$("payload inviteePersona",data).text();text='You\'ve accepted <a class="profileName" href="/profiles/'+inviterName+'">'+inviterName+'</a>\'s invite.';break;case'decline':var inviterName=$("payload inviterPersona",data).text();text='You\'ve declined <a class="profileName" href="/profiles/'+inviterName+'">'+inviterName+'</a>\'s invite.';break;}
var inviteId=parseInt($("payload id",data).text());$('#odbGameInviteListItem'+inviteId).attr('class','emptyBoxItem inviteCanceled');$('#odbGameInviteListItem'+inviteId).html('<div class="profileThumb"><a href="/profiles/'+sourceName+'"><img src="/players/avatarsbyid/'+sourceId+'"/></a></div>\
              <div class="odbBoxMessage">'+text+'</div>');var total=parseInt($("#game-invite-count").text());if(serviceType=='cancel'||serviceType=='expire'||sourceId==destId)
{total--;}
if(total>0)
{$("#game-invite-count").addClass('showCounter').html(total).show();$('#odbGameInvitesNub .odbBoxReadAll').show();}
else
{$("#game-invite-count").html(total).hide().removeClass('showCounter');if($('odbGameInvitesList li.emptyBoxItem').length==0)
{var emptyRow='<li class="emptyBoxItem"><p>You have no game invites</p><a href="/play/playRedirect/0/multiplayer/1/" class="gradient_button"><span class="text">Create a Game</span></a></li>';$('#odbGameInvitesList').append(emptyRow);}
else
{$('odbGameInvitesList li.emptyBoxItem').show();}
$('#odbGameInvitesNub .odbBoxReadAll').hide();}
setTimeout('hideODBItem("'+'#odbGameInviteListItem'+inviteId+'")',5000);$("#odbGameInvitesPanel").fadeIn('slow');}}}));}
function hideODBItem(rowId)
{$(rowId).fadeOut('slow',function(){$(this).hide();});}
var notifyTimeout;var notifySuccessFunc;var notifyFailureCount=0;var notifyMaxFailures=6;var notifyFirstTime=true;function startListeningForNotifications(timeout,success)
{notifySuccessFunc=success;notifyTimeout=timeout;if(notifyFirstTime){notifyFirstTime=false;setTimeout("startListeningForNotifications( notifyTimeout, notifySuccessFunc)",10*1000);return;}
if(personaId!=undefined){var urlString="/webservices/notification_ext/getNotification/"+personaId+"/"+timeout;$.ajax({type:"GET",url:urlString,error:function(XMLHttpRequest,textStatus,errorThrown)
{notifyFailureCount++;if(notifyFailureCount<notifyMaxFailures)
{setTimeout("startListeningForNotifications( notifyTimeout, notifySuccessFunc)",timeout);}},success:function(data,textStatus)
{if($(data).find("timeout").length!=0)
{setTimeout("startListeningForNotifications( notifyTimeout, notifySuccessFunc)",1);}
else if($(data).find("notification").length!=0)
{success(data);setTimeout("startListeningForNotifications( notifyTimeout, notifySuccessFunc)",1);}
else
{}}});}}
function playbtn_setup(){$("#PlayNow a").click(function(){teeOff();});}
function showForfeitRoundModal(callback,callbackParameters){showGameModal({icon:'/img/placeholder/empty_points.png',title:"Forfeit Round and Tee Off",prompt:"You currently have a round in progress. If you purchased this round with points, it will be lost. Do you want to forfeit your current round?",actionTitle:"Forfeit and Tee Off",actionCallback:callback,actionCallbackOptions:callbackParameters});}
function showGameModal(options){var deIcon="";var deTitle="";var dePrompt="";var deActionTitle="";var deActionCallbackOptions=null;if(typeof(options)==='object'){deIcon=options.icon;deTitle=options.title;dePrompt=options.prompt;deActionTitle=options.actionTitle;deActionCallback=options.actionCallback;deActionCallbackOptions=options.actionCallbackOptions;}
$('#mask').css({'display':'block','position':'fixed',opacity:0});$('#mask').fadeTo(500,0.6);$('#groupModal').appendTo(document.body);$("#groupModalIcon > img").attr("src",deIcon);$('#groupModalTitle').text(deTitle);$('#groupModalPrompt').text(dePrompt);$('#groupModalAction .text').text(deActionTitle);$('#groupModalAction').unbind();$('#groupModalAction').click(function(){if(deActionCallback!=null){if(deActionCallbackOptions!=null){deActionCallback.apply(this,deActionCallbackOptions);}else{deActionCallback.apply(this);}}
close_modal();});$('#groupModal').fadeIn(500);}
function teeOff(){callPlayGameOptions('normal');}
function UnityLog(str){return false;}
function submitLogin()
{document.loginForm.submit();}
$('#loginForm').keyup(function(e){if((e.which===13)||(e.keyCode&&e.keyCode===13)){submitLogin();}});$('#passwordField_decoy').focus(function(){$(this).remove();$('#passwordField').show();$('#passwordField').focus();});function checkAuthentication()
{var authCookie=getCookie("CEM-login");var objEmailField=$('#emailField');if(authCookie==null||authCookie=="")
{$(".state_guest").show();$(".state_subscriber").hide();var rememberedEmail=getCookie("TWOCookie[REMEMBER]");if(rememberedEmail!=null){$("#emailField").attr("value",unescape(rememberedEmail));$("#rememberMeCheckBox").attr("checked",true);}else{if(!location.toString().match(/.*viewAltLogin.*/)){objEmailField.focus();if(objEmailField.select){objEmailField.select();}
$("#passwordField_decoy").attr("value","Password");}
$("#rememberMeCheckBox").attr("checked",false);}
try
{pageReadyGuest();}
catch(er)
{}}
else
{loadPersonaCookie();if(personaId==undefined||personaId==null||personaId=="")
{var onPersonaPage=(location.pathname=='/newuser/nopersona');if(!onPersonaPage)
{document.location='/newuser/nopersona';}
else
{$(".state_guest").show();$(".state_subscriber").hide();}}
else
{$(".state_guest").hide();$(".state_subscriber").show();$(".needsSubNav").addClass("hasSubNav");setCourseMenuItems();loadPlayerCard();setupTopNav();entitlementBanners();$(window).bind("focus",function(){if(canRefreshData){updateCanRefreshData(false);try{refreshLayoutData();}catch(ex){}
try{refreshPageData();}catch(ex){}
setTimeout("updateCanRefreshData(true)",5000);}});}
try
{pageReadyUser();}
catch(er)
{}
setupToolTips();$(".refer_a_friend").unbind();$(".refer_a_friend").click(popupInviteFriendsByEmail);try
{pageReadyBar();}
catch(er)
{}}}
function popupInviteFriendsByEmail()
{window.open('/referrals/sendEmail','referAFriendWindow','toolbar=0,menubar=0,statusbar=1,resizable=1,scrollbars=1,width=625,height=400');return false;}
var canRefreshData=true;function updateCanRefreshData(newFlag){canRefreshData=newFlag;}
function logoutOfSite(){var url=location.protocol+'//'+location.host+"/users/logout?surl="+document.location;document.location=url;}
function checkBrowserCompatibility(){var msgIE6="Using Internet Explorer 6 or earlier may cause adverse effects on gameplay and is not fully supported by Tiger Woods PGA TOUR&reg; Online";var msgChrome="Using Chrome may cause adverse effects on gameplay and is not fully supported by Tiger Woods PGA TOUR&reg; Online";var msgOpera="Using Opera may cause adverse effects on gameplay and is not fully supported by Tiger Woods PGA TOUR&reg; Online";var msgff2="Using Firefox version 2 or lower may cause adverse effects on gameplay and is not fully supported by Tiger Woods PGA TOUR&reg; Online. Please upgrade to the latest version of <a href=\"http://www.mozilla.com/en-US/\"  target=\"_blank\">Firefox</a>";if(getCookie("TWOCookie[warning]")==null){if(msie6)
{setCookie('TWOCookie[warning]','true','Fri, 1 Jan 2100 20:00:00 UTC');eaAlert(msgIE6);}
else if($.browser.chrome)
{setCookie('TWOCookie[warning]','true','Fri, 1 Jan 2100 20:00:00 UTC');eaAlert(msgChrome);}
else if($.browser.opera)
{setCookie('TWOCookie[warning]','true','Fri, 1 Jan 2100 20:00:00 UTC');eaAlert(msgOpera);}
else if($.browser.mozilla&&$.browser.version.indexOf('1.8.')>-1)
{setCookie('TWOCookie[warning]','true','Fri, 1 Jan 2100 20:00:00 UTC');eaAlert(msgff2);}}}
function setupDirectedExperience(options)
{var deIcon="";var deTitle="";var deDescription="";if(typeof(options)==='object'){deIcon=options.icon;deTitle=options.title;deDescription=options.description;}
$("#userMasthead .page_image .icon").addClass(deIcon);$("#userMasthead .page_title h1").html(deTitle);$("#userMasthead .page_title h5").html(deDescription);}
function setupToolTips()
{var toolTip=$("a.tooltip");toolTip.hover(function(){toolTipInfo=this.rel;$("body").append("<div class='tooltip-wrapper'><div class='tooltip-copy'>"+toolTipInfo+"</div><div class='arrow'></div></div>");$(".tooltip-wrapper").width((toolTipInfo.length*6)+30);var x_toolTip=($(this).offset().left);var w_toolTip=($(this).width());var w_wrapper=($('.tooltip-wrapper').width());var xOffset=((x_toolTip+w_toolTip)-((w_toolTip+w_wrapper)/2));var yOffset=($(this).offset().top-35);$(".tooltip-wrapper").hide();$(".tooltip-wrapper").show();$(".tooltip-wrapper").css({'position':'absolute','left':''+xOffset+'px','top':''+yOffset+'px','z-index':'9990'});},function(){$(".tooltip-wrapper").remove();});}
function setupNav()
{try
{$("#main_nav li a").removeClass("selected");switch(pageTitle)
{case"Home":$("#main_nav .home a").addClass("selected");break;case"Profile Overview":case"Achievements":case"Profile Statistics":case"Prestige":$("#main_nav .my_golfer a").addClass("selected");break;case"Friends":case"Find New Friends":case"The Cut":case"Sponsorships":$("#main_nav .friends a").addClass("selected");break;case"Groups":case"Edit Group":case"Create a Group":case"Group Profile Overview":case"Group Profile Members":case"Group Profile Leaderboards":case"Group Current Tournament":case"Group Previous Tournament":case"Create Group Tournament":case"Create Group Season":$("#main_nav .groups a").addClass("selected");break;case"Leaderboards":case"Group Leaderboards":case"Leaderboards Course":case"Leaderboards Friends":$("#main_nav .leaderboards a").addClass("selected");break;case"Courses":$("#main_nav .courses a").addClass("selected");break;case"Game Guide":$("#main_nav .gameguide a").addClass("selected");break;}}catch(err){}}
function setupSubNav()
{var timer;$('.hasSubNav').parent().hover(function(){hideUnity();},function(){showUnity();});$('#main_nav li').hover(function(){var subNav=$(".wrapper",this);if(timer){clearTimeout(timer);timer=null}
timer=setTimeout(function(){subNav.show();},200);},function(){if(timer){clearTimeout(timer);timer=null}
$(".wrapper",this).hide();});}
function setupTopNav(){$('.top-bar li.toggle').hover(function(){$(this).find('ul').show();$(this).addClass('over');},function(){$(this).find('ul').hide();$(this).removeClass('over');});var subscriptionCookie=unescape(getCookie("TWOCookie[SUBSCRIPTION]"));var returnUrl=URLEncode(document.location.toString());if(!ignoreSubscriptions)
{if(subscriptionCookie.indexOf("freetoplay")>=0)
{$('#OnDemandBar .user_account_standing').text('Free Account');if(typeof(lockBoxSubsPath)!=='undefined')
{$("a.lockboxAccountManagementLink").unbind();$("a.lockboxAccountManagementLink").click(function()
{var newWindow=window.open("/users/membershipOffer?returnUrl="+returnUrl,'_blank');newWindow.focus();});}}
else
{if(subscriptionCookie.indexOf("tigerUnlimited")>=0)
{$('#OnDemandBar .user_account_standing').text('Employee');}
else
{$('#OnDemandBar .user_account_standing').text('Member');}
if(typeof(lockBoxBillingPath)!=='undefined')
{$("a.lockboxAccountManagementLink").unbind();$("a.lockboxAccountManagementLink").click(function()
{var newWindow=window.open("/users/manageSubscriptionRedirect?surl="+returnUrl,'_blank');newWindow.focus();});}}}
else
{$('#OnDemandBar .user_account_standing').text('Member');$(".i_accountmanagement").hide();$(".card_actions .round_count").hide();}}
function directedExperienceBar(){$('#directed_experience li a').hover(function(){$(this).parent('li').addClass('hover');},function(){$(this).parent('li').removeClass('hover');});}
function setupSlider()
{if($("#Slider").length>0){var slider_width=$("#Slider").width();var panels=$("#Slider .panels > li");var panels_total=$("#Slider .panels .panel_count").length;var pages_nav=$("#Slider .panels_nav .pages");var slide_wrapper=$("#Slider .panels");var btn_prev=$("#slideLeft .slide_left");var btn_next=$("#slideRight .slide_right");var current_panel=1;var slide_speed=600;var slide_timer=8500;var timer_id=null;var resetTimer=function()
{if(timer_id!=null)
{clearInterval(timer_id);}
timer_id=setInterval(function(){if(current_panel<panels_total-1){slide_wrapper.animate({left:"-="+slider_width+"px"},slide_speed);current_panel+=1;setSelectedSlider(current_panel,pages_nav);}else{slide_wrapper.animate({left:"-="+slider_width+"px"},slide_speed,function(){slide_wrapper.css('left','0px');current_panel=1;setSelectedSlider(current_panel,pages_nav);});}
if(current_panel==1){btn_prev.addClass('disabled');}
if(current_panel>1){btn_prev.removeClass('disabled');}
if(current_panel==panels_total){btn_next.addClass('disabled');}
if(current_panel<panels_total){btn_next.removeClass('disabled');}},slide_timer);};slide_wrapper.width(slider_width*panels_total);panels.width(slide_wrapper.width()/panels_total);btn_prev.click(function(){if(current_panel>1){slide_wrapper.animate({left:"+="+slider_width+"px"},slide_speed)
current_panel-=1;setSelectedSlider(current_panel,pages_nav);btn_next.removeClass('disabled');resetTimer();}else{return false;}
if(current_panel==1){btn_prev.addClass('disabled');}});btn_next.click(function(){if(current_panel<panels_total){slide_wrapper.animate({left:"-="+slider_width+"px"},slide_speed)
current_panel+=1;setSelectedSlider(current_panel,pages_nav);btn_prev.removeClass('disabled');resetTimer();}else{return false;}
if(current_panel==panels_total){btn_next.addClass('disabled');}});$(panels).each(function(i){i++
var page_buttons="<a id='btn_"+i+"'></a>";$(pages_nav).append(page_buttons);setSelectedSlider(1,pages_nav);$(pages_nav).find("#btn_"+i).click(function(){if(current_panel==i){return false;}
resetTimer();if(current_panel<i){slide_wrapper.animate({left:"-"+((i*slider_width)-slider_width)+"px"},slide_speed)
current_panel=i;setSelectedSlider(i,pages_nav);}
if(current_panel>i){slide_wrapper.animate({left:"-"+((i*slider_width)-slider_width)+"px"},slide_speed)
current_panel=i;setSelectedSlider(i,pages_nav);}
if(current_panel==1){btn_prev.addClass('disabled');}
if(current_panel>1){btn_prev.removeClass('disabled');}
if(current_panel==panels_total){btn_next.addClass('disabled');}
if(current_panel<panels_total){btn_next.removeClass('disabled');}});});$(pages_nav).find("a:last-child").hide();resetTimer();}};function setSelectedSlider(num,pages)
{$(pages).find("a").removeClass('selected');$(pages).find("#btn_"+num).addClass('selected');}
function setupScrollToTop(){$('.top_scroll').click(function(){$('html, body').animate({scrollTop:0},'slow');return false;});}
var unityHide;function hideUnity(){clearTimeout(unityHide);$('#UnityWrapper').addClass('tiny');}
function showUnity(){unityHide=setTimeout(function(){$('#UnityWrapper').removeClass('tiny');},200);}
function setupProfileAccordion(){if($('.profile_overview_stats')!==null){var accordionToggle=$('.profile_overview_stats h3');var accordionContent=$('.profile_overview_stats .statSegment');accordionToggle.filter(':first').addClass('open');accordionContent.hide().filter(':first').show();accordionToggle.click(function(){$(this).next().toggle();$(this).toggleClass('open');});};}
function setupTabs(){var miniTabLinks=$('.section_nav ul.tabs li a');var miniTabContent=$('#tabbed_content > div');miniTabContent.hide().filter(':first').show();}
function checkForCharacter()
{if($("errorName",myPlayerCardXML).length>0)
{var errorName=$("getCharacter errorName",myPlayerCardXML).text();if(errorName=="CHARACTER_ERR_NOT_DEFINED")
{var sex=0;var imageIdx=0;callPostWS(false,"/blaze/createcharacter/"+sex+"/"+imageIdx,WSRequestTimeout,"",null,function(xml,textStatus)
{loadPlayerCardCash();addNewUserScreen();try
{characterCheckFinished();}
catch(err)
{}},function(XMLHttpRequest,textStatus)
{try
{characterCheckFinished();}
catch(err)
{}},null);}
else
{try
{characterCheckFinished();}
catch(err)
{}}}
else
{try
{characterCheckFinished();}
catch(err)
{}}}
function addNewUserScreen()
{spawnModalWindow('/users/newuser');}
function setInboxCount()
{var total=0;if(personaId!=undefined)
{total+=parseInt($("myplayercard privatemessages getmessages messages servermessage",myPlayerCardXML).length);}
$(".pendingInboxCount").text(total);if(total>0)
{$("#messages-count").addClass('showCounter').html(total).show();}
else
{$("#messages-count").html(total).hide().removeClass('showCounter');}
try
{displayMessagesList($("myplayercard privatemessages getmessages",myPlayerCardXML));}
catch(err)
{}}
function setNotificationCount()
{var total=0;if(personaId!=undefined)
{var groupTotal=parseInt($("myplayercard getpetitions clubpetitionslist clubmessage",myPlayerCardXML).length);$(".pendingGroupRequests").text(groupTotal);total+=groupTotal;var friendTotal=parseInt($("myplayercard friend_request_list-full friend_request",myPlayerCardXML).length);$(".pendingFriendRequests").text(friendTotal);total+=friendTotal;}
$(".pendingNotifications").text(total);if(total>0)
{$("#notifications-count").addClass('showCounter').html(total).show();}
else
{$("#notifications-count").html(total).hide().removeClass('showCounter');}
try
{displayNotificationsList($("myplayercard",myPlayerCardXML));}
catch(err)
{}
try
{renderPageNotificationData($('myplayercard friend_request_list-full',myPlayerCardXML),$('myplayercard getpetitions',myPlayerCardXML));}
catch(err)
{}}
function setGameInviteCount()
{var total=0;if(personaId!=undefined)
{total+=parseInt($("myplayercard invitations receivedInvitations invitation",myPlayerCardXML).length);}
if(total>0)
{$("#game-invite-count").addClass('showCounter').html(total).show();}
else
{$("#game-invite-count").html(total).hide().removeClass('showCounter');}
try
{displayGameInvitesList($("myplayercard invitations",myPlayerCardXML));}
catch(err)
{}}
function updateLevelInPlayerCard(){var level='0';if(typeof(playerPersonaId)==='undefined'){return-1;}
DAL_Request(false,"/blaze/characterprogression/"+playerPersonaId,WSRequestTimeout,null,function(xml,textStatus)
{level=$('level',xml).text();$('#de_page_header .level-icon-s').html(level);},function(xml,textStatus)
{},null);return true;}
function loadPlayerCard()
{if(personaId!==undefined)
{loadPlayerCardCash();DAL_Request(false,'/players_service/myPlayerCard',WSRequestTimeout,null,function(xml,textStatus)
{if(textStatus!=='error')
{myPlayerCardXML=xml;loadPlayerInfo();loadPlayerHandicap();setInboxCount();setNotificationCount();setGameInviteCount();loadMyCutLine();loadPlayerOpenGames();DAL_Request(true,'/players_service/characterProgressionTable',WSRequestTimeout,null,function(xml,textStatus)
{characterProgressionTableXML=xml;loadPlayerExp();try
{renderPageProgressionData();}
catch(err)
{}},function(XMLHttpRequest,textStatus)
{},null);try
{setupDockLoader();}
catch(er)
{}
if(!firstTimeUserChecked)
{firstTimeUserChecked=true;checkForCharacter();}
$(".imagePlayerCardAvatar").attr("src",'/players/avatarsbyid/'+personaId+"/transparent?_="+Math.random());try
{renderPagePlayerCardData();}
catch(err)
{}
try{parent.$(".imagePlayerCardAvatar").attr("src",'/players/avatarsbyid/'+personaId+"/transparent?_="+Math.random());}catch(err){document.parent.$(".imagePlayerCardAvatar").attr("src",'/players/avatarsbyid/'+personaId+"/transparent?_="+Math.random());}}
else
{}},function(XMLHttpRequest,textStatus)
{},null);}}
function loadPlayerInfo()
{var largeChars=personaName.match(/[MW]/g);var largeCharCount=0;if(largeChars!=null)
{largeCharCount=largeChars.length;}
if(largeCharCount>MAX_LARGE_PERSONA_CHAR_COUNT)
{personaName=personaName.substring(0,MAX_LARGE_PERSONA_CHAR_COUNT-1)+"...";}
$('.my_persona').html(personaName);$(".imagePlayerCardAvatar").attr("src",'/players/avatarsbyid/'+personaId+"/transparent?_="+Math.random());}
var characterprogress=Array();characterprogress['currenttitle']=Array();characterprogress['nexttitle']=Array();characterprogress['currentlevel']=Array();characterprogress['nextlevel']=Array();characterprogress['xplevels']=Array();characterprogress['cashlevels']=Array();function getLevelInfo(level){var thisTitleId=-1;var nextTitleId=-1;var titleInfo=[];$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val){if(level==$('level',val).text()){titleInfo['LevelExp']=parseInt($('experiencepoints',val).text());titleInfo['TitleId']=parseInt($('titleid',val).text());titleInfo['CareerEarnings']=parseInt($('careerearnings',val).text());}
if(parseInt(level)+1==$('level',val).text()){titleInfo['NextLevelExp']=$('experiencepoints',val).text();titleInfo['NextLevelCareerEarnings']=$('careerearnings',val).text();return false;}});$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val){if(titleInfo['TitleId']==$('titleid',val).text()){titleInfo['TitleExp']=$('experiencepoints',val).text();titleInfo['CareerEarnings']=$('careerearnings',val).text();return false;}});$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val){if(titleInfo['TitleId']+1==$('titleid',val).text()){titleInfo['NextTitleId']=parseInt($('titleid',val).text());titleInfo['NextTitleExp']=$('experiencepoints',val).text();titleInfo['NextTitleCareerEarnings']=$('careerearnings',val).text();return false;}});$('getcharacterprogressiontable titlelevels enumeration',characterProgressionTableXML).each(function(){if($("enumerationid",this).text()==titleInfo['TitleId']){titleInfo['TitleName']=$('enumerationdescription',this).text();}
if($("enumerationid",this).text()==titleInfo['NextTitleId']){titleInfo['NextTitleName']=$('enumerationdescription',this).text();return false;}});return titleInfo;}
function loadPlayerExp()
{characterprogress['currentlevel']['level']=$('getcharacterprogression',myPlayerCardXML).find('level',myPlayerCardXML).text();characterprogress['currentlevel']['xp']=$('getcharacterprogression experiencepoints',myPlayerCardXML).text();characterprogress['currentlevel']['careerearnings']=$('getcharacterprogression careerearnings',myPlayerCardXML).text();characterprogress['currentlevel']['coursemasteryid']=$('getcharacterprogression',myPlayerCardXML).find("coursemasterylevelid").text();characterprogress['currentlevel']['coursemasterycount']=$('getcharacterprogression',myPlayerCardXML).find("coursemasterynumbercourses").text();$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val)
{if(characterprogress['currentlevel']['level']==$('level',val).text())
{characterprogress['currentlevel']['titleid']=$('titleid',val).text();return false;}});$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val)
{var titleid=$('titleid',val).text();if(titleid==characterprogress['currentlevel']['titleid'])
{characterprogress['currenttitle']['level']=$('level',val).text();characterprogress['currenttitle']['titleid']=$('titleid',val).text();characterprogress['currenttitle']['xp']=$('experiencepoints',val).text();characterprogress['currenttitle']['careerearnings']=$('careerearnings',val).text();characterprogress['currenttitle']['coursemasteryid']=$('coursemasterylevelid',val).text();characterprogress['currenttitle']['coursemasterycount']=$('coursemasterynumbercourses',val).text();return false;}});$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val)
{var level=$('level',val).text();if(parseInt(level)==parseInt(characterprogress['currentlevel']['level'])+1)
{characterprogress['nextlevel']['level']=$('level',val).text();characterprogress['nextlevel']['xp']=$('experiencepoints',val).text();characterprogress['nextlevel']['careerearnings']=$('careerearnings',val).text();characterprogress['nextlevel']['coursemasteryid']=$('coursemasterylevelid',val).text();characterprogress['nextlevel']['coursemasterycount']=$('coursemasterynumbercourses',val).text();return false;}});$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val)
{var titleid=$('titleid',val).text();if(parseInt(titleid)==parseInt(characterprogress['currentlevel']['titleid'])+1)
{characterprogress['nexttitle']['level']=$('level',val).text();characterprogress['nexttitle']['titleid']=$('titleid',val).text();characterprogress['nexttitle']['xp']=$('experiencepoints',val).text();characterprogress['nexttitle']['careerearnings']=$('careerearnings',val).text();characterprogress['nexttitle']['coursemasteryid']=$('coursemasterylevelid',val).text();characterprogress['nexttitle']['coursemasterycount']=$('coursemasterynumbercourses',val).text();return false;}});$('getcharacterprogressiontable characterprogressionlevels characterprogressionlevel',characterProgressionTableXML).each(function(i,val)
{characterprogress['xplevels'][parseInt($('level',val).text())]=$('experiencepoints',val).text();characterprogress['cashlevels'][parseInt($('level',val).text())]=$('careerearnings',val).text();});$('getcharacterprogressiontable titlelevels enumeration',characterProgressionTableXML).each(function(i,subval)
{if($('enumerationid',subval).text()==characterprogress['currentlevel']['titleid'])
{characterprogress['currenttitle']['title']=formatWordsFirstLetterUpperCase($('enumerationdescription',subval).text().replace("_"," "));if(characterprogress['currenttitle']['title'].toLowerCase().indexOf("legend")>=0)
characterprogress['currenttitle']['title']="Legend";return false;}});$('getcharacterprogressiontable titlelevels enumeration',characterProgressionTableXML).each(function(i,subval)
{if($('enumerationid',subval).text()==characterprogress['nexttitle']['titleid'])
{characterprogress['nexttitle']['title']=formatWordsFirstLetterUpperCase($('enumerationdescription',subval).text().replace("_"," "));if(characterprogress['nexttitle']['title'].toLowerCase().indexOf("legend")>=0)
characterprogress['nexttitle']['title']="Legend";return false;}});$('getcharacterprogressiontable coursemasterylevels enumeration',characterProgressionTableXML).each(function(i,subval)
{if($('enumerationid',subval).text()==characterprogress['currenttitle']['coursemasteryid'])
{characterprogress['currenttitle']['coursemasterytitle']=formatWordsFirstLetterUpperCase($('enumerationdescription',subval).text().replace("_"," "));if(characterprogress['currenttitle']['coursemasterytitle'].toLowerCase().indexOf("legend")>=0)
characterprogress['currenttitle']['coursemasterytitle']="Course Legend";return false;}});$('getcharacterprogressiontable coursemasterylevels enumeration',characterProgressionTableXML).each(function(i,subval)
{if($('enumerationid',subval).text()==characterprogress['nexttitle']['coursemasteryid'])
{characterprogress['nexttitle']['coursemasterytitle']=formatWordsFirstLetterUpperCase($('enumerationdescription',subval).text().replace("_"," "));if(characterprogress['nexttitle']['coursemasterytitle'].toLowerCase().indexOf("legend")>=0)
characterprogress['nexttitle']['coursemasterytitle']="Course Legend";return false;}});$('#masthead .user_level').html('Level&nbsp;'+characterprogress['currentlevel']['level']+'&nbsp;'+characterprogress['currenttitle']['title']);$('#masthead .xp_count').text(formatLargeNumbers(characterprogress['currentlevel']['xp'])+' XP');try
{renderPageCharacterProgress();}
catch(err)
{}}
function loadPlayerHandicap(){DAL_Request(true,"/handicap_service/getUserHandicap",WSRequestTimeout,null,function(xml,textStatus)
{if($("returnValue",xml).length>0){var handicapValue=parseInt($("returnValue",xml).text());if(handicapValue>0)
handicapValue="+"+handicapValue;$(".handicap_value").text(handicapValue);}},function(XMLHttpRequest,textStatus)
{},null);}
var myCutLine=Array();function loadMyCutLine(){var cutline=parseInt($('getplayercutline cutline',myPlayerCardXML).text(),10)/100;var level=parseInt($('getplayercutline level',myPlayerCardXML).text(),10);var score=parseInt($('getplayercutline score',myPlayerCardXML).text(),10);var streak=parseInt($('getplayercutline streak',myPlayerCardXML).text(),10);var timeRemaining=parseInt($('getplayercutline timeremaining',myPlayerCardXML).text(),10);var hours=Math.floor(timeRemaining/3600).toString();var minutes=Math.floor((timeRemaining/60)%60).toString();var result=((score>0&&score<=cutline)?'<img src="/img/dynamic_card/cutline_yes.gif" />':'<img src="/img/dynamic_card/cutline_no.gif" />');playerLevel=level;if(cutline!==0){playerCutLine=cutline;}
$('.cutline_today').html(playerCutLine.toString());$('#myScore').html(score.toString());$('#myStreak').html('x'+streak.toString());$('#myCutLineResult').html(result);if(timeRemaining<=60){$('.time_left span.info').html(timeRemaining.toString()+'&nbsp;sec');}else{$('.time_left span.info').html(hours+'h&nbsp;'+minutes+'min');}
myCutLine['cutline']=playerCutLine;myCutLine['level']=level;myCutLine['score']=score;myCutLine['streak']=streak;myCutLine['hours']=hours;myCutLine['minutes']=minutes;}
function loadPlayerCardCash()
{DAL_Request(false,"/nucleus/mywallets",WSRequestTimeout,null,function(xml,textStatus)
{$('.my_real_wallet_balance').html('-');$('.my_wallet_balance').html('-');var earnedWalletFound=false;var paidWalletFound=false;$(xml).find("walletAccount").each(function()
{var currency=$(this).find("currency").text();if(currency=='_TB')
{earnedWalletFound=true;var cash=$(this).find("balance").text();userMoney=cash;$('.my_wallet_balance').html('$'+formatLargeNumbers(cash));}
else if(currency=='_SV')
{paidWalletFound=true;if(!ignoreSubscriptions)
{var cash=$(this).find("balance").text();playerCashBalance=cash;$('.my_real_wallet_balance').html(formatLargeNumbers(cash)+' Points');$('.my_real_wallet_balance_no_label').html(formatLargeNumbers(cash));var returnUrl=escape(document.location.toString());$(".add_points").unbind();$(".add_points").click(function(){document.location="/users/purchasePointsRedirect?surl="+escape(document.location);});$("#pointsDisplay").show();}}});if(!paidWalletFound)
{$('.my_real_wallet_balance_no_label').html('0');$('.my_real_wallet_balance').html('0 Points');var returnUrl=escape(document.location.toString());$(".add_points").unbind();$(".add_points").click(function(){document.location="/users/purchasePointsRedirect?surl="+escape(document.location);});$("#pointsDisplay").show();}
try{renderWallet();}catch(err){}},function(XMLHttpRequest,textStatus)
{$('.my_wallet_balance').html('-');$('.my_real_wallet_balance').html('-');$('.my_real_wallet_balance_no_label').html('-');},null);}
function loadPlayerSkillLevel()
{if($("getstat keyscopestatsvaluemap",myPlayerCardXML).length>0)
{var avgScore=$("entitystats statvalues statvalues:eq(0)",myPlayerCardXML).text();$('.my_average_score').html(formatZeroIsGoodStat(avgScore));var roundsComplete=$("entitystats statvalues statvalues:eq(17)",myPlayerCardXML).text();$('.my_rounds_complete').html(roundsComplete);}
else
{$('.my_average_score').html('-');$('.my_rounds_complete').html('-');}}
function loadPlayerOpenGames()
{if($("getactivegames",myPlayerCardXML).length>0)
{activeGameId=$("gameid",myPlayerCardXML).length>0?$("gameid",myPlayerCardXML).text():-1;activeTournamentRoundId=$("getactivegames tournamentroundid",myPlayerCardXML).text();activeTournamentId=$("getactivegames tournamentid",myPlayerCardXML).text();isActiveGameMultiplayer=$("getactivegames ismultiplayergame",myPlayerCardXML).text()=='1';isActiveGameTournament=$("getactivegames istournamentgame",myPlayerCardXML).text()=='1';var name=$("getactivegames coursename",myPlayerCardXML).text();var hole=parseInt($("getactivegames hole",myPlayerCardXML).text())-1;var score=parseInt($("getactivegames score",myPlayerCardXML).text(),10);if(score===0){score='E';}else if(score>0){score='+'+score;}
$('#my_open_games').html('<ul class="opengame">'+'<li class="round_information"><a class="round_summary" href="/play/resumeGame/'+activeGameId+'">'+name+'</a><em>Score: '+score.toString()+'</em><em>thru: '+hole+' hole'+(hole!=1?'s':'')+'</em></li>'+'<li class="UserButton_spacer">'+'<span class="UserButton UserButton_white UserButton_alignLeft"><a class="UserButton_text" href="/play/resumeGame/'+activeGameId+'">Resume Game</a></span>'+'<span class="UserButton UserButton_white UserButton_spacer UserButton_alignLeft"><a class="UserButton_text" href="javascript:void(0);" onclick="leaveGameConfirm();">Leave Game</a></span>'+'</li>'+'</ul>');}
else
{$('#my_open_games').html('<ul class="opengame"><li class="noGame"><span class="UserButton UserButton_white UserButton_alignLeft"><a class="UserButton_text" href="/play">Play a Game</a></span></li></ul>');}
try
{renderPageActiveGameData($('getactivegames',myPlayerCardXML));}
catch(err)
{}}
function leaveGameConfirm()
{$('#my_open_games').html('<ul class="opengame">'+'<li class="leave_confirm">Leaving this game will end the round.</li>'+'<li class="UserButton_spacer leave_options">'+'<span class="UserButton UserButton_white UserButton_spacer UserButton_alignLeft"><a class="UserButton_text" href="javascript:void(0);" onclick="leaveGame();">Accept</a></span>'+'<span class="UserButton UserButton_white UserButton_spacer UserButton_alignLeft"><a class="UserButton_text" href="javascript:void(0);" onclick="loadPlayerOpenGames();">Decline</a></span>'+'</li>'+'</ul>');}
function leaveGame()
{$('#my_open_games').html('<ul class="opengame"><li class="noGame"><span class="UserButton UserButton_white UserButton_alignLeft"><a class="UserButton_text" href="/play">Play a Game</a></span></li></ul>');$('.UserButton_teeoff').removeClass('UserButton_teeoff').addClass('UserButton_disabled').click(function(){return false;});callPostWS(false,"/blaze/finishgame",WSRequestTimeout,"",null,function(xml,textStatus)
{if($("status",xml).text()=='SUCCESS')
{$('#my_open_games').html('<ul class="opengame"><li class="noGame"><span class="UserButton UserButton_white UserButton_alignLeft"><a class="UserButton_text" href="/play">Play a Game</a></span></li></ul>');}
else
{$('#my_open_games').html('<ul class="opengame"><li class="noGame">Unable to leave game</li></ul>');}},function(XMLHttpRequest,textStatus)
{loadPlayerOpenGames()},null);}
function setCourseMenuItems()
{$("#courseDropDown").html();DAL_Request(true,"/courses_service/courses",WSRequestTimeout,null,function(xml,textStatus)
{coursesXml=xml;if($("errorName",xml).length==0)
{$("getcourses courses course",xml).each(function()
{var name=$("coursename",this).text()
var web=$("webimage",this).text()
$("#courseDropDown").append('<li class="'+web+'"><a href="/courses/'+web+'"><span></span>'+name+'</a></li>');});}
else
{$("#courseDropDown").append("<li><a href=\"javascript:openErrorWindow('','WebBug', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');\"><span></span>Could not retrieve courses from server</a></li>");}
try
{renderPageCourses(xml);}
catch(err)
{}},function(XMLHttpRequest,textStatus)
{$("#courseDropDown").html();},null);}
function getCourseData(courseId){var dataToReturn="";if(coursesXml!=null){$("getcourses courses course",coursesXml).each(function(i){if($("courseid",this).text()==courseId){dataToReturn=$(this);}});}
return dataToReturn;}
function getUrlVars()
{var vars=[],hash;var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');for(var i=0;i<hashes.length;i++)
{hash=hashes[i].split('=');vars.push(hash[0]);vars[hash[0]]=hash[1];}
return vars;}
function setupPageFTUF()
{if(!hideFTUF($("#HelpID").text()))
{$(".welcome_bar").slideDown(500);$("#buttonCollapseHelp").click(function(){$(".welcome_bar").slideUp(500);setFTUF($("#HelpID").text());});}}
function hideFTUF(key)
{var found=false;var cookieData=getCookie("TWOCookie[FTUF]");if(cookieData!=undefined&&cookieData!=null&&cookieData!="")
{if(cookieData.indexOf(key)>=0)
{return true;}}
return false;}
function setFTUF(key)
{var cookieData=getCookie("TWOCookie[FTUF]");if(cookieData!=undefined&&cookieData!=null&&cookieData!="")
{var found=false;var cookieArray=cookieData.split("|");for(var i=0;i<cookieArray.length;i++)
{if(cookieArray[i].toString()==key)
found=true;}
if(!found)
{cookieData+="|"+key;setCookie("TWOCookie[FTUF]",cookieData);}}
else
{setCookie("TWOCookie[FTUF]",key);}}
String.prototype.camelCase=function(){return this.toString().replace(/([A-Z]+)/g,function(m,l){return l.substr(0,1).toUpperCase()+l.toLowerCase().substr(1,l.length);}).replace(/[\-_\s](.)/g,function(m,l){return' '+l.toUpperCase();});};var EA={};EA.enums={};EA.enums.fan={INVALID:0,TV:1,GALLERY:2,SPONSOR:3};
