/* File: js/tournaments.js, Ratio: 21.7% */

var isEnumsLoaded,isVitalsLoaded,isLevelLoaded=false;var enumsData,vitalsData;var playerSkillScore=1;var playerLevel=1;var DAILY_TOURNAMENT_TYPE=10;var WEEKLY_TOURNAMENT_TYPE=20;function pageReadyUser(){setupDirectedExperience({icon:'tournaments'});}
function loadInitialData(successCallback,errorCallback){isVitalsLoaded=false;callGetWS(true,"/tournaments_service/playervitalstats",WSRequestTimeout,null,function(data,TextStatus){playerSkillScore=parseInt($("getplayervitals skillscore",data).text());$("#skill_rating").html(playerSkillScore);isVitalsLoaded=true;isInitialDataLoaded(successCallback);},errorCallback,null);callGetWS(true,"/tournaments_service/tournamentenums",WSRequestTimeout,null,function(data,TextStatus){enumsData=data;isEnumsLoaded=true;isInitialDataLoaded(successCallback);},errorCallback,null);callGetWS(true,"/blaze/myplayerlevel",WSRequestTimeout,null,function(data,TextStatus){playerLevel=parseInt($("level",data).text());playerLevel=isNaN(playerLevel)?-1:playerLevel;isLevelLoaded=true;isInitialDataLoaded(successCallback);},errorCallback,null);}
function isInitialDataLoaded(successCallback){if(isEnumsLoaded&&isVitalsLoaded&&isLevelLoaded)
successCallback();}
function isTournamentOpenClosedPendingOrIneligible(tournamentData)
{var tourneyStartUTC=parseInt($("tournamentstarttime",tournamentData).text());var tourneyFinishUTC=parseInt($("tournamentfinishtime",tournamentData).text());var transactionUTC=parseInt($("transactiontime",tournamentData).text());var minSkillScore=parseInt($("minimumskillscore",tournamentData).text());var maxSkillScore=parseInt($("maximumskillscore",tournamentData).text());return isOpenClosedPendingOrIneligible(playerSkillScore,tourneyStartUTC,tourneyFinishUTC,transactionUTC,minSkillScore,maxSkillScore);}
function isOpenClosedPendingOrIneligible(playerSkillScore,tourneyStartUTC,tourneyFinishUTC,transactionUTC,minSkillScore,maxSkillScore){var returnState="";if(playerSkillScore<minSkillScore||playerSkillScore>maxSkillScore){returnState="ineligible";}else if(transactionUTC<tourneyStartUTC){returnState="pending";}else if(transactionUTC>tourneyStartUTC&&transactionUTC<tourneyFinishUTC){returnState="open";}else if(transactionUTC>tourneyFinishUTC){returnState="closed";}
return returnState;}
function lookupTournamentVariation(variationId){var currentData;$("getlookuptables tournamentvariation lookuptableitem id",enumsData).each(function(){if($(this).text()==variationId)
currentData=$(this).parent();});var difficultyStr=$("value",currentData).text();if(difficultyStr=="Beginner")
{difficultyStr="Legend";}
return difficultyStr;}
function formatDollarValue(_v)
{var _dollars=parseInt(_v);var _cents=parseInt((_v-_dollars)*100);var _negative=_dollars<0;if(_negative){_dollars=-_dollars;_cents=-_cents;}
while(_cents.toString().length<2)_cents="0"+_cents;var _dA=_dollars.toString().split("");var _d="";for(var i=_dA.length-1;i>=0;i--)
{var _comma="";if((_dA.length-i)%3==0&&i!=0)_comma=",";_d=_comma+_dA[i]+_d;}
var _neg_sign=_negative?"-":"";var _result="$"+_neg_sign+_d;return _result;}
function lookupMoneyDistributionName(moneyDistributionName,purseAmount)
{var lowerCaseName=moneyDistributionName.toLowerCase();if(lowerCaseName.indexOf("progressive")!=-1)
{return"Progressive";}
else if(moneyDistributionName=="NO MONEY")
{return moneyDistributionName;}
else
{return formatDollarValue(purseAmount);}}
function lookupTeeType(typeId){var currentData;$("getlookuptables teetype lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupPinType(typeId){var currentData;$("getlookuptables pintype lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupWindType(typeId){if(typeId==2)
return"Windy";var currentData;$("getlookuptables windtype lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupGreenSpeedType(typeId){var currentData;$("getlookuptables greenspeed lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupGreenHardnessType(typeId){var currentData;$("getlookuptables greenhardness lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupRoughLengthType(typeId){var currentData;$("getlookuptables roughlength lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupSwingType(typeId){var currentData;$("getlookuptables swingdifficulty lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupFairwaySpeed(typeId){var currentData;$("getlookuptables fairwayspeed lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupAimingMode(typeId){var currentData;$("getlookuptables aimingmode lookuptableitem id",enumsData).each(function(){if($(this).text()==typeId)
currentData=$(this).parent();});return $("value",currentData).text();}
function lookupPuttPreviews(typeId){var returnState="";if(0==typeId){returnState="Off";}else{returnState="On";}
return returnState;}
function lookupGrids(typeId){var returnState="";if(0==typeId){returnState="Off";}else{returnState="On";}
return returnState;}
function lookupHandicap(typeId){var returnState="";if(0==typeId){returnState="Off";}else{returnState="On";}
return returnState;}
function createHeaderInfo(cellState,displayDate){var daysLeft=0;hoursLeft=0;minutesLeft=0;if(displayDate>0)
{displayDate+=59;daysLeft=Math.floor((displayDate/(24*60*60)));hoursLeft=Math.floor(((displayDate-(daysLeft*24*60*60))/(60*60)));minutesLeft=Math.floor(((displayDate-(daysLeft*24*60*60)-(hoursLeft*60*60))/(60)));}
if(cellState=="closed")
return"<h2 id='headerInfo'>Tournament Has Ended</h2>";else if(cellState=="ineligible")
return"<h2 id='headerInfo'>Ineligible</h2>";else if(cellState=="open")
return'<ul id="headerInfo" class="timer"><li class="title">Ends In</li><li>'+daysLeft+'<small>days</small></li><li>'+hoursLeft+'<small>hours</small></li><li class="last">'+minutesLeft+'<small>minutes</small></li></ul>';else if(cellState=="pending")
return'<ul id="headerInfo" class="timer"><li class="title">Begins In</li><li>'+daysLeft+'<small>days</small></li><li>'+hoursLeft+'<small>hours</small></li><li class="last">'+minutesLeft+'<small>minutes</small></li></ul>';}
function showGroupsModal(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 showForfeitRoundModal(callback,callbackParameters){showGroupsModal({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});}
