/*
 Simulateur de maitrises
 Copyright LoL-Fr.com - Tous droits réservés - Reproduction interdite.
*/
var mastery_types=[];mastery_types.offense=0;mastery_types.defense=0;mastery_types.utility=0;var mastery_types_name=[];mastery_types_name.offense="Attaque";mastery_types_name.defense="Défense";mastery_types_name.utility="Utilitaire";var masteries_requiredlevel=0,masteries_available=30,masteries_levelmax=30,masteries_lignemax=6,mle=[],mld=[],mle2=[];mle2.aaaaaaaaaaaaaaa="5";mle2.aaaaaaaaaa="4";mle2.aaaaa="3";mle2.aaaa="2";mle2.aaa="1";mle2.aa="0";mle2["54"]="z";var mld2=[];mld2["5"]="aaaaaaaaaaaaaaa";
mld2["4"]="aaaaaaaaaa";mld2["3"]="aaaaa";mld2["2"]="aaaa";mld2["1"]="aaa";mld2["0"]="aa";var origin_title="",pagelocation="",currenthash="",mastery_link_hash="",mastery_link_treecount="";
jQuery(function(a){a("#mastery-tooltip").hide();a("#masteries-hiddenbox").hide();a("input#mastery-link").focus(function(){this.select()});a("#mastery-tabs").noContext();a("#masteries-share").colorbox({inline:!0,href:"#masteries-share-box",onLoad:function(){updateMasteriesShareLink()}});a("#masteries-screenshot").colorbox({height:"680px",width:"855px",inline:!0,href:"#masteries-screenshot-box",onLoad:function(){updateMasteriesScreenshot()}});origin_title=document.title;pagelocation=window.location.href;
pagelocation.indexOf("#")>0&&(pagelocation=pagelocation.substring(0,pagelocation.indexOf("#")));k=97;for(i=0;i<=4;++i)for(j=0;j<=4;++j){var b=""+i+j,c=String.fromCharCode(k++);mle[b]=c;mld[c]=b}b=window.location.hash;b.length>1?loadMasteries(b.substr(1)):updateMasteriesValues();a("a.mastery").mouseenter(displayMasteryDesc).mouseleave(clearMasteryDesc).click(clickMastery).rightClick(rightclickMastery).mousewheel(wheelMastery);window.setTimeout(hashWatcher,2E3)});
function loadMasteries(a){if(a.match(/^[a-y0-5]{4,25}$/)){for(j in mld2)a=a.replace(RegExp(j,"g"),mld2[j]);for(var b="",c=a.length,d=0;d<c;++d)b+=mld[a.charAt(d)];var d=0;for(n in masteries_linkorder)a=masteries_linkorder[n],c=parseInt(b.charAt(d++),10),masteries[a][5]=c,mastery_types[masteries[a][1]]+=c;b=!0;for(n in masteries)if(masteries[n][5]>0&&!checkMasteryDependencies(n)){b=!1;break}if(b){for(n in masteries)updateMasteryValue(n);updateMasteriesValues()}else resetMasteries()}else resetMasteries()}
function hashWatcher(){if(window.location.hash!=currenthash){var a=window.location.hash.substr(1);resetMasteries();loadMasteries(a)}window.setTimeout(hashWatcher,1E3)}function checkMasteryDependencies(a){if((masteries[a][3]-1)*4>mastery_types[masteries[a][1]])return!1;a=masteries[a][4];if(a>0&&masteries[a][5]!=masteries[a][2])return!1;return!0}
var displayMasteryDesc=function(){var a=parseInt(jQuery(this).attr("id").substr(7));updateMasteryDesc(a);var a=$("#mastery-tooltip"),b=$(this).offset();a.css({top:b.top-(a.outerHeight()-$(this).height())/2,left:b.left+$(this).width()+10});a.show()},clearMasteryDesc=function(){$("#mastery-tooltip").hide()};
function updateMasteryDesc(a){var b="<strong>"+masteries[a][0]+"</strong>",c=masteries[a][3];if(c>1){b+="<ul>";var d="",c=(c-1)*4,d=c>mastery_types[masteries[a][1]]?"deps-not":"deps-ok";b+='<li class="'+d+'">Nécessite '+c+" points en "+mastery_types_name[masteries[a][1]];c=masteries[a][4];c>0&&(d=masteries[c][5]!=masteries[c][2]?"deps-not":"deps-ok",b+='<li class="'+d+'">Nécessite '+masteries[c][2]+" points en "+masteries[c][0]);b+="</ul>"}b+="<ol>";for(var d=masteries[a][5]-1,c=0,e=masteries[a][2];c<
e;++c)b+="<li",c==d&&(b+=' class="current"'),b+=">"+masteries_desc[a][c]+"</li>";b+="</ol>";jQuery("div#mastery-desc").html(b)}function updateMasteryValue(a){jQuery("div#masteryvalue"+a).html(masteries[a][5]+" / "+masteries[a][2])}
function updateMasteriesValues(){masteries_requiredlevel=mastery_types.offense+mastery_types.defense+mastery_types.utility;masteries_available=masteries_levelmax-masteries_requiredlevel;jQuery("span#masteries-available").html(masteries_available);masteries_available==0?jQuery("p#masteries-remaining").hide():jQuery("p#masteries-remaining").show();jQuery("span#masteries-offense").html(mastery_types.offense);jQuery("span#masteries-defense").html(mastery_types.defense);jQuery("span#masteries-utility").html(mastery_types.utility);
jQuery("p#masteries-summaryoffense").html(mastery_types.offense);jQuery("p#masteries-summarydefense").html(mastery_types.defense);jQuery("p#masteries-summaryutility").html(mastery_types.utility);updateMasteriesClasses();updateMasteryLink()}
function updateMasteryLink(){var a="";for(n in masteries_linkorder)a+=masteries[masteries_linkorder[n]][5];a+="0";mastery_link_hash="";var b=a.length;for(i=0;i<b;i+=2)mastery_link_hash+=mle[a.substr(i,2)];for(j in mle2)mastery_link_hash=mastery_link_hash.replace(RegExp(j,"g"),mle2[j]);window.location.replace(pagelocation+"#"+mastery_link_hash);mastery_link_hash=="z"?(mastery_link_treecount="0 / 0 / 0",document.title=origin_title):(mastery_link_treecount=mastery_types.offense+" / "+mastery_types.defense+
" / "+mastery_types.utility,document.title=mastery_link_treecount+" « "+origin_title);currenthash="#"+mastery_link_hash}
function updateMasteriesClasses(){if(masteries_requiredlevel==0)for(n in masteries)removeMasteryClasses(n),masteries[n][3]==1&&setMasteryAvailable(n);else for(n in masteries)if(removeMasteryClasses(n),masteries[n][5]==masteries[n][2])setMasteryFull(n);else{if(masteries[n][5]>0)setMasteryFilled(n);else if(masteries_available<=0){setMasteryUnavailable(n);continue}masteries[n][3]<=Math.floor(mastery_types[masteries[n][1]]/4)+1&&checkMasteryDependencies(n)&&setMasteryAvailable(n)}}
function removeMasteryClasses(a){jQuery("a#mastery"+a).removeClass("mastery-full mastery-filled");jQuery("div#masteryvalue"+a).removeClass("masteryvalue-full masteryvalue-available")}function setMasteryFilled(a){jQuery("a#mastery"+a).hasClass("mastery-filled")||jQuery("a#mastery"+a).addClass("mastery-filled")}function setMasteryUnfilled(a){jQuery("a#mastery"+a).removeClass("mastery-filled")}
function setMasteryAvailable(a){jQuery("div#masteryvalue"+a).hasClass("masteryvalue-available")||jQuery("div#masteryvalue"+a).addClass("masteryvalue-available")}function setMasteryUnavailable(a){jQuery("div#masteryvalue"+a).removeClass("masteryvalue-available")}function setMasteryFull(a){jQuery("a#mastery"+a).hasClass("mastery-full")||(setMasteryUnfilled(a),setMasteryUnavailable(a),jQuery("a#mastery"+a).addClass("mastery-full"),jQuery("div#masteryvalue"+a).addClass("masteryvalue-full"))}
function resetMasteries(){mastery_types.offense=0;mastery_types.defense=0;mastery_types.utility=0;for(n in masteries)masteries[n][5]=0,updateMasteryValue(n),removeMasteryClasses(n);updateMasteriesValues()}function resetMasteriesType(a){mastery_types[a]=0;for(n in masteries)masteries[n][1]==a&&(masteries[n][5]=0,updateMasteryValue(n),removeMasteryClasses(n));updateMasteriesValues()}
function upgradeMastery(a){if(masteries_available<=0)return!1;if(!checkMasteryDependencies(a))return!1;if(masteries[a][5]>=masteries[a][2])return!1;var b=masteries[a][1];++masteries[a][5];++mastery_types[b];updateMasteryDesc(a);updateMasteryValue(a);updateMasteriesValues();return!0}
function downgradeMastery(a){if(masteries[a][5]<=0)return!1;var b=masteries[a][1],c=masteries[a][3],d=[0,0,0,0,0,0,0],e=[];for(m in masteries)masteries[m][1]!=b||masteries[m][5]==0||(d[masteries[m][3]]+=masteries[m][5],masteries[m][3]>c&&e.push(m));for(i=1;i<=6;++i)d[i]+=d[i-1],i==c&&--d[i];for(i in e)if(prevline=masteries[e[i]][3]-1,d[prevline]<prevline*4)return!1;for(m in masteries)if(masteries[m][4]==a&&masteries[m][5]>0)return!1;--masteries[a][5];--mastery_types[b];updateMasteryDesc(a);updateMasteryValue(a);
updateMasteriesValues();return!0}var clickMastery=function(){var a=parseInt(jQuery(this).attr("id").substr(7));upgradeMastery(a);return!1},rightclickMastery=function(){var a=parseInt(jQuery(this).attr("id").substr(7));downgradeMastery(a);return!1},wheelMastery=function(a,b){var c=parseInt(jQuery(this).attr("id").substr(7));b>0?upgradeMastery(c):downgradeMastery(c);return!1};

