var ajax = new AjaxObject(); var mp = new Array(); /** * Objektum keresése name / id alapján (először a name-t keresi) * * @param args[] String Keresendő objektumok azonosítói * @return Object */ function $() { var elements = new Array(); for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof element == "string") { if (element.length > 0) { element = document.getElementsByName(element); if (element.length == 0) element = document.getElementById(arguments[i]); else if (element.length == 1) element = element[0]; } else element = null; } else return null; if (arguments.length == 1) return element; elements.push(element); } return elements; } /** * Objektum értékének kinyerése * * @param args[] String / Object Lekérdezendő objektumok vagy objektumok azonosítói * @return String / Array */ function $V() { var elements = new Array(); for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof element == "string") element = $(element); if (element != null) if (typeof element.tagName == "undefined") { var found = false; for (var j = 0; j < element.length; j++) if (element[j].checked) { element = element[j].value; found = true; break; } if (!found) element = ""; } else if (element.tagName.toLowerCase() == "select") { var tmp = new Array(); for (var j = 0; j < element.options.length; j++) if (element.options[j].selected) tmp.push(element.options[j].value); element = tmp.length == 1?tmp[0]:tmp; } else if (element.tagName.toLowerCase() == "input" && element.type.toLowerCase() == "checkbox") element = element.checked?element.value:" "; else element = element.value; if (arguments.length == 1) return element; elements.push(element); } return elements; } /** * Objektum értékének beállítása * * @param obj String / Object Beállítandó objektum vagy objektum azonosítója * @param value String Beállítandó érték */ function $S(obj, value) { var element = typeof obj == "string"?$(obj):obj; if (element != null) { if (typeof element.tagName == "undefined") { for (var i = 0; i < element.length; i++) if (element[i].value == value) { element[i].checked = true; break; } else element[i].checked = false; } else if (element.tagName.toLowerCase() == "select" && typeof value != "string") { if (element.options.length > 0) for (var j = 0; j < element.options.length; j++) for (var i = 0; i < value.length; i++) { if (element.options[j].value == value[i]) { element.options[j].selected = true; break; } else element.options[j].selected = false; } } else if (element.tagName.toLowerCase() == "input" && element.type.toLowerCase() == "checkbox") element.checked = value == element.value; else element.value = value; } } /** * Objektum tiltása * * @param obj String / Object Tiltandó objektum vagy objektum azonosítója * @param disabled Boolean Tiltás */ function $D(obj, disabled) { var element = typeof obj == "string"?$(obj):obj; if (element != null) if (typeof element.tagName == "undefined") { for (var i = 0; i < element.length; i++) element[i].disabled = disabled; } else element.disabled = disabled; } /** * Tömbből elem törlése * * @param index Integer Törlendő elem indexe */ Array.prototype.remove = function (index) { if (index < this.length) { for (var i = index; i < this.length - 1; i++) this[i] = this[i + 1]; this.pop(); } return this; }; /** * Válaszfeldolgozó fgv. * * @param response String A visszakapott válasz JSON formában */ function callBack(response) { var list = ""; var colors = ["#0000DD", "#00AA00", "#DD0000"]; var colors2 = ["#AAAAFF", "#AAFFAA", "#FFAAAA"]; if (response.length > 0) { response = eval(response); if (response.length > 0) { var online = response[0]; var newPost = response[1]; var mails = response[2]; var fights = response[3]; var grow = response[4]; var groups = new Array(0, 0, 0); var onlineList = $("onlineList"); var userCount = $("usercount"); var groupsBox = $("groups"); var mailMails = $("mails"); var mailMailsLink = $("mailslink"); var mailMailIcon = $("mailicon"); var forumImg = $("forumimg"); var fight = $("fight"); for (var i = 0; i < online.length; i++) { list += (i?", ":"") + "" + online[i][0] + (online[i][3]?"(" + (online[i][3] + 1) + ")":"") + "<\/a>"; groups[online[i][1] - 1]++; } if (onlineList != null) onlineList.innerHTML = "Online játékosok: " + list; if (userCount != null) userCount.innerHTML = numeric(groups[0] + groups[1] + groups[2]); if (groupsBox != null) if (groups[0] + groups[1] + groups[2] > 0) { groupsBox.innerHTML = "("; groupsBox.innerHTML += groups[0]?"" + numeric(groups[0]) + " normál":""; groupsBox.innerHTML += groups[1]?(groupsBox.innerHTML.length > 0?" ":"") + "" + numeric(groups[1]) + " lassú":""; groupsBox.innerHTML += groups[2]?(groupsBox.innerHTML.length > 0?" ":"") + "" + numeric(groups[2]) + " gyors":""; groupsBox.innerHTML += ")"; } else groupsBox.innerHTML = ""; if (mailMails != null) mailMails.innerHTML = "(" + numeric(mails[0]) + " / " + numeric(mails[1]) + ")"; if (mailMailsLink != null) mailMailsLink.title = "Üzenetek: " + numeric(mails[0]) + " új / " + numeric(mails[1]) + " összesen"; if (mailMailIcon != null) mailMailIcon.src = "images/mail" + (mails[0]?"4":"0") + ".gif"; if (forumImg != null) if (newPost) { forumImg.src = "images/forum_new.gif"; forumImg.title = "Új hozzászólás van"; forumImg.alt = forumImg.title; } else { forumImg.src = "images/forum.gif"; forumImg.title = ""; forumImg.alt = forumImg.title; } if (fight != null) if (fights[0]) { fight.src = "images/kihivas_newsent.gif"; fight.title = "Új kihívásod és új elfogadott kihívásod van"; fight.alt = fight.title; } else if (fights[1]) { fight.src = "images/kihivas_new.gif"; fight.title = "Új kihívás van"; fight.alt = fight.title; } else if (fights[2]) { fight.src = "images/kihivas_sent.gif"; fight.title = "Új elfogadott kihívásod van"; fight.alt = fight.title; } else { fight.src = "images/kihivas.gif"; fight.title = "Kihívás"; fight.alt = fight.title; } if (!grow && $("sound") != null && $("sound").innerHTML) $("sound").innerHTML = ""; } } } /** * Lapon lévő információk frissítése * * @param sid String Azonosító */ function refreshInfos(sid) { ajax.postDatas.push(["sid", sid]); ajax.sendRequest("POST", "ajax.php", callBack); } /** * Ezres tagolás * * @param text String Formázandó szöveg * @param delimiter Char Elválasztó jel * @return String */ function numeric(text, delimiter) { var s = text; for (var i = 1; i <= Math.floor(text.length / 3) && i * 3 < text.length; i++) s = s.substr(0, s.length - i * 3 - i + 1) + (typeof delimiter != "undefined"?delimiter:".") + s.substr(s.length - i * 3 - i + 1); return s; } /** * Jelszó erősség mérő * * @param passwd String Jelszó * @param div String Objektum ahova betöltjük az eredményt */ function testPassword(passwd, div) { var description = new Array( "nincs megadva jelszó", "gyenge", "alacsony", "közepes", "erős", "nagyon erős" ) var intScore = 0; var strVerdict = 0; var score = 0; if (passwd.length == 0 || !passwd.length) intScore = -1; else if (passwd.length > 0 && passwd.length < 5) intScore += 3; else if (passwd.length > 4 && passwd.length < 8) intScore += 6; else if (passwd.length > 7 && passwd.length < 12) intScore += 12; else if (passwd.length > 11) intScore += 18; if (passwd.match(/[a-z]/)) intScore += 1; if (passwd.match(/[A-Z]/)) intScore += 5; if (passwd.match(/\d+/)) intScore += 5; if (passwd.match(/(.*[0-9].*[0-9].*[0-9])/)) intScore += 5; if (passwd.match(/.[!,@,#,$,%,^,&,*,?,_,~]/)) intScore += 5; if (passwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) intScore = intScore + 5; if (passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) intScore += 2; if (passwd.match(/(\d.*\D)|(\D.*\d)/)) intScore += 2; if (passwd.match(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/)) intScore += intScore + 2; if (intScore == -1) score = 0; else if(intScore > -1 && intScore < 16) score = 1; else if (intScore > 15 && intScore < 25) score = 2; else if (intScore > 24 && intScore < 35) score = 3; else if (intScore > 34 && intScore < 45) score = 4; else score = 5; var obj = $(div); // obj.innerHTML = show("pass", "
Jelszó erőssége
" + "
" + description[score] + "
" ); } function getPos(obj) { var r = { x: obj.offsetLeft, y: obj.offsetTop } while (obj.offsetParent) { obj = obj.offsetParent; r.x += obj.offsetLeft; r.y += obj.offsetTop; } return r; } function show(id, text) { var obj = $(id); var div = $("pwMsg"); var r = getPos(obj); with (div.style) { position = "absolute"; left = r.x + obj.offsetWidth - 10; top = r.y; } div.innerHTML = "
" + text + "
\n" + "
\"\"
"; div.style.top = r.y - div.offsetHeight; } function mpos(e) { var x = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); var y = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); mp.splice(0, 0, x + "x" + y); if (mp.length > 200) mp.splice(200); $S("m", mp.join("\n")); } function init() { if (window.Event) document.captureEvents(Event.MOUSEMOVE); document.onmousemove = mpos; }