diff --git a/index.php b/index.php
new file mode 100644
index 0000000..c5ef5a2
--- /dev/null
+++ b/index.php
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+ MKK Közivezető-választás
+
+
+
+
+
+
+
+
diff --git a/interface.php b/interface.php
new file mode 100644
index 0000000..74cc353
--- /dev/null
+++ b/interface.php
@@ -0,0 +1,92 @@
+ $name, "group" => $group];
+ if (DUPLICATE_NAME_IN_SAME_GROUP || !in_array($new_rec, $ep)) {
+ $ep[] = $new_rec;
+ }
+ }
+ }
+
+
+ return $ep;
+}
+
+define("MINIMUM_NEEDLE_LENGTH", 3);
+
+// keresés a nevek között
+function search_in_names(array $records, string $needle): array
+{
+ $needle = trim($needle);
+
+ if (strlen($needle) < MINIMUM_NEEDLE_LENGTH) {
+ return [];
+ }
+
+ $hitpos_array = [];
+
+ $filter = function(array $var) use (&$hitpos_array, $needle) : bool {
+ $hitpos = stripos($var["name"], $needle);
+
+ if ($hitpos != false) {
+ $hitpos_array[] = $hitpos;
+ }
+
+ return $hitpos !== false;
+ };
+
+ $filter_res = array_values(array_filter($records, $filter));
+
+ if (count($filter_res) > 0) {
+ for ($i = 0; $i < count($filter_res); $i++) {
+ $filter_res[$i]["hitpos"] = $hitpos_array[$i];
+ }
+ }
+
+ return $filter_res;
+}
+
+// --------------------------------
+
+define("ELECTABLE_PEOPLE_DATABASE", "data/electable_people_test.md");
+
+$action = json_decode($_POST["action"]) ?? "none";
+
+$res = "";
+
+switch ($action) {
+ case "search":
+ {
+ $needle = json_decode($_POST["needle"]);
+ $p = read_electable_people(ELECTABLE_PEOPLE_DATABASE);
+ $hits = search_in_names($p, $needle);
+ $res = $hits;
+ }
+ break;
+ case "none":
+ break;
+}
+
+echo json_encode($res);
+
+//$p = read_electable_people("data/electable_people_test.md");
+
+return;
\ No newline at end of file
diff --git a/js/mkkkvv.js b/js/mkkkvv.js
new file mode 100644
index 0000000..ccb1a98
--- /dev/null
+++ b/js/mkkkvv.js
@@ -0,0 +1,63 @@
+const MINIMUM_NEEDLE_LENGTH = 3;
+const CANVAS = document.create
+
+
+// keresés indítása a nevek között
+function search_in_names(needle) {
+ let hintbox = document.getElementById("hintbox");
+
+ if (needle.length < 3) {
+ hintbox.innerHTML = "";
+ }
+
+ if (needle.trim().length < MINIMUM_NEEDLE_LENGTH) {
+ return;
+ }
+
+ request({
+ action: "search",
+ needle: needle
+ }).then(resp => {
+ hintbox.innerHTML = "";
+ let hits = JSON.parse(resp);
+ console.log(hits);
+ hits.forEach((key, val) => {
+ if (needle.length < 3) {
+ return;
+ }
+
+ let hit = document.createElement("span");
+ hit.classList.add("hit");
+
+ let name_node = document.createElement("span");
+ name_node.classList.add("name");
+
+ let hp = key["hitpos"];
+ let name = key["name"];
+
+ if (hp > 0) {
+ let name_begin = name.slice(0, hp);
+ name_node.appendChild(document.createTextNode(name_begin));
+ }
+
+ let hl = document.createElement("span");
+ hl.classList.add("highlight");
+ hl.innerText = name.slice(hp, hp + needle.length);
+ name_node.appendChild(hl);
+
+ if (hp + needle.length < name.length) {
+ let name_end = name.slice(hp + needle.length, name.length);
+ name_node.appendChild(document.createTextNode(name_end));
+ }
+
+ hit.appendChild(name_node);
+
+ let group = document.createElement("span");
+ group.innerText = `(${key["group"]})`;
+ group.classList.add("group");
+ hit.appendChild(group);
+
+ hintbox.appendChild(hit);
+ });
+ });
+}
\ No newline at end of file
diff --git a/js/req.js b/js/req.js
new file mode 100644
index 0000000..ded81d8
--- /dev/null
+++ b/js/req.js
@@ -0,0 +1,31 @@
+// kérés indítása a szerver felé (eredeti: KL.)
+function request(data, url = "interface.php", method = "POST") {
+ return new Promise((resolve, reject) => {
+ var fd;
+
+ // ha van adat megadva...
+ if (data != null) {
+ fd = new FormData();
+
+ // mezők hozzáfűzése a kéréshez
+ for (let prop in data) {
+ if (Object.prototype.hasOwnProperty.call(data, prop)) {
+ fd.append(prop, JSON.stringify(data[prop]));
+ }
+ }
+
+ }
+
+ // kérés feladása
+ fetch(url, {
+ method: method,
+ body: fd,
+ })
+ .then(response => response.text())
+ .then(data => resolve(data))
+ .catch((error) => {
+ console.error('Error: ', error);
+ reject(error);
+ });
+ });
+}
diff --git a/mkkkv_interface.php b/mkkkv_interface.php
deleted file mode 100644
index 90409b2..0000000
--- a/mkkkv_interface.php
+++ /dev/null
@@ -1,6 +0,0 @@
-