var requests = {
register : new Request({
url : "ajax_register.php",
onSucces : function (resp) {
if (resp.succes) {
console.log("Je bent geregistreerd enzo.");
$("#aboveplay #login input[name=name]").value = $("#aboveplay #register input[name=name]").value;
$("#aboveplay #login input[name=password]").value = $("#aboveplay #register input[name=password]").value;
// $("#aboveplay #register").innerHTML="Succesfully registered, logging in...";
$("#aboveplay #login div[data-mess='hier']").innerHTML="Succesfully registered, logging in...";
// effe wachtwoord mooi wegdoen
$("#aboveplay #register input[type=password]").value = "";
// en het menu tonen :)
showPage('login');
submitForm('login');
}else{
$("#aboveplay #register .error").innerHTML = resp.error;
}
$("#aboveplay #register input[type=button][data-mytype=submit]").disabled = false;
$("#aboveplay #register input[type=button][data-mytype=submit]").value = "Register!";
}
}),
login : new Request({
url : "ajax_login.php",
onSucces : function (resp) {
if (resp.succes) {
// het me-object enzo instellen
console.log("Je bent ingelogd!");
me.id = resp.myid;
me.name = resp.myname;
me.thisip = true;
me.ingelogd = true;
// keys instellen
var uskeys = JSON.parse(resp.keys);
console.log(uskeys);
if(uskeys){
configureKeys(uskeys,true);
}
if(localStorage["saveKeys"]){
saveKeys();
localStorage.removeItem("saveKeys");
}
// naam tonen
$('#aboveplay #welcome strong').innerHTML = htmlSafe(me.name);
// effe wachtwoord mooi wegdoen, toch leuk dat ik je privacy zo goed bescherm he?
$("#aboveplay #login input[type=password]").value = "";
// juiste page tonen
showUserLog();
showPage('welcome');
}else{
$("#aboveplay #login .error").innerHTML = resp.error;
}
$("#aboveplay #login input[type=button][data-mytype=submit]").disabled = false;
$("#aboveplay #login input[type=button][data-mytype=submit]").value = "Log in";
}
}),
logout : new Request({
url : "ajax_logout.php",
onSucces : function (resp) {
if (resp.succes) {
// het me-object enzo instellen
console.log("Je bent uitgelogd!");
me.id = 0;
me.name = 'guest';
me.thisip = true;
me.ingelogd = false;
$('#aboveplay #welcome strong').innerHTML = htmlSafe(me.name);
// juiste panel tonen
showUserLog();
}else{
alert('An error occured while logging out.');
}
}
}),
loadLevel : new Request({
url : "ajax_loadLevel.php",
onSucces : function (resp) {
if (resp.succes) {
levels[resp.id]=resp.data;
init(resp.id);
}else{
alert(resp.error);
console.log(resp.error);
}
loadingLevel = false;
}
}),
loadLevlist : new Request({
url : "ajax_loadLevlist.php",
onSucces : function (resp) {
if (resp.succes) {
if(resp.my){
var vak = "#myLev";
/* myLevels = [];
for(id in resp.levlist){
myLevels.push(parseInt(id));
} */
}else{
var vak = "#levList";
}
$(vak+" .loading").classList.add("noshow");
$(vak+" .list tbody").innerHTML="";
var props, newtr, level, i, prop, newtd;
if(resp.my){
var props = ['name','public','plays','finishes','rating'];
}else{
var props = ['name','plays','finishes','rating'];
}
for(level in resp.levlist){
newtr = document.createElement('tr');
newtr.setAttribute('data-levid',level);
newtr = $(vak+" .list tbody").appendChild(newtr);
for(i in props){
prop = props[i];
newtd = document.createElement('td');
newtd = newtr.appendChild(newtd);
if(prop=="name"){
newtd.innerHTML = ''+htmlSafe(resp.levlist[level][prop]);
}
else if(prop=="public"){
if(resp.levlist[level][prop]>0){
newtd.innerHTML = "Yes";
}else{
newtd.innerHTML = '';
}
}else{
newtd.innerHTML = htmlSafe(resp.levlist[level][prop]);
}
}
}
}else{
alert(resp.error);
console.log(resp.error);
}
}
}),
newLevel : new Request({
url : "ajax_newLevel.php",
onSucces : function (resp) {
if (resp.succes) {
requests.loadLevlist.send({'my':true});
loadLevelById(resp.id);
switchMode('build');
}else{
alert(resp.error);
console.log(resp.error);
}
}
}),
saveLevel : new Request({
url : "ajax_saveLevel.php",
onSucces : function (resp) {
if (resp.succes) {
endEdit();
// requests.loadLevlist.send({'my':true});
// loadLevelById(resp.id,true);
}else{
alert(resp.error);
console.log(resp.error);
}
}
}),
publishLevel : new Request({
url : "ajax_publishLevel.php",
onSucces : function (resp) {
if (resp.succes) {
requests.loadLevlist.send({'my':true});
}else{
alert(resp.error);
console.log(resp.error);
}
}
}),
saveKeys : new Request({
url : "ajax_saveKeys.php",
onSucces : function (resp) {
if (resp.succes) {
// doe niks enzo
}else{
alert(resp.error);
console.log(resp.error);
}
// deze button is weg nu.
// $("#aboveplay #options input#savekeys[type=button]").disabled = false;
// $("#aboveplay #options input#savekeys[type=button]").value = "Save keys";
}
}),
};
var switchMode = function(a){
if(mode==a){return;}
mode = a;
$("#mode").innerHTML=a;
switch (mode) {
case "play": // V
saveWorld();
if(building==true){
for(var i in world){
if(!world[i].fixed){ // dit moeten we ook doen bij restart terwijl in editor...
box.getBody(i).SetType(b2Body.b2_dynamicBody);
if(world[i].sleeping){
box.getBody(i).SetAwake(false);
}
}
}
$("#mode").innerHTML="Play - Press R to restart";
}
break;
case "build":
clickVerwerkt = true; // geen kliks meer uitvoeren die al geweest zijn
if(building == true){
init(savedWorld);
}else{
building = true;
}
break;
}
}
var showPage = function(id){
var pages = $$("#aboveplay .page"), page;
for(var i = 0; i