You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

419 lines
13 KiB

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="${pageContext.request.contextPath}/CSS/style.css" rel="stylesheet" type="text/css" >
<title>Insert title here</title>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//-------------desactivate btn trade >>> need import players------------
//document.getElementById("btnTrade").disabled = true;
var rows = $('table').find("tr[name='ligne']");
var rowsInTable = $(rows).size();
var height = 267 / rowsInTable;
$(rows).each(function() {
$(this).css("height", height);
});
var head = $("th[name='head']");
var x= 0;
$(head).each(function() {
if(x==0){
$(this).css("width", 110.6);
}else if(x==1 || x==3 || x==5 || x==7){
$(this).css("width", 25); //140
}else {
$(this).css("width", 45); //135
}
x+=1;
});
}); //end doc ready
$(window).load(function() {
var totproj = $("[name='totproj']");
var RKproj = $("[name='RKproj']");
var RKteam = $("[name='RKteam']");
var RKrel = $("[name='RKrel']");
var tot = $("[name='tot']");
var totRel = $("[name='totRel']");
var nbTeam = '${teamList.size()}';
var tmp = generateColor('#ffd157','#ff0000',nbTeam/2);
var tmp2 = generateColor('#00d700','#ffff00',nbTeam/2);
$.merge(tmp,tmp2);
var z = 0;
$(tot).each(function() {
for(x=0;x<nbTeam;x++){
if($(RKteam).eq(z).text() < nbTeam - x +0.5 && $(RKteam).eq(z).text() >= nbTeam - x -0.5){
$(this).css('background', 'linear-gradient(#'+tmp[x] + ', #ffffff)');
$(this).css('text-shadow' , '0 1px 0 ##261300');
}
}
z+=1;
});
z = 0;
$(totRel).each(function() {
for(x=0;x<nbTeam;x++){
if($(RKrel).eq(z).text() < nbTeam - x +0.5 && $(RKrel).eq(z).text() >= nbTeam - x -0.5){
$(this).css('background', 'linear-gradient(#'+tmp[x] + ', #ffffff)' );
$(this).css('text-shadow' , '0 1px 0 ##261300');
}
}
z+=1;
});
z = 0;
$(totproj).each(function() {
for(x=0;x<nbTeam;x++){
if($(RKproj).eq(z).text() < nbTeam - x +0.5 && $(RKproj).eq(z).text() >= nbTeam - x -0.5){
$(this).css('background', 'linear-gradient(#'+tmp[x] + ', #ffffff)');
$(this).css('text-shadow' , '0 1px 0 ##261300');
}
}
z+=1;
});
function hex (c) {
var s = "0123456789abcdef";
var i = parseInt (c);
if (i == 0 || isNaN (c))
return "00";
i = Math.round (Math.min (Math.max (0, i), 255));
return s.charAt ((i - i % 16) / 16) + s.charAt (i % 16);
}
/* Convert an RGB triplet to a hex string */
function convertToHex (rgb) {
return hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
}
/* Remove '#' in color hex string */
function trim (s) { return (s.charAt(0) == '#') ? s.substring(1, 7) : s }
/* Convert a hex string to an RGB triplet */
function convertToRGB (hex) {
var color = [];
color[0] = parseInt ((trim(hex)).substring (0, 2), 16);
color[1] = parseInt ((trim(hex)).substring (2, 4), 16);
color[2] = parseInt ((trim(hex)).substring (4, 6), 16);
return color;
}
function generateColor(colorStart,colorEnd,colorCount){
// The beginning of your gradient
var start = convertToRGB (colorStart);
// The end of your gradient
var end = convertToRGB (colorEnd);
// The number of colors to compute
var len = colorCount;
//Alpha blending amount
var alpha = 0.0;
var saida = [];
for (i = 0; i < len; i++) {
var c = [];
alpha += (1.0/len);
c[0] = start[0] * alpha + (1 - alpha) * end[0];
c[1] = start[1] * alpha + (1 - alpha) * end[1];
c[2] = start[2] * alpha + (1 - alpha) * end[2];
saida.push(convertToHex (c));
}
return saida;
}
}); //end doc ready
function rebuildGraph() {
$.ajax({
url:'CALL_Rebuild',
type:'post',
success:function(response)
{
drawMain();
}
});
}
var stats = '${statsJson}';
var json = JSON.parse(stats);
drawMain();
function drawMain() {
$.ajax({
url:'GRAPH_CALL',
type:'post',
data: {typeGraph: "mainGraph"},
success:function(response)
{
$("#cont_chart_div").html(response);
$('#loader').hide();
//---------------------------------------change to load graphs
drawMaxPace();
}
});
}
function drawStat(x) {
$.ajax(
{
url:'GRAPH_CALL',
type:'post',
data: {typeGraph: json[x]["name"]},
success:function(response)
{
$("#cont_"+json[x]["name"].replace("%","")).html(response);
if(json[x]["name"] != "PTS"){
if(json[x+1]["name"].includes("/")){
drawStat(x+2);
}else{
drawStat(x+1);
}
}else{
//drawLast(x);
}
$('#loader'+json[x]["name"].replace("%","")).hide();
}
});
}
function drawLast(x) {
$.ajax(
{
url:'GRAPH_CALL',
type:'post',
data: {typeGraph: json[x]["name"]},
success:function(response)
{
$("#cont_"+json[x]["name"].replace("%","")).html(response);
$('#loader'+json[x]["name"].replace("%","")).hide();
}
});
}
function loader() {
$.ajax({
url:'LoadTester',
type:'get',
success:function(response)
{
//$("#trade_div").html(response);
document.getElementById("btnTrade").disabled = false;
//--------------BTN LIGNE LEAM---------------need import player stats
$(document).on("click","tr", function(e){
document.getElementById($(this).index()).submit();
});
drawStat(0);
}
});
}
function drawMaxPace() {
$.ajax(
{
url:'CALL_DIV_maxPace',
type:'post',
data: {},
success:function(response)
{
$("#cont_maxPace").html(response);
$('#loaderMaxPace').hide();
loader();
}
});
}
</script>
</head>
<body>
<c:set var="teams" value="${sessionScope.teamList}" />
<c:set var="stats" value="${requestScope.statsBase}" />
<div class="wrapper">
<header class="main-head">
</header>
<article class="graph">
<ul class="listing">
<li class="superwide">
<div class="HeaderDiv" style="width:100%;line-height: 20px;text-align: center;"><c:out value="League ${leagueName} - ${season} Rotisserie - Day : ${day} / ${totDays}" /></div>
<div style="width: 100%;text-align: center;margin-bottom:10px;">
<div style="display: inline-block;vertical-align:top;">
<form name='TradeForm' method='post' action='tradeServlet'>
<input id='btnTrade' type='submit' value='Trade' /></form>
</div>
<div style="display: inline-block;vertical-align:top;">
<input id="btnRebuild" type="button" value="Rebuild Graph" onclick="rebuildGraph();" />
</div>
</div>
</li>
<li>
<table class="tableTrade">
<thead>
<tr class="Header" style="line-height: 20px;">
<th colspan="4">ESPN RANKING</th>
<th colspan="2">RELATIVE</th>
<th colspan="2">PROJECTION</th>
</tr>
<tr class="Header" style="line-height: 20px;">
<th name="head" style="text-align:left">TEAM</th>
<th name="head">GP</th>
<th name="head" style="width: 49px;">ESPN PTS</th>
<th name="head">E-RK</th>
<th name="head" style="width: 49px;">REL PTS</th>
<th name="head">R-RK</th>
<th name="head" style="width: 49px;">PROJ PTS</th>
<th name="head">P-RK</th>
</tr>
<%-- <tr class="Header" ><th align="left"><c:out value="Team" /></th>
<c:forEach var="stat" items= "${stats}" >
<th><c:out value="${stat.name}" /></th>
</c:forEach>
<th><c:out value="ESPN Pts" /></th>
<th><c:out value="REL Pts" /></th>
</tr> --%>
</thead>
<tbody>
<c:forEach var="team" items= "${teams}" >
<tr name="ligne" class="tab">
<td style="text-align:left;"><strong><c:out value="${team.name}" /></strong></td>
<%-- <c:forEach var="stat" items= "${team.stats}" >
<td align="center"><c:out value="${stat.valRot}" /></td>
</c:forEach> --%>
<td align="center"><c:out value="${team.gamesPlayed}" /></td>
<td name="tot" align="center"><fmt:formatNumber pattern="0.#" value="${team.totalrotPts}" /></td>
<td name="RKteam" align="center"><fmt:formatNumber pattern="0.#" value="${team.RK}" /></td>
<td name="totRel" align="center"><fmt:formatNumber pattern="0.#" value="${team.totalrotPtsRel}" /></td>
<td name="RKrel" align="center"><fmt:formatNumber pattern="0.#" value="${team.relativeRK}" /></td>
<td name="totproj" align="center"><fmt:formatNumber pattern="0.#" value="${team.projTot}" /></td>
<td name="RKproj" align="center"><fmt:formatNumber pattern="0.#" value="${team.projRK}" /></td>
<form id="${team.ID}" action="teamServlet" method="post" >
<input type="submit" style="display:none;"/>
<input type="hidden" name="teamId" value="${team.ID}"/>
</form>
</tr>
</c:forEach>
</tbody>
</table>
</li>
<li class="wide">
<div class="HeaderDiv" style="line-height: 20px;text-align: center;"><c:out value="RANKING EVOLUTION RELATIVE TO GAMES PLAYED" /></div>
<div class="cn">
<div id="cont_chart_div" style="height: 295px;">
<div id="loader" style="width: 100%;text-align: center;display:block;vertical-align:center; margin-top: 135px">
<span>Buildind RK Graph</span>
<span class="l-1"></span>
<span class="l-2"></span>
<span class="l-3"></span>
<span class="l-4"></span>
<span class="l-5"></span>
<span class="l-6"></span>
</div>
</div>
</div>
</li>
<c:forEach var="stat" items= "${stats}" varStatus="i">
<c:if test="${!fn:contains(stat.name,'/')}">
<li >
<div class="HeaderDiv" style="line-height: 20px;text-align: center;"><c:out value="${stat.name}" /></div>
<div class="cn">
<div id="cont_${fn:replace(stat.name ,'%','')}" style="height: 200px;">
<div id="loader${fn:replace(stat.name ,'%','')}" style="width: 100%;text-align: center; margin-top: 80px">
<span><c:out value="Buildind ${stat.name} Graph" /></span>
<span class="l-1"></span>
<span class="l-2"></span>
<span class="l-3"></span>
<span class="l-4"></span>
<span class="l-5"></span>
<span class="l-6"></span>
</div>
</div>
</div>
</li>
</c:if>
</c:forEach>
<li class="superwide">
<div class="HeaderDiv" style="line-height: 20px;text-align: center;"><c:out value="MAX & PACE" /></div>
<div class="cn">
<div id="cont_maxPace" style="width: 100%;">
<div id="loadermaxPace" style="width: 100%;text-align: center;display:block;vertical-align:center; margin-top: 35px">
<span>Calculating Max & Pace</span>
<span class="l-1"></span>
<span class="l-2"></span>
<span class="l-3"></span>
<span class="l-4"></span>
<span class="l-5"></span>
<span class="l-6"></span>
</div>
</div>
</div>
</li>
</ul>
</article>
<!-- <footer class="main-footer">The footer</footer> -->
</div>
</body>
</html>