const ADD = 'add'; const BODY = 'body'; const CU = 'cu'; const DIV = 'DIV'; const MOVE = 'move'; const OPAC = 100; const PLAN = '#plan'; const POST = 'POST'; const PROPS = 'props'; const SQUARE = 30; const SVG = 'svg'; var selected = null; var mode = null; var messageTimer = null; var messageOpacity = 0; var trainAwaitingDestination = null; var lastTab = null; function addClass(data){ parts = data.split(" "); $('#'+parts[0]).addClass(parts[1]); } function addMessage(txt){ $('#messages').html(txt); if (messageTimer != null) window.clearInterval(messageTimer); messageOpacity = 3000; messageTimer = setInterval(fadeMessage,100); } function addTile(x,y){ return request({realm:'plan',action:mode,tile:selected.id,x:x,y:y}); } function arrangeTabs(){ var id = 0; var tabs = $('
',{'class':'tabs'}); var winId = $('.window').attr('id')+"-"; tabs.insertAfter($('.swapbtn')); var target = null; $('.window > fieldset > legend').each(function(){ var fs = this.parentNode; if (!fs.id) fs.id = winId+id; if (fs.id == lastTab) target = this; $(this).appendTo(tabs).click(fs.id,clickLegend); if (id > 0) { $(fs).hide(); } else $(this).addClass('front'); id++; }); if (target != null) clickLegend({'data':lastTab,'target':target}); } function clickLegend(ev){ lastTab = ev.data; $('.window > .tabs > legend').removeClass('front'); $(ev.target).addClass('front'); $('.window > fieldset').hide(); $('#'+lastTab).show(); } function clickTile(x,y){ var id = x+"-"+y; var tiles = $('#'+id); if (tiles.length > 0) { if (trainAwaitingDestination != null && tiles.hasClass("Block")) { request({realm:'train',id:trainAwaitingDestination,action:MOVE,destination:id}); trainAwaitingDestination = null; $(PLAN).css('cursor',''); return false; } request({realm:'plan',action:'click',id:id}); } return false; } function closeMenu(ev){ if (selected != null) $(selected).css('border',''); $('.menu .list').css('display','') mode = null; selected = null; return false; } function closeWindows(){ $('.window').remove(); $('.preview').removeClass('preview'); $('#plan').css('height','').css('width',''); } function connectCu(){ return request({realm:CU,action:"connect"}); } function dropClass(data){ var parts = data.split(" "); for (var i=1; i