Gros nettoyage : suppression de quasiment tout le JSS.

This commit is contained in:
Georges Dupéron 2011-05-14 17:44:10 +02:00
parent 8e3cfb4334
commit 70eec38a55
3 changed files with 219 additions and 447 deletions

View File

@ -12,56 +12,109 @@
<script src="ressources/my-extensions.js"></script>
<script src="ressources/pticlic.js"></script>
<script src="server.php?callback=prefs.loadPrefs&action=7"></script>
<style>
body, html { margin: 0; padding: 0; height: 100%; overflow: hidden; }
.screen { width:100%; height:100%; position:absolute; }
.highlight { display:none; width:100%; height:100%; border-width:medium; border-style:solid; border-radius:2em; position:absolute; }
a:hover .highlight { display:block; }
#frontpage .icon-container { width:100%; bottom: 40%; height:50%; position:absolute; }
#frontpage .icon-container img { display:block; margin: 0 auto; }
#frontpage .icon-label { width:100%; height:30%; bottom:5%; position:absolute; }
#frontpage a { color: black; text-decoration: none; display:inline-block; width: 30%; height: 32%; top: 32%; position:absolute; }
a.button {
color: black; text-decoration: none;
padding: 0.4em; margin: 0.4em; display: inline-block;
border: medium solid #4a4; background-color:#f0f8d0; border-radius:0.4em;
}
.relationBox { border-width: 3px; border-style: solid; border-radius:1em; padding: 0.5em; width: 95%; margin: 0 auto; }
.relationBox table { border-collapse: collapse; }
.relationBox img { display:block; }
.relationBox td { padding:0; }
.formElement { width:30%; height: 10%; position:absolute; }
.fitFont, .subFitFont { overflow:auto; }
#score { text-align:center; }
.marginBox { width: 90%; height: 90%; top: 5%; left:5%; position:absolute; }
#message { left:5%; top:5%; width:90%; height:10%; position:absolute; border-radius:1em; text-align:center; opacity:0.9; }
html, body, #splash, #nojs { background-color:black; color: white; }
/* couleurs green */
.screen { background-color:#ffffe0; color: black; }
#message { background-color:#f0f8d0; color:black; border:medium solid #4a4; }
#mc-caption { color:#8b4; }
#mn-caption-box { background-color:#f0f8d0; }
#mn-caption { color: #4a4; }
.borderbar { background-color: #4a4; }
.relationBox { background-color:#f0f8d0; border-color: #4a4; }
.highlight { background-color:#f0f8d0; border-color:#4a4; }
.hot { background-color:yellow; }
/* couleurs black */
.black .screen { background-color:black; color: white; }
.black #message { background-color:#222; color:white; border:medium solid #ccc; }
.black #mc-caption { color:white; }
.black #mn-caption-box { background-color:#222; }
.black #mn-caption { color: #ccc; }
.black .borderbar { background-color: #ccc; }
.black .relationBox { background-color:#222; border-color: #ccc; }
.black .highlight { background-color:#222; border-color:#ccc; }
.black .hot { background-color:#aaa; }
</style>
</head>
<body>
<div id="nojs">Chargement…</div>
<div class="screen" id="splash">
<img src="ressources/img/splash.png" />
<div id="splash" class="screen" style="display:block">
<img src="ressources/img/splash.png" class="center" style="width:320px; height: 480px;"/>
</div>
<div class="screen" id="game">
<div id="mc-caption-block"></div>
<div id="mn-caption-block"></div>
<div id="mc-caption" class="mc"></div>
<div id="mn-caption" class="mn"></div>
<div class="relations"></div>
</div>
<div class="screen" id="frontpage">
<div id="title-block"></div>
<span id="title">PtiClic</span>
<div class="frontpage-button game">
<div><img class="icon" alt="" src="ressources/img/72/default.png" /></div>
<div class="text">Jouer</div>
<div id="game" class="screen">
<div style="width: 100%; height:40%; position:absolute;">
<div style="width: 90%; height:37.5%; top:7.5%; left:5%; position:absolute;" class="fitFont">
<div id="mc-caption" class="mc center">Mot central</div>
</div>
<div class="borderbar" style="height:5%; width:100%; top:52.5%; position:absolute;"></div>
<div id="mn-caption-box" style="top:57.5%; height:37.5%; width:100%; position:absolute;"></div>
<div style="width: 90%; height:25%; top:63.75%; left: 5%; position:absolute;" class="fitFont">
<div id="mn-caption" class="mn center">Mot du nuage</div>
</div>
<div class="borderbar" style="height:5%; width:100%; top:95%; position:absolute;"></div>
</div>
<div class="frontpage-button prefs">
<div><img class="icon" alt="" src="ressources/img/72/default.png" /></div>
<div class="text">Configuration</div>
</div>
<div class="frontpage-button connection">
<div><img class="icon" alt="" src="ressources/img/72/default.png" /></div>
<div class="text">Connexion</div>
</div>
<div class="frontpage-button info">
<div><img class="icon" alt="" src="ressources/img/72/default.png" /></div>
<div class="text">A Propos</div>
<div class="relations fitFontGroup" style="height:60%; width:100%; top:40%; position:absolute;">
</div>
</div>
<div class="screen" id="score">
<h1>Score total : <span class="scoreTotal"></span></h1>
<div class="scores"></div>
<input type="button" value="J'ai vu !" id="jaivu"/>
<div id="frontpage" class="screen fitFontGroup">
<div style="width:50%; height:24%; top:4%; left:25%; position:absolute;" class="fitFont">
<span class="center">PtiClic</span>
</div>
<a href="#game" style="right:55%; top:33%;">
<div class="highlight"></div>
<div class="icon-container"><img class="iconFitParent" alt="" src="ressources/img/72/default.png" /></div>
<div class="icon-label subFitFont"><span class="text center">Jouer</span></div>
</a>
<a href="#prefs" style="left:55%; top:33%;">
<div class="highlight"></div>
<div class="icon-container"><img class="iconFitParent" alt="" src="ressources/img/72/default.png" /></div>
<div class="icon-label subFitFont"><span class="text center">Configuration</span></div>
</a>
<a href="#connect" style="right:55%; top:66%;">
<div class="highlight"></div>
<div class="icon-container"><img class="iconFitParent" alt="" src="ressources/img/72/default.png" /></div>
<div class="icon-label subFitFont"><span class="text center">Connexion</span></div>
</a>
<a hred="#info" style="left:55%; top:66%;">
<div class="highlight"></div>
<div class="icon-container"><img class="iconFitParent" alt="" src="ressources/img/72/default.png" /></div>
<div class="icon-label subFitFont"><span class="text center">À propos</span></div>
</a>
</div>
<div class="screen" id="connection">
<form id="connect-form" action="#" method="GET">
<label id="user-label" for="user">Login : </label>
<input type="text" name="user" id="user" />
<label id="passwd-label" for="passwd">Mot de passe : </label>
<input type="password" name="passwd" id="passwd" />
<input type="submit" name="connect" id="connect" value="Se connecter" />
</form>
<div id="score" class="screen">
<div class="marginBox fitFont">
<h1>Score total : <span class="scoreTotal"></span></h1>
<div class="scores"></div>
<p style="text-align: center;">
<a class="button" href="#">J'ai vu !</a>
</p>
</div>
</div>
<div class="screen" id="info">
<div class="container">
<div id="info" class="screen">
<div class="marginBox fitFont">
<p>
PtiClic a été conçu et développé par Mathieu Lafourcade
(LIRMM - Université Montpellier 2) et Virginie Zampa
@ -89,33 +142,50 @@
de vos commentaires, vous pouvez nous contacter par
courriel à l'adresse suivante : <a href="mailto:pticlic.android.beta@gmail.com">pticlic.android.beta@gmail.com</a>
</p>
<p id="info-back-p">
<input id="info-back" type="button" value="Retour" />
<p style="text-align: center;">
<a class="button" href="#">Retour</a>
</p>
</div>
</div>
<div class="screen" id="prefs">
<form id="prefs-form" action="#" method="GET">
<fieldset id="theme">
<div id="connection" class="screen">
<form id="connect-form" action="#" method="GET" style="width:100%; height:100%;" class="fitFontGroup">
<div class="formElement subFitFont" style="right: 55%; top: 25%;"><label id="user-label" for="user">Login : </label></div>
<div class="formElement subFitFont" style="left: 55%; top: 25%;"><input type="text" name="user" id="user" class="setFont" /></div>
<div class="formElement subFitFont" style="right: 55%; top: 50%;"><label id="passwd-label" for="passwd">Mot de passe : </label></div>
<div class="formElement subFitFont" style="left: 55%; top: 50%;"><input type="password" name="passwd" id="passwd" class="setFont" /></div>
<div class="formElement subFitFont" style="left: 25%; width:50%; top: 75%;">
<input type="submit" name="connect" id="connect" value="Se connecter" class="center setFont" />
</div>
</form>
</div>
<div id="prefs" class="screen">
<form id="prefs-form" action="#" method="GET" class="fitFontGroup">
<fieldset id="theme" class="subFitFont" style="width:50%; height:25%; left:25%; top:25%; position:absolute;">
<legend>Thème</legend>
<input type="radio" id="theme-green" name="theme" value="green" /><label for="theme-green">Colline verdoyante</label><br/>
<input type="radio" id="theme-black" name="theme" value="black" /><label for="theme-black">Bas-fond de cachot</label>
</fieldset>
<input type="submit" name="prefs-apply" id="prefs-apply" value="Appliquer" />
<input type="reset" name="prefs-cancel" id="prefs-cancel" value="Annuler" />
<div class="formElement subFitFont" style="top:75%; right:55%"><input class="center setFont" type="reset" name="prefs-cancel" id="prefs-cancel" value="Annuler" /></div>
<div class="formElement subFitFont" style="top:75%; left:55%"><input class="center setFont" type="submit" name="prefs-apply" id="prefs-apply" value="Appliquer" /></div>
</form>
</div>
<div id="templates" style="display: none;">
<div class="relationBox">
<div class="relation"><img class="icon" alt="" src="ressources/img/72/default.png" /><span class="text"></span></div>
<div class="clearboth"></div>
<table style="width:100%; position:relative;">
<tr>
<td>
<img class="icon" alt="" src="ressources/img/72/default.png" style="width:72px; height:72px;" />
</td>
<td>
<div class="text subFitFont"></div>
</td>
</tr>
</table>
</div>
<div class="scoreLine">
<span class="word"></span> (<span class="score"></span>)
</div>
</div>
<div id="message" style="display: none;">
</div>
<div id="message" class="fitFont"><span class="text center">PtiClic…</span></div>
</body>
</html>
<html>
</html>

View File

@ -8,7 +8,7 @@ Number.prototype.mapInterval = function(a,b,x,y) {
return x + ((this-a) / (b-a) * (y-x));
}
function dichotomy(start, isBigger, foo) {
function dichotomy(start, isBigger) {
try {
var i = 0, min = 0, max, half;
@ -22,77 +22,51 @@ function dichotomy(start, isBigger, foo) {
} catch(e) {alert("Error dichotomy");alert(e);}
}
$.fn.maxWidth = function() {
$.fn.fold = function(acc, fn) {
try {
max = 0;
this.each(function(i,e){ max = Math.max(max, $(e).width()); });
return max;
} catch(e) {alert("Error $.fn.maxWidth");alert(e);}
}
$.fn.maxHeight = function() {
try {
max = 0;
this.each(function(i,e){ max = Math.max(max, $(e).height()); });
return max;
} catch(e) {alert("Error $.fn.maxHeight");alert(e);}
this.each(function(i,e) { acc = fn(acc, i, e); });
return acc;
} catch(e) {alert("Error $.fn.fold");alert(e);}
};
$.fn.maxWidth = function() { return this.fold(0, function(acc,i,e){ return Math.max(acc, $(e).width()); }); };
$.fn.maxHeight = function() { return this.fold(0, function(acc,i,e){ return Math.max(acc, $(e).height()); }); };
$.fn.sumHeight = function() { return this.fold(0, function(acc,i,e){ return acc + $(e).height(); }); };
$.fn.sumOuterHeight = function() { return this.fold(0, function(acc,i,e){ return acc + $(e).outerHeight(); }); };
$.fn.hasScroll = function() {
var e = this.get(0);
return (e.clientHeight != e.scrollHeight) || (e.clientWidth != e.scrollWidth);
}
$.fn.sumHeight = function() {
$.fn.fitFont = function() {
try {
sum = 0;
this.each(function(i,e){ sum += $(e).height(); });
return sum;
} catch(e) {alert("Error sumHeight");alert(e);}
}
$.fn.fitFont = function(w, h, minFont, maxFont, noContainer, oneline) {
try {
var oldpos = this.css("position");
this.css({position: "absolute"});
if (oneline)
this.css("white-space", "nowrap");
else
this.css({maxWidth: w});
if (noContainer) {
var wrappers = this;
} else {
var wrappers = this.wrapInner("<span/>").children();
}
var that = this;
this.css("font-size", dichotomy(parseInt(this.css("font-size"), 10), function(x) {
try {
that.css("fontSize", x);
return (wrappers.maxHeight() > h || wrappers.maxWidth() > w);
} catch(e) {alert("Error anonymous in $.fn.fitFont");alert(e);}
},this).clip(minFont || 0, maxFont || Infinity));
// Restore stuff
this.css("position", oldpos);
if (!noContainer) wrappers.children().unwrap();
var setFont = this.find('.setFont').andSelf();
var size = dichotomy(parseInt(this.css("font-size"), 10), function(x) {
setFont.css("fontSize", x);
return that.$ormap(function(i,e) { return e.hasScroll(); });
});
this.css("font-size", Math.max(0, size));
return this;
} catch(e) {alert("Error $.fn.fitFont");alert(e);}
}
};
$.fn.fitIn = function(e, t, r, b, l) {
try {
e = $(e);
if (isNaN(+t)) t = 0;
if (isNaN(+r)) r = t;
if (isNaN(+b)) b = t;
if (isNaN(+l)) l = r;
var w = e.width();
var h = e.height();
t *= h;
r *= w;
b *= h;
l *= w;
this.fitFont(w - r - l, h - t - b, 20).center(e.center());
return this;
} catch(e) {alert("Error $.fn.fitIn");alert(e);}
}
$.fn.swapCSS = function(k,v) {
var old = this.css(k);
this.css(k, v);
return old;
};
$.fn.$each = function(fn) {
this.each(function(i,e) { return fn(i, $(e)); });
};
$.fn.$ormap = function(fn) {
var ret = false;
this.each(function(i,e) { if (fn(i, $(e))) { ret = true; return false; } });
return ret;
};
function queueize(method) {
try {
@ -115,9 +89,9 @@ $.fn.qCss = queueize("css");
$.fn.wh = function(w, h) {
try {
return this.width(w).height(h);
return this.width(w).height(isNaN(+h) ? w : h);
} catch(e) {alert("Error $.fn.wh");alert(e);}
}
};
$.fn.relativePos = function(xAnchor, yAnchor, to, justCss) {
try {
@ -179,4 +153,18 @@ $.fn.goodBad = function(min, max, startcolor, endcolor) {
+(val.mapInterval(min,max,startcolor.g,endcolor.g).clip(0, 255, true))+","
+(val.mapInterval(min,max,startcolor.b,endcolor.b).clip(0, 255, true))+")");
return this;
};
};
var PtiClic = $({});
PtiClic.queueJSON = function(url, data, ok, error) {
};
/* Enchaînement des écrans
Aller sur un écran donné.
Recevoir des données avant d'entrer dans un écran.
Envoyer des données avant de quiter un écran.
Vérouiller l'écran courant pendant qu'on attend un transfert ou bien des écrans d'«attente».
Lorsqu'un transfert a échoué car non logué, on va sur l'écran de connexion et on retente le transfert ensuite.
Stocker uniquement les données importantes dans l'url (état, numéro de partie, réponses).
Pouvoir basculer sur un écran et exécuter quelque chose une fois qu'il est chargé (exécuter le commit pour l'url).
*/

View File

@ -56,143 +56,6 @@ function hashchange() {
} catch(e) {alert("Error hashchange");alert(e);}
}
// ==== JavaScript Style général
function jss() {
try {
var w = $(window).width();
var h = $(window).height();
var iconSize;
if (h > 600) iconSize = 72;
else if(h > 500) iconSize = 48;
else iconSize = 36;
$('#nojs').hide();
$('#message:visible')
.css({
position: 'absolute',
borderWidth: 'thin',
borderStyle: 'solid',
MozBorderRadius: 10,
WebkitBorderRadius: 10,
textAlign: 'center'
})
.fitFont(w/2, h*0.1)
.css('max-width', w*0.6)
.width(w*0.6)
.center({left: w/2, top:h*0.1});
$("#"+state.screen+".screen")
.wh(w, h)
.northWest({top:0,left:0});
$("body, html")
.css({
padding: 0,
margin: 0,
overflow: "hidden",
textAlign: "left"
});
$(".clearboth").css('clear', 'both');
$(".screen").hide();
$("#"+state.screen+".screen").show();
if (window[state.screen] && window[state.screen].jss) window[state.screen].jss(w, h, iconSize);
$("img.icon").each(function(i,e) {
try {
e=$(e);
if (typeof(e.data('image')) != 'undefined')
e.attr("src", "ressources/img/"+iconSize+"/"+e.data('image')+".png");
} catch(e) {alert("Error anonymous in jss");alert(e);}
});
jssTheme(runstate.prefs.theme);
} catch(e) {alert("Error jss");alert(e);}
}
function jssTheme(theme) {
if (theme == "black") {
var bg1 = "black";
var fg1 = "white";
var bg2 = "#222222";
var fg2 = "#cccccc";
var fg3 = "white";
var hot = "#aaaaaa";
} else {
var bg1 = "#ffffe0";
var fg1 = "black";
var bg2 = "#f0f8d0";
var fg2 = "#4a4";
var fg3 = "#8b4";
var hot = "yellow";
}
var splashbg = "black";
var splashfg = "white";
var screenbg = bg1;
var screenfg = fg1;
var messagebg = bg2;
var messagefg = fg1;
var messagebd = fg2;
var centralfg = fg3;
var cloudbg = bg2;
var cloudfg = fg2;
var cloudbd = fg2;
var relationbg = bg2;
var relationbd = fg2;
var fphoverbg = bg2;
var fphoverbd = fg2;
var hotbg = hot;
$('.screen').css({
color: screenfg,
backgroundColor: screenbg
});
$('html, body, #splash.screen').css({
backgroundColor: splashbg,
color: splashfg
});
$("#message").css({
backgroundColor: messagebg,
color: messagefg,
borderColor: messagebd
});
$(".frontpage-button").hover(function() {
$(this).css({
backgroundColor: fphoverbg,
outline: "medium solid "+fphoverbd
});
}, function() {
$(this).css({
outline: '',
backgroundColor: "transparent"
});
});
$('#mc-caption').css({color: centralfg});
$('#mn-caption').css({color: cloudfg});
$('#mn-caption-block').css({
borderColor: cloudbd,
backgroundColor: cloudbg
});
$('.relationBox').css({
borderColor: relationbd,
backgroundColor: relationbg
});
$('.relations .hot').css({backgroundColor: hotbg});
$("a, a:visited").css({color: "#8888ff"});
}
// ==== Interface Android
function UI () {
try {
@ -229,8 +92,7 @@ function UIInfo(title, msg) {
.qShow()
.queue(function(next){
try {
$('#message')
.text(msg);
$('#message .text').text(msg);
jss();
next();
} catch(e) {alert("Error anonymous in UIInfo");alert(e);}
@ -241,12 +103,48 @@ function UIInfo(title, msg) {
} catch(e) {alert("Error UI().info");alert(e);}
}
// ==== Nouveau jss
function jss() {
try {
if ($("#splash img").is(':visible')) {
var ratio = Math.min($('#splash').width() / 320, $('#splash').height() / 480);
$('#splash.screen img')
.wh(320 * ratio, 480 * ratio);
}
if ($('#game.screen').is(':visible')) {
var iconSize = 72;
var rel = $('#game.screen .relations');
var rb = rel.find('.relationBox');
$('.relationBox').css({
borderWidth: ({72:3,48:2,36:1})[iconSize],
padding: 10/72*iconSize,
borderRadius: 20/72*iconSize,
marginTop: (rel.height() - rb.sumOuterHeight()) / (rb.size() + 1)
});
$('.relationBox .icon').css({paddingRight: 10/72*iconSize});
}
$('.iconFitParent').wh(0,0).each(function(i,e) {
e=$(e);
var p = e.parent();
var size = Math.min(p.width(), p.height());
if (size >= 72) { e.wh(72); }
else if (size >= 48) e.wh(48);
else if (size >= 36) e.wh(36);
else e.wh(0);
});
$('.fitFont:visible').$each(function(i,e) { e.fitFont(); });
$('.fitFontGroup:visible').each(function(i,e) { $(e).find('.subFitFont').fitFont(); });
$('.center').$each(function(i,e) { e.center(e.parent().center()); });
} catch(e) {alert("Error jss");alert(e);}
}
// ==== Code métier général
$(function() {
try {
$(window).resize(jss);
$(window).hashchange(hashchange);
hashchange();
$(window).hashchange(function(){alert("hashchange !");});
//hashchange();
jss();
runstate.loaded = true;
} catch(e) {alert("Error main function");alert(e);}
});
@ -311,17 +209,6 @@ ajaj.error = function(msg) {
splash = {};
splash.jss = function(w,h,iconSize) {
try {
var splashW = 320;
var splashH = 480;
var ratio = Math.min(w / splashW, h / splashH);
$('#splash.screen img')
.wh(splashW * ratio, splashH * ratio)
.center($('#splash.screen').center());
} catch(e) {alert("Error splash.jss");alert(e);}
}
splash.enter = function() {
try {
// Si l'application est déjà chargée, on zappe directement jusqu'à la frontpage.
@ -345,67 +232,6 @@ splash.click.goFrontpage = function() {
// ==== Code métier pour la frontpage
frontpage = {};
frontpage.jss = function(w, h, iconSize) {
try {
var fp = $("#frontpage.screen");
var $fp = function() {
try {
return fp.find.apply(fp,arguments);
} catch(e) {alert("Error anonymous 1 in frontpage.jss");alert(e);}
};
var nbIcons = $fp(".icon").size();
var nbRows = Math.ceil(nbIcons / 2)
var ww = w - 2 * iconSize;
var hh = h - nbRows * iconSize;
var titleHeight = hh*0.4;
var labelHeight = hh*0.4 / nbRows;
var buttonPadding = hh*0.05/nbRows;
var buttonHeight = labelHeight + iconSize + buttonPadding;
var buttonWidth = Math.max(w*0.25,iconSize);
var freeSpace = h - titleHeight;
$fp("#title-block")
.wh(w*0.5, titleHeight)
.north($("#frontpage.screen").north());
$fp("#title")
.fitIn("#title-block", 0.2);
$fp(".text")
.fitFont(buttonWidth, labelHeight, 10);
$fp(".icon")
.wh(iconSize);
$fp(".game .icon").data('image', 'mode_normal');
$fp(".prefs .icon").data('image', 'config');
$fp(".connection .icon").data('image', 'config');
$fp(".info .icon").data('image', 'aide');
$fp(".frontpage-button")
.css({
textAlign: 'center',
paddingTop: buttonPadding
})
.width(buttonWidth);
$fp(".frontpage-button > div").css('display', 'block');
var interIconSpace = (freeSpace - nbRows * buttonHeight) / (nbRows + 1);
$fp(".frontpage-button").each(function(i,e){
try {
e=$(e);
var currentRow = Math.floor(i/2);
var currentColumn = i % 2;
var iconOffset = titleHeight + ((currentRow+1) * interIconSpace) + (currentRow * buttonHeight);
if (currentColumn == 0) {
e.northEast({left:w/2-ww*0.05,top:iconOffset});
} else {
e.northWest({left:w/2+ww*0.05,top:iconOffset});
}
} catch(e) {alert("Error anonymous 2 in frontpage.jss");alert(e);}
});
} catch(e) {alert("Error frontpage.jss");alert(e);}
};
frontpage.enter = function () {
try {
if (location.hash != '') state.commit();
@ -449,62 +275,6 @@ frontpage.click.goPrefs = function() {
// ==== Code métier pour le jeu
game = {};
game.jss = function(w, h, iconSize) {
try {
var g = $("#game.screen");
var $g = function() {
try {
return g.find.apply(g,arguments);
} catch(e) {alert("Error anonymous in game.jss");alert(e);}
};
var mch = h/8, mnh = h*0.075;
$g("#mc-caption-block")
.wh(w, mch)
.north(g.north());
$g("#mc-caption")
.fitIn("#mc-caption-block", 0.1);
$g("#mn-caption-block")
.css({
borderWidth: h/100,
borderStyle: 'solid none'
})
.wh(w, mnh)
.north($g("#mc-caption-block").south());
$g("#mn-caption")
.css({zIndex: 10})
.fitIn("#mn-caption-block");
$g(".relationBox:visible")
.css({
margin: 10,
padding: 10,
MozBorderRadius: 10,
WebkitBorderRadius: 10,
borderWidth: 'thin',
borderStyle: 'solid',
});
$g(".relationBox:visible .icon")
.wh(iconSize,iconSize)
.css({
float: "left",
marginRight: $g(".relationBox").css("padding-left")
});
$g(".relations")
.width(w);
$g(".relation:visible").fitFont($g(".relationBox:visible").width(), iconSize, 10);
$g(".relations")
.south(g.south());
} catch(e) {alert("Error game.jss");alert(e);}
};
game.enter = function () {
try {
if (!state.game) {
@ -630,13 +400,6 @@ game.nextWord = function(click, button) {
// ==== Code métier pour les scores
score = {};
score.jss = function(w, h, iconSize) {
try {
$("#score.screen")
.css('text-align', 'center');
} catch(e) {alert("Error score.jss");alert(e);}
};
score.enter = function () {
try {
if (!state.hasScore) {
@ -720,16 +483,6 @@ score.click.jaivu = function() {
// ==== Code métier pour la page d'info
info = {};
info.jss = function(w,h,iconSize) {
try {
$("#info-back-p").css('text-align', 'center');
$("#info.screen .container input").css('font-size', 'inherit');
$("#info.screen .container")
.fitFont(w*0.9, h*0.9, null, null, true)
.center($("#info.screen"));
} catch(e) {alert("Error info.jss");alert(e);}
}
info.enter = function() {
try {
$("#info-back").clickOnce(info.click.goBack);
@ -748,25 +501,6 @@ info.click.goBack = function(){
// ==== Code métier pour la connexion
connection = {};
connection.jss = function(w, h, iconSize) {
try {
var c = $("#connection.screen");
var $c = function() {
try {
return c.find.apply(c,arguments);
} catch(e) {alert("Error anonymous 1 in connection.jss");alert(e);}
};
$c("input, label")
.fitFont(w*0.45, h*0.06, null, null, true, true);
$c("#user-label").east({left:w*0.475,top:h*0.25});
$c("#user").west({left:w*0.525,top:h*0.25});
$c("#passwd-label").east({left:w*0.475,top:h*0.5});
$c("#passwd").west({left:w*0.525,top:h*0.5});
$c("#connect").center({left:w/2,top:h*0.75});
} catch(e) {alert("Error connection.jss");alert(e);}
};
connection.enter = function() {
try {
$("#connect-form").unbind("submit", connection.connect).submit(connection.connect);
@ -807,25 +541,6 @@ connection.connectFetched = function(data) {
// ==== Code métier pour la page de configuration
prefs = {};
prefs.jss = function(w,h,iconSize) {
try {
var p = $("#prefs.screen");
var $p = function() {
try {
return p.find.apply(p,arguments);
} catch(e) {alert("Error anonymous 1 in prefs.jss");alert(e);}
};
$p("input, label")
.fitFont(w*0.45, h*0.06, null, null, true, true);
$p("legend")
.fitFont(w*0.3, h*0.05, null, null, true, true);
$p("#theme").center({left:w*0.5,top:h*0.25});
$p("#prefs-cancel").east({left:w*0.475,top:h*0.5});
$p("#prefs-apply").west({left:w*0.525,top:h*0.5});
} catch(e) {alert("Error prefs.jss");alert(e);}
}
prefs.enter = function() {
try {
$("#prefs-form").unbind('submit', prefs.apply).submit(prefs.apply);
@ -868,7 +583,6 @@ prefs.cancel = function(){
prefs.loadPrefs = function(data) {
try {
console.log('loadPrefs');
if (data && data.theme) {
runstate.prefs = data;
} else {