var isIE = (navigator.appName.substring(0,3) == "Net")?0:1;
// Initialisation AJAX
var xhr_object = null;
// Gestion de l'édition des objets
var out = new Array(true, true, true, true);
var Obj;
// Gestion du formulaire des quêtes
var liste = "";
// Gestion du formulaire des cristaux
var mouseX, mouseY;
var origX, origY;
var flag = null;
var currentNum = 1;
function editionObj(elt)
{
if (elt.innerHTML == "?")
{
elt.innerHTML = "";
if (elt.className == "nom")
{
elt.innerHTML = "";
elt.getElementsByTagName("input")[0].focus();
}
else
{
elt.innerHTML = "";
elt.getElementsByTagName("textarea")[0].focus();
elt.style.textAlign = "center";
elt.style.textIndent = "0px";
}
}
if (elt.className == "nom")
out[0] = false;
else
out[2] = false;
}
function validObj()
{
var valid = false;
if (Obj.className == "nom")
if (out[0] && out[1])
valid = true;
if (Obj.className == "description")
if (out[2] && out[3])
{
Obj.style.textAlign = "justify";
Obj.style.textIndent = "20px";
valid = true;
}
if (valid && (Obj.childNodes[0].value != null))
{
if (Obj.childNodes[0].value == "")
{
Obj.innerHTML = "?";
}
else
{
sendObj(Obj.parentNode.parentNode.parentNode.id, Obj.className, Obj.childNodes[0].value);
Obj.innerHTML = Obj.childNodes[0].value;
}
}
}
// Envoie le texte
function sendObj(idObj, typeObj, infoObj)
{
if (isIE)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
xhr_object = new XMLHttpRequest();
xhr_object.open("POST", "receiveObj.php", true);
xhr_object.onreadystatechange = answer;
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.send("id="+idObj+"&type="+typeObj+"&info="+convertText(infoObj));
}
// Envoie un mail pour avertir d'une erreur
function sendError(type, idObj)
{
window.open('contact.html', 'Contact', 'dependent=yes, height=270, left=100, location=no, menubar=no, resizable=no, scrollbars=no, status=no, toolbar=no, top=100, width=370');
/* if (isIE)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
xhr_object = new XMLHttpRequest();
xhr_object.open("POST", "sendError.php", true);
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.send("type="+type+"&id="+idObj);
alert("L'erreur a été signalée !");*/
}
function answer()
{
if(xhr_object.readyState == 4)
{
window.status = unescape(xhr_object.responseText);
}
}
// Code le texte passé en paramètre en Unicode
function convertText(source)
{
result = '';
for (i=0; i 0) && (liste.split("-").length < 12))
{
// Met a jour la liste
if (liste.length > 0)
liste += "-";
liste += parseInt(num, 10)+"."+parseInt(nb, 10);
document.getElementById("liste").value = liste;
// Efface les valeurs
document.getElementById("objet").value = "";
document.getElementById("nombre").value = "1";
document.getElementById("objetImg").src = "images/select.gif";
// Met a jour l'affichage
affichQuete();
}
}
function removeObjQuete(remove)
{
liste = liste.replace(remove, "").replace("--", "-");
if (liste.charAt(0) == "-")
liste = liste.substring(1, liste.length);
if (liste.charAt(liste.length-1) == "-")
liste = liste.substr(0, liste.length-1);
document.getElementById("liste").value = liste;
affichQuete();
}
function affichQuete()
{
objetHTML = "";
if (liste.length > 0)
{
listeTab = liste.split("-");
for (var objet in listeTab)
{
var infos = listeTab[objet].split(".");
objetHTML += "
x"+infos[1]+"
";
}
}
document.getElementById("objetListe").innerHTML = objetHTML;
}
function effaceQuete()
{
document.getElementById("liste").value = "";
document.getElementById("objet").value = "";
document.getElementById("nombre").value = "1";
document.getElementById("objetImg").src = "images/select.gif";
liste = "";
affichQuete();
}
function moveBegin(elt)
{
flag = elt;
origX = mouseX - parseInt(flag.style.left, 10);
origY = mouseY - parseInt(flag.style.top, 10);
}
function moveChange(e)
{
if (isIE)
{
mouseX = event.x;
mouseY = event.y;
}
else
{
mouseX = e.pageX - window.pageXOffset;
mouseY = e.pageY - window.pageYOffset;
}
if (flag != null)
{
flag.style.left = (mouseX - origX)+"px";
flag.style.top = (mouseY - origY)+"px";
if (parseInt(flag.style.left, 10) < 0)
flag.style.left = "0px";
else if (parseInt(flag.style.left, 10) > 419)
flag.style.left = "419px";
if (parseInt(flag.style.top, 10) < 0)
flag.style.top = "0px";
else if (parseInt(flag.style.top, 10) > 539)
flag.style.top = "539px";
}
}
function moveEnd()
{
if ((flag.title == "1") && (parseInt(flag.style.left, 10) > 0) && (parseInt(flag.style.top, 10) > 0))
{
moveCreateFlag();
flag.title = "0";
}
flag = null;
}
function moveInit()
{
if (!isIE)
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = moveChange;
moveCreateFlag();
}
function moveCreateFlag()
{
currentNum++;
document.getElementById("generateur").innerHTML += "
"+currentNum+"
";
}
function moveCreateList()
{
var liste = "";
for (var elt=1 ; elt= 20)
{
if (liste != "")
liste += "-";
liste += parseInt(document.getElementById("flag"+elt).style.left, 10) + ".";
liste += parseInt(document.getElementById("flag"+elt).style.top, 10)-20;
}
}
if (liste == "")
return false;
document.getElementById("liste").value = liste;
}