$(document).ready(function() {
var searchTimeout;
function search(value,type,limit) {
$("div.search").find("div.results").html('
');
$("div.search").find("div.results").find("ul").append('Probíhá vyhledávání... ');
$.getJSON( "/rest/get/search.js?value=" + value + "&type=" + type + "&limit=" + limit, function( data ) {
var parsedata = JSON.parse(data)["results"];
var count = parsedata.length;
var realcount = JSON.parse(data)["count"];
var morelink = "/search/" + value + "/" + type;
getResults(parsedata,count,realcount,morelink);
});
}
function getResults(data,count,realcount,morelink) {
$("div.search").find("div.results").find("ul").html('');
if(count == 0) $("div.search").find("div.results").find("ul").append('Nic nebylo nalezeno ');
else {
$.each(data, function( key, val ) {
var type = val["type"];
if(type == "map") {
$("div.search").find("div.results").find("ul").append(' ');
$("div.search").find("div.results").find("ul").find("li").last().addClass("map");
$("div.search").find("div.results").find("ul").find("li").last().append(' ');
$("div.search").find("div.results").find("ul").find("li").last().find("a").append(' ');
$("div.search").find("div.results").find("ul").find("li").last().find("a").append(' ');
$("div.search").find("div.results").find("ul").find("li").last().find("a").find("span").append('' + val["name"] + ' ');
$("div.search").find("div.results").find("ul").find("li").last().find("a").find("span").append(val["category"]);
} else if(type == "user") {
$("div.search").find("div.results").find("ul").append(' ');
$("div.search").find("div.results").find("ul").find("li").last().addClass("user");
$("div.search").find("div.results").find("ul").find("li").last().append(' ');
$("div.search").find("div.results").find("ul").find("li").last().find("a").append(' ');
if(val["premium"] == 1) $("div.search").find("div.results").find("ul").find("li").last().find("a").find("img").addClass("premium");
$("div.search").find("div.results").find("ul").find("li").last().find("a").append(' ');
$("div.search").find("div.results").find("ul").find("li").last().find("a").find("span").append('' + val["nickname"] + ' ');
$("div.search").find("div.results").find("ul").find("li").last().find("a").find("span").append("Uživatel");
}
});
}
if(realcount > count) $("div.search").find("div.results").find("ul").append('Zobrazit více výsledků ');
}
function loadMostPlayedMaps(limit) {
$.getJSON( "/rest/get/homepage_mostplayed_maps.js?limit=" + limit, function( data ) {
var parsedata = JSON.parse(data)["maps"];
var count = parsedata.length;
var i = 0;
if(count == 0) {
$("div.maps.mostplayed").append('Není tu žádná nehranější mapa
');
} else {
$("div.maps.mostplayed").append('');
$.each(parsedata, function( key, val ) {
$("div.maps.mostplayed").find("> ul").last().append(' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).append('
');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().find("img").imgLoad(function(){
$(this).fadeIn(700);
});
if(val["medal"] != "None") $("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).append('
');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().find("h4").append('' + val["name"] + ' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().append('' + val["description"] + '
');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' Hrát ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("div").last().find("button").on("click", function() {
if(global_can_click == true) {
global_can_click = false;
dialogNotify("Nejsi přihlášen K hraní je potřeba být přihlášen, aby se mohlo ukládat skóre. Vytvořte si bezplatný účet, abyste mohli hrát neomezený počet her denně.
","always");
}
});
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).append('');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Čas: ' + val["time"] + ' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet kol: 5 ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet lokací: ' + val["locations"] + ' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Obtížnost: ' + val["score"] + ' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet hraní: ' + val["plays"] + ' ');
$("div.maps.mostplayed").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet palců: ' + val["likes"] + ' ');
i++;
if(i == 3) $("div.maps.mostplayed").append('');
});
}
});
}
function loadNewestMaps(limit) {
$.getJSON( "/rest/get/homepage_newest_maps.js?limit=" + limit, function( data ) {
var parsedata = JSON.parse(data)["maps"];
var count = parsedata.length;
var i = 0;
if(count == 0) {
$("div.maps.newest").append('Není tu žádná nejnovější mapa
');
} else {
$("div.maps.newest").append('');
$.each(parsedata, function( key, val ) {
$("div.maps.newest").find("> ul").last().append(' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).append('
');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().find("img").imgLoad(function(){
$(this).fadeIn(700);
});
if(val["medal"] != "None") $("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).append('
');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().find("h4").append('' + val["name"] + ' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().append('' + val["description"] + '
');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().append(' Hrát ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("div").last().find("button").on("click", function() {
if(global_can_click == true) {
global_can_click = false;
dialogNotify("Nejsi přihlášen K hraní je potřeba být přihlášen, aby se mohlo ukládat skóre. Vytvořte si bezplatný účet, abyste mohli hrát neomezený počet her denně.
","always");
}
});
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).append('');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Čas: ' + val["time"] + ' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet kol: 5 ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet lokací: ' + val["locations"] + ' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Obtížnost: ' + val["score"] + ' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet hraní: ' + val["plays"] + ' ');
$("div.maps.newest").find("> ul").last().find("li#" + val["mid"]).find("ul").last().append(' Počet palců: ' + val["likes"] + ' ');
i++;
if(i == 3) $("div.maps.newest").append('');
});
}
});
}
function loadLocationsCount() {
$.getJSON( "/rest/get/homepage_locations_count.js", function( data ) {
var count = JSON.parse(data)["count"];
var duration = (Math.floor(count / 1000)) * 1500;
animateLocationsCount(0, count, duration)
});
}
function animateLocationsCount(start, end, duration) {
var startTimestamp = null;
const step = (timestamp) => {
if (!startTimestamp) startTimestamp = timestamp;
const progress = Math.min((timestamp - startTimestamp) / duration, 1);
$("div.randommap").find("div.sub").find("span").find("b").text(Math.floor(progress * (end - start) + start));
if (progress < 1) window.requestAnimationFrame(step);
};
window.requestAnimationFrame(step);
}
$("div.randommap").find("button").on("click", function() {
if(global_can_click == true) {
global_can_click = false;
dialogNotify("Nejsi přihlášen K hraní je potřeba být přihlášen, aby se mohlo ukládat skóre. Vytvořte si bezplatný účet, abyste mohli hrát neomezený počet her denně.
","always");
}
});
$("div.search").find("> input").on("keypress keyup paste input", function(e) {
if(e.type == "keypress") {
if(e.which == 13) {
var value = $(this).val();
if(value.length >= 2) {
var link = "/search/" + value + "/" + "all";
location.href = link;
}
}
} else {
if(e.type == "keyup" || e.type == "input") {
var value = $(this).val();
if(searchTimeout) clearTimeout(searchTimeout);
searchTimeout = setTimeout(function() {
if(value.length >= 2) search(value,"all",25);
else $("div.search").find("div.results").html('');
}, 200);
} else {
var value = $(this).val();
if(value.length >= 2) search(value,"all",25);
else $("div.search").find("div.results").html('');
}
}
});
loadMostPlayedMaps(7);
loadLocationsCount();
loadNewestMaps(7);
});