
var Lang={Get:function(str){if($chk(ln[str])){return ln[str];}else{return'';}},get:function(str){return this.Get(str);},ln:function(){if($chk(Language)){return Language;}
return'nl';}};var Config={method:'get',url:'loader.php',statsurl:'stats.php',saver:'saver.php',agent:'travianmap',map:'mapp',map_bg:'map_bg',legenda:'items',zoomlevels:5,deltaMove:150,top:603,left:-6,map_size:300,travianmap:400,stammen:Lang.get('stammen'),move:true,debug:false,color_org:'#b9e981',color_hover:'#90d83b'};String.implement({toQueryArray:function(){var pairs=this.match(/\??([^\/\?]*)$/)[1].split('&');var params={};pairs.each(function(pair){pair=pair.split('=');params[pair[0]]=decodeURIComponent(unescape(pair[1]));});return params;}});var Init={reset:function(){this.overall=this.sortering=this.stats=null;this.currentzoom=[0,0];this.zoomlevel=1;this.starttime=$time();this.times=[0,0,0,0];this.statics=[0,0];Move.moveCount=[0,0];this.activeItem=null;Layout.sliderNum=Config.zoomlevels;Layout.slider.set(Config.zoomlevels);Map.setZoomCoords();Move.reset();Kleuren.reset();$(Config.map).empty();$('geenres').setStyle('top',-100);Legenda.clear();Coordsstart=[0,0];this.nbd=false;},resetCoords:function(){Init.zoomlevel=1;Init.currentzoom=[0,0];Move.reset();Map.setZoomCoords();Loader.hideLoader();},InitRequest:false,Initalisize:function(){this._GET=this.setGet();Loader.getRequest();Layout.initSlider();Layout.initButtons();var c=Cookie.read('tmap_server');if(c!=""){Layout.setSelect('servers',c);}},times:[0,0,0,0],statics:[0,0],showTimes:function(){var t=this.times;var ts=this.statics;var times='Totaal parse tijd: '+t[0]+' ms \n'+'Server parse tijd: '+t[1]+' ms \n'+'Client parse tijd: '+t[2]+' ms \n'+'Overdrachtstijd: '+t[3]+' ms \n'+'-------------- \n'+'Aantal dorpen: '+ts[0]+' \n'+'Aantal legenda items: '+ts[1]+' \n'+'-------------- \n'+'Javascripttijd/dorpen: '+(t[2]/ts[0])+' ms \n'+'Javascripttijd/legenda: '+(t[2]/ts[1])+' ms \n';alert(times);},activeItem:null,overall:null,sortering:null,stats:null,saver:null,currentserver:null,currentlang:Lang.ln(),currentzoom:[0,0],zoomlevel:1,nbd:false,range:null,starttime:$time(),setState:function(s){this.setDebug('Status: '+s);},setPHP:function(s){this.setDebug('PHP: '+s);},setDebug:function(str){if(str.length<100||Config.debug==true){$('tempresult').innerHTML+='<br />'+str;}},findPos:function(obj){var curleft=curtop=0;if(obj.offsetParent){do{curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}while(obj=obj.offsetParent);return[curleft,curtop];}},setGet:function(){var uriStr=window.location.href.replace(/&amp;/g,'&');return uriStr.toQueryArray();},_GET:null};var Handle={zoek:function(){Loader.showLoader();if(Init.InitRequest==false){Layout.close();Init.reset();}
Loader.loadtime=$time();Loader.load.send(Form.postbody);},klikzoom:function(coords){Init.currentzoom=coords;Layout.plusSlider();this.zoomIn();},klikzoomout:function(){Layout.minSlider();this.zoomout();},zoomIn:function(){if(Init.overall!=null){Loader.showLoader();}else{return;}
if(this.sliderNum>=1){Init.zoomlevel*=2;Map.setZoomCoords();Loader.Render();}
Loader.hideLoader();},zoomout:function(){if(Init.overall!=null){Loader.showLoader();}else{Init.resetCoords();return;}
if(Init.zoomlevel<2){Init.resetCoords();}
if(this.sliderNum<=5){Init.zoomlevel=Init.zoomlevel/2;if(Init.zoomlevel<=1){Init.resetCoords();}
Map.setZoomCoords();Loader.Render();}
Loader.hideLoader();},loadStats:function(type,id){if(type==1){var t='clan';}else if(type==2){var t='stam';}else{var t='speler';}
var url='action='+t+'&ser='+Init.currentserver+'&id='+id;Init.stats=null;Loader.loadStats.send(url);},sliderNum:Config.zoomlevels,doSlider:function(step){if(step<this.sliderNum){Init.zoomlevel=Math.pow(2,Config.zoomlevels-1)/Math.pow(2,step);this.sliderNum=step;this.zoomIn();}else{Init.zoomlevel=Math.pow(2,Config.zoomlevels-1)/Math.pow(2,step);this.sliderNum=step;this.zoomout();}}};var JSONP={parse:function(text){var t=$try(function(){return eval('('+text+')');});return t;}};var Form={formFlag:false,postbody:null,setForm:function(){var sort=$('sort');var sortering=sort.options[sort.selectedIndex].value;var stam=$('stam').options[$('stam').selectedIndex].value;var a=$('ally').getProperty('value');var s=$('spelers').getProperty('value');if(a!=''&&s==''&&sortering=='selec'){sortering=1;}
var serv=$('servers');var ser=serv.options[serv.selectedIndex].value;if(isNaN(ser.toInt())){ser=Layout.getNextIndexFromSelect('servers',ser);Layout.setSelect('servers',ser);}
Init.currentserver=ser;Cookie.write('tmap_server',ser,{duration:30});var t='server='+escape(ser)+'&spelers='+escape(s)+'&ally='+escape(a)+'&sort='+escape(sortering);var minp=$('minp').getProperty('value').toInt();if(!isNaN(minp)){t+='&minp='+minp;}
var maxp=$('maxp').getProperty('value').toInt();if(!isNaN(maxp)){t+='&maxp='+maxp;}
var nbd=$('nbd').checked;if(nbd){t+='&nbd=1';}
var x1=$('range_x1').getProperty('value').toInt(),y1=$('range_y1').getProperty('value').toInt();var x2=$('range_x2').getProperty('value').toInt(),y2=$('range_y2').getProperty('value').toInt();if(!isNaN(x1)&&!isNaN(x2)&&!isNaN(y1)&&!isNaN(y2)){t+='&range='+x1+','+y1+','+x2+','+y2;Init.range=[[x1,y1],[x2,y2]];}
if(stam!=0){t+='&stam='+escape(stam);}
t+='&z='+Math.round(Init.currentzoom[0],0)+','+Math.round(Init.currentzoom[1],0)+','+Init.zoomlevel;t+='&ln='+Lang.ln();this.postbody=t;return t;},geav_eff:null,set:function(){if(this.geav_eff==null){this.geav_eff=new Fx.Tween($('zoekveld'),{duration:300});}},open:function(){this.set();this.formFlag=true;this.geav_eff.start('height',150);},close:function(){this.set();this.formFlag=false;this.geav_eff.start('height',48);},toggle:function(){this.set();if(this.formFlag==true){this.close();}else{this.open();}}};var Loader={loadtime:null,load:new Request({method:Config.method,url:Config.url,headers:{'HANDLER':Config.agent},onRequest:function(){Loader.showLoader()},onSuccess:function(responseText){Loader.progress(responseText);}}),progress:function(tekst){Init.overall=JSONP.parse(tekst);if(Init.overall==null){Layout.showError();Init.setDebug('Result str was niet valid');return;}
Init.times[3]=($time()-this.loadtime-Math.round(Init.overall.exec_time*1000,0));if(Init.overall.resnum>1){if(Init.overall.resnum==11){this.hideLoader();Layout.open();}else{Layout.showError();}}else{this.start();}},Render:function(){if(Init.overall==null){return false;}
var start=$time();Move.reset();$(Config.map).getElements('span').each(function(el){if(el.hasClass('nbd')==false){var uid=el.getProperty('x_uid');var vid=el.getProperty('vid');var x=Init.overall.users[uid].v[vid].x;var y=Init.overall.users[uid].v[vid].y;el.setStyle('top',Coords.calc_y(y));el.setStyle('left',Coords.calc_x(x));}});Init.times[2]=$time()-start;Init.setDebug('Jstime: '+Init.times[2]+' ms');Loader.hideLoader();},start:function(){if(Init.overall==null){return false;}
var loadtime_me=($time()-this.loadtime-Math.round(Init.overall.exec_time*1000,0));Init.sortering=Init.overall.sortering;Form.close();if(Init.overall.users.length==0){Layout.showNoresult();return;}
if($chk(Init.overall.z)){var t=Init.overall.z.split(',');Init.currentzoom=[t[0].toInt(),t[1].toInt()];Init.zoomlevel=t[2].toInt();Init.currentserver=Init.overall.server;if(Init.overall.nbd==1){Init.nbd=true;}
var range=Init.overall.range;if(range!=''){var r=range.split(',');Init.range=[[r[0],r[1]],[r[2],r[3]]];}}
if($('nbd').checked){Init.nbd=true;}
if(Init.zoomlevel>1&&Init.range==null){Layout.setSlider(Init.zoomlevel);}
if(Init.range!=null&&Init.InitRequest==false){var d1=Math.abs(Init.range[0][0]-Init.range[1][0]);var d2=Math.abs(Init.range[0][1]-Init.range[1][1]);var ra=(d1>d2)?d1:d2;Init.currentzoom=[Init.range[0][0]+(ra/2),Init.range[0][1]+(ra/2)];Init.zoomlevel=Config.travianmap/ra;}
Map.create();Map.setZoomCoords();Loader.hideLoader();Legenda.open();Layout.setFormData();Init.times[0]=($time()-this.loadtime);Init.times[1]=Math.round(Init.overall.exec_time*1000,0);Init.times[2]=($time()-this.loadtime-loadtime_me);if($chk(Init.overall.vis)){var v=Init.overall.vis;for(var t=0;t<v.length;t++){if(v[t]==0){$('checkbox_'+t).fireEvent('click',null);$('checkbox_'+t).checked=false;}}}},showLoader:function(){$('loader').setStyle('display','block');},hideLoader:function(){$('loader').setStyle('display','none');},loadStats:new Request({method:Config.method,url:Config.statsurl,headers:{'HANDLER':Config.agent},onRequest:function(){Loader.showLoader()},onSuccess:function(responseText){Loader.handleStats(responseText);}}),handleStats:function(result){Init.stats=JSONP.parse('('+result+')');if(Init.stats==null){Layout.showError();return;}
if(Init.stats.resnum!=0){Layout.showError();return;}
Alert.showStats();},getValue:function(key){if($chk(Init._GET[key])){return Init._GET[key];}
return false;},getRequest:function(){if(this.getValue('server')&&this.getValue('sort')){Init.InitRequest=true;Init.currentserver=this.getValue('server');Layout.setSelect('servers',Init.currentserver);var url='server='+this.getValue('server');var range=this.getValue('range');if(range!=''){var r=range.split(',');Init.range=[[r[0],r[1]],[r[2],r[3]]];url+='&range='+range;}
var sort=this.getValue('sort');if(sort<0||sort>2){sort=0;}
if(this.getValue('z')){var t=this.getValue('z').split(',');Init.currentzoom=[t[0].toInt(),t[1].toInt()];Init.zoomlevel=t[2].toInt();}
if(this.getValue('spelers')){url+='&spelers='+escape(this.getValue('spelers'));}
if(this.getValue('ally')){url+='&ally='+escape(this.getValue('ally'));}
url+='&sort='+sort;var stam=(this.getValue('stam'))?this.getValue('stam'):0;if(stam!=0){url+='&stam='+stam;}
var minp=this.getValue('minp');var maxp=this.getValue('maxp');if(minp!=''){url+='&minp='+minp;}
if(maxp!=''){url+='&maxp='+maxp;}
Form.postbody=url+'&ln='+Lang.ln();setTimeout('Handle.zoek()',100);}else if(this.getValue('hash')){Form.postbody='hash='+this.getValue('hash');Init.InitRequest=true;Handle.zoek();}},sendData:function(){if(Init.overall==null){return;}
Form.setForm();var hash=new Hash(Form.postbody.toQueryArray());var temp=new Array();temp['k']=new Array();temp['vis']=new Array();$('mapp').getElements('div').each(function(el){var span=el.getElement('span');var id=span.getProperty('x_uid');var k=span.getStyle('background-color');temp['k'][id]=k;if(el.getStyle('display')!='none'){temp['vis'][id]=1;}else{temp['vis'][id]=0;}});hash.extend(temp);var data=hash.toQueryString();var req=new Request({method:'post',url:Config.saver,headers:{'HANDLER':Config.agent},onRequest:function(){Loader.showLoader()},onSuccess:function(responseText){Loader.handleGenerator(responseText);}});req.send(data);},handleGenerator:function(ret){var obj=JSONP.parse(ret);if(obj.resnum!=2){Layout.showError(Lang.get('error'));return;}else{var t=window.top.location.href.split('?');index=($chk(t[1])?t[0]:window.top.location.href);var input=new Element('input',{'type':'text','class':'widthLink','id':'linkBinput'});input.setProperty('value',index+'?hash='+obj.result+'&ln='+Lang.ln());$('linkB').empty();$('linkB').appendChild(input);Loader.hideLoader();}}};var Coords={cx:function(tx){return(tx*(Config.map_size/Config.travianmap))+Config.map_size;},cy:function(ty){return(-1*((ty*(Config.map_size/Config.travianmap))-Config.map_size));},calc_x:function(tx){var temp=Math.abs(Init.currentzoom[0]-tx)*Init.zoomlevel;if(tx<Init.currentzoom[0]){temp*=-1;}
return Config.left+this.cx(temp);},calc_y:function(ty){var temp=Math.abs(Init.currentzoom[1]-ty)*Init.zoomlevel;if(ty<Init.currentzoom[1]){temp*=-1;}
return Config.top+this.cy(temp);}};var Villages={users:new Array(),hideUser:function(id){if($defined(this.users[id])==false||this.users[id]==0){this.users[id]=1;$('i_'+id).setStyle('display','none');}else{this.users[id]=0;$('i_'+id).setStyle('display','block');}},drawVillages:function(divinto,userid,kleur){var dorpen=Init.overall.users[userid].v;var aantaldorpen=dorpen.length;for(var x=0;x<aantaldorpen;x++){var t=this.createVillage(dorpen[x],x,userid,kleur);if(t!==false){if(Init.nbd){var nbd=new Element('span',{'class':'nbd','styles':{'top':-10,'left':+10}});nbd.appendText(dorpen[x].n);t.appendChild(nbd);}
divinto.appendChild(t);}}},createVillage:function(dorp,x,userid,kleur){if(!Config.move){var range=(Config.travianmap/Init.zoomlevel);if(dorp.x>=(Init.currentzoom[0]-range)&&dorp.x<=(Init.currentzoom[0]+range)){if(dorp.y>=(Init.currentzoom[1]-range)&&dorp.y<=(Init.currentzoom[1]+range)){}else{return false;}}else{return false;}}
if(dorp.p<250){var g='v k';}else if(dorp.p>=250&&dorp.p<501){var g='v m';}else{var g='v g'}
var t=new Element('span',{'class':g,'events':{'click':function(){Alert.giveInfo(userid,this.getProperty('vid'));},'dblclick':function(e){Handle.klikzoom(Map.getKlikCoords(e));e.stop();}},'styles':{'top':Coords.calc_y(dorp.y),'left':Coords.calc_x(dorp.x),'background-color':kleur},'title':dorp.n+' ('+dorp.x+'|'+dorp.y+')'});t.setProperty('vid',x);t.setProperty('x_uid',userid);Init.statics[0]++;return t;}};var Legenda={openFlag:false,nav:null,set:function(){if(this.nav==null){this.nav=new Fx.Tween($('legenda'),{duration:400});}},open:function(){this.set();this.openFlag=true;this.nav.start('margin-left',5);},close:function(){this.set();this.openFlag=false;this.nav.start('margin-left',-219);},toggle:function(){this.set();if(this.openFlag==false){this.open();}else{this.close();}},makeLeg:function(j,k){var data=Init.overall.legenda;var user=Init.overall.users[data[j].num];switch(Init.sortering){case'0':this.addItem(j,user.n,k,user.v,0,user.v.length);break;case'1':var ally=user.a;if(ally==""){ally=user.n;}
this.addItem(j,ally,k,Init.overall.users,data[j].van,data[j].tot);break;case'2':this.addItem(j,Config.stammen[data[j].id],k,Init.overall.users,data[j].van,data[j].tot);break;}},addItem:function(j,naam,kleur,inhoud,van,tot){var BlockDiv=new Element('div',{'class':'titel','id':'legenda_'+j,'styles':{'background-color':kleur},'events':{'click':function(e){if(Kleuren.active!=null){Kleuren.active.element.fireEvent('click',e);}}}});var floatdiv=new Element('div',{'class':'floatdiv'});var input=new Element('input',{'type':'checkbox','name':'v','id':'checkbox_'+j,'checked':'checked','events':{'click':function(e){Villages.hideUser(j);if(e!=null){e.stopPropagation();}}}});floatdiv.appendChild(input);var span=new Element('span',{'events':{'click':function(){Legenda.showLegendaItems(j);}},'class':'name'});span.innerHTML=naam;var img=new Element('img',{'alt':'stats','src':'data/img/stats.gif','events':{'click':function(e){Handle.loadStats(Init.sortering,Init.overall.legenda[j].id);e.stopPropagation();}},'class':'left'});var cp=new Element('img',{'alt':'Pick Color','id':'kleuren_'+j,'src':'data/img/rainbow.png','events':{'click':function(){var isactive=Kleuren.isActive(j);if(Kleuren.active==null||isactive==false){Kleuren.setItem(j);}}},'class':'left color'});floatdiv.appendChild(span);floatdiv.appendChild(cp);floatdiv.appendChild(img);BlockDiv.appendChild(floatdiv);BlockDiv.injectInside('items');Init.statics[1]++;},clear:function(){$(Config.legenda).empty();$(Config.legenda).innerHTML='<div class="first"></div>';},showLegendaItems:function(id){Kleuren.reset();var data=Init.overall.legenda[id];var it=Init.overall;var leg=$('legenda_'+id);if($chk($('openleg'))==true){if(leg.hasChild('openleg')){$('openleg').destroy();this.deMark(id);return;}
$('openleg').destroy();}
var div=new Element('div',{'id':'openleg'});var ul=new Element('ul',{'class':'legendaul'});if(Init.sortering==0){var t=it.users[id].v.length;for(var j=0;j<t;j++){ul.appendChild(Layout.makeLi(it.users[id].v[j].n,''));}}else if(Init.sortering==1||Init.sortering==2){var t=data.tot;for(var j=data.van;j<t;j++){ul.appendChild(Layout.makeLi(it.users[j].n,''));}}
div.appendChild(ul);leg.appendChild(div);this.mark(id);},uncheckAll:function(){$$('#items input[type="checkbox"]').each(function(el){el.fireEvent('click');el.checked=!el.checked;});},mark:function(id){if(Init.activeItem!=null){this.deMark(Init.activeItem);}
Init.activeItem=id;$('i_'+id).getElements('span').each(function(el){el.addClass('marked');});},deMark:function(id){$('i_'+id).getElements('span').each(function(el){el.removeClass('marked');});}};var Kleuren={previd:null,active:null,setItem:function(nummer){if(this.active!=null){this.reset();}
this.previd=nummer;this.active=new MooRainbow('kleuren_'+nummer,{startColor:$('legenda_'+nummer).getStyle('background-color').hexToRgb(true),onComplete:function(color){Kleuren.handleItem(nummer,color.rgb);},'imgPath':'data/img/cp/'});},isActive:function(num){var el=$('mooRainbow');if($chk(el)){if(this.previd!=num){return false;}}
return true;},handleItem:function(nummer,color){$('i_'+nummer).getElements('span').each(function(el){el.setStyle('background-color','rgb('+color+')');});$('legenda_'+nummer).setStyle('background-color','rgb('+color+')');},reset:function(){if($chk($('mooRainbow'))){$('mooRainbow').destroy();}
this.active=null;this.previd=null;}};var Map={getKlikCoords:function(event){var xy=Init.findPos($('map'));var tx=event.page.x-xy[0];var ty=event.page.y-xy[1];var z=Config.travianmap/Config.map_size;var tempx=z*(tx-Config.map_size);var tempy=z*(-1*(ty-Config.map_size));var ver_fact=1/Init.zoomlevel;tempx*=ver_fact;tempy*=ver_fact;tempx+=Init.currentzoom[0];tempy+=Init.currentzoom[1];var t=Config.travianmap;if(tempx<-t||tempx>t||tempy<-t||tempy>t){tempx=Init.currentzoom[0];tempy=Init.currentzoom[1];}
Coordsstart=[tempx,tempy];return[Math.round(tempx,0),Math.round(tempy,0)];},setZoomCoords:function(){var zoom=Config.travianmap/Init.zoomlevel;$('zr').innerHTML=Math.round(Init.currentzoom[0]+zoom,0);$('zl').innerHTML=Math.round(Init.currentzoom[0]-zoom,0);$('zb').innerHTML=Math.round(Init.currentzoom[1]+zoom,0);$('zo').innerHTML=Math.round(Init.currentzoom[1]-zoom,0);$('zc').innerHTML='('+Math.round(Init.currentzoom[0],0)+','+Math.round(Init.currentzoom[1],0)+')';Alert.generateLink();},create:function(){var data=Init.overall.legenda;var aantal=Init.overall.legenda.length;var map=$(Config.map);for(var j=0;j<aantal;j++){var kleur=Init.overall.users[data[j].num].k;var totusers=data[j].tot;var divinto=new Element('div');divinto.setProperty('id','i_'+j);for(var k=data[j].van;k<totusers;k++){Villages.drawVillages(divinto,k,kleur);}
Legenda.makeLeg(j,kleur);map.appendChild(divinto);}}};var Alert={infoNumInfo:0,infoStats:0,giveInfo:function(uid,vid){var data=Init.overall.users[uid];if(this.infoNumInfo==0){var t=$('info');var append=false;}else{var t=$('info').clone();var append=true;}
t.setStyle('display','block');t.setStyle('top',t.getStyle('top').toInt()+(160*this.infoNumInfo));t.getElement('.weg').addEvent('click',function(){if(Alert.infoNumInfo>0){Alert.infoNumInfo--;}
if(append==true){t.destroy();}else{t.setStyle('display','none');}});var table=t.getElement('table');if(append==true){t.setAttribute('id','clone_'+this.infoNumInfo);$('kaart').appendChild(t);Layout.dragAble('clone_'+this.infoNumInfo);}else{Layout.dragAble('info');}
this.infoNumInfo++;function a(naam,functie){var a=new Element('a');a.innerHTML=naam;a.addEvent('click',function(){eval(functie);});return a;}
table.empty();Layout.makeRow(table,Lang.get('player'),a(data.n,'Handle.loadStats(0,'+data.uid+')'));Layout.makeRow(table,Lang.get('clan'),a(data.a,'Handle.loadStats(1,'+data.aid+')'));Layout.makeRow(table,Lang.get('stam'),Config.stammen[data.s]);Layout.makeRow(table,Lang.get('villagers'),data.v[vid].p);Layout.makeRow(table,Lang.get('village_name'),data.v[vid].n);Layout.makeRow(table,Lang.get('coords'),'('+data.v[vid].x+'|'+data.v[vid].y+')');},showStats:function(){var data=Init.stats;if(data.resnum!=0){return;}
if(this.infoStats==0){var t=$('rankinfo');var append=false;}else{var t=$('rankinfo').clone();var append=true;}
t.setStyle('display','block');t.setStyle('left',t.getStyle('left').toInt()+(280*this.infoStats));t.getElement('.weg').addEvent('click',function(){if(Alert.infoStats>0){Alert.infoStats--;}
if(append==true){t.destroy();}else{t.setStyle('display','none');}});var table=t.getElement('table');table.empty();if(append==true){t.setAttribute('id','clonestats_'+this.infoStats);$('kaart').appendChild(t);Layout.dragAble('clonestats_'+this.infoStats);}else{Layout.dragAble('rankinfo');}
this.infoStats++;if(data.sort==0){Layout.makeRow(table,Lang.get('player'),data.un);}else if(data.sort==1){Layout.makeRow(table,Lang.get('clan'),data.an);Layout.makeRow(table,Lang.get('members'),data.mem);}else if(data.sort==2){Layout.makeRow(table,Lang.get('stam'),Config.stammen[data.r]);Layout.makeRow(table,Lang.get('players'),data.mem);}
Layout.makeRow(table,Lang.get('village_count'),data.v);Layout.makeRow(table,Lang.get('pop'),data.pop);Loader.hideLoader();},generateLink:function(){if(Init.overall!=null){var t=window.top.location.href.split('?');index=($chk(t[1])?t[0]:window.top.location.href);var link=index+'?'+Form.setForm();$('linkA').setProperty('value',link);}}};var Layout={slider:null,startel:false,set:function(){if(this.startel==false){this.startel=new Fx.Tween($('start'));}},open:function(){this.set();this.startel.start('height','180px');},close:function(){this.set();this.startel.start('height','0px');},makeLi:function(bold,val){var li=new Element('li');var strong=new Element('span',{'class':'listitem'});strong.innerHTML=bold+' ';li.appendChild(strong);li.innerHTML+=val;return li;},makeRow:function(table,key,value){if($type(table)=='string'){var table=$(table);}
if(Browser.Engine.trident5||Browser.Engine.trident4){var test=table.insertRow(-1);var td1=test.insertCell(-1);var t=document.createTextNode(key);td1.appendChild(t);var td2=test.insertCell(-1);if($type(value)=='element'){td2.appendChild(value);}else{var t=document.createTextNode(value);td2.appendChild(t);}
return;}
var tr=new Element('tr');var td1=new Element('td');td1.innerHTML=key;tr.appendChild(td1);var td2=new Element('td');if($type(value)=='element'){td2.appendChild(value);}else{td2.innerHTML=value;}
tr.appendChild(td2);table.appendChild(tr);tr=null;},geenRes:function(){var geenRes=new Fx.Morph('geenres',{duration:'long',transition:Fx.Transitions.Back.easeOut});geenRes.start({'top':[-100,300]});Legenda.close();},dragAble:function(item){var drag=new Drag(item,{onStart:function(el){el.addClass('dragging');},onComplete:function(el){el.removeClass('dragging');}});},initZoeken:function(){$('zoek').addEvent('click',function(){Init.InitRequest=false;Form.setForm();Init.resetCoords();Handle.zoek();});},showNoresult:function(){$('geenres').innerHTML=Lang.Get('noresult');Layout.geenRes();Loader.hideLoader();},showError:function(){Loader.hideLoader();Layout.geenRes();$('geenres').innerHTML=Lang.Get('error');},showText:function(t){Loader.hideLoader();Layout.geenRes();$('geenres').innerHTML=t;},minSlider:function(){if((Handle.sliderNum+1)>Config.zoomlevels){Handle.sliderNum=Config.zoomlevels;}else{if(Handle.sliderNum==0){Handle.sliderNum++;}
Handle.sliderNum++;}
this.slider.set(Handle.sliderNum);},plusSlider:function(){if((Handle.sliderNum-1)<1){Handle.sliderNum=0;}else{Handle.sliderNum--;}
this.slider.set(Handle.sliderNum);},setSlider:function(z){var level=0;var zz=z;while(zz>1){level++;zz=zz/2;}
Handle.sliderNum=Config.zoomlevels-level;this.slider.set(Handle.sliderNum);},timer:null,initSlider:function(){this.slider=new Slider('zoomlevelman','knob',{range:[1,Config.zoomlevels],steps:Config.zoomlevels-1,snap:true,mode:'vertical',onComplete:function(step){if(Init.overall==null){if(step!=Config.zoomlevels){Layout.slider.set(Config.zoomlevels);return;}}
if((Handle.sliderNum!=1&&Config.zoomlevels==step)||Handle.sliderNum==step){}else{$clear(this.timer);this.timer=setTimeout('Handle.doSlider('+step+')',400);}},onTick:function(pos){setTimeout('$clear(this.timer)',100);$('knob').setStyle('top',pos);}});this.slider.set(Config.zoomlevels);},initButtons:function(){$('navigatielinks').getElements('span').each(function(el){el.addEvent('click',function(){switch(el.get('class')){case"plus":Handle.klikzoom(Init.currentzoom);break;case"min":Handle.klikzoomout();break;case"lft":Move.moveTo(-Config.deltaMove,0);break;case"rght":Move.moveTo(Config.deltaMove,0);break;case"up":Move.moveTo(0,-Config.deltaMove);break;case"down":Move.moveTo(0,Config.deltaMove);break;case"mid":Move.moveToCenter();break;}});});},setFormData:function(){if(Init.overall!=null){if(($chk(Init.overall.spelers)||$chk(Init.overall.ally)||$chk(Init.overall.range))&&Init.InitRequest==true){$('spelers').setProperty('value',Init.overall.spelers);$('ally').setProperty('value',Init.overall.ally);if(Init.overall.minp>0){$('minp').setProperty('value',Init.overall.minp);}
if(Init.overall.maxp>0){$('maxp').setProperty('value',Init.overall.maxp);}
if(Init.overall.nbd==1){$('nbd').checked=true;}
if(Init.overall.range!=''){var r=Init.overall.range.split(',');$('range_x1').setProperty('value',r[0]);$('range_y1').setProperty('value',r[1]);$('range_x2').setProperty('value',r[2]);$('range_y2').setProperty('value',r[3]);}
this.setSelect('stam',Init.overall.stam);this.setSelect('servers',Init.overall.server);this.setSelect('sort',Init.overall.sortering);Alert.generateLink();}}},setSelect:function(obj,value){if(value=="")return;var obj=$(obj);obj.getElements('option').each(function(el){if(el.value==value){el.selected=true;}});},getNextIndexFromSelect:function(obj,index){if(index=="")return;var obj=$(obj);var server=1;obj.getElements('option').each(function(el){if(el.get('value')==index){server=el.getNext('option').get('value');}});return server;},setEffect:function(element){var el=$(element);var nav=new Fx.Tween(el,{duration:80});el.addEvent('mouseenter',function(){nav.start('background-color',Config.color_hover);});el.addEvent('mouseleave',function(){nav.start('background-color',Config.color_org);});}};var Coordsstart=[0,0];var Move={drag:false,noww:[0,0],temp_d:[0,0],time:0,reset:function(){$(Config.map_bg).setStyle('top',0);$(Config.map_bg).setStyle('left',0);},calculate:function(e){var tdx=e.page.x-this.noww[0];var tdy=e.page.y-this.noww[1];var dx=this.temp_d[0]-tdx;var dy=this.temp_d[1]-tdy;this.temp_d[0]=tdx;this.temp_d[1]=tdy;var el=$(Config.map_bg);el.setStyle('top',el.getStyle('top').toInt()-dy);el.setStyle('left',el.getStyle('left').toInt()-dx);this.handleCurrentzoom(el);var zz=Config.travianmap/Init.zoomlevel;if((Init.currentzoom[0]+zz)>Config.travianmap||(Init.currentzoom[0]-zz)<-Config.travianmap||(Init.currentzoom[1]+zz)>Config.travianmap||(Init.currentzoom[1]-zz)<-Config.travianmap){el.setStyle('top',el.getStyle('top').toInt()+dy);el.setStyle('left',el.getStyle('left').toInt()+dx);this.handleCurrentzoom(el);}},handleCurrentzoom:function(el){var x=el.getStyle('left').toInt();var y=el.getStyle('top').toInt();var z=Config.travianmap/Config.map_size;var tx=Coordsstart[0]-((x*z)/Init.zoomlevel);var ty=Coordsstart[1]-((-y*z)/Init.zoomlevel);Init.currentzoom[0]=tx;Init.currentzoom[1]=ty;Map.setZoomCoords();},fromDrag:false,start:function(e){if(Init.zoomlevel==1){return false;}
this.time=$time();if(e.rightClick==false){$('map').setStyle('cursor','move');this.temp_d=[0,0];this.noww=[e.page.x,e.page.y];this.drag=true;}},stop:function(e){this.drag=false;$('map').setStyle('cursor','default');},move:function(e){if(this.drag){this.calculate(e);}},moveEffect:null,moveSet:function(){if(this.moveEffect==null){this.moveEffect=new Fx.Morph(Config.map_bg,{duration:500,transition:Fx.Transitions.Quad.easeOut});}},moveTo:function(dx,dy){this.moveSet();var el=$(Config.map_bg);var top=el.getStyle('top').toInt();var left=el.getStyle('left').toInt();this.moveEffect.start({'top':[top,top+dy],'left':[left,left+dx]});this.moveCount[0]+=dx/Config.deltaMove;this.moveCount[1]+=dy/Config.deltaMove;var z=Config.travianmap/Init.zoomlevel;var deltax=z/(Config.map_size/dx);var deltay=z/(Config.map_size/dy);Init.currentzoom[0]+=-deltax;Init.currentzoom[1]+=deltay;Map.setZoomCoords();},moveCount:[0,0],moveToCenter:function(){this.moveSet();var el=$(Config.map_bg);var top=el.getStyle('top').toInt();var left=el.getStyle('left').toInt();top+=-this.moveCount[1]*Config.deltaMove;left+=-this.moveCount[0]*Config.deltaMove;var delta=(Config.travianmap/Init.zoomlevel)/(Config.map_size/Config.deltaMove);this.moveEffect.start({'top':top,'left':left});Init.currentzoom[0]=this.moveCount[0]*delta;Init.currentzoom[1]-=this.moveCount[1]*delta;Map.setZoomCoords();this.moveCount=[0,0];}};window.addEvent('domready',function(){Init.Initalisize();Layout.initZoeken();if(Init.InitRequest==false){setTimeout('Layout.open();',100);}
$$('.sluit_start').each(function(el){el.addEvent('click',function(){Layout.close();});});$('zoekveld').addEvent('keydown',function(event){if(event.key=='enter'){event.stop();Init.InitRequest=false;Form.setForm();Init.resetCoords();Handle.zoek();return false;}});$('navigate').addEvent('click',function(){Legenda.toggle();});$('adv').addEvent('click',function(){Form.toggle();});Layout.setEffect('navigate');Layout.setEffect('adv');$('map').addEvent('mouseup',function(e){if(Move.drag==true&&Config.move){Move.stop(e);if(($time()-Move.time)>250){return false;}}
var el=$(e.target);if(el.id=='map_bg'){if(e.rightClick==false){Handle.klikzoom(Map.getKlikCoords(e));}else if(e.rightClick==true){Handle.klikzoomout();return false;}}});$('map').addEvent('dblclick',function(e){Handle.klikzoom(Map.getKlikCoords(e));});$('deselecteer').addEvent('click',function(){Legenda.uncheckAll();});$('klikB').addEvent('click',function(){Loader.sendData();});$('linkA').addEvent('click',function(){$('linkA').select();});$('map').addEvent('contextmenu',function(){return false;});window.addEvent('keydown',function(e){if(e.shift&&e.alt){switch(e.code){case 68:$('tempresult').setStyle('display','block');return false;break;case 84:Init.showTimes();return false;break;}}});if(Config.move){$('map').addEvent('mousedown',function(e){var el=$(e.target);if(el.id=='map_bg'){Move.start(e);}});$('map').addEvent('mousemove',function(e){Move.move(e);});}});