function urldecode(str) { return unescape(str.replace(/\+/gi, " ")); }
function createXhrObject() {
if (window.XMLHttpRequest) { return new XMLHttpRequest(); }
if (window.ActiveXObject) {
var names = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
for (var i in names) {
try { return new ActiveXObject(names[i]); }
catch(e){}
}
}
window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest.");
return null;
}
// Menu
function mhover(id, txt, hv) {
document.getElementById("cp" + id).src = "menu_graph.php?hv=" + hv + "&typ=cpp&txt=" + txt;
}
function img_hover(type, name, id) {
var lng = "us";
var menu = document.getElementById(name);
var url = "";
if (type == "wp") { url = "menu_graph.php?wp=1&id=" + id + "&lng=" + lng; }
if (type == "mh") { url = "menu_graph.php?id=" + id + "&lng=" + lng; }
if (type == "mg") { url = "menu_graph.php?typ=mg&id=" + id; }
if (type == "mgc") { url = "menu_graph.php?typ=mgc&id=" + id; }
if (type == "lg") { url = "menu_graph.php?typ=lg&lng=" + lng; }
if (type == "m") { url = "menu_graph.php?typ=m&id=" + id + "&lng=" + lng; }
if (type == "cp") { url = "menu_graph.php?typ=cpp&txt=" + id; }
if (menu) {
menu.onmouseover = function() { menu.src = url + "&hv=1"; };
menu.onfocus = function() { menu.src = url + "&hv=1"; };
menu.onmouseout = function() { menu.src = url + "&hv=0"; };
menu.onblur = function() { menu.src = url + "&hv=0"; };
}
}
function boot_menu(type) {
switch (type) {
case 0:
var tbm = ["gl","dl","rc","up","lk","ct"];
var tbmo = new Array(["lg","lg",0],["m","dv",8],["m","ep",9],["m","mj",10],["mgc","w50",50]);
for (var i = 0;i <= 5;i++) { img_hover("mh",tbm[i],i); }
for (var i = 0;i <= 4;i++) { img_hover(tbmo[i][0],tbmo[i][1],tbmo[i][2]); }
for (var i = 1;i <= 17;i++) { img_hover("mg","w"+i,i); }
break;
case 1:
var tbm = new Array(["ix",11],["gl",0],["ep",9],["rc",2]);
for (var i = 0;i <= 3;i++) { img_hover("wp",tbm[i][0],tbm[i][1]); }
break;
}
}
function mshow(id) {
var d = document.getElementById("sm" + id);
for (var i = 1;i <= 26;i++) { if (document.getElementById("sm" + i)) { document.getElementById("sm" + i).style.display = "none"; } }
if (d) { d.style.display = "block"; }
}
// Addon
function hide_addon(id) {
document.getElementById("b" + id).href = "javascript:get_addon(" + id + ")";
document.getElementById("b" + id).innerHTML = "
";
document.getElementById("t" + id).style.display = "none";
}
function get_addon(id) {
var req = createXhrObject();
var data = "id_addon=" + id + "&lng=us";
// Affichage
document.getElementById("b" + id).href = "javascript:hide_addon(" + id + ")";
document.getElementById("b" + id).innerHTML = "
";
// Requête
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("t" + id).style.display = "table-row";
document.getElementById("t" + id).innerHTML = "
" + req.responseText + " | ";
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
// Lancer de dés
function throw_dices(type_req) {
var req = createXhrObject();
if (type_req == "dice") { var data = "throw_dices=1&nbr=" + document.getElementById("nbr").value + "&val=" + document.getElementById("val").value + "&div=" + document.getElementById("div").value + "&plus=" + document.getElementById("plus").value; }
else if (type_req == "prec") { var data = "throw_dices=2&val=" + document.getElementById("pmval").value + "&prec=" + document.getElementById("prec").value; }
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("res").innerHTML = req.responseText;
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
// Recherche multi-critères
function msearch(type, id) {
var nom_champs = ["nom","type","munition","disponibilité","dissimulation","fiabilité","référence","pays"];
var slc = document.getElementById("slc" + id);
var lng = "us";
var tb_lng = new Array();
tb_lng["fr"] = new Array("Critère principal");
tb_lng["us"] = new Array("Main criteria");
if (type == "check") {
msearch_disabled(id);
msearch_list();
}
else if (type == "cp") {
msearch_disabled(id, "cp");
if (id > 0) {
if (slc.selectedIndex < 0) { return; }
var slc_value = slc.options[slc.selectedIndex].value;
}
else { var slc_value = slc.value; }
document.getElementById("hidden").innerHTML = "";
document.getElementById("cplist").innerHTML = "" + tb_lng[lng][0] + " (" + nom_champs[id] + ") : " + urldecode(slc_value);
var data = "cpid=" + id + "&cpn=" + slc_value + "&lng=us";
var req = createXhrObject();
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
var res = eval("(" + req.responseText + ")");
document.getElementById("slc1").innerHTML = res.a;
document.getElementById("slc2").innerHTML = res.b;
document.getElementById("slc3").innerHTML = res.c;
document.getElementById("slc4").innerHTML = res.d;
document.getElementById("slc5").innerHTML = res.e;
document.getElementById("slc6").innerHTML = res.f;
document.getElementById("slc7").innerHTML = res.g;
msearch_list();
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
else if (type == "snd") { msearch_list(); }
}
function msearch_disabled(id, opt) {
var btn = document.getElementById("btn" + id);
var chk = document.getElementById("chk" + id);
var slc = document.getElementById("slc" + id);
if (slc.disabled == false) {
slc.disabled = true;
btn.disabled = true;
if (opt) { chk.disabled = true; }
}
else if (slc.disabled == true) {
slc.disabled = false;
btn.disabled = false;
}
if (opt) { for (var i = 0;i <= 7;i++) {
document.getElementById("btn" + i).disabled = true;
document.getElementById("btn" + i).style.visibility = "hidden";
} }
}
function msearch_list() {
var cpt = 0;
var list = "";
var nom_champs = ["nom","type","munition","disponibilité","dissimulation","fiabilité","référence","pays"];
var lng = "us";
var tb_lng = new Array();
tb_lng["fr"] = new Array("Critère secondaire","Recherche simple","Recherche multiple");
tb_lng["us"] = new Array("Secondary criteria","Simple search","Multi search");
for (var id = 1;id <= 7;id++) {
var slc = document.getElementById("slc" + id);
var res = "n/a";
if (slc.selectedIndex >= 0) { res = slc.options[slc.selectedIndex].value; }
if (res != "n/a" && slc.disabled == false) { list += "" + tb_lng[lng][0] + " (" + nom_champs[id] + ") : " + urldecode(res) + "
"; cpt++; }
}
if (cpt == 0) { document.getElementById("sbnt").value = tb_lng[lng][1]; }
else { if (document.getElementById("hidden").innerHTML != "") { document.getElementById("sbnt").value = tb_lng[lng][2]; } }
document.getElementById("cslist").innerHTML = list;
}
function msearch_submit() {
if (document.getElementById("hidden").innerHTML != "") { document.search_form.submit(); }
}
// Création d'arme
function log10(x) { return Math.log(x) / Math.log(10); }
function form_math(type) {
switch(type) {
case 0:
var result = log10(document.getElementById("i01").value) * 19 - 16.5;
document.getElementById("r0").innerHTML = "" + Math.round(result) + "";
break;
case 1:
var result = Math.pow(document.getElementById("i11").value, 2) * document.getElementById("i12").value * 1.3605;
document.getElementById("r1").innerHTML = "" + Math.round(result) + " Joules";
break;
case 2:
var result = document.getElementById("i21").value / 1620;
document.getElementById("r2").innerHTML = "" + Math.round(result * 100) / 100 + " g";
break;
case 3:
var result1 = Math.pow(document.getElementById("i31").value, 3) * (document.getElementById("i32").value - 1/6) * 0.785;
var result2 = result1 * document.getElementById("i33").value;
document.getElementById("r31").innerHTML = "" + Math.round(result1 * 100) / 100 + " cm³";
document.getElementById("r32").innerHTML = "" + Math.round(result2 * 100) / 100 + " g";
break;
case 4:
var result = Math.sqrt(document.getElementById("i41").value / document.getElementById("i42").value) * 44.84;
document.getElementById("r4").innerHTML = "" + Math.round(result) + " m/s";
break;
case 5:
var result = (Math.pow(document.getElementById("i51").value, 2) / 10) * Math.sqrt(document.getElementById("i52").value / 1000);
document.getElementById("r5").innerHTML = "" + Math.round(result) + " mètres";
break;
case 6:
var result = document.getElementById("i61").value / Math.pow(document.getElementById("i62").value, 2);
document.getElementById("r6").innerHTML = "" + Math.round(result * 1000) / 1000 + "";
break;
case 7:
var result = 8 * document.getElementById("i71").value * Math.pow(document.getElementById("i72").value, 0.63);
document.getElementById("r7").innerHTML = "" + Math.round(result) + " g";
break;
case 8:
var result = 33.33 * Math.sqrt(document.getElementById("i81").value / 2) / document.getElementById("i82").value;
document.getElementById("r8").innerHTML = "" + Math.round(result * 100) / 100 + " cm";
break;
case 9:
var result = 0.8 * document.getElementById("i91").value * Math.sqrt(document.getElementById("i92").value);
document.getElementById("r9").innerHTML = "" + Math.round(result) + " g";
break;
default:
alert("Error");
break;
}
}
// Abréger
function show_wpn(idd, id, colonne) {
var req = createXhrObject();
var data = "id_arme=" + id + "&col=" + colonne + "&typ=0";
var tb_abrg = [25,6,7,6,14];
var tb_id = idd.split("-");
var complet = "";
for (var i = 0;i < tb_abrg[colonne];i++) { complet += " "; }
for (var j = 0;j < 5;j++) { if (j != tb_id[1]) {
if (document.getElementById("d" + tb_id[0] + "-" + j)) { hide_wpn(tb_id[0] + "-" + j, id, j); }
} }
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("d" + idd).style.display = "block";
document.getElementById("d" + idd).style.position = "relative";
document.getElementById("d" + idd).innerHTML = complet + "";
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
function show_ammo(idd, id, colonne) {
var req = createXhrObject();
var lng = "us";
var data = "id_ammo=" + id + "&col=" + colonne + "&typ=0&lng=" + lng;
var tb_abrg = [26,26,26,19];
var tb_id = idd.split("-");
var complet = "";
for (var i = 0;i < tb_abrg[colonne];i++) { complet += " "; }
for (var j = 1;j < 5;j++) { if (j != tb_id[1]) {
if (document.getElementById("d" + tb_id[0] + "-" + j)) { hide_ammo(tb_id[0] + "-" + j, id, j); }
} }
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("d" + idd).style.display = "block";
document.getElementById("d" + idd).style.position = "relative";
document.getElementById("d" + idd).innerHTML = complet + "";
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
function hide_wpn(idd, id, colonne) {
var req = createXhrObject();
var data = "id_arme=" + id + "&col=" + colonne + "&typ=1";
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("d" + idd).style.display = "";
document.getElementById("d" + idd).style.position = "";
document.getElementById("d" + idd).innerHTML = "" + req.responseText + "..";
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
function hide_ammo(idd, id, colonne) {
var req = createXhrObject();
var lng = "us";
var data = "id_ammo=" + id + "&col=" + colonne + "&typ=1&lng=" + lng;
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("d" + idd).style.display = "";
document.getElementById("d" + idd).style.position = "";
document.getElementById("d" + idd).innerHTML = "" + req.responseText + "..";
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
// Slider
function init_slider(clr, pourcent) {
var myslider = null;
var tb_clr = new Array(["white","black",1],["black","white",0]);
if (pourcent > 92) { pourcent = 92; }
document.getElementById("slider").innerHTML = "";
myslider = new SimpleSlider("slider", 45, 15, tb_clr[clr][1], tb_clr[clr][0], pourcent);
myslider.onNewPosition = function() {
var res = parseInt(myslider.position * 50 + 50);
var pos = parseInt(myslider.position * 10000) / 100;
res = Math.round(res / 10) * 10 + "%";
document.getElementById("data").style.width = res;
document.getElementById("slider_pos").innerHTML = pos;
document.getElementById("slider_label").innerHTML = res;
var req = createXhrObject();
var data = "slider_pourcent=" + res + "&slider_pos=" + Math.round(pos);
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("res").innerHTML = req.responseText;
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
}
function set_slider(pourcent) { document.getElementById("data").style.width = pourcent; }
function inv_color(clr) {
var tb_clr = new Array(["white","black",1],["black","white",0]);
init_slider(tb_clr[clr][2], document.getElementById("slider_pos").innerHTML);
document.body.style.color = tb_clr[clr][1];
document.body.style.backgroundColor = tb_clr[clr][0];
document.getElementById("btn_back").src = "interface/back_" + tb_clr[clr][1] + ".png";
document.getElementById("inv_color").style.border = "1px solid " + tb_clr[clr][1];
document.getElementById("inv_color").style.color = tb_clr[clr][0];
document.getElementById("inv_color").style.backgroundColor = tb_clr[clr][1];
document.getElementById("inv_color_2").style.border = "1px solid " + tb_clr[clr][1];
document.getElementById("inv_color_2").style.color = tb_clr[clr][0];
document.getElementById("inv_color_2").style.backgroundColor = tb_clr[clr][1];
document.getElementById("inv_color_3").style.border = "1px solid " + tb_clr[clr][1];
document.getElementById("inv_color_3").style.color = tb_clr[clr][0];
document.getElementById("inv_color_3").style.backgroundColor = tb_clr[clr][1];
document.getElementById("invclr_link").href = "javascript:inv_color(" + tb_clr[clr][2] + ")";
var req = createXhrObject();
var data = "inv_color=" + clr;
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("res").innerHTML = req.responseText;
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
// Countdown
function hide_countdown(id) {
document.getElementById("b" + id).href = "javascript:get_countdown(" + id + ")";
document.getElementById("b" + id).innerHTML = "+";
document.getElementById("t" + id).style.display = "none";
}
function get_countdown(id) {
var req = createXhrObject();
var data = "id_countdown=" + id + "&lng=us";
// Affichage
document.getElementById("b" + id).href = "javascript:hide_countdown(" + id + ")";
document.getElementById("b" + id).innerHTML = "-";
// Requête
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("t" + id).style.display = "block";
document.getElementById("t" + id).innerHTML = req.responseText;
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
function get_cat_cnt() {
var req = createXhrObject();
var cnt_cat = document.getElementById("cnt_cat");
var data = "id_cnt_cat=" + cnt_cat.options[cnt_cat.selectedIndex].value + "&lng=us";
req.open("POST", "request.php", true);
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200 && req.responseText != "Error") {
document.getElementById("cnt").innerHTML = req.responseText;
}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
function check_form(formulaire) {
var mail = formulaire.mail.value;
var tb_lng = new Array();
tb_lng["fr"] = "Merci d'indiquer le lien vers l'article";
tb_lng["us"] = "Please indicate the link to the article";
if (mail.length == 0) {
if (formulaire.link.value == "") { alert (tb_lng["us"]); } else { formulaire.submit(); }
}
else if ((mail.indexOf("@") >= 0) && (mail.indexOf(".") >= 0)) {
if (formulaire.link.value == "") { alert (tb_lng["us"]); } else { formulaire.submit(); }
}
else { alert("Mail invalide !"); }
}