diff --git a/freeciv-web/src/main/webapp/javascript-compressed/webclient.js b/freeciv-web/src/main/webapp/javascript-compressed/webclient.js
index 32c8ccfda..0374490c7 100644
--- a/freeciv-web/src/main/webapp/javascript-compressed/webclient.js
+++ b/freeciv-web/src/main/webapp/javascript-compressed/webclient.js
@@ -143,25 +143,52 @@ function remove_clause_req(a){a=diplomacy_clause_map[active_diplomacy_meeting_id
function client_diplomacy_clause_string(a,b,c,d){switch(c){case CLAUSE_ADVANCE:return a=players[b],a=nations[a.nation].adjective,"The "+a+" give "+techs[d].name;case CLAUSE_CITY:return a=players[b],a=nations[a.nation].adjective,d=cities[d],d!=null?"The "+a+" give "+unescape(d.name):"The "+a+" give unknown city.";case CLAUSE_GOLD:return a=players[b],a=nations[a.nation].adjective,"The "+a+" give "+d+" gold";case CLAUSE_MAP:return a=players[b],a=nations[a.nation].adjective,"The "+a+" give their worldmap";
case CLAUSE_SEAMAP:return a=players[b],a=nations[a.nation].adjective,"The "+a+" give their seamap";case CLAUSE_CEASEFIRE:return"The parties agree on a cease-fire";case CLAUSE_PEACE:return"The parties agree on a peace";case CLAUSE_ALLIANCE:return"The parties create an alliance";case CLAUSE_VISION:return a=players[b],a=nations[a.nation].adjective,"The "+a+" give shared vision";case CLAUSE_EMBASSY:return a=players[b],a=nations[a.nation].adjective,"The "+a+" give an embassy"}return""}
function diplomacy_cancel_treaty(a){send_request(JSON.stringify({type:packet_diplomacy_cancel_pact,other_player_id:a,clause:DS_CEASEFIRE}));update_nation_screen();setTimeout("update_nation_screen();",500);setTimeout("update_nation_screen();",1500)}
-function create_diplomacy_dialog(a){var b=client.conn.playing;$("#diplomacy_dialog").remove();$("
").appendTo("div#game_page");$("#diplomacy_dialog").html("");var c=get_player_fplag_sprite(b),d=get_player_fplag_sprite(a),c="
",d="
",e=""+nations[b.nation].adjective+"
"+b.name+" ",f=""+nations[a.nation].adjective+
-"
"+a.name+" ",g="Diplomacy: "+a.name+" of the "+nations[a.nation].adjective;$("#diplomacy_dialog").attr("title",g);$("#diplomacy_dialog").dialog({bgiframe:!0,modal:!1,width:"45%",height:410,buttons:{"Accept treaty":function(){accept_treaty_req()},"Cancel meeting":function(){cancel_meeting_req()}},close:function(){cancel_meeting_req()}});$("#diplomacy_dialog").dialog("open");$(".ui-dialog").css("overflow","visible");$("#diplomacy_player_box_self").html(c+"
"+
-e);$("#diplomacy_player_box_counterpart").html(d+"
"+f);$("
").appendTo("#diplomacy_player_box_self");$(" Add Clause...
").appendTo("#self_dipl_div");$("").appendTo("#self-items");
+function create_diplomacy_dialog(a){var b=client.conn.playing;$("#diplomacy_dialog").remove();$("#self-items").remove();$("#counterpart-items").remove();$(".positionHelper").remove();$("
").appendTo("div#game_page");$("#diplomacy_dialog").html("");var c=get_player_fplag_sprite(b),d=get_player_fplag_sprite(a),c="
",d="
",e=""+nations[b.nation].adjective+"
"+b.name+" ",f=""+
+nations[a.nation].adjective+"
"+a.name+" ",g="Diplomacy: "+a.name+" of the "+nations[a.nation].adjective;$("#diplomacy_dialog").attr("title",g);$("#diplomacy_dialog").dialog({bgiframe:!0,modal:!1,width:"45%",height:435,buttons:{"Accept treaty":function(){accept_treaty_req()},"Cancel meeting":function(){cancel_meeting_req()}},close:function(){cancel_meeting_req()}});$("#diplomacy_dialog").dialog("open");$(".ui-dialog").css("overflow","visible");$("#diplomacy_player_box_self").html(c+
+"
"+e);$("#diplomacy_player_box_counterpart").html(d+"
"+f);$("
").appendTo("#diplomacy_player_box_self");$(" Add Clause...
").appendTo("#self_dipl_div");$("").appendTo("#self-items");
$("Maps... ").appendTo("#self_dipl_add");$("World-map ").appendTo("#self_maps");$("Sea-map ").appendTo("#self_maps");$("").appendTo("#self_dipl_add");var d=0,h;for(h in techs)if(player_invention_state(b,
h)==TECH_KNOWN&&(player_invention_state(a,h)==TECH_UNKNOWN||player_invention_state(a,h)==TECH_PREREQS_KNOWN))c=techs[h],$(""+c.name+" ").appendTo("#self_advances"),d+=1;d==0&&$("#self_adv_menu").hide();d=0;$("").appendTo("#self_dipl_add");for(city_id in cities)c=cities[city_id],!does_city_have_improvement(c,"Palace")&&city_owner(c)==
b&&($(""+unescape(c.name)+" ").appendTo("#self_cities"),d+=1);d==0&&$("#self_city_menu").hide();$("Give shared vision ").appendTo("#self_dipl_add");$("Give embassy ").appendTo("#self_dipl_add");$("Pacts... ").appendTo("#self_dipl_add");
-$("Cease-fire ").appendTo("#self_pacts");$("Peace ").appendTo("#self_pacts");$("Alliance ").appendTo("#self_pacts");$("#hierarchy_self").menu({content:$("#self-items").html(),flyOut:!0});$("
").appendTo("#diplomacy_player_box_counterpart");
+$("Cease-fire ").appendTo("#self_pacts");$("Peace ").appendTo("#self_pacts");$("Alliance ").appendTo("#self_pacts");$("#hierarchy_self").fgmenu({content:$("#self-items").html(),flyOut:!0});$("
").appendTo("#diplomacy_player_box_counterpart");
$(" Add Clause...
").appendTo("#counterpart_dipl_div");$("").appendTo("#counterpart-items");$("Maps... ").appendTo("#counterpart_dipl_add");$("World-map ").appendTo("#counterpart_maps");$("Sea-map ").appendTo("#counterpart_maps");$("").appendTo("#counterpart_dipl_add");d=0;for(h in techs)if(player_invention_state(a,h)==TECH_KNOWN&&(player_invention_state(b,h)==TECH_UNKNOWN||player_invention_state(b,h)==TECH_PREREQS_KNOWN))c=
techs[h],$(""+c.name+" ").appendTo("#counterpart_advances"),d+=1;d==0&&$("#counterpart_adv_menu").hide();b=0;$("").appendTo("#counterpart_dipl_add");for(city_id in cities)c=cities[city_id],!does_city_have_improvement(c,"Palace")&&city_owner(c)==a&&($(""+unescape(c.name)+" ").appendTo("#counterpart_cities"),b+=1);b==0&&$("#counterpart_city_menu").hide();$("Give shared vision ").appendTo("#counterpart_dipl_add");$("Give embassy ").appendTo("#counterpart_dipl_add");$("#hierarchy_counterpart").menu({content:$("#counterpart-items").html(),flyOut:!0})}
+","+city_id+");'>"+unescape(c.name)+"").appendTo("#counterpart_cities"),b+=1);b==0&&$("#counterpart_city_menu").hide();$("Give shared vision ").appendTo("#counterpart_dipl_add");$("Give embassy ").appendTo("#counterpart_dipl_add");$("#hierarchy_counterpart").fgmenu({content:$("#counterpart-items").html(),flyOut:!0})}
;function popup_diplomat_dialog(a,b,c){var d="#diplo_dialog_"+a.id;$(d).remove();$("
").appendTo("div#game_page");var e=c!=null?"Your didplomat has arrived at "+c.name+". What is your command? ":
"The diplomat is waiting for your command ";$(d).html(e);$(d).attr("title","Choose Your Diplomat's Strategy");$(d).dialog({bgiframe:!0,modal:!0,width:"350"});$(d).dialog("open");$(".diplo_button").button();$(".diplo_button").css("width",
"250px");$("#diplo_cancel").click(function(){$(d).remove()});$("#diplo_emb").click(function(){send_request(JSON.stringify({type:packet_unit_diplomat_action,diplomat_id:a.id,target_id:c.id,value:0,action_type:DIPLOMAT_EMBASSY}));$(d).remove()});$("#diplo_inv").click(function(){send_request(JSON.stringify({type:packet_unit_diplomat_action,diplomat_id:a.id,target_id:c.id,value:0,action_type:DIPLOMAT_INVESTIGATE}));$(d).remove()});$("#diplo_sab").click(function(){send_request(JSON.stringify({type:packet_unit_diplomat_action,
diplomat_id:a.id,target_id:c.id,value:0,action_type:DIPLOMAT_SABOTAGE}));$(d).remove()});var e=0,f=client.conn.playing,g=city_owner(c),h=0,k;for(k in techs)if(player_invention_state(g,k)==TECH_KNOWN&&(player_invention_state(f,k)==TECH_UNKNOWN||player_invention_state(f,k)==TECH_PREREQS_KNOWN))h=k,e+=1;e>0?$("#diplo_tech").click(function(){send_request(JSON.stringify({type:packet_unit_diplomat_action,diplomat_id:a.id,target_id:c.id,value:h,action_type:DIPLOMAT_STEAL}));$(d).remove()}):$("#diplo_tech").button("option",
"disabled",!0);$("#diplo_revo").click(function(){send_request(JSON.stringify({type:packet_unit_diplomat_action,diplomat_id:a.id,target_id:c.id,value:0,action_type:DIPLOMAT_INCITE}));$(d).remove()});$("#diplo_bribe").click(function(){send_request(JSON.stringify({type:packet_unit_diplomat_action,diplomat_id:a.id,target_id:b.id,value:0,action_type:DIPLOMAT_BRIBE}));$(d).remove()});$("#diplo_spy_sabo").click(function(){send_request(JSON.stringify({type:packet_unit_diplomat_action,diplomat_id:a.id,target_id:b.id,
value:0,action_type:SPY_SABOTAGE_UNIT}));$(d).remove()});b!=null&&unit_type(b).name!="Spy"&&$("#diplo_spy_sabo").button("option","disabled",!0)};var effects={};var TRUE=!0,FALSE=!1,MAX_NUM_ITEMS=200,FC_INFINITY=1E9,ACTIVITY_IDLE=0,ACTIVITY_POLLUTION=1,ACTIVITY_ROAD=2,ACTIVITY_MINE=3,ACTIVITY_IRRIGATE=4,ACTIVITY_FORTIFIED=5,ACTIVITY_FORTRESS=6,ACTIVITY_SENTRY=7,ACTIVITY_RAILROAD=8,ACTIVITY_PILLAGE=9,ACTIVITY_GOTO=10,ACTIVITY_EXPLORE=11,ACTIVITY_TRANSFORM=12,ACTIVITY_UNKNOWN=13,ACTIVITY_AIRBASE=14,ACTIVITY_FORTIFYING=15,ACTIVITY_FALLOUT=16,ACTIVITY_PATROL_UNUSED=17,ACTIVITY_BASE=18,ACTIVITY_LAST,VUT_NONE=0,VUT_ADVANCE=1,VUT_GOVERNMENT=2,VUT_IMPROVEMENT=3,
-VUT_SPECIAL=4,VUT_TERRAIN=5,VUT_NATION=6,VUT_UTYPE=7,VUT_UTFLAG=8,VUT_UCLASS=9,VUT_UCFLAG=10,VUT_OTYPE=11,VUT_SPECIALIST=12,VUT_MINSIZE=13,VUT_AI_LEVEL=14,VUT_TERRAINCLASS=15,VUT_BASE=16,VUT_MINYEAR=17,VUT_TERRAINALTER=18,VUT_CITYTILE=19,VUT_LAST=20,RPT_POSSIBLE=0,RPT_CERTAIN=1;var tileset={"t.fog_k_u_k_k":[1536,278,96,48],"f.zapotec":[1885,1934,29,20],"t.fog_k_u_k_f":[1440,278,96,48],"unit.irrigate":[96,1208,96,48],"u.howitzer":[640,1400,64,48],"f.netherlands":[1189,1894,29,20],"f.shield.cartago":[1650,1592,14,14],"t.fog_k_u_k_u":[1632,278,96,48],"t.l0.cellgroup_l_l_l_d.3":[1968,896,48,24],"t.fog_k_k_u_k":[960,278,96,48],"t.l0.cellgroup_l_l_l_d.1":[1872,896,48,24],"t.l0.cellgroup_l_l_l_d.0":[1824,896,48,24],"t.fog_k_k_u_f":[864,278,96,48],"f.schleswig-holstein":[1102,1914,
+VUT_SPECIAL=4,VUT_TERRAIN=5,VUT_NATION=6,VUT_UTYPE=7,VUT_UTFLAG=8,VUT_UCLASS=9,VUT_UCFLAG=10,VUT_OTYPE=11,VUT_SPECIALIST=12,VUT_MINSIZE=13,VUT_AI_LEVEL=14,VUT_TERRAINCLASS=15,VUT_BASE=16,VUT_MINYEAR=17,VUT_TERRAINALTER=18,VUT_CITYTILE=19,VUT_LAST=20,RPT_POSSIBLE=0,RPT_CERTAIN=1;var allUIMenus=[];$.fn.fgmenu=function(a){var b=new Menu(this,a);allUIMenus.push(b);$(this).mousedown(function(){b.menuOpen||b.showLoading()}).click(function(){b.menuOpen==!1?b.showMenu():b.kill();return!1})};
+function Menu(a,b){var c=this,a=$(a),d=$('");this.menuExists=this.menuOpen=!1;var b=jQuery.extend({content:null,width:180,maxHeight:180,positionOpts:{posX:"left",posY:"bottom",offsetX:0,offsetY:0,directionH:"right",directionV:"down",detectH:!0,detectV:!0,linkToFront:!1},showSpeed:200,callerOnState:"ui-state-active",loadingState:"ui-state-loading",linkHover:"ui-state-hover",linkHoverSecondary:"li-hover",crossSpeed:200,
+crumbDefaultText:"Choose an option:",backLink:!0,backLinkText:"Back",flyOut:!1,flyOutOnState:"ui-state-default",nextMenuLink:"ui-icon-triangle-1-e",topLinkText:"All",nextCrumbLink:"ui-icon-carat-1-e"},b),e=function(){$.each(allUIMenus,function(a){allUIMenus[a].menuOpen&&allUIMenus[a].kill()})};this.kill=function(){a.removeClass(b.loadingState).removeClass("fg-menu-open").removeClass(b.callerOnState);d.find("li").removeClass(b.linkHoverSecondary).find("a").removeClass(b.linkHover);b.flyOutOnState&&
+d.find("li a").removeClass(b.flyOutOnState);b.callerOnState&&a.removeClass(b.callerOnState);d.is(".fg-menu-ipod")&&c.resetDrilldownMenu();d.is(".fg-menu-flyout")&&c.resetFlyoutMenu();d.parent().hide();c.menuOpen=!1};this.showLoading=function(){a.addClass(b.loadingState)};this.showMenu=function(){e();c.menuExists||c.create();a.addClass("fg-menu-open").addClass(b.callerOnState);d.parent().show().click(function(){c.kill();return!1});d.hide().slideDown(b.showSpeed).find(".fg-menu:eq(0)");c.menuOpen=!0;
+a.removeClass(b.loadingState);$(document).click(e);$(document).keydown(function(a){var c;if(a.which!="")c=a.which;else if(a.charCode!="")c=a.charCode;else if(a.keyCode!="")c=a.keyCode;var h=$(a.target).parents("div").is(".fg-menu-flyout")?"flyout":"ipod";switch(c){case 37:return h=="flyout"&&($(a.target).trigger("mouseout"),$("."+b.flyOutOnState).size()>0&&$("."+b.flyOutOnState).trigger("mouseover")),h=="ipod"&&($(a.target).trigger("mouseout"),$(".fg-menu-footer").find("a").size()>0&&$(".fg-menu-footer").find("a").trigger("click"),
+$(".fg-menu-header").find("a").size()>0&&$(".fg-menu-current-crumb").prev().find("a").trigger("click"),$(".fg-menu-current").prev().is(".fg-menu-indicator")&&$(".fg-menu-current").prev().trigger("mouseover")),!1;case 38:return $(a.target).is("."+b.linkHover)?(c=$(a.target).parent().prev().find("a:eq(0)"),c.size()>0&&($(a.target).trigger("mouseout"),c.trigger("mouseover"))):d.find("a:eq(0)").trigger("mouseover"),!1;case 39:return $(a.target).is(".fg-menu-indicator")&&(h=="flyout"?$(a.target).next().find("a:eq(0)").trigger("mouseover"):
+h=="ipod"&&($(a.target).trigger("click"),setTimeout(function(){$(a.target).next().find("a:eq(0)").trigger("mouseover")},b.crossSpeed))),!1;case 40:return $(a.target).is("."+b.linkHover)?(c=$(a.target).parent().next().find("a:eq(0)"),c.size()>0&&($(a.target).trigger("mouseout"),c.trigger("mouseover"))):d.find("a:eq(0)").trigger("mouseover"),!1;case 27:e();break;case 13:$(a.target).is(".fg-menu-indicator")&&h=="ipod"&&($(a.target).trigger("click"),setTimeout(function(){$(a.target).next().find("a:eq(0)").trigger("mouseover")},
+b.crossSpeed))}})};this.create=function(){d.css({width:b.width}).appendTo("body").find("ul:first").not(".fg-menu-breadcrumb").addClass("fg-menu");d.find("ul, li a").addClass("ui-corner-all");d.find("ul").attr("role","menu").eq(0).attr("aria-activedescendant","active-menuitem").attr("aria-labelledby",a.attr("id"));d.find("li").attr("role","menuitem");d.find("li:has(ul)").attr("aria-haspopup","true").find("ul").attr("aria-expanded","false");d.find("a").attr("tabindex","-1");d.find("ul").size()>1?b.flyOut?
+c.flyout(d,b):c.drilldown(d,b):d.find("a").click(function(){c.chooseItem(this);return!1});b.linkHover&&d.find(".fg-menu li a").hover(function(){$(this);$("."+b.linkHover).removeClass(b.linkHover).blur().parent().removeAttr("id");$(this).addClass(b.linkHover).focus().parent().attr("id","active-menuitem")},function(){$(this).removeClass(b.linkHover).blur().parent().removeAttr("id")});b.linkHoverSecondary&&d.find(".fg-menu li").hover(function(){$(this).siblings("li").removeClass(b.linkHoverSecondary);
+b.flyOutOnState&&$(this).siblings("li").find("a").removeClass(b.flyOutOnState);$(this).addClass(b.linkHoverSecondary)},function(){$(this).removeClass(b.linkHoverSecondary)});c.setPosition(d,a,b);c.menuExists=!0};this.chooseItem=function(a){c.kill();$("#menuSelection").text($(a).text());location.href=$(a).attr("href")}}
+Menu.prototype.flyout=function(a,b){var c=this;this.resetFlyoutMenu=function(){a.find("ul ul").removeClass("ui-widget-content").hide()};a.addClass("fg-menu-flyout").find("li:has(ul)").each(function(){var c=a.width(),e,f,g=$(this).find("ul");g.css({left:c,width:c}).hide();$(this).find("a:eq(0)").addClass("fg-menu-indicator").html(""+$(this).find("a:eq(0)").text()+' ').hover(function(){clearTimeout(f);var a=$(this).next();fitVertical(a,$(this).offset().top)||
+a.css({top:"auto",bottom:0});fitHorizontal(a,$(this).offset().left+100)||a.css({left:"auto",right:c,"z-index":999});e=setTimeout(function(){a.addClass("ui-widget-content").show(b.showSpeed).attr("aria-expanded","true")},300)},function(){clearTimeout(e);var a=$(this).next();f=setTimeout(function(){a.removeClass("ui-widget-content").hide(b.showSpeed).attr("aria-expanded","false")},400)});$(this).find("ul a").hover(function(){clearTimeout(f);$(this).parents("ul").prev().is("a.fg-menu-indicator")&&$(this).parents("ul").prev().addClass(b.flyOutOnState)},
+function(){f=setTimeout(function(){g.hide(b.showSpeed);a.find(b.flyOutOnState).removeClass(b.flyOutOnState)},500)})});a.find("a").click(function(){c.chooseItem(this);return!1})};
+Menu.prototype.drilldown=function(a,b){var c=this,d=a.find(".fg-menu"),e=$(''),f=$('"),g=$(''+(b.backLink?' ':"")+(b.backLink?b.backLinkText:b.topLinkText)+" ");
+a.addClass("fg-menu-ipod");b.backLink?e.addClass("fg-menu-footer").appendTo(a).hide():e.addClass("fg-menu-header").prependTo(a);e.append(f);var h=function(a){a.height()>b.maxHeight&&a.addClass("fg-menu-scroll");a.css({height:b.maxHeight})},k=function(a){a.removeClass("fg-menu-scroll").removeClass("fg-menu-current").height("auto")};this.resetDrilldownMenu=function(){$(".fg-menu-current").removeClass("fg-menu-current");d.animate({left:0},b.crossSpeed,function(){$(this).find("ul").each(function(){$(this).hide();
+k($(this))});d.addClass("fg-menu-current")});$(".fg-menu-all-lists").find("span").remove();e.empty().append(f);$(".fg-menu-footer").empty().hide();h(d)};d.addClass("fg-menu-content fg-menu-current ui-widget-content ui-helper-clearfix").css({width:a.width()}).find("ul").css({width:a.width(),left:a.width()}).addClass("ui-widget-content").hide();h(d);d.find("a").each(function(){$(this).next().is("ul")?$(this).addClass("fg-menu-indicator").each(function(){$(this).html(""+$(this).text()+' ')}).click(function(){var f=$(this).next(),n=$(this).parents("ul:eq(0)"),m=n.is(".fg-menu-content")?0:parseFloat(d.css("left")),m=Math.round(m-parseFloat(a.width())),o=$(".fg-menu-footer");k(n);h(f);d.animate({left:m},b.crossSpeed);f.show().addClass("fg-menu-current").attr("aria-expanded","true");var q=function(a){var b=$(".fg-menu-current"),c=b.parents("ul:eq(0)");b.hide().attr("aria-expanded","false");k(b);h(c);c.addClass("fg-menu-current").attr("aria-expanded","true");
+c.hasClass("fg-menu-content")&&(a.remove(),o.hide())};b.backLink?o.find("a").size()==0&&(o.show(),$(' Back ').appendTo(o).click(function(){var c=$(this),f=parseFloat(d.css("left"))+a.width();d.animate({left:f},b.crossSpeed,function(){q(c)});return!1})):(e.find("li").size()==1&&(e.empty().append(g),g.find("a").click(function(){c.resetDrilldownMenu();return!1})),$(".fg-menu-current-crumb").removeClass("fg-menu-current-crumb"),
+f=$(this).find("span:eq(0)").text(),f=$('"),f.appendTo(e).find("a").click(function(){if($(this).parent().is(".fg-menu-current-crumb"))c.chooseItem(this);else{var a=-($(".fg-menu-current").parents("ul").size()-1)*180;d.animate({left:a},b.crossSpeed,function(){q()});$(this).parent().addClass("fg-menu-current-crumb").find("span").remove();$(this).parent().nextAll().remove()}return!1}),f.prev().append(' '));return!1}):$(this).click(function(){c.chooseItem(this);return!1})})};
+Menu.prototype.setPosition=function(a,b,c){var d={refX:b.offset().left,refY:b.offset().top,refW:b.getTotalWidth(),refH:b.getTotalHeight()},e,f,g=$('
');g.css({position:"absolute",left:d.refX,top:d.refY,width:d.refW,height:d.refH});a.wrap(g);switch(c.positionOpts.posX){case "left":e=0;break;case "center":e=d.refW/2;break;case "right":e=d.refW}switch(c.positionOpts.posY){case "top":f=0;break;case "center":f=d.refH/2;break;case "bottom":f=d.refH}e+=c.positionOpts.offsetX;
+f+=c.positionOpts.offsetY;c.positionOpts.directionV=="up"?(a.css({top:"auto",bottom:f}),c.positionOpts.detectV&&!fitVertical(a)&&a.css({bottom:"auto",top:f})):(a.css({bottom:"auto",top:f}),c.positionOpts.detectV&&!fitVertical(a)&&a.css({top:"auto",bottom:f}));c.positionOpts.directionH=="left"?(a.css({left:"auto",right:e}),c.positionOpts.detectH&&!fitHorizontal(a)&&a.css({right:"auto",left:e})):(a.css({right:"auto",left:e}),c.positionOpts.detectH&&!fitHorizontal(a)&&a.css({left:"auto",right:e}));c.positionOpts.linkToFront&&
+b.clone().addClass("linkClone").css({position:"absolute",top:0,right:"auto",bottom:"auto",left:0,width:b.width(),height:b.height()}).insertAfter(a)};function sortBigToSmall(a,b){return b-a}jQuery.fn.getTotalWidth=function(){return $(this).width()+parseInt($(this).css("paddingRight"))+parseInt($(this).css("paddingLeft"))+parseInt($(this).css("borderRightWidth"))+parseInt($(this).css("borderLeftWidth"))};
+jQuery.fn.getTotalHeight=function(){return $(this).height()+parseInt($(this).css("paddingTop"))+parseInt($(this).css("paddingBottom"))+parseInt($(this).css("borderTopWidth"))+parseInt($(this).css("borderBottomWidth"))};function getScrollTop(){return self.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop}function getScrollLeft(){return self.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft}
+function getWindowHeight(){var a=document.documentElement;return self.innerHeight||a&&a.clientHeight||document.body.clientHeight}function getWindowWidth(){var a=document.documentElement;return self.innerWidth||a&&a.clientWidth||document.body.clientWidth}function fitHorizontal(a,b){var c=parseInt(b)||$(a).offset().left;return c+$(a).width()<=getWindowWidth()+getScrollLeft()&&c-getScrollLeft()>=0}
+function fitVertical(a,b){var c=parseInt(b)||$(a).offset().top;return c+$(a).height()<=getWindowHeight()+getScrollTop()&&c-getScrollTop()>=0}
+Number.prototype.pxToEm=String.prototype.pxToEm=function(a){var a=jQuery.extend({scope:"body",reverse:!1},a),b=this==""?0:parseFloat(this),c;c=function(){var a=document.documentElement;return self.innerWidth||a&&a.clientWidth||document.body.clientWidth};c=a.scope=="body"&&$.browser.msie&&(parseFloat($("body").css("font-size"))/c()).toFixed(1)>0?(parseFloat($("body").css("font-size"))/c()).toFixed(3)*16:parseFloat(jQuery(a.scope).css("font-size"));return a.reverse==!0?(b*c).toFixed(2)+"px":(b/c).toFixed(2)+
+"em"};var tileset={"t.fog_k_u_k_k":[1536,278,96,48],"f.zapotec":[1885,1934,29,20],"t.fog_k_u_k_f":[1440,278,96,48],"unit.irrigate":[96,1208,96,48],"u.howitzer":[640,1400,64,48],"f.netherlands":[1189,1894,29,20],"f.shield.cartago":[1650,1592,14,14],"t.fog_k_u_k_u":[1632,278,96,48],"t.l0.cellgroup_l_l_l_d.3":[1968,896,48,24],"t.fog_k_k_u_k":[960,278,96,48],"t.l0.cellgroup_l_l_l_d.1":[1872,896,48,24],"t.l0.cellgroup_l_l_l_d.0":[1824,896,48,24],"t.fog_k_k_u_f":[864,278,96,48],"f.schleswig-holstein":[1102,1914,
29,20],"t.fog_k_k_u_u":[1056,278,96,48],"spaceship.fuel":[900,1676,60,60],"f.guarani":[1711,1852,29,20],"t.l1.forest_n0e1s0w1":[1728,1064,96,48],"t.l1.forest_n0e1s0w0":[960,1064,96,48],"f.peru":[2117,1894,29,20],"f.shield.mongolia":[616,1656,14,14],"f.quebec":[406,1914,29,20],"unit.pollution":[2016,1160,96,48],"f.shield.north_korea":[728,1656,14,14],"f.savoy":[1015,1914,29,20],"unit.connect":[1440,1160,96,48],"t.fog_f_u_f_k":[864,230,96,48],"t.l1.hills_n1e0s0w1":[480,1160,96,48],"t.l1.hills_n1e0s0w0":[384,
1160,96,48],"3grassland_forest":[1632,2036,48,24],"t.fog_f_u_f_f":[768,230,96,48],"f.namibia":[1015,1894,29,20],"2plains_plains":[1728,2060,48,24],"2forest_mountains":[1104,1988,48,24],"city.electricage_occupied_0":[480,518,96,72],"t.fog_f_u_f_u":[960,230,96,48],"r.road_ne":[2016,968,96,48],"f.shield.innu":[98,1656,14,14],"f.nepal":[1131,1894,29,20],"r.road_nw":[480,1016,96,48],"f.chola":[1943,1832,29,20],"2mountains_plains":[528,1988,48,24],"f.scythia":[1160,1914,29,20],"f.crimean_tatar":[58,1852,
29,20],"tx.pollution":[1824,1016,96,48],"city.tropical_occupied_0":[96,14,96,72],"t.l0.cellgroup_l_d_d_l.3":[96,776,48,24],"t.l0.cellgroup_l_d_d_l.2":[48,776,48,24],"t.l0.cellgroup_l_d_d_l.1":[0,776,48,24],"t.l0.cellgroup_l_d_d_l.0":[2112,728,48,24],"f.argentina":[203,1832,29,20],"f.silesia":[1508,1914,29,20],"f.lusatia":[1885,1872,29,20],"t.l0.cellgroup_l_l_l_d.2":[1920,896,48,24],"3swamp_hills":[1680,2012,48,24],"explode.unit_2":[1116,158,30,30],"explode.unit_3":[1146,158,30,30],"explode.unit_0":[1056,
diff --git a/freeciv-web/src/main/webapp/javascript/diplomacy.js b/freeciv-web/src/main/webapp/javascript/diplomacy.js
index 9fce68070..86c94c610 100644
--- a/freeciv-web/src/main/webapp/javascript/diplomacy.js
+++ b/freeciv-web/src/main/webapp/javascript/diplomacy.js
@@ -323,6 +323,9 @@ function create_diplomacy_dialog(counterpart) {
// reset diplomacy_dialog div.
$("#diplomacy_dialog").remove();
+ $("#self-items").remove();
+ $("#counterpart-items").remove();
+ $(".positionHelper").remove();
$("
").appendTo("div#game_page");
$("#diplomacy_dialog").html(
@@ -396,7 +399,7 @@ function create_diplomacy_dialog(counterpart) {
- // Diplomacy meny for current player.
+ // Diplomacy menu for current player.
$("
").appendTo("#diplomacy_player_box_self");
var fg_menu_self_html = " Add Clause...
";
@@ -446,7 +449,7 @@ function create_diplomacy_dialog(counterpart) {
/* setup fg-menu */
- $('#hierarchy_self').menu({
+ $('#hierarchy_self').fgmenu({
content: $('#self-items').html(),
flyOut: true
});
@@ -498,7 +501,7 @@ function create_diplomacy_dialog(counterpart) {
/* setup fg-menu */
- $('#hierarchy_counterpart').menu({
+ $('#hierarchy_counterpart').fgmenu({
content: $('#counterpart-items').html(),
flyOut: true
});
diff --git a/freeciv-web/src/main/webapp/javascript/fg.menu.js b/freeciv-web/src/main/webapp/javascript/fg.menu.js
old mode 100755
new mode 100644
index d8d584ff3..01868f590
--- a/freeciv-web/src/main/webapp/javascript/fg.menu.js
+++ b/freeciv-web/src/main/webapp/javascript/fg.menu.js
@@ -12,8 +12,8 @@ Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL
var allUIMenus = [];
-
-$.fn.menu = function(options){
+/* fixme: menu has been renamed to fgmenu, to avoid conflict with jQuery autocomplete menu - Andreas */
+$.fn.fgmenu = function(options){
var caller = this;
var options = options;
var m = new Menu(caller, options);
@@ -88,8 +88,8 @@ function Menu(caller, options){
if (container.is('.fg-menu-flyout')) { menu.resetFlyoutMenu(); };
container.parent().hide();
menu.menuOpen = false;
- $(document).unbind('click', killAllMenus);
- $(document).unbind('keydown');
+ /*$(document).unbind('click', killAllMenus);
+ $(document).unbind('keydown');*/
};
this.showLoading = function(){
@@ -642,4 +642,4 @@ Number.prototype.pxToEm = String.prototype.pxToEm = function(settings){
var result = (settings.reverse == true) ? (pxVal * scopeVal).toFixed(2) + 'px' : (pxVal / scopeVal).toFixed(2) + 'em';
return result;
-};
\ No newline at end of file
+};
diff --git a/freeciv-web/src/main/webapp/webclient/index.jsp b/freeciv-web/src/main/webapp/webclient/index.jsp
index 9e9105dd6..254de8c27 100644
--- a/freeciv-web/src/main/webapp/webclient/index.jsp
+++ b/freeciv-web/src/main/webapp/webclient/index.jsp
@@ -6,7 +6,6 @@
-