window.dlang = 'ar'; // edit it to en if fullscreen map not working window.reloading = false; var xhttp = new XMLHttpRequest(); var timer = new Object(); var ab = new Object(); var bb = new Object(); var cb = db(); var eb = 0; var auto_reload = 1; var fb = new Object(); var is_opera = window.opera !== undefined; var is_ie = document.all !== undefined && window.opera === undefined; var is_ie6p = document.compatMode !== undefined && document.all !== undefined && window.opera === undefined; var is_ie7 = document.documentElement !== undefined && document.documentElement.style.maxHeight !== undefined; var is_ie6 = is_ie6p && !is_ie7; var is_ff2p = window.Iterator !== undefined; var is_ff3p = document.getElementsByClassName !== undefined; var is_ff2 = is_ff2p && !is_ff3p automation(); function automation() { this.xhttp.open("GET", "GameEngine/Automation.php", true); this.xhttp.send(); //setTimeout(function(){ automation(); }, 1000); } function gb() { return hb('height'); } function ib() { return hb('width'); } function hb(jb) { var kb = 0, lb = 0; if (typeof(window.innerWidth) == 'number') { kb = window.innerWidth; lb = window.innerHeight; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { kb = document.documentElement.clientWidth; lb = document.documentElement.clientHeight; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { kb = document.body.clientWidth; lb = document.body.clientHeight; } if (jb == 'height') return lb; if (jb == 'width') return kb; } var gmwds = false; function start() { mb("l1"); mb("l2"); mb("l3"); mb("l4"); initCounter(); if (typeof init_local == 'function') { init_local(); } if (quest.number === null) { qst_handle(); } if (gmwds) { gmwd(); } } function nb() { return new Date().getTime(); } function db() { return Math.round(nb() / 1000); } function ob(pb) { p = pb.innerHTML.split(":"); qb = p[0] * 3600 + p[1] * 60 + p[2] * 1; return qb; } function rb(s, sb) { var tb, ub, vb; if (s > -2) { tb = Math.floor(s / 3600); ub = Math.floor(s / 60) % 60; vb = s % 60; t = tb + ":"; if (ub < 10) { t += "0"; } t += ub + ":"; if (vb < 10) { t += "0"; } t += vb; } else { t = '0:00:00'; if (!window.reloading) { document.location.reload(); window.reloading = true; } } return t; } function fi2(qact, qact2, qact3) { if (qact === undefined) { qact = false; } if (qact2 === undefined) { qact2 = false; } if (qact3 === undefined) { qact3 = false; } var gi = 'ajax.php?f=qst'; var ci = (Math.abs(quest.number) + 1) / (Math.abs(quest.last) + 1); return gi + '&cr=' + bi(4, ci) + '&qact=' + qact + '&qact2=' + qact2 + '&qact3=' + qact3; } function qst_next2(jf, act, act2, act3) { var id; if (jf) { id = { 'x': document.getElementById('qst_val_x').value, 'y': document.getElementById('qst_val_y').value }; } else { id = { 'val': document.getElementById('qst_val').value }; } pi(); fd(fi2(act, act2, act3), function(mf) { for (var qd in mf) { quest[qd] = mf[qd]; } }, 'POST', id); qst_wfm(); } function initCounter() { for (var i = 1;; i++) { pb = document.getElementById("tp" + i); if (pb != null) { ab[i] = new Object(); ab[i].node = pb; ab[i].counter_time = ob(pb); } else { break; } } pb = document.getElementsByClassName("timer"); [].forEach.call(pb, function(item, index){ if (item != null) { bb[index] = new Object(); bb[index].node = item; bb[index].counter_time = ob(item); } }); executeCounter(); } function executeCounter() { for (var i in ab) { wb = db() - cb; if (ab[i] && ab[i]['counter_time']) { xb = rb(ab[i].counter_time + wb); } else { xb = 0; } ab[i].node.innerHTML = xb; } for (i in bb) { wb = db() - cb; if (bb[i] && bb[i]['counter_time']) { yb = bb[i].counter_time - wb; } else { eb = 0; yb = -1; } if (eb == 0 && yb < 0) { bb[i] = null; eb = 1; if (!window.reloading) { setTimeout(function() { window.location.href = window.location.href; }, 1000); window.reloading = true; } } else { xb = rb(yb); bb[i].node.innerHTML = xb; } } setTimeout("executeCounter()", 1000); } function mb(zb) { pb = document.getElementById(zb); if (pb != null) { fb[zb] = new Object(); var $b = pb.innerHTML.match(/(\d+)\/(\d+)/); element = $b[0].split("/"); _b = parseInt(element[0]); ac = parseInt(element[1]); bc = pb.title; if (bc != 0) { cc = nb(); timer[zb] = new Object(); timer[zb].start = cc; timer[zb].production = bc; timer[zb].start_res = _b; timer[zb].max_res = ac; timer[zb].ms = 3600000 / bc; dc = 100; if (timer[zb].ms < dc) { timer[zb].ms = dc; } timer[zb].node = pb; executeTimer(zb); } else { timer[zb] = new Object(); fb[zb].value = _b; } } } function executeTimer(zb) { wb = nb() - timer[zb].start; if (wb >= 0) { ec = Math.round(timer[zb].start_res + wb * (timer[zb].production / 3600000)); if (ec >= timer[zb].max_res) { ec = timer[zb].max_res; } else { window.setTimeout("executeTimer('" + zb + "')", timer[zb].ms); } fb[zb].value = ec; timer[zb].node.innerHTML = ec + '/' + timer[zb].max_res; } } var fc = new Array(0, 0, 0, 0, 0); function add_res(res, gc) { hc = fb['l' + (5 - gc)].value; ic = haendler * carry; fc[gc] = jc(fc[gc], hc, ic, carry); document.getElementById(res).value = fc[gc]; } function upd_res(res, gc, kc) { hc = fb['l' + (5 - gc)].value; ic = haendler * carry; if (kc) { lc = hc; } else { lc = parseInt(document.getElementById(res).value); } if (isNaN(lc)) { lc = 0; } fc[gc] = jc(parseInt(lc), hc, ic, 0); document.getElementById(res).value = fc[gc]; } function jc(mc, nc, oc, pc) { qc = mc + pc; if (qc > nc) { qc = nc; } if (qc > oc) { qc = oc; } if (qc == 0) { qc = ''; } return qc; } function rc(n, d) { var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) { d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p); } if (!(x = d[n]) && d.all) x = d.all[n]; for (var i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n]; for (var i = 0; !x && d.layers && i < d.layers.length; i++) x = rc(n, d.layers[i].document); return x; } function btm0() { var i, x, a = document.MM_sr; for (var i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc; } function btm1() { var i, j = 0, x, a = btm1.arguments; document.MM_sr = new Array; for (var i = 0; i < (a.length - 2); i += 3) if ((x = rc(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; } } function Popup(i, j, sc) { if (typeof sc == 'undefined') { sc = 's'; } pb = document.getElementById("ce"); if (pb != null) { var iframeHeight = 440, iframeWidth = 412; var tc = '
' + 'Move' + '' + '
'; pb.innerHTML = tc; uc(); } vc(); if (!is_ie6 && !wc) return false; else return true; } function PopupMap(i) { if (typeof sc == 'undefined') { sc = 's'; } pb = document.getElementById("ce"); if (pb != null) { var iframeHeight = 575, iframeWidth = 1000; if (window.dlang == 'ar') { var tc = ''; } else { var tc = ''; } pb.innerHTML = tc; uc2(); } vc(); if (!is_ie6 && !wc) return false; else return true; } function uc() { if ($('drag')) { return; } $$('.popup3')[0].grab(new Element('div', { 'id': 'drag' }), 'top').makeDraggable({ 'handle': 'drag' }); if ($$('body')[0].getStyle('direction').toLowerCase() == 'rtl') { $$('.popup3')[0].setStyle('direction', 'rtl').getParent().setStyle('direction', 'ltr'); } } function uc2() { if ($('drag')) { return; } if (window.dlang == 'ar') { //$$('.popup_map')[0].grab(new Element('div',{'id':'drag', "style": "width: 1000px;height: 10px;background-color: #fff0;position: absolute;cursor: move;"}),'top').makeDraggable({'handle':'drag'}); } else { //$$('.popup_map')[0].grab(new Element('div',{'id':'drag'}),'top').makeDraggable({'handle':'drag'}); } if ($$('body')[0].getStyle('direction').toLowerCase() == 'rtl') { $$('.popup_map')[0].setStyle('direction', 'rtl').getParent().setStyle('direction', 'ltr'); } } function vc() { var frm = document.getElementById("Frame"); if (!frm || frm == null || typeof(frm) == 'undefined') { frm = document.getElementById("ce"); } //if(gb()<700||ib()<700){ frm.style.position = 'absolute'; wc = true; //} else{ //frm.style.position='fixed';wc=false; //} } window.addEvent('resize', function() { $f = $$('#Frame'); if (typeof($f) != 'undefined' && typeof($f[0]) != 'undefined' && $f[0].src.indexOf('manual.php') === -1) { $f[0].style.left = (Math.round((documentWidth() - $f[0].width) / 2)) + 'px'; $f[0].style.top = (Math.round((documentHeight() - $f[0].height) / 2)) + 'px'; } }); function Close() { pb = document.getElementById("ce"); if (pb != null) { pb.innerHTML = ''; } if (quest.anmstep !== false) { quest.anmstep = false; } } function Allmsg() { for (var x = 0; x < document.msg.elements.length; x++) { var y = document.msg.elements[x]; if (y.name != 's10') y.checked = document.msg.s10.checked; } } function xy() { xc = screen.width + ":" + screen.height; document.snd.w.value = xc; } function my_village() { var yc = Math.round(0); var zc; var e = document.snd.dname.value; for (var i = 0; i < dorfnamen.length; i++) { if (dorfnamen[i].indexOf(e) > -1) { yc++; zc = dorfnamen[i]; } } if (yc == 1) { document.snd.dname.value = zc; } } var $c = document.getElementById ? 1 : 0; var _c = document.all ? 1 : 0; var ad = (navigator.userAgent.indexOf("Mac") > -1) ? 1 : 0; var bd = (_c && (!ad) && (typeof(window.offscreenBuffering) != 'undefined')) ? 1 : 0; var cd = bd; var dd = bd && (window.navigator.userAgent.indexOf("SV1") != -1); function changeOpacity(ed, opacity) { if (bd) { ed.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (opacity * 100) + ')'; } else if ($c) { ed.style.MozOpacity = opacity; } } function fd(url, gd, hd, id) { if (hd === undefined) { hd = 'GET'; } var jd; if (window.XMLHttpRequest) { jd = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { jd = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { jd = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } else { throw 'Can not create XMLHTTP-instance'; } jd.onreadystatechange = function() { if (jd.readyState == 4) { if (jd.status == 200) { var kd = jd.getResponseHeader('Content-Type'); if (kd.indexOf(';') > -1) { kd = kd.substr(0, kd.indexOf(';')); } switch (kd) { case 'application/json': if (jd.responseText.indexOf('[]') < 0) { gd(jd.responseText == '' ? null : eval('(' + jd.responseText + ')')); } break; case 'text/plain': case 'text/html': gd(jd.responseText); break; default: throw 'Illegal content type'; } } else { throw 'An error has occurred during request'; } } }; jd.open(hd, url, true); if (hd == 'POST') { jd.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); var ld = md(id); } else { var ld = null; } jd.send(ld); } function md(nd) { var od = ''; var pd = true; for (var qd in nd) { od += (pd ? '' : '&') + qd + '=' + window.encodeURI(nd[qd]); if (pd) { pd = false; } } return od; } function mreload() { param = 'reload=auto'; url = window.location.href; if (url.indexOf(param) == -1) { if (url.indexOf('?') == -1) { url += '?' + param; } else { url += '&' + param; } } if (!window.reloading) { document.location.href = url; window.reloading = true; } } var rd = { 'index': 0, 'dir': 0, 'size': null, 'fields': [], 'cindex': 0, 'usealternate': false }; var m_c = rd; var sd; var td; var ud; var vd; var wd; var xd; var yd; var zd; var $d; var _d = false; var ae; var be; var ce; var de = []; de[38] = 1; de[39] = 2; de[40] = 3; de[37] = 4; var ee = {}; var fe; var ge; function map_init() { sd = false; td = false; ud = false; vd = false; xd = 0; wd = 0; fe = he('karte2'); ie(['i', 'a', 't']); if (null == m_c.az) { throw 'm_c.az muss seitenspezifisch initialisiert werden.'; } for (var p in m_c.az) { document.getElementById('ma_' + p).onclick = je; } var ke = ['mcx', 'mcy', 'x', 'y', 'map_infobox']; for (var i = 0; i < ke.length; i++) { ee[ke[i]] = document.getElementById(ke[i]); } ke = ['mcx', 'mcy']; for (var i = 0; i < ke.length; i++) { ee[ke[i]].onfocus = function() { vd = true; }; ee[ke[i]].onblur = function() { vd = false; }; } ee.ibox_cells = []; ee.ibox_cells[0] = ee.map_infobox.firstChild.firstChild.lastChild; for (var i = 1; i <= 3; i++) { ee.ibox_cells[i] = ee.map_infobox.firstChild.nextSibling.childNodes[i - 1].lastChild; } document.onkeyup = le; document.onkeydown = me; document.onkeypress = ne; document.map_coords.onsubmit = oe; ee.mx = []; ee.my = []; for (var i = 0; i < mdim.x; i++) { for (var j = 0; j < mdim.y; j++) { area = pe(i, j, 'a'); area.onmouseover = qe; area.onmouseout = re; if (fe) { area.onclick = se; } te(m_c.ad[i][j], area); } ee.mx[i] = document.getElementById('mx' + i); ee.my[i] = document.getElementById('my' + i); } //var ue=document.getElementById('map_makelarge'); //if(ue){ue.onclick=ve;} if (mdim.x == 13) { document.getElementById('map_popclose').onclick = we; } } function se() { opener.location = this.href; return false; } //function xe(ye){var ze=document.getElementById('map_makelarge');ze.className=ye?'loading':'';} function $e(_e) { var af; var bf; if (ee.map_infobox != null) { if (_e.normal_field) { var cf = df(_e.nr * 1); af = [text_k.verlassenes_tal + ': ' + cf.join('-')]; bf = 'empty'; } else if (_e.free_oasis && !_e.classic_oasis) { af = [text_k.freie_oase]; bf = 'oasis_empty'; } else if (_e.occupied_oasis && !_e.classic_oasis) { af = [text_k.besetztes_tal, _e.name, _e.ew, _e.ally]; bf = 'oasis'; } else if (_e.village) { var text = '' + _e.dname + ''; af = [text, _e.name, _e.ew, _e.ally]; bf = 'village'; } else { af = [text_k.details]; bf = 'default'; } } for (var i = 0; i < 4; i++) { ee.ibox_cells[i].innerHTML = (af[i] === undefined || af[i] === '') ? '-' : af[i].replace(/\&/g, "&"); } ee.map_infobox.className = bf; } function ef(ff, gf) { return ((ff - 1) * 10) + gf } function hf(jf) { ee.x.firstChild.nodeValue = jf.x; ee.y.firstChild.nodeValue = jf.y; } function kf(jf) { ee.mcx.value = jf.x; ee.mcy.value = jf.y; l = $$('div.cropfinder_icon a').set('href', 'cropfinder.php?x=' + jf.x + '&y=' + jf.y); } function lf(x, y) { var world_max = m_c.world_max; var world_max_double = (world_max * 2) + 1; return (world_max + x) + (world_max - y) * world_max_double + 1; } function ve() { if (mmode) { zd = window.open(this.href, "map", "top=100,left=25,width=1007,height=585"); zd.focus(); } else { xe(true); fd('ajax.php?f=kp&z=' + lf(m_c.z.x, m_c.z.y), function(mf) { xe(false); ae = document.getElementsByTagName('body')[0]; be = document.getElementsByTagName('html')[0]; ae.parentNode.removeChild(ae); ce = document.createElement('body'); ce.innerHTML = mf.lm; ce.style.backgroundColor = '#ffffff'; be.appendChild(ce); m_c = []; for (var qd in mf.dat.m_c) { m_c[qd] = mf.dat.m_c[qd]; } m_c.fields = []; mdim = mf.dat.mdim; mmode = mf.dat.mmode; map_init(); }); } return false; } function we() { if (fe) { pb = parent.document.getElementById("drag2"); if (pb != null) { pb.innerHTML = '' } else { window.close(); } } else { mdim = { 'x': 7, 'y': 7, 'rad': 3 }; var nf = []; for (var i = 0; i < mdim.x; i++) { nf[i] = []; for (var j = 0; j < mdim.y; j++) { nf[i][j] = pe(i + 3, j + 3, 'a').details; } } be.removeChild(ce); be.appendChild(ae); map_init(); var of ; var area; for (var i = 0; i < mdim.x; i++) { for (var j = 0; j < mdim.y; j++) { area = pe(i, j, 'a'); of = pe(i, j, 'i'); area.details = nf[i][j]; area.details.fresh = {}; of .className = nf[i][j].img; pf(area, of ); } } hf(m_c.z); kf(m_c.z); } return false; } //this function is executed on map direction icon clicking //ma_n1, ma_n2, ma_n3, ma_n4 // document.getElementById('ma_'+p).onclick=je; function je() { var qf = 1 * this.id.substring(4, 5); var rf = 1 * (this.id.substring(5, 7) == 'p7' ? mdim.x : 1); // console.log(this.id + "--" + qf+"-"+rf); map_scroll(qf, rf); return false; } function sf(z) { var x = z.x - mdim.rad; var y = z.y - mdim.rad; var tf = z.x + mdim.rad; var uf = z.y + mdim.rad; return { 'x': x, 'y': y, 'xx': tf, 'yy': uf }; } function vf(qf, rf, wf) { if (wf == null) { wf = 0; } if (m_c.size == null) { throw 'Globale Variable m_c.size muss auf den Wert von $travian[map_prefetch_rows]) gesetzt werden.'; } var xf, yf; if (null === rf || 1 === rf) { yf = m_c.size - 1; } else if (mdim.x == rf) { xf = mdim.x; yf = -(mdim.x - 1); } else { throw 'Parameter steps muss 1 oder Breite der Karte in Feldern sein.'; } var x, y, tf, uf, z; var z = m_c.z; switch (qf) { case 1: x = z.x + mdim.rad; y = z.y + mdim.rad + wf; tf = z.x - mdim.rad; uf = y + yf; break; case 2: x = z.x + mdim.rad + wf; y = z.y - mdim.rad; tf = x + yf; uf = z.y + mdim.rad; break; case 3: x = z.x + mdim.rad; y = z.y - mdim.rad - wf; tf = z.x - mdim.rad; uf = y - yf; break; case 4: x = z.x - mdim.rad - wf; y = z.y - mdim.rad; tf = x - yf; uf = z.y + mdim.rad; break; } return { 'x': x, 'y': y, 'xx': tf, 'yy': uf }; } function zf($f) { var world_max = m_c.world_max; var world_max_double = (world_max * 2) + 1; if ($f > world_max) { $f -= world_max_double; } if ($f < -world_max) { $f += world_max_double; } return $f; } function _f($f) { if ($f > m_c.world_max) { $f = m_c.world_max; } if ($f < -m_c.world_max) { $f = -m_c.world_max; } return $f; } //tientn: m_c is the object hold all global variables function ag(qf, rf) { var z = {}; z.x = m_c.z.x * 1; z.y = m_c.z.y * 1; switch (qf) { case 1: z.y += rf; break; case 2: z.x += rf; break; case 3: z.y -= rf; break; case 4: z.x -= rf; break; } m_c.z.x = zf(z.x); m_c.z.y = zf(z.y); } function bg(cg) { return 'ajax.php?f=k7&x=' + cg.x + '&y=' + cg.y + '&xx=' + cg.xx + '&yy=' + cg.yy; } function map_scroll(qf, rf, dg) { var cg, eg; if (sd) { return false; } if (fg()) { if (td) { return false; } sd = true; gg(); m_c.usealternate = false; m_c.cindex = 0; if (dg !== undefined) { m_c.z.x = _f(dg.x); m_c.z.y = _f(dg.y); cg = sf(m_c.z); } else { ag(qf, rf); cg = vf(qf, rf); } hg = bg(cg); fd(hg, ig); } else { if (jg()) { if (td) { return false; } td = true; ag(qf, rf); cg = vf(qf, rf, 2); hg = bg(cg); fd(hg, ig); } else if (kg()) { ag(qf, rf); lg(); gg(); } else { ag(qf, rf); } mg(qf, rf); } function ig(ng) { var og; if (jg()) { og = pg(m_c.cindex); m_c.usealternate = false; td = false; } else { og = m_c.cindex; } m_c.fields[og] = ng; if (fg()) { if (dg !== undefined) { mg(0, 0, m_c.z); qg('x'); qg('y'); } else { mg(qf, rf); qg(qf); } sd = false; } } function jg() { return m_c.usealternate; } function fg() { return (qf != m_c.dir || rf == mdim.x || (rf == 1 && rf != m_c.steps) || dg !== undefined); } function kg() { return (m_c.index == m_c.size); } } //end of map_scroll function rg(qf, rf) { m_c.dir = qf; m_c.steps = rf; } function gg() { m_c.index = 0; } function sg() { m_c.index++; if (m_c.index == m_c.size - 2) { m_c.usealternate = true; } } function lg() { m_c.cindex = pg(m_c.cindex); } function mg(qf, rf, dg) { var tg = document.getElementById('map_content'); var ug = tg.parentNode; if (1 == rf) { vg(qf); wg(m_c.fields[m_c.cindex], qf, rf); qg(qf); sg(); } else if (mdim.x == rf || dg !== undefined) { xg(m_c.fields[m_c.cindex]); } if (wd == 0) { kf(m_c.z); } hf(m_c.z); rg(qf, rf); } function pg(og) { return (og == 0 ? 1 : 0); } function xg(ng) { for (var i = 0; i < mdim.x; i++) { for (var j = 0; j < mdim.y; j++) { yg(i, j, ng[i][j]); } } } function zg($g, _g) { _g.details.href = $g; } function yg(ah, bh, _e) { var of = pe(ah, bh, 'i'); var area = pe(ah, bh, 'a'); te(_e, area); of .className = area.details.img; pf(area, of ); } function pf(area, of ) { if (area.details.atyp) { if (! of .firstChild) { of .appendChild(document.createElement('span')); } of .firstChild.className = 'm' + area.details.atyp; } else { if ( of .firstChild) { of .removeChild( of .firstChild); } } } function te(_e, area) { area.details = {}; var ch = ['x', 'y', 'nr', 'typ', 'querystring', 'img', 'atyp', 'dname', 'name', 'ew', 'ally', 'vid', 'atime']; for (var i = 0; i < _e.length; i++) { area.details[ch[i]] = _e[i]; } area.details.normal_field = area.details.name === undefined && area.details.typ == 0; area.details.free_oasis = area.details.name === undefined && area.details.typ != 0; area.details.occupied_oasis = area.details.name !== undefined && area.details.typ != 0; area.details.village = area.details.name !== undefined && area.details.typ == 0; area.details.fresh = {}; area.details.classic_oasis = area.details.querystring === ''; } function df(dh) { switch (dh) { case 1: return [3, 3, 3, 9]; case 2: return [3, 4, 5, 6]; case 3: return [4, 4, 4, 6]; case 4: return [4, 5, 3, 6]; case 5: return [5, 3, 4, 6]; case 6: return [1, 1, 1, 15]; case 7: return [4, 4, 3, 7]; case 8: return [3, 4, 4, 7]; case 9: return [4, 3, 4, 7]; case 10: return [3, 5, 4, 6]; case 11: return [4, 3, 5, 6]; case 12: return [5, 4, 3, 6]; default: return false; } } //document.map_coords.onsubmit=oe; function oe() { var x = parseInt(this.xp.value); var y = parseInt(this.yp.value); if (!isNaN(x) && !isNaN(y)) { map_scroll(0, 0, { 'x': x, 'y': y }); } return false; } //document.onkeypress=ne; function ne(e) { if (vd) { return true; } var qd = (window.event) ? event.keyCode : e.keyCode; var qf = eh(qd); if (qf != 0) { return false; } } function qe() { _d = true; hf(this.details); $e(this.details); fh(this); ge = this; } function fh(area) { if (!area.details.fresh.href) { if (area.details.classic_oasis) { area.removeAttribute('href'); area.style.cursor = 'default'; } else { area.href = 'karte.php?' + area.details.querystring; area.style.cursor = 'pointer'; } area.details.fresh.href = true; } if (!area.details.fresh.title) { area.details.fresh.title = gh(area); } } function gh(area) { if (area.details.normal_field) { area.title = ''; } else if (area.details.free_oasis && !area.details.classic_oasis) { area.title = text_k.freie_oase; } else if (area.details.occupied_oasis && !area.details.classic_oasis) { area.title = text_k.besetztes_tal; } else if (area.details.village) { if (area.details.atime !== undefined) { area.title = area.details.dname + ' ' + rb(area.details.atime - Math.floor(new Date().getTime() / 1000), true); return false; } else { area.title = area.details.dname; } } else { area.title = ''; } return true; } function re() { var area = this; window.setTimeout(function() { if (ge == area) { _d = false; hf(m_c.z); hh(); } }, 50); } function wg(ng, qf) { var ih, jh; for (var i = 0; i < mdim.x; i++) { switch (qf) { case 1: ih = i; jh = mdim.x - 1; _e = ng[i][m_c.index]; break; case 2: ih = mdim.x - 1; jh = i; _e = ng[m_c.index][i]; break; case 3: ih = i; jh = 0; _e = ng[i][m_c.size - m_c.index - 1]; break; case 4: ih = 0; jh = i; _e = ng[m_c.size - m_c.index - 1][i]; break; } yg(ih, jh, _e); } } function kh(x, y, tf, uf) { var of = pe(x, y, 'i'); var lh = pe(tf, uf, 'i'); mh( of , lh); if ( of .firstChild) { if (!lh.firstChild) { lh.appendChild(document.createElement('span')) } lh.firstChild.className = of .firstChild.className; } else { if (lh.firstChild) { lh.removeChild(lh.firstChild); } } nh(x, y, tf, uf); } function nh(x, y, tf, uf) { _e = pe(x, y, 'a'); oh = pe(tf, uf, 'a'); oh.details = _e.details; oh.details.fresh = {}; } function mh( of , lh) { lh.className = of .className; } function vg(qf) { for (var i = 0; i < mdim.x; i++) { for (var j = 1; j < mdim.x; j++) { switch (qf) { case 1: kh(i, j, i, j - 1); break; case 2: kh(j, i, j - 1, i); break; case 3: kh(i, mdim.x - 1 - j, i, mdim.x - j); break; case 4: kh(mdim.x - 1 - j, i, mdim.x - j, i); break; } } } } function eh(qd) { if (de[qd] !== undefined) { return de[qd]; } return 0; } //document.onkeyup=le; function le(e) { if (vd) { return true; } var qd = ((window.event) ? event.keyCode : e.keyCode); if (16 == qd) { ud = false; } var qf = eh(qd); if (qf == wd && wd != 0) { wd = 0; kf(m_c.z); ph(); } } function m_r(qf, qh) { if (wd == qf && qh == xd) { window.setTimeout(function() { m_r(qf, qh) }, 100); map_scroll(qf, 1); } } function qg(rh) { var jb; switch (rh) { case 2: case 4: case 'x': jb = 'x'; break; case 1: case 3: case 'y': jb = 'y'; break; } var sh = 'm' + jb; var th; var uh; var vh = 0; var wh = 0; for (var i = 0; i < mdim.x; i++) { if (jb == 'x') { vh = i; } else { wh = i; } if (ee[sh][i]) { th = pe(vh, wh, 'a').details[jb]; ee[sh][i].firstChild.nodeValue = th; } } } //document.onkeydown=me; function me(e) { if (vd) { return true; } var qd = (window.event) ? event.keyCode : e.keyCode; if (qd == 16) { ud = true; } var qf = eh(qd); if (qf != 0 && qf != wd) { var rf = (ud ? mdim.x : 1); map_scroll(qf, rf); var qh = new Date().getTime(); if (rf == 1) { window.setTimeout(function() { m_r(qf, qh) }, 500); } xd = qh; wd = qf; ph(); } if (qf != 0) { return false; } } function ph() { window.setTimeout(function() { if (_d) { $e(ge.details); } }, 60); } var xh = {}; function pe(ah, bh, yh) { if (xh) { return xh[yh][ah][bh]; } } function ie(zh) { var yh; for (var i = 0; i < zh.length; i++) { yh = zh[i]; xh[yh] = []; for (var ah = 0; ah < mdim.x; ah++) { xh[yh][ah] = []; for (var bh = 0; bh < mdim.y; bh++) { xh[yh][ah][bh] = document.getElementById(yh + '_' + ah + '_' + bh); } } } } function hh() { $e({ $h: '', name: '', _h: '', ai: '', x: m_c.z.x, y: m_c.z.y }); } var quest = { 'anmstep': false }; function bi(length, ci) { if (length === undefined) { length = 8; } if (ci === undefined) { ci = 0.5; } var di = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'; var bi = ''; for (var i = 0; i < length; i++) { var ei = Math.floor((Math.random() + ci) * 0.5 * di.length); bi += di.substring(ei, ei + 1); } return bi; } function fi(qact, qact2) { if (qact === undefined) { qact = false; } if (qact2 === undefined) { qact2 = false; } var gi = 'ajax.php?f=qst'; var ci = (Math.abs(quest.number) + 1) / (Math.abs(quest.last) + 1); return gi + '&cr=' + bi(4, ci) + '&qact=' + qact + '&qact2=' + qact2; } function qst_next(jf, act, act2) { var id; if (jf) { id = { 'x': document.getElementById('qst_val_x').value, 'y': document.getElementById('qst_val_y').value }; } else { id = { 'val': document.getElementById('qst_val').value }; } pi(); fd(fi(act, act2), function(mf) { for (var qd in mf) { quest[qd] = mf[qd]; } }, 'POST', id); qst_wfm(); } function hi() { document.getElementById('ce').innerHTML = ''; var step; if (quest.anmstep === false) { step = { 'step': {}, 'source': {}, 'current': {}, 'target': { 'width': 448, 'height': 482, 'top': -1 }, 'fps': 50, 'n': 10, 'i': 0, 'anm': {} }; step.target[quest.rtl ? 'right' : 'left'] = '-502'; } else { step = quest.anmstep; ii(false); } step.anm = document.getElementById('anm'); for (var ji in step.target) { step.source[ji] = Number(step.anm.style[ji].substr(0, step.anm.style[ji].length - 2)); step.current[ji] = step.source[ji]; step.step[ji] = Math.round((step.target[ji] - step.source[ji]) / step.n); } step.timeout = 1000 / step.fps; quest.cstep = step; quest.anmlock = true; window.setTimeout(anm_step, step.timeout); } function ki(step) { for (var ji in step.target) { step.anm.style[ji] = step.current[ji] + 'px'; } } function li(step) { step.i++; if (step.i == 2) { step.anm.style.visibility = 'visible'; } for (var ji in step.target) { step.current[ji] += step.step[ji]; } return step; } function ii(mi) { if (mi === undefined) { mi == false; } var ni = document.getElementById('ce'); if (mi) { var oi = '
Close
'; ni.innerHTML = oi; pi(); qst_wfm(); vc(); qi(true); uc(); } else { ni.innerHTML = ''; qi(false); } } function qi(vis) { if (!is_ie6) { return; } var ri = vis ? 'hidden' : 'visible'; var si = document.getElementsByTagName('select'); var n = si.length; for (var i = 0; i < n; i++) { si[i].style.visibility = ri; } } function anm_step() { step = li(quest.cstep); ki(step); if (step.i < step.n) { window.setTimeout('anm_step()', step.timeout); } else { step.anm.style.visibility = 'hidden'; quest.anmlock = false; quest.cstep = false; if (quest.anmstep === false) { step.current = step.target; step.target = step.source; step.source = step.current; ki(step); step.i = 0; ii(true); quest.anmstep = step; } else { quest.anmstep = false; if (quest.number >= quest.last || quest.altstep == 9) { document.getElementById('qge').innerHTML = ''; } } } } function ti() { var timer = document.getElementById('qst_timer'); if (timer && timer.parentNode.style.display != 'none') { if (!timer.timestamp) { timer.timestamp = db() + ob(timer); } else { var ui = timer.timestamp - db(); if (ui < 0) { timer.parentNode.style.display = 'none'; document.getElementById('qst_reshere').style.display = 'block'; } else { timer.innerHTML = rb(ui); } } window.setTimeout(ti, 1000); } } function qst_fhandle() { id = { 'val': 1 }; fd(fi(), function(mf) {}, 'POST', id); qst_handle(); } function qst_handle() { if (quest.anmlock) { return false; } quest.markup = false; if (quest.anmstep === false) { fd(fi(), function(mf) { for (var qd in mf) { quest[qd] = mf[qd]; } }); } hi(); if (quest.ar) { auto_reload = quest.ar; quest.ar = undefined; if (!window.reloading) { document.location.href = (document.location.href.indexOf('#') > -1 ? document.location.href.substring(0, document.location.href.indexOf('#')) : document.location.href); window.reloading = true; } } } function qst_wfm() { var vi = document.getElementById('popup3'); if (!quest.markup || !vi) { if (!quest.anmlock) { window.setTimeout('qst_wfm(true)', 50); } } else { wi(quest); vi.innerHTML = quest.markup; uc(); xi = false; if (quest.reward.finish && window.bld) { var yi = document.getElementById('building_contract'); if (bld.length < 2 && bld[0].gid == 1) { yi.innerHTML = ''; xi = 0; } else { for (var i in bld) { if (bld[i].stufe == 1 && bld[i].gid == 1) { yi.getElementsByTagName('table')[0].deleteRow(i); xi = i; break; } } } if (xi !== false) { var zi = $$('#t3 .rf' + bld[xi].aid)[0]; if (zi) { zi.removeClass('rf' + bld[xi].stufe); zi.addClass('rf' + bld[xi].stufe + 1); } else { $$('.f3')[0].appendChild(new Element('img', { 'class': ('reslevel rf' + bld[xi].aid + ' level' + bld[xi].stufe), 'src': 'img/x.gif' })); } } quest.ar = auto_reload; auto_reload = -1; } if (quest.reward.plus) { var of = document.getElementById('logo').className = 'plus'; } quest.markup = false; quest.msg = false; } } function qst_weiter() { pi(); fd(fi(), function(mf) { document.getElementById('popup3').innerHTML = mf.markup; var $i = document.getElementById('qgei'); $i.className = mf.qgsrc; wi(mf); uc(); }); } function pi() { document.getElementById('popup3').innerHTML = ''; } function qst_enter(jf) { if (jf === undefined) { jf = false; } var id; if (jf) { id = { 'x': document.getElementById('qst_val_x').value, 'y': document.getElementById('qst_val_y').value }; } else { id = { 'val': document.getElementById('qst_val').value }; } pi(); fd(fi(), function(mf) { for (var qd in mf) { quest[qd] = mf[qd]; } }, 'POST', id); qst_wfm(); } function qst_enter_coords() { qst_enter(true); } function wi(_i) { var $i = document.getElementById('qgei'); if ($i && _i.qgsrc) { $i.className = _i.qgsrc; } var aj = document.getElementById('n5'); if (aj && _i.msrc) { aj.className = _i.msrc; } if (_i.cookie) { var date = new Date(); date.setTime(date.getTime() + 300000); document.cookie = 't3fw=1; expires=' + date.toUTCString() + ';'; } if (_i.fest && he('dorf2')) { document.getElementById('content').innerHTML += _i.fest; } window.setTimeout(ti, 30); } function he(bj) { return window.location.href.indexOf(bj + '.php') != -1; } function vil_levels_toggle() { var cj = $('levels'), dj = $('lswitch'); cj.toggleClass('on'); dj.toggleClass('on'); if (cj.hasClass('on')) { document.cookie = 'SHOWLEVELS=1; expires=Wed, 1 Jan 2020 00:00:00 GMT'; } else { document.cookie = 'SHOWLEVELS=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; } } function gmwd() { if (is_ff2 && document.getElementById("gmwi").offsetWidth < 50) { document.cookie = "a3=2; expires=Wed, 1 Jan 2020 00:00:00 GMT"; } else { document.cookie = "a3=1; expires=Wed, 1 Jan 2020 00:00:00 GMT"; } } function gmc() { document.getElementById("gmw").style.display = "none"; document.cookie = "a3=3; expires=Wed, 1 Jan 2020 00:00:00 GMT"; } function documentWidth() { return Math.max( document.documentElement.clientWidth, document.body.scrollWidth, document.documentElement.scrollWidth, document.body.offsetWidth, document.documentElement.offsetWidth ); } function documentHeight() { return Math.max( document.documentElement.clientHeight, //document.body.scrollHeight, //document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight ); }