Utf8 convert

This commit is contained in:
2023-01-10 18:29:32 +02:00
parent 71b759232c
commit 90b9c8325e
3572 changed files with 35191 additions and 395614 deletions
+2 -2
View File
@@ -28,9 +28,9 @@ else
{elm['on'+evType]=fn;}}}
function getHTextHtml(hti)
{var html=['<div><a class="blike" href="javascript:;" onclick="toggleHText(',hti,')">'];var ht=hiddenTexts[hti];if(ht.hidden)
{html.push('Ïîêàçàòü</a></div>');}
{html.push('Показать</a></div>');}
else
{html.push('Ñêðûòü</a></div>');html.push('<div style="padding: 2px;">');html.push(ht.data);html.push('</div>');}
{html.push('Скрыть</a></div>');html.push('<div style="padding: 2px;">');html.push(ht.data);html.push('</div>');}
return html.join('');}
function toggleHText(hti)
{var ht=hiddenTexts[hti];ht.hidden=!ht.hidden;ht.elt.innerHTML=getHTextHtml(hti);hideHTextsOf(ht.elt);rebuildTabsIn(ht.elt);}
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+77 -77
View File
@@ -44,7 +44,7 @@ d.loadData=function(f)
else
{loadScript(underground.settings.jsBase+'dungeon.city.'+this.Name+'.js',function(){d.dataLoaded(f);});}}
d.createDescriptionPage=function()
{var p={Name:'$description',Caption:'Îïèñàíèå',NewLineToBR:this.NewLineToBR,ExternalUrl:'',hidden:true};p.Description=this.Description;this.data.Pages.push(p);this.descriptionPageIndex=this.data.Pages.length-1;}
{var p={Name:'$description',Caption:'Описание',NewLineToBR:this.NewLineToBR,ExternalUrl:'',hidden:true};p.Description=this.Description;this.data.Pages.push(p);this.descriptionPageIndex=this.data.Pages.length-1;}
d.createSettingsPage=function()
{}
d.createShopPages=function()
@@ -53,10 +53,10 @@ d.createShopPages=function()
d.getShopItemHtml=function(item,imageBasePath)
{var img=[imageBasePath,item.Name,'.gif'].join('');this.imagesToBePreloaded.push(img);var html=['<tr><td width="',item.W,'">','<img lowsrc="',underground.settings.loadingImageUrl,'" src="',img,'" border="0" width="',item.W,'" height="',item.H,'" />','</td><td><nobr><b>',item.Caption,'</b>'];if(item.Binding>0)
{html.push(' <img src="https://img.new-combats.com/i/destiny.gif" width="16" height="18" border="0" alt=""');this.imagesToBePreloaded.push('https://img.new-combats.com/i/destiny.gif');switch(item.Binding)
{case 1:html.push(' style="filter: invert();" title="Ýòîò ïðåäìåò áóäåò ñâÿçàí îáùåé ñóäüáîé ñ ïåðâûì, êòî ïîëó÷èò åãî. Íèêòî äðóãîé íå ñìîæåò åãî èñïîëüçîâàòü."');break;case 2:html.push(' style="filter: gray();" title="Ýòîò ïðåäìåò áóäåò ñâÿçàí îáùåé ñóäüáîé ñ ïåðâûì, êòî îäåíåò åãî. Íèêòî äðóãîé íå ñìîæåò åãî èñïîëüçîâàòü."');break;case 3:html.push(' title="Ýòîò ïðåäìåò ñâÿçàí îáùåé ñóäüáîé."');break;}
{case 1:html.push(' style="filter: invert();" title="Этот предмет будет связан общей судьбой с первым, кто получит его. Никто другой не сможет его использовать."');break;case 2:html.push(' style="filter: gray();" title="Этот предмет будет связан общей судьбой с первым, кто оденет его. Никто другой не сможет его использовать."');break;case 3:html.push(' title="Этот предмет связан общей судьбой."');break;}
html.push(' />');}
if(item.IsGift)
{this.imagesToBePreloaded.push('https://img.new-combats.com/i/podarok.gif');html.push(' <img src="https://img.new-combats.com/i/podarok.gif" width="16" height="18" border="0" alt="" title="Ïîäàðîê" />');}
{this.imagesToBePreloaded.push('https://img.new-combats.com/i/podarok.gif');html.push(' <img src="https://img.new-combats.com/i/podarok.gif" width="16" height="18" border="0" alt="" title="Подарок" />');}
html=html.concat(['</nobr><br />',item.Description.join(item.NewLineToBR?'<br />':''),'</td></tr>']);return html.join('');}
var showShopPage=function()
{var shop=this.Shop;shop.tdId='$shoptd$'+this.Dungeon.Name+'$'+shop.Name;var firstCat=true;var data=[];var chapters=['<div><ul>'];for(var i in shop.Categories)
@@ -85,15 +85,15 @@ handler.push(')&quot;, 10)');handler=handler.join('');html.push('<table cellspac
{html=html.concat(['<b id="',countid,'">1</b>']);}
else
{html=html.concat(['<input class="inpText" type="text" size="4" maxlength="3" id="',countid,'" onfocus="document.getElementById(\'',countid,'\').select();"',' onkeypress="',handler,'" onchange="',handler,'" value="',((mii==lastmii)?job.DefCount:0),'" />']);}
html.push(' øò.</td></tr>');}
html.push('</table></td><td valign="center">');html.push('Âû ïîëó÷èòå <span id="');html.push(rewardid);html.push('">');html.push(job.Unique?['<b>',data.mob.Instances[0].Reward,'</b>'].join(''):(job.DefCount*data.mob.Instances[lastmii].Reward));html.push('</span> åä. íàãðàäû.');html.push('</td></tr></table>');if(job.Unique)
{html.push('<br /><span style="color: gray">Óíèêàëüíîå çàäàíèå, âûïàäàåò íå áîëåå îäíîãî ðàçà çà êðóã.</span>');}}
html.push(' шт.</td></tr>');}
html.push('</table></td><td valign="center">');html.push('Вы получите <span id="');html.push(rewardid);html.push('">');html.push(job.Unique?['<b>',data.mob.Instances[0].Reward,'</b>'].join(''):(job.DefCount*data.mob.Instances[lastmii].Reward));html.push('</span> ед. награды.');html.push('</td></tr></table>');if(job.Unique)
{html.push('<br /><span style="color: gray">Уникальное задание, выпадает не более одного раза за круг.</span>');}}
else
{var countid=job.divId+'$count';var rewardid=job.divId+'$reward';var maxcountid=job.divId+'$maxcount';var maxrewardid=job.divId+'$maxreward';var handler=['setTimeout(&quot;ui_recalculateUsualReward(\'',countid,'\', \'',rewardid,'\', \'',maxcountid,'\', ',data.bonus,', ',data.maxFactor,', \'',maxrewardid,'\')&quot, 10)'].join('');html=html.concat(['Çà <input class="inpText" type="text" size="4" maxlength="3" id="',countid,'" onfocus="document.getElementById(\'',countid,'\').select();"',' value="',job.DefCount,'" onkeypress="',handler,'" onchange="',handler,'" /> øò. Âû ïîëó÷èòå <span id="',rewardid,'">',job.DefCount*data.bonus,'</span> åä. íàãðàäû.']);if(data.maxFactor>1)
{var maxc=Math.floor(job.DefCount*data.maxFactor);html=html.concat(['<br />Ìîæíî ïåðåâûïîëíèòü çàäàíèå, ñîáðàâ äî <span id="',maxcountid,'">',maxc,'</span> øò., è ïîëó÷èâ äî <span id="',maxrewardid,'">',maxc*data.bonus,'</span> åä. íàãðàäû.']);}}
{var countid=job.divId+'$count';var rewardid=job.divId+'$reward';var maxcountid=job.divId+'$maxcount';var maxrewardid=job.divId+'$maxreward';var handler=['setTimeout(&quot;ui_recalculateUsualReward(\'',countid,'\', \'',rewardid,'\', \'',maxcountid,'\', ',data.bonus,', ',data.maxFactor,', \'',maxrewardid,'\')&quot, 10)'].join('');html=html.concat(['За <input class="inpText" type="text" size="4" maxlength="3" id="',countid,'" onfocus="document.getElementById(\'',countid,'\').select();"',' value="',job.DefCount,'" onkeypress="',handler,'" onchange="',handler,'" /> шт. Вы получите <span id="',rewardid,'">',job.DefCount*data.bonus,'</span> ед. награды.']);if(data.maxFactor>1)
{var maxc=Math.floor(job.DefCount*data.maxFactor);html=html.concat(['<br />Можно перевыполнить задание, собрав до <span id="',maxcountid,'">',maxc,'</span> шт., и получив до <span id="',maxrewardid,'">',maxc*data.bonus,'</span> ед. награды.']);}}
html.push('</div></td></tr></table></div></blockquote></div>');return html.join('');}
var jobPageShow=function()
{var jobs=this.Dungeon.data.Jobs;this.jobTdId='$jobtd$'+this.Dungeon.Name+'$jobs';var html=[];this.jobCats=[{Name:'CollectiveJobs',Caption:'Ñîáèðàòåëüíûå çàäàíèÿ',Items:jobs.CollectiveJobs},{Name:'CapturedJobs',Caption:'Çàäàíèÿ íà òðîôåè',Items:jobs.CapturedJobs},{Name:'KillingJobs',Caption:'Çàäàíèÿ íà óáèéñòâî',Items:jobs.KillingJobs}];html.push('<h3>Çàäàíèÿ</h3>');html.push('<hr />');var firstCat=true;var chapters=[];var data=[];chapters.push('<div><ul>');for(var i in this.jobCats)
{var jobs=this.Dungeon.data.Jobs;this.jobTdId='$jobtd$'+this.Dungeon.Name+'$jobs';var html=[];this.jobCats=[{Name:'CollectiveJobs',Caption:'Собирательные задания',Items:jobs.CollectiveJobs},{Name:'CapturedJobs',Caption:'Задания на трофеи',Items:jobs.CapturedJobs},{Name:'KillingJobs',Caption:'Задания на убийство',Items:jobs.KillingJobs}];html.push('<h3>Задания</h3>');html.push('<hr />');var firstCat=true;var chapters=[];var data=[];chapters.push('<div><ul>');for(var i in this.jobCats)
{var cat=this.jobCats[i];if(cat.Items.length==0)continue;cat.divId='$jobcat$'+this.Name+'$jobs$'+cat.Name;var st=firstCat?'':'display: none;';data.push('<div id="');data.push(cat.divId);data.push('" style="');data.push(st);data.push('">');data.push('<h3>');data.push(cat.Caption);data.push('</h3>');data.push('<hr class="dashed" />');for(var j in cat.Items)
{data.push(this.Dungeon.getJobHtml(j,cat.Items[j],i));}
data.push('</div>');chapters.push('<li><a class="fblike" style="display: block; width: 256px;" href="javascript:;" onclick="ui_changeJobsCategory(\'');chapters.push(this.jobTdId);chapters.push('\', \'');chapters.push(cat.divId);chapters.push('\')"><nobr>');chapters.push(cat.Caption);chapters.push('</nobr></a></li>');firstCat=false;}
@@ -101,9 +101,9 @@ chapters.push('</ul></div>');html.push('<table class="hintview" cellpadding="4"
d.prepareJobPage=function()
{var jobs=this.data.Jobs;if(jobs.CollectiveJobs.length==0&&jobs.CapturedJobs.length==0&&jobs.KillingJobs.length==0)
{return;}
var sp={Name:'$jobs$',Dungeon:this,Caption:'Çàäàíèÿ',NewLineToBR:false,ExternalUrl:'',Description:[],OnShow:jobPageShow};this.data.Pages.push(sp);}
var sp={Name:'$jobs$',Dungeon:this,Caption:'Задания',NewLineToBR:false,ExternalUrl:'',Description:[],OnShow:jobPageShow};this.data.Pages.push(sp);}
d.getFloorTabsHtml=function()
{if(!this.IsDungeon)return'';var html=[];html.push('<li><a onclick="underground.activeDungeon.openDescription()" href="javascript:;">Îïèñàíèå</a></li>');html.push('<li><span style="float:left;padding: 0px 10px;color: #666; margin: 1px;">|</span></li>');for(var i in this.data.Floors)
{if(!this.IsDungeon)return'';var html=[];html.push('<li><a onclick="underground.activeDungeon.openDescription()" href="javascript:;">Описание</a></li>');html.push('<li><span style="float:left;padding: 0px 10px;color: #666; margin: 1px;">|</span></li>');for(var i in this.data.Floors)
{var floor=this.data.Floors[i];html.push('<li');if(i==this.activeFloorIndex)html.push(' class="activeLink"');html.push('><a onclick="underground.changeFloor(');html.push(i);html.push(')" href="javascript:;">');html.push(floor.Caption);html.push('</a></li>');}
html.push('<li><span style="float:left;padding: 0px 10px;color: #666; margin: 1px;">|</span></li>');if(msie)html.push(this.getZoomText());html.push(this.getLookText());return html.join('');}
d.openDescription=function()
@@ -121,7 +121,7 @@ var frd=fr[n];for(var level in frd)
r[n][level]+=frd[level];}}}
return r;}
d.getStatisticsHtml=function()
{if(!this.IsDungeon)return'';var stats=this.getStatistics();var html=[];html.push(getStatisticsHtml('Ñòàòèñòèêà ïî ïîäçåìåëüþ',stats,''));return html.join('');}
{if(!this.IsDungeon)return'';var stats=this.getStatistics();var html=[];html.push(getStatisticsHtml('Статистика по подземелью',stats,''));return html.join('');}
d.needData=function(f)
{if(!('data'in this))
{this.loadData(f);}
@@ -133,7 +133,7 @@ d.hidePages=function()
{e.style.display='none';}}
document.getElementById('ads').style.display='';}
d.getPageDivCloserHtml=function()
{var html=[];html.push('<div class="dtab" style="float: right; width: 100%;"><ul class="dtab">');html.push('<li><a href="javascript:;" onclick="underground.hideDungeonPages()">Çàêðûòü äîêóìåíò</a></li>');html.push('</ul></div>');return html.join('');}
{var html=[];html.push('<div class="dtab" style="float: right; width: 100%;"><ul class="dtab">');html.push('<li><a href="javascript:;" onclick="underground.hideDungeonPages()">Закрыть документ</a></li>');html.push('</ul></div>');return html.join('');}
d.getNewPageDivHtml=function(id,content)
{var html=[];var closer=this.getPageDivCloserHtml();html.push('<div class="dungeonPage" id="');html.push(id);if(msie7)
{html.push('" style="filter: alpha(opacity = 94, style = 4) progid:DXImageTransform.Microsoft.Shadow(color=\'#666666\', Direction=135, Strength=2);');}
@@ -141,7 +141,7 @@ html.push('">');html.push(closer);html.push(content);html.push(closer);html.push
d.getChapterHtml=function()
{var html=[];rendered=true;this.handleHash2();underground.settings.look=this.data.Floors[this.activeFloorIndex].LookDirection;html.push('<div style="position: relative; width: 100%;" id="');html.push(this.divId);html.push('">');html.push('<h4>');html.push(d.Caption);html.push('</h4>');html.push('<div class="dtab" style="background-color: #e6e6e6;"><ul id="');html.push(this.floorTabsId);html.push('" class="dtab">');html.push(this.getFloorTabsHtml());html.push('</ul>');html.push('</div>');html.push('<div>');html.push(this.data.getMapHtml());html.push('</div>');html.push('<div>');html.push(this.getStatisticsHtml());html.push('</div>');html.push('</div>');return html.join('');}
d.getZoomText=function()
{var html=[];html.push('<li>Ìàñøòàá: <input id="');html.push(this.zoomerId);html.push('" type="text" maxlength="3" size="3" class="tool" style="text-align: right;" value="');html.push(underground.settings.zoom);html.push('" onfocus="this.select()" onchange="ui_zoomChanged()" onkeypress="ui_zoomChanged()" />%</li>');return html.join('');}
{var html=[];html.push('<li>Масштаб: <input id="');html.push(this.zoomerId);html.push('" type="text" maxlength="3" size="3" class="tool" style="text-align: right;" value="');html.push(underground.settings.zoom);html.push('" onfocus="this.select()" onchange="ui_zoomChanged()" onkeypress="ui_zoomChanged()" />%</li>');return html.join('');}
d.changeFloor=function(floorIndex)
{hideMenu();hidePopup2();var oldActiveFloorIndex=this.activeFloorIndex;this.activeFloorIndex=floorIndex;if(!rendered)return;this.data.Floors[oldActiveFloorIndex].highlightPoint(null);underground.settings.look=this.data.Floors[floorIndex].LookDirection;document.getElementById(this.mapLookId).value=underground.settings.lookTexts[underground.settings.look];document.getElementById(this.floorTabsId).innerHTML=this.getFloorTabsHtml();for(var i in this.data.Floors)
{var floor=this.data.Floors[i];var dm=(this.activeFloorIndex==i)?'':'none';document.getElementById(floor.mapId).style.display=dm;}}
@@ -197,7 +197,7 @@ d.getLookOption=function(index,caption)
{html.push(' selected="yes"');}
html.push('>');html.push(caption);html.push('</option>');return html.join('');}
d.getLookText=function()
{if(!this.IsDungeon)return'';var html=[];html.push('<li>Ñìîòðèì íà <input class="tool" id="');html.push(this.mapLookId);html.push('" disabled="yes" size="6" maxlength="6" value="');html.push(underground.settings.lookTexts[underground.settings.look]);html.push('" >');html.push('</span></li>');return html.join('');}
{if(!this.IsDungeon)return'';var html=[];html.push('<li>Смотрим на <input class="tool" id="');html.push(this.mapLookId);html.push('" disabled="yes" size="6" maxlength="6" value="');html.push(underground.settings.lookTexts[underground.settings.look]);html.push('" >');html.push('</span></li>');return html.join('');}
d.getProposedZoom=function()
{var v=document.getElementById(this.zoomerId).value;var pv=underground.settings.zoom;if(!isNaN(v))
{pv=parseInt(v);if(isNaN(pv))pv=underground.settings.zoom;if(pv<10)pv=10;if(pv>300)pv=300;}
@@ -232,7 +232,7 @@ html=html.concat(['<div class="xaxisline"><img src="',underground.settings.blank
{var vi=(dim.yinv)?(dim.h-i):(i+1);var vs=(!dim.xalpha)?String.fromCharCode(startLetterCode+vi-1):vi.toString();html.push('<div class="yaxislabel" style="position:absolute;left:0;width:');html.push(underground.settings.cellWidth-8);html.push('px;height:');html.push(underground.settings.cellHeight-yshift-1);html.push('px;');html.push('color:');html.push(this.dungeon.CellBorderColorString);html.push(';');html.push('top:');html.push(i*underground.settings.cellHeight);html.push('px;" id="');html.push(this.yaxisId);html.push('_');html.push(i);html.push('">');html.push(vs);html.push('</div>');}
html=html.concat(['<div class="yaxisline"><img src="',underground.settings.blankImageUrl,'" width="1" height="1" border="0" /></div>','</div>']);for(var i in this.Cells)
{html.push(this.getCellHtml(this.Cells[i]));}
html.push('<div id="');html.push(this.highlightPointId);html.push('" style="position:absolute;left:0;top:0;width:40px;height:40px;visibility:hidden;padding:0;margin:0;">');html.push('<img src="');html.push(underground.settings.objectImagesUrl);html.push(underground.settings.highlightObjectImage);html.push('" width="40" height="40" border="0" alt="" title="Âû ïîïàëè ñþäà" /></div>');for(var i=0;i<this.markers.length;i++)
html.push('<div id="');html.push(this.highlightPointId);html.push('" style="position:absolute;left:0;top:0;width:40px;height:40px;visibility:hidden;padding:0;margin:0;">');html.push('<img src="');html.push(underground.settings.objectImagesUrl);html.push(underground.settings.highlightObjectImage);html.push('" width="40" height="40" border="0" alt="" title="Вы попали сюда" /></div>');for(var i=0;i<this.markers.length;i++)
{var marker=this.markers[i];marker.cellDivId=this.getCellDivId(marker.x,marker.y);html.push(this.getCellMarkerHtml(i,marker.cellDivId,marker.x,marker.y,marker.text));}
html.push('</div>');if(underground.offline)
{html.push('</td></tr></table>');}
@@ -240,7 +240,7 @@ html.push('<div id="');html.push(this.rightPartId);html.push('" class="dright" s
{pos=Math.floor((pos*underground.settings.zoom)/100);}
html.push(pos);html.push('px; top: 60px;">');html.push(this.getRightPartHtml());html.push('</div>');html.push('<div style="width:');html.push((dim.w+1)*underground.settings.cellWidth);html.push('px;">');html.push(this.getStatisticsHtml());html.push('</div>');html.push('</div>');return html.join('');}
f.getRightPartHtml=function()
{var html=[];html.push('<div style="padding: 2px; text-align: center;"><img width="120" height="121" border="0"');html.push(underground.pngClsAttr);html.push(' src="');html.push(underground.settings.compassLocation);html.push(underground.settings.compass[underground.settings.look]);html.push('.png" /></div>');this.floorNavId=baseId+'mapsNav';html.push('<div><a style="display:block;" onclick="ui_toggleMapsNav()" href="javascript:;">Ýòàæè</a></div><div id="')
{var html=[];html.push('<div style="padding: 2px; text-align: center;"><img width="120" height="121" border="0"');html.push(underground.pngClsAttr);html.push(' src="');html.push(underground.settings.compassLocation);html.push(underground.settings.compass[underground.settings.look]);html.push('.png" /></div>');this.floorNavId=baseId+'mapsNav';html.push('<div><a style="display:block;" onclick="ui_toggleMapsNav()" href="javascript:;">Этажи</a></div><div id="')
html.push(this.floorNavId);html.push('" class="mapsNav" style="display:');html.push(underground.settings.mapsNavDisplay);html.push(';">');for(var i in underground.knownDungeons)
{var kd=underground.knownDungeons[i];var floorCount=kd.FloorNames.length;if(floorCount>1)
{html.push('<div><b>');html.push(kd.Caption);html.push('</b></div><blockquote><ul>');for(var fi=0;fi<floorCount;fi++)
@@ -258,12 +258,12 @@ else
{html.push('<div><b><nobr><a class="fblike" style="display: block;" href="javascript:;">');html.push(kd.Caption);html.push('</a></nobr></b></div>');}
else
{html.push('<div><nobr><a class="fblike" style="display: block;" href="javascript:;" onclick="underground.openDungeon(');html.push(i);html.push(')">');html.push(kd.Caption);html.push('</a></nobr></div>');}}}
html.push('<div><a style="display:block;" onclick="ui_toggleMapsNav()" href="javascript:;">Ñêðûòü</a></div>')
html.push('<div><a style="display:block;" onclick="ui_toggleMapsNav()" href="javascript:;">Скрыть</a></div>')
html.push('</div>');return html.join('');}
f.applyZoom=function(zoomFactor)
{document.getElementById(this.mapViewId).style.zoom=(zoomFactor+'%');var dim=this.getLookDim();var pos=(dim.w+2)*underground.settings.cellWidth;pos=Math.floor((pos*zoomFactor)/100);document.getElementById(this.rightPartId).style.left=pos+'px';}
f.getStatisticsHtml=function()
{var stats=this.getStatistics();return getStatisticsHtml('Ñòàòèñòèêà ïî ýòàæó',stats,this.statisticsCheckId);}
{var stats=this.getStatistics();return getStatisticsHtml('Статистика по этажу',stats,this.statisticsCheckId);}
f.getBorderStyleHtml=function(code,size)
{return['border-',code,':',size,'px ',((size<1)?'none':'solid'),' ',this.dungeon.CellBorderColorString,';','padding-',code,':',(2-size),'px;'].join('');}
f.getCellDivId=function(x,y)
@@ -323,7 +323,7 @@ if(!(mobref.Level in r[mobref.Name]))
r[mobref.Name][mobref.Level]+=mobref.Count;}}
return r;}
f.showCellMarkerPopup=function(markerIndex)
{showPopup('<div class="hintviewcaption">Çàìåòêè íà ïîëÿõ</div>'+htmlstring(this.markers[markerIndex].text));}
{showPopup('<div class="hintviewcaption">Заметки на полях</div>'+htmlstring(this.markers[markerIndex].text));}
f.getHash=function()
{var r=[];for(var i=0;i<this.markers.length;i++)
{var marker=this.markers[i];if(marker.hidden)continue;r.push('&');r.push(marker.x);r.push('.');r.push(marker.y);r.push('&');r.push(escape(marker.text));}
@@ -340,7 +340,7 @@ f.toggleCellMarker=function(cellDivId,x,y)
{var marker=this.markers[i];if(marker.x==x&&marker.y==y)
{marker.hidden=true;break;}}
mdiv.style.visibility='hidden';underground.setHash();return;}
var text=window.prompt('Óêàæèòå ïîÿñíèòåëüíûé òåêñò:');if(text==null)return;if(mdiv==null)
var text=window.prompt('Укажите пояснительный текст:');if(text==null)return;if(mdiv==null)
{var content=this.getCellMarkerHtml(this.markers.length,cellDivId,x,y,text);var mapDiv=document.getElementById(this.mapViewId);if(mapDiv.insertAdjacentHTML)
{mapDiv.insertAdjacentHTML('beforeEnd',content);}
else
@@ -352,7 +352,7 @@ else
{marker.hidden=false;marker.text=text;break;}}}
mdiv.style.visibility='';underground.setHash();}
f.getCellContentMenuHtml=function(cellDivId,x,y)
{var html=[];html.push('<table cellspacing="0" cellpadding="0" border="0"><tr>');html.push(getRowMenuItemHtml('Ïîñòàâèòü/ñíÿòü ìàðêåð','ui_toggleCellMarker(\''+cellDivId+'\','+x+','+y+')'));html.push(getRowMenuSeparatorHtml());html.push(getRowMenuItemHtml('Çàêðûòü','hideMenu()'));html.push('</table>');return html.join('');}
{var html=[];html.push('<table cellspacing="0" cellpadding="0" border="0"><tr>');html.push(getRowMenuItemHtml('Поставить/снять маркер','ui_toggleCellMarker(\''+cellDivId+'\','+x+','+y+')'));html.push(getRowMenuSeparatorHtml());html.push(getRowMenuItemHtml('Закрыть','hideMenu()'));html.push('</table>');return html.join('');}
f.findCellByDivId=function(cellDivId)
{for(var i in this.Cells)
{var cell=this.Cells[i];if(cell.divId==cellDivId)
@@ -430,7 +430,7 @@ this.getStatisticsHtml=function()
this.getStatistics=function()
{return{};}
this.getCellContentMenuHtml=function(cellDivId,x,y)
{var html=[];html.push('<table cellspacing="0" cellpadding="0" border="0"><tr>');html.push(getRowMenuItemHtml('Çàêðûòü','hideMenu()'));html.push('</table>');return html.join('');}
{var html=[];html.push('<table cellspacing="0" cellpadding="0" border="0"><tr>');html.push(getRowMenuItemHtml('Закрыть','hideMenu()'));html.push('</table>');return html.join('');}
this.hotSpot=function(cellDivId)
{}
this.hideHotSpots=function()
@@ -440,23 +440,23 @@ this.getHash=function()
this.handleHash=function(hash)
{}}
function WelcomeDungeon()
{this.baseConstructor=CustomResource;this.baseConstructor();this.Name='welcome';this.Caption='Ñòàðòîâàÿ';this.showDescription=function(s)
{this.baseConstructor=CustomResource;this.baseConstructor();this.Name='welcome';this.Caption='Стартовая';this.showDescription=function(s)
{document.getElementById('welcomeDungeon_descriptionArea').innerHTML=s;}
this.getMenuItemHtml=function(d,di,popupFuncName,openFuncName,url)
{var target=' target="_blank"';if(url==null){url='javascript:;';target='';}
return['<li style="margin: 5px;"><a',target,' class="fblike" style="display: block; width: 256px;" onmouseover="',popupFuncName,'(',di,')" onmouseout="underground.welcomeDungeon.showDescription(\'&amp;nbsp;\')" href="',url,'" onclick="',openFuncName,'(',di,')">',d.Caption,'</a></li>'].join('');}
this.getChapterHtml=function()
{var html=[];html.push('<table cellpadding="0" cellspacing="0" width="100%" border="0"><tr><td width="250" valign="top"><br /><br /><p>Äîáðî ïîæàëîâàòü â ðåñóðñ î Ïîäçåìåëüÿõ Áîéöîâñêîãî Êëóáà.</p>');html.push('<p>Ïîæàëóéñòà, âûáåðèòå îäíî èç ïîäçåìåëèé:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.knownDungeons)
{var html=[];html.push('<table cellpadding="0" cellspacing="0" width="100%" border="0"><tr><td width="250" valign="top"><br /><br /><p>Добро пожаловать в ресурс о Подземельях Бойцовского Клуба.</p>');html.push('<p>Пожалуйста, выберите одно из подземелий:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.knownDungeons)
{var d=underground.knownDungeons[di];if(!d.IsDungeon)continue;html.push(this.getMenuItemHtml(d,di,'underground.showDungeonPopup','underground.openDungeon'));}
html.push('</ul></blockquote>');html.push('<p>Îäíî èç ñîïóòñòâóþùèõ ìåñò:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.knownDungeons)
html.push('</ul></blockquote>');html.push('<p>Одно из сопутствующих мест:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.knownDungeons)
{var d=underground.knownDungeons[di];if(d.IsDungeon)continue;html.push(this.getMenuItemHtml(d,di,'underground.showDungeonPopup','underground.openDungeon'));}
html.push('</ul></blockquote>');html.push('<p>Èëè îäèí èç äîïîëíèòåëüíûõ ðåñóðñîâ:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.resources)
html.push('</ul></blockquote>');html.push('<p>Или один из дополнительных ресурсов:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.resources)
{var d=underground.resources[di];html.push(this.getMenuItemHtml(d,di,'underground.showResourcePopup','underground.openResource'));}
html.push('</ul></blockquote>');html.push('<p>Òàêæå ðåêîìåíäóåì:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.externals)
html.push('</ul></blockquote>');html.push('<p>Также рекомендуем:</p>');html.push('<blockquote><ul style="margin: 5px; font-size: larger;">');for(var di in underground.externals)
{var d=underground.externals[di];html.push(this.getMenuItemHtml(d,di,'underground.showExternalPopup','javascript:;',d.Url));}
html.push('</ul></blockquote></td><td valign="top"><div id="welcomeDungeon_descriptionArea" style="padding: 4px; margin: 4px; margin-right: 40px; margin-top: 70px; border: 1px solid #ccc;">&nbsp;</div></td></tr></table>');return html.join('');}}
function DiggerConst()
{this.baseConstructor=CustomResource;this.baseConstructor();this.Description=['Óñòàëè ðûòüñÿ â ïåðãàìåíòàõ ñ ðåöåïòàìè, ïîñòîÿííî ïóòàåòåñü â ìåøî÷êàõ ñ èíãðåäèåíòàìè, ïîòåðÿëè ñòóïêó ñ êîëáàìè?','Õì, ÷òî æ.  ïîìîùü þíîìó àëõèìèêó ïîäãîòîâëåí óäîáíûé ðåñóðñ, ñ ïîëíîé áàçîé ðåöåïòîâ è ïðåäìåòîâ.','Çàâòðà, âêëþ÷èâ êîìïüþòåð, âû áóäåòå òî÷íî çíàòü, ÷òî åùå íåîáõîäèìî ñîáðàòü.'];this.Name='diggerconst';this.Caption='Êîíñòðóêòîð äèããåðà';this.tabIndex=0;this.imagesToBePreloaded=[];this.divId='diggerConstructorAll';this.tabsId='diggerConstructorTabs';this.knapsackId='diggerConstructorKnapsack';this.recipesId='diggerConstructorRecipes';this.allRecipes1Id='diggerConstructorAllRecipes1';this.allRecipesView1Id='diggerConstructorAllRecipesView1';this.allRecipesItem1Id='diggerConstructorAllRecipesItem1';this.allRecipes2Id='diggerConstructorAllRecipes2';this.allRecipesView2Id='diggerConstructorAllRecipesView2';this.allRecipesItem2Id='diggerConstructorAllRecipesItem2';this.allItemsId='diggerConstructorAllItems';this.allItemsViewId='diggerConstructorAllItemsView';this.allItemsItemId='diggerConstructorAllItemsItem';this.basketId='diggerConstructorBasket';this.basketItemsViewId='diggerConstructorBasketItemsView';this.basketSummaryId='diggerConstructorBasketSummaryId';this.tabIds=[this.knapsackId,this.recipesId,this.allRecipes1Id,this.allRecipes2Id,this.allItemsId,this.basketId];this.itemViewIds=[null,null,this.allRecipesItem1Id,this.allRecipesItem2Id,this.allItemsItemId,null];this.knapsackViewId='diggerConstructorKnapsackView';this.knapsackImportDialogId='diggerConstructorKnapsackImportDialog';this.knapsackImportDialogTextId='diggerConstructorKnapsackImportDialogText';this.knapsackImportDialogLabelId='diggerConstructorKnapsackImportDialogLabel';this.knapsackAddIngrDialogId='diggerConstructorKnapsackAddIngrDialogId';this.knapsackAddIngrDialogLabelId='diggerConstructorKnapsackAddIngrDialogLabelId';this.knapsackAddIngrDialogIngrId='diggerConstructorKnapsackAddIngrDialogIngrId';this.knapsackAddIngrDialogCountId='diggerConstructorKnapsackAddIngrDialogCountId';this.knapsackTableId='diggerConstructorKnapsackTable';this.availIngrId='diggerConstructor_availIngr';this.availRecipesId='diggerConstructor_availRecipes';this.chosenIngrId='diggerConstructor_chosenIngr';this.chosenRecipesId='diggerConstructor_chosenRecipes';this.isChest=false;this.toInvPhrase=' èíâåíòàðü ';this.wearPhrase='íàäåòü ';this.reCount=/^\(X([0-9]+)\)/;this.knapsack={};this.items={};this.components={};this.availi={};this.availr=[];this.choseni={};this.chosenr=[];this.recipes=[];this.basket=[];this.loadCostructorData=function(d)
{this.baseConstructor=CustomResource;this.baseConstructor();this.Description=['Устали рыться в пергаментах с рецептами, постоянно путаетесь в мешочках с ингредиентами, потеряли ступку с колбами?','Хм, что ж. В помощь юному алхимику подготовлен удобный ресурс, с полной базой рецептов и предметов.','Завтра, включив компьютер, вы будете точно знать, что еще необходимо собрать.'];this.Name='diggerconst';this.Caption='Конструктор диггера';this.tabIndex=0;this.imagesToBePreloaded=[];this.divId='diggerConstructorAll';this.tabsId='diggerConstructorTabs';this.knapsackId='diggerConstructorKnapsack';this.recipesId='diggerConstructorRecipes';this.allRecipes1Id='diggerConstructorAllRecipes1';this.allRecipesView1Id='diggerConstructorAllRecipesView1';this.allRecipesItem1Id='diggerConstructorAllRecipesItem1';this.allRecipes2Id='diggerConstructorAllRecipes2';this.allRecipesView2Id='diggerConstructorAllRecipesView2';this.allRecipesItem2Id='diggerConstructorAllRecipesItem2';this.allItemsId='diggerConstructorAllItems';this.allItemsViewId='diggerConstructorAllItemsView';this.allItemsItemId='diggerConstructorAllItemsItem';this.basketId='diggerConstructorBasket';this.basketItemsViewId='diggerConstructorBasketItemsView';this.basketSummaryId='diggerConstructorBasketSummaryId';this.tabIds=[this.knapsackId,this.recipesId,this.allRecipes1Id,this.allRecipes2Id,this.allItemsId,this.basketId];this.itemViewIds=[null,null,this.allRecipesItem1Id,this.allRecipesItem2Id,this.allItemsItemId,null];this.knapsackViewId='diggerConstructorKnapsackView';this.knapsackImportDialogId='diggerConstructorKnapsackImportDialog';this.knapsackImportDialogTextId='diggerConstructorKnapsackImportDialogText';this.knapsackImportDialogLabelId='diggerConstructorKnapsackImportDialogLabel';this.knapsackAddIngrDialogId='diggerConstructorKnapsackAddIngrDialogId';this.knapsackAddIngrDialogLabelId='diggerConstructorKnapsackAddIngrDialogLabelId';this.knapsackAddIngrDialogIngrId='diggerConstructorKnapsackAddIngrDialogIngrId';this.knapsackAddIngrDialogCountId='diggerConstructorKnapsackAddIngrDialogCountId';this.knapsackTableId='diggerConstructorKnapsackTable';this.availIngrId='diggerConstructor_availIngr';this.availRecipesId='diggerConstructor_availRecipes';this.chosenIngrId='diggerConstructor_chosenIngr';this.chosenRecipesId='diggerConstructor_chosenRecipes';this.isChest=false;this.toInvPhrase='В инвентарь ';this.wearPhrase='надеть ';this.reCount=/^\(X([0-9]+)\)/;this.knapsack={};this.items={};this.components={};this.availi={};this.availr=[];this.choseni={};this.chosenr=[];this.recipes=[];this.basket=[];this.loadCostructorData=function(d)
{this.data=d;this.collectDiggerItems();}
this.collectDiggerItems=function()
{for(var cati=this.data.Categories.length-1;cati>=0;cati--)
@@ -510,13 +510,13 @@ html.push('><a href="javascript:;"');if(i!=this.tabIndex)
{html.push(' onclick="ui_changeDiggerTab(');html.push(i);html.push(')"');}
html.push('>');html.push(caption);html.push('</a></li>');return html.join('');}
this.loadKnapsack=function(isChest)
{this.isChest=isChest;document.getElementById(this.knapsackImportDialogLabelId).innerHTML=isChest?'ñóíäóêà':'ðþêçàêà';document.getElementById(this.knapsackImportDialogTextId).value='';document.getElementById(this.knapsackAddIngrDialogId).style.visibility='hidden';document.getElementById(this.knapsackImportDialogId).style.visibility='';}
{this.isChest=isChest;document.getElementById(this.knapsackImportDialogLabelId).innerHTML=isChest?'сундука':'рюкзака';document.getElementById(this.knapsackImportDialogTextId).value='';document.getElementById(this.knapsackAddIngrDialogId).style.visibility='hidden';document.getElementById(this.knapsackImportDialogId).style.visibility='';}
this.loadKnapsackCancel=function()
{document.getElementById(this.knapsackImportDialogTextId).value='';document.getElementById(this.knapsackImportDialogId).style.visibility='hidden';}
this.loadKnapsackOK=function()
{this.parseKnapsackFor(this.isChest,document.getElementById(this.knapsackImportDialogTextId).value);this.loadKnapsackCancel();}
this.addToKnapsack=function(isChest)
{this.isChest=isChest;document.getElementById(this.knapsackAddIngrDialogLabelId).innerHTML=isChest?'ñóíäóê':'ðþêçàê';document.getElementById(this.knapsackAddIngrDialogCountId).value='1';document.getElementById(this.knapsackImportDialogId).style.visibility='hidden';document.getElementById(this.knapsackAddIngrDialogId).style.visibility='';}
{this.isChest=isChest;document.getElementById(this.knapsackAddIngrDialogLabelId).innerHTML=isChest?'сундук':'рюкзак';document.getElementById(this.knapsackAddIngrDialogCountId).value='1';document.getElementById(this.knapsackImportDialogId).style.visibility='hidden';document.getElementById(this.knapsackAddIngrDialogId).style.visibility='';}
this.addKnapsackOK=function()
{var so=document.getElementById(this.knapsackAddIngrDialogIngrId);var cov=document.getElementById(this.knapsackAddIngrDialogCountId).value;if(so.selectedIndex>=0&&!isNaN(cov)&&parseInt(cov)>0)
{this.addIngr(this.isChest,so.options[so.selectedIndex].value,parseInt(cov));}
@@ -524,7 +524,7 @@ this.addKnapsackCancel();}
this.addKnapsackCancel=function()
{document.getElementById(this.knapsackAddIngrDialogId).style.visibility='hidden';}
this.getDiggerTabsHtml=function()
{var html=[];html.push('<div class="dtab" style="background-color: #e6e6e6;"><ul class="dtab">');html.push(this.getDiggerTabHtml('Âàø èíâåíòàðü',0));html.push(this.getDiggerTabHtml('Ïîäáîð ðåöåïòîâ',1));html.push(this.getDiggerTabHtml('Ðåöåïòû ïî ìåñòó ñáîðà',2));html.push(this.getDiggerTabHtml('Ðåöåïòû ïî êàòåãîðèè ïðåäìåòîâ',3));html.push(this.getDiggerTabHtml('Âñå ïðåäìåòû',4));html.push(this.getDiggerTabHtml('Êîðçèíà',5));html.push('</ul></div>');return html.join('');}
{var html=[];html.push('<div class="dtab" style="background-color: #e6e6e6;"><ul class="dtab">');html.push(this.getDiggerTabHtml('Ваш инвентарь',0));html.push(this.getDiggerTabHtml('Подбор рецептов',1));html.push(this.getDiggerTabHtml('Рецепты по месту сбора',2));html.push(this.getDiggerTabHtml('Рецепты по категории предметов',3));html.push(this.getDiggerTabHtml('Все предметы',4));html.push(this.getDiggerTabHtml('Корзина',5));html.push('</ul></div>');return html.join('');}
this.findDiggerItem=function(id)
{return this.items[id];}
this.cleanKnapsackFor=function(isChest,refresh)
@@ -565,24 +565,24 @@ this.findRecipePlace=function(name)
return null;}
this.getItemRecipeHtml=function(recipe)
{var html=[];var place=this.findRecipePlace(recipe.PlaceName);if(place==null)return'<font color="red">bad place</font>';var arp=recipe.RecipeParts;html.push('<fieldset><legend title="');html.push(place.Description.join('<br />'));html.push('">');html.push(place.Caption);html.push('</legend>');if(recipe.Price>0)
{html.push('<div>');html.push('Ñòîèìîñòü ñáîðêè: ');html.push(recipe.Price);html.push(' êð.</div>');}
{html.push('<div>');html.push('Стоимость сборки: ');html.push(recipe.Price);html.push(' кр.</div>');}
for(var i=0;i<arp.length;i++)
{var rp=arp[i];var mater=this.findDiggerItem(rp.Item);html.push('<div>');html.push(mater.Caption);html.push(': ');html.push(rp.Count);html.push('øò.</div>');}
{var rp=arp[i];var mater=this.findDiggerItem(rp.Item);html.push('<div>');html.push(mater.Caption);html.push(': ');html.push(rp.Count);html.push('шт.</div>');}
html.push('</fieldset>');return html.join('');}
this.getItemDescHtml=function(name)
{var item=this.findDiggerItem(name);var html=[];var img=[item.Category.ImageBasePath,item.Name,'.gif'].join('');html.push('<div><nobr><b>');html.push(item.Caption);if(item.Binding>0)
{html.push(' <img src="https://img.new-combats.com/i/destiny.gif" width="16" height="18" border="0" alt=""');switch(item.Binding)
{case 1:html.push(' style="filter: invert();" title="Ýòîò ïðåäìåò áóäåò ñâÿçàí îáùåé ñóäüáîé ñ ïåðâûì, êòî ïîëó÷èò åãî. Íèêòî äðóãîé íå ñìîæåò åãî èñïîëüçîâàòü."');break;case 2:html.push(' style="filter: gray();" title="Ýòîò ïðåäìåò áóäåò ñâÿçàí îáùåé ñóäüáîé ñ ïåðâûì, êòî îäåíåò åãî. Íèêòî äðóãîé íå ñìîæåò åãî èñïîëüçîâàòü."');break;case 3:html.push(' title="Ýòîò ïðåäìåò ñâÿçàí îáùåé ñóäüáîé."');break;}
{case 1:html.push(' style="filter: invert();" title="Этот предмет будет связан общей судьбой с первым, кто получит его. Никто другой не сможет его использовать."');break;case 2:html.push(' style="filter: gray();" title="Этот предмет будет связан общей судьбой с первым, кто оденет его. Никто другой не сможет его использовать."');break;case 3:html.push(' title="Этот предмет связан общей судьбой."');break;}
html.push(' />');}
if(item.IsGift)
{html.push(' <img src="https://img.new-combats.com/i/podarok.gif" width="16" height="18" border="0" alt="" title="Ïîäàðîê" />');}
{html.push(' <img src="https://img.new-combats.com/i/podarok.gif" width="16" height="18" border="0" alt="" title="Подарок" />');}
html.push('</b></nobr></div>');html.push('<div>');html.push('<img src="');html.push(img);html.push('" border="0" align="right" width="');html.push(item.W);html.push('" height="');html.push(item.H);html.push('" />');html.push(item.Description.join(item.NewLineToBR?'<br />':''));html.push('</div>');if(('Recipes'in item)&&(item.Recipes.length>0))
{html.push('<div class="hintview">');for(var ri in item.Recipes)
{html.push(this.getItemRecipeHtml(item.Recipes[ri]));}
html.push('</div>');}
if('usedIn'in item)
{html.push('<table class="proshka" width="100%">');for(var ui in item.usedIn)
{var uitem=this.findDiggerItem(ui);var place=this.findRecipePlace(item.usedIn[ui].recipe.PlaceName);html.push('<tr><td>Èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ: <b>');html.push(uitem.Caption);html.push('</b> â êîëè÷åñòâå ');html.push(item.usedIn[ui].count);html.push('øò., â ');if(place==null)html.push('<font color="red">bad place</font>');else html.push(place.Caption);html.push('.</td></tr>');}
{var uitem=this.findDiggerItem(ui);var place=this.findRecipePlace(item.usedIn[ui].recipe.PlaceName);html.push('<tr><td>Используется для создания: <b>');html.push(uitem.Caption);html.push('</b> в количестве ');html.push(item.usedIn[ui].count);html.push('шт., в ');if(place==null)html.push('<font color="red">bad place</font>');else html.push(place.Caption);html.push('.</td></tr>');}
html.push('</table>');}
return html.join('');}
this.showItemInView=function(name)
@@ -591,13 +591,13 @@ this.showItemPopup=function(name)
{var html=[];html.push('<div style="width: 400px;">');html.push(this.getItemDescHtml(name));html.push('</div>');showPopup(html.join(''));}
this.getKnapsackTableHtml=function()
{var materCount=0;var html=[];html.push('<table style="table-layout:fixed;width:100%;background-color: white;border:1px solid #ccc;padding:2px;margin:0;" id="');html.push(this.knapsackTableId);html.push('">');for(var materi in this.knapsack)
{var materd=this.knapsack[materi];var matern=materd.name;var mater=this.findDiggerItem(matern);html.push('<tr><td width="60" align="center" valign="center" rowspan="2"><img src="');html.push(mater.Category.ImageBasePath);html.push(mater.Name);html.push('.gif" width="');html.push(mater.W);html.push('" height="');html.push(mater.H);html.push('" border="0" alt="" onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()" /></td><td colspan="2"><b onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()">');html.push(mater.Caption);html.push('</b></td><td rowspan="2" align="right">Âñåãî: <b>');html.push(materd.total);html.push('</b>øò.</td></tr><tr><td align="right"> ðþêçàêå: ');html.push(materd.knapsack);html.push('øò.');html.push('&nbsp;<a title="Óâåëè÷èòü êîëè÷åñòâî" href="javascript:;" onclick="ui_addIngr(false, \'');html.push(mater.Name);html.push('\', 1)"><b>+</b></a>');if(materd.knapsack>0)
{html.push('&nbsp;<a title="Óìåíüøèòü êîëè÷åñòâî" href="javascript:;" onclick="ui_addIngr(false, \'');html.push(mater.Name);html.push('\', -1)"><b>-</b></a>');}
html.push('</td><td align="right"> ñóíäóêå: ');html.push(materd.chest);html.push('øò.');html.push('&nbsp;<a title="Óâåëè÷èòü êîëè÷åñòâî" href="javascript:;" onclick="ui_addIngr(true, \'');html.push(mater.Name);html.push('\', 1)"><b>+</b></a>');if(materd.chest>0)
{html.push('&nbsp;<a title="Óìåíüøèòü êîëè÷åñòâî" href="javascript:;" onclick="ui_addIngr(true, \'');html.push(mater.Name);html.push('\', -1)"><b>-</b></a>');}
{var materd=this.knapsack[materi];var matern=materd.name;var mater=this.findDiggerItem(matern);html.push('<tr><td width="60" align="center" valign="center" rowspan="2"><img src="');html.push(mater.Category.ImageBasePath);html.push(mater.Name);html.push('.gif" width="');html.push(mater.W);html.push('" height="');html.push(mater.H);html.push('" border="0" alt="" onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()" /></td><td colspan="2"><b onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()">');html.push(mater.Caption);html.push('</b></td><td rowspan="2" align="right">Всего: <b>');html.push(materd.total);html.push('</b>шт.</td></tr><tr><td align="right">В рюкзаке: ');html.push(materd.knapsack);html.push('шт.');html.push('&nbsp;<a title="Увеличить количество" href="javascript:;" onclick="ui_addIngr(false, \'');html.push(mater.Name);html.push('\', 1)"><b>+</b></a>');if(materd.knapsack>0)
{html.push('&nbsp;<a title="Уменьшить количество" href="javascript:;" onclick="ui_addIngr(false, \'');html.push(mater.Name);html.push('\', -1)"><b>-</b></a>');}
html.push('</td><td align="right">В сундуке: ');html.push(materd.chest);html.push('шт.');html.push('&nbsp;<a title="Увеличить количество" href="javascript:;" onclick="ui_addIngr(true, \'');html.push(mater.Name);html.push('\', 1)"><b>+</b></a>');if(materd.chest>0)
{html.push('&nbsp;<a title="Уменьшить количество" href="javascript:;" onclick="ui_addIngr(true, \'');html.push(mater.Name);html.push('\', -1)"><b>-</b></a>');}
html.push('</td></tr>');materCount++;}
if(materCount==0)
{html.push('<tr><td align="center" style="color: #a0a0a0;">Èíâåíòàðü íå ñîäåðæèò èíãðåäèåíòîâ è äðóãèõ êîìïîíåíòîâ.</td></tr>');}
{html.push('<tr><td align="center" style="color: #a0a0a0;">Инвентарь не содержит ингредиентов и других компонентов.</td></tr>');}
html.push('</table>');return html.join('');}
this.getComponentOptions=function()
{var html=[];for(var cati=0;cati<this.data.Categories.length;cati++)
@@ -607,18 +607,18 @@ if(chtml.length>0)
{html.push('<optgroup label="');html.push(cat.Caption);html.push('">');html.push(chtml.join(''));html.push('</optgroup>');}}
return html.join('');}
this.getKnapsackTabHtml=function()
{var html=[];html.push('<div style="position:relative;" id="');html.push(this.knapsackId);html.push('">');html.push('<div style="visibility:hidden;position:absolute;left:5%;width: 90%;top:10px;height: 380px;border: 1px solid #333;filter: alpha(opacity = 95, style = 4), progid:DXImageTransform.Microsoft.Shadow(color=\'#666666\', Direction=135, Strength=2);opacity:0.95;-moz-opacity:0.95;KhtmlOpacity:0.95;background-color:whitesmoke;padding:4px;" id="');html.push(this.knapsackImportDialogId);html.push('"><div style="background-color: caption; color: captiontext;">Çàãðóçêà äàííûõ</div>');html.push('Ñêîïèðóéòå ñîäåðæèìîå <span id="');html.push(this.knapsackImportDialogLabelId);html.push('">ðþêçàêà</span> ñþäà:<br /><textarea style="left:4%;width:92%;top: 4px;height:320px;" mode="soft" id="');html.push(this.knapsackImportDialogTextId);html.push('"></textarea><br />');html.push(' <input type="button" class="inpButton" value="Çàãðóçèòü" onclick="ui_loadKnapsackOK()" />');html.push(' <input type="button" class="inpButton" value="Îòìåíà" onclick="ui_loadKnapsackCancel()" />');html.push('</div>');html.push('<div style="visibility:hidden;position:absolute;left:5%;width: 90%;top:10px;border: 1px solid #333;filter: alpha(opacity = 95, style = 4), progid:DXImageTransform.Microsoft.Shadow(color=\'#666666\', Direction=135, Strength=2);opacity:0.95;-moz-opacity:0.95;KhtmlOpacity:0.95;background-color:whitesmoke;padding:4px;" id="');html.push(this.knapsackAddIngrDialogId);html.push('"><div style="background-color: caption; color: captiontext;">Äîáàâëåíèå èíãðåäèåíòà</div>');html.push('Äîáàâèòü èíãðåäèåíò â <span id="');html.push(this.knapsackAddIngrDialogLabelId);html.push('">ðþêçàê</span>: <select id="');html.push(this.knapsackAddIngrDialogIngrId);html.push('">');html.push(this.getComponentOptions());html.push('</select><br />Êîëè÷åñòâî: <input type="text" value="1" id="');html.push(this.knapsackAddIngrDialogCountId);html.push('" /><br />');html.push(' <input type="button" class="inpButton" value="Äîáàâèòü" onclick="ui_addKnapsackOK()" />');html.push(' <input type="button" class="inpButton" value="Îòìåíà" onclick="ui_addKnapsackCancel()" />');html.push('</div>');html.push('<div style="width: 100%;height: 440px;overflow: auto;">');html.push('<div id="');html.push(this.knapsackViewId);html.push('">');html.push(this.getKnapsackTableHtml());html.push('</div></div>');html.push(' <input type="button" class="inpButton" value="Çàãðóçèòü ðþêçàê" onclick="ui_loadKnapsack(false)" />');html.push(' <input type="button" class="inpButton" value="Çàãðóçèòü ñóíäóê" onclick="ui_loadKnapsack(true)" />');html.push(' <input type="button" class="inpButton" value="Äîáàâèòü èíãðåäèåíò â ðþêçàê" onclick="ui_addToKnapsack(false)" />');html.push(' <input type="button" class="inpButton" value="Äîáàâèòü èíãðåäèåíò â ñóíäóê" onclick="ui_addToKnapsack(true)" />');html.push(' <input type="button" class="inpButton" value="Ñîõðàíèòü íà ñåðâåðå" onclick="ui_saveKnapsack()" disabled="yes" />');html.push(' <input type="button" class="inpButton" value="Î÷èñòèòü" onclick="ui_clearKnapsack()" />');html.push(' <input type="button" class="inpButton" value="Ïîäîáðàòü ðåöåïòû &gt;&gt;&gt;" onclick="ui_changeDiggerTab(1)" />');html.push('</div>');return html.join('');}
{var html=[];html.push('<div style="position:relative;" id="');html.push(this.knapsackId);html.push('">');html.push('<div style="visibility:hidden;position:absolute;left:5%;width: 90%;top:10px;height: 380px;border: 1px solid #333;filter: alpha(opacity = 95, style = 4), progid:DXImageTransform.Microsoft.Shadow(color=\'#666666\', Direction=135, Strength=2);opacity:0.95;-moz-opacity:0.95;KhtmlOpacity:0.95;background-color:whitesmoke;padding:4px;" id="');html.push(this.knapsackImportDialogId);html.push('"><div style="background-color: caption; color: captiontext;">Загрузка данных</div>');html.push('Скопируйте содержимое <span id="');html.push(this.knapsackImportDialogLabelId);html.push('">рюкзака</span> сюда:<br /><textarea style="left:4%;width:92%;top: 4px;height:320px;" mode="soft" id="');html.push(this.knapsackImportDialogTextId);html.push('"></textarea><br />');html.push(' <input type="button" class="inpButton" value="Загрузить" onclick="ui_loadKnapsackOK()" />');html.push(' <input type="button" class="inpButton" value="Отмена" onclick="ui_loadKnapsackCancel()" />');html.push('</div>');html.push('<div style="visibility:hidden;position:absolute;left:5%;width: 90%;top:10px;border: 1px solid #333;filter: alpha(opacity = 95, style = 4), progid:DXImageTransform.Microsoft.Shadow(color=\'#666666\', Direction=135, Strength=2);opacity:0.95;-moz-opacity:0.95;KhtmlOpacity:0.95;background-color:whitesmoke;padding:4px;" id="');html.push(this.knapsackAddIngrDialogId);html.push('"><div style="background-color: caption; color: captiontext;">Добавление ингредиента</div>');html.push('Добавить ингредиент в <span id="');html.push(this.knapsackAddIngrDialogLabelId);html.push('">рюкзак</span>: <select id="');html.push(this.knapsackAddIngrDialogIngrId);html.push('">');html.push(this.getComponentOptions());html.push('</select><br />Количество: <input type="text" value="1" id="');html.push(this.knapsackAddIngrDialogCountId);html.push('" /><br />');html.push(' <input type="button" class="inpButton" value="Добавить" onclick="ui_addKnapsackOK()" />');html.push(' <input type="button" class="inpButton" value="Отмена" onclick="ui_addKnapsackCancel()" />');html.push('</div>');html.push('<div style="width: 100%;height: 440px;overflow: auto;">');html.push('<div id="');html.push(this.knapsackViewId);html.push('">');html.push(this.getKnapsackTableHtml());html.push('</div></div>');html.push(' <input type="button" class="inpButton" value="Загрузить рюкзак" onclick="ui_loadKnapsack(false)" />');html.push(' <input type="button" class="inpButton" value="Загрузить сундук" onclick="ui_loadKnapsack(true)" />');html.push(' <input type="button" class="inpButton" value="Добавить ингредиент в рюкзак" onclick="ui_addToKnapsack(false)" />');html.push(' <input type="button" class="inpButton" value="Добавить ингредиент в сундук" onclick="ui_addToKnapsack(true)" />');html.push(' <input type="button" class="inpButton" value="Сохранить на сервере" onclick="ui_saveKnapsack()" disabled="yes" />');html.push(' <input type="button" class="inpButton" value="Очистить" onclick="ui_clearKnapsack()" />');html.push(' <input type="button" class="inpButton" value="Подобрать рецепты &gt;&gt;&gt;" onclick="ui_changeDiggerTab(1)" />');html.push('</div>');return html.join('');}
this.refreshRecipesTab=function()
{document.getElementById(this.availIngrId).innerHTML=this.getIngrTable(this.availi,'Äîñòóïíûå êîìïîíåíòû');document.getElementById(this.availRecipesId).innerHTML=this.getRecipeTable(this.availr,true,'Äîñòóïíûå ðåöåïòû');document.getElementById(this.chosenIngrId).innerHTML=this.getIngrTable(this.choseni,'Èñïîëüçîâàííûå êîìïîíåíòû');document.getElementById(this.chosenRecipesId).innerHTML=this.getRecipeTable(this.chosenr,false,'Âûáðàííûå ðåöåïòû');}
{document.getElementById(this.availIngrId).innerHTML=this.getIngrTable(this.availi,'Доступные компоненты');document.getElementById(this.availRecipesId).innerHTML=this.getRecipeTable(this.availr,true,'Доступные рецепты');document.getElementById(this.chosenIngrId).innerHTML=this.getIngrTable(this.choseni,'Использованные компоненты');document.getElementById(this.chosenRecipesId).innerHTML=this.getRecipeTable(this.chosenr,false,'Выбранные рецепты');}
this.getRecipesTabHtml=function()
{var html=[];html.push('<div style="display: none;" id="');html.push(this.recipesId);html.push('">');html.push('<table class="proshka" style="width: 100%" style="table-layout: fixed;"><tr><td width="50%"><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.availIngrId);html.push('">');html.push(this.getIngrTable({},'Äîñòóïíûå êîìïîíåíòû'));html.push('</div></td><td><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.availRecipesId);html.push('">');html.push(this.getRecipeTable([],true,'Äîñòóïíûå ðåöåïòû'));html.push('</div></td></tr><tr><td width="50%"><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.chosenIngrId);html.push('">');html.push(this.getIngrTable({},'Èñïîëüçîâàííûå êîìïîíåíòû'));html.push('</div></td><td><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.chosenRecipesId);html.push('">');html.push(this.getRecipeTable([],false,'Âûáðàííûå ðåöåïòû'));html.push('</div></td></tr></table>');html.push(' <input type="button" class="inpButton" value="&lt;&lt;&lt; Èçìåíèòü ñîäåðæàíèå ðþêçàêà" onclick="ui_changeDiggerTab(0)" />');html.push('</div>');return html.join('');}
{var html=[];html.push('<div style="display: none;" id="');html.push(this.recipesId);html.push('">');html.push('<table class="proshka" style="width: 100%" style="table-layout: fixed;"><tr><td width="50%"><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.availIngrId);html.push('">');html.push(this.getIngrTable({},'Доступные компоненты'));html.push('</div></td><td><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.availRecipesId);html.push('">');html.push(this.getRecipeTable([],true,'Доступные рецепты'));html.push('</div></td></tr><tr><td width="50%"><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.chosenIngrId);html.push('">');html.push(this.getIngrTable({},'Использованные компоненты'));html.push('</div></td><td><div style="overflow: auto;height:260px;background-color: white;" id="');html.push(this.chosenRecipesId);html.push('">');html.push(this.getRecipeTable([],false,'Выбранные рецепты'));html.push('</div></td></tr></table>');html.push(' <input type="button" class="inpButton" value="&lt;&lt;&lt; Изменить содержание рюкзака" onclick="ui_changeDiggerTab(0)" />');html.push('</div>');return html.join('');}
this.getIngrTable=function(va,title)
{var html=[];var count=0;html.push('<table class="proshka">');if(title!=null)
{html.push('<tr><th colspan="2">');html.push(title);html.push('</th></tr>');}
for(var n in va)
{html.push('<tr><td');var mater=this.findDiggerItem(n);html.push(' onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()">');html.push(mater.Caption);html.push('</td><td');if(va[n]<0)html.push(' style="color: red;"');html.push('>');html.push(va[n]);html.push('øò.</td></tr>');count++;}
{html.push('<tr><td');var mater=this.findDiggerItem(n);html.push(' onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()">');html.push(mater.Caption);html.push('</td><td');if(va[n]<0)html.push(' style="color: red;"');html.push('>');html.push(va[n]);html.push('шт.</td></tr>');count++;}
if(count==0)
{html.push('<tr><td colspan="2" align="center">Íåò èíãðåäèåíòîâ èëè äðóãèõ êîìïîíåíòîâ.</td></tr>');}
{html.push('<tr><td colspan="2" align="center">Нет ингредиентов или других компонентов.</td></tr>');}
html.push('</table>');return html.join('');}
this.getRecipeTable=function(va,additive,title)
{var html=[];var count=0;html.push('<table class="proshka">');if(title!=null)
@@ -628,19 +628,19 @@ html.push('>');html.push(title);html.push('</th></tr>');}
for(var n in va)
{html.push('<tr><td');var rd=va[n];var mater=rd.recipe.Item;var place=this.findRecipePlace(rd.recipe.PlaceName);html.push(' onclick="ui_showItemInView(\'');html.push(mater.Name);html.push('\')" onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()">');if(place==null)html.push('<font color="red">bad place</font>');else html.push(place.Caption);html.push(': ');html.push(mater.Caption);html.push('</td>');if(additive!=null)
{if(additive==false||additive==true||additive=='4basket')
{html.push('<td');if(va[n]<0)html.push(' style="color: red;"');html.push('>');html.push((rd.count<65535)?rd.count:'?');html.push('øò.</td>');}
{html.push('<td');if(va[n]<0)html.push(' style="color: red;"');html.push('>');html.push((rd.count<65535)?rd.count:'?');html.push('шт.</td>');}
html.push('<td>');if(additive=='2basket')
{html.push('<small><a title="Äîáàâèòü â êîðçèíó" href="javascript:;" onclick="ui_addRecipeToBasket(\'');html.push(rd.recipe.PlaceName);html.push('\', \'');html.push(rd.recipe.Item.Name);html.push('\')">Äîáàâèòü</a></small>');}
{html.push('<small><a title="Добавить в корзину" href="javascript:;" onclick="ui_addRecipeToBasket(\'');html.push(rd.recipe.PlaceName);html.push('\', \'');html.push(rd.recipe.Item.Name);html.push('\')">Добавить</a></small>');}
else if(additive=='4basket')
{html.push('<small><a title="Óáðàòü èç êîðçèíû" href="javascript:;" onclick="ui_removeRecipeFromBasket(\'');html.push(rd.recipe.PlaceName);html.push('\', \'');html.push(rd.recipe.Item.Name);html.push('\')">Óáðàòü</a></small>');}
{html.push('<small><a title="Убрать из корзины" href="javascript:;" onclick="ui_removeRecipeFromBasket(\'');html.push(rd.recipe.PlaceName);html.push('\', \'');html.push(rd.recipe.Item.Name);html.push('\')">Убрать</a></small>');}
else if(additive==true)
{html.push('<small><a href="javascript:;" onclick="ui_chooseRecipe(');html.push(n);html.push(', true)">Äîáàâèòü</a></small>');}
{html.push('<small><a href="javascript:;" onclick="ui_chooseRecipe(');html.push(n);html.push(', true)">Добавить</a></small>');}
else
{html.push('<small><a href="javascript:;" onclick="ui_chooseRecipe(');html.push(n);html.push(', false)">Óáðàòü</a></small>');}
{html.push('<small><a href="javascript:;" onclick="ui_chooseRecipe(');html.push(n);html.push(', false)">Убрать</a></small>');}
html.push('</td>');}
html.push('</tr>');count++;}
if(count==0)
{html.push('<tr><td align="center">Íåò ðåöåïòîâ.</td></tr>');}
{html.push('<tr><td align="center">Нет рецептов.</td></tr>');}
html.push('</table>');return html.join('');}
this.getSpliceArray=function(a,index)
{var r=[];for(var i=0;i<a.length;i++)
@@ -673,8 +673,8 @@ this.getAllRecipes1TabHtml=function()
{var html=[];html.push('<div style="display: none; width: 100%;" id="');html.push(this.allRecipes1Id);html.push('"><table class="proshka" style="width: 100%"><tr><td width="220" valign="top">');var arp=this.data.RecipePlaces;for(var i=0;i<arp.length;i++)
{var rp=arp[i];html.push('<div style="font-size: 11px;"><a href="javascript:;" onclick="ui_openRecipesOfPlace(');html.push(i);html.push(')">');html.push(rp.Caption);html.push('</a></div>');}
html.push('</td><td>');html.push('<div style="height: 440px;overflow: auto;" id="')
html.push(this.allRecipesView1Id);html.push('"><font color="#a0a0a0">Âûáåðèòå ìåñòî ñáîðà äëÿ ïðîñìîòðà.</font></div>');html.push('</td><td width="260">');html.push('<div style="width: 100%;" id="')
html.push(this.allRecipesItem1Id);html.push('"><font color="#a0a0a0">Âûáåðèòå ïðåäìåò äëÿ ïðîñìîòðà.</font></div>');html.push('</td></tr></table></div>');return html.join('');}
html.push(this.allRecipesView1Id);html.push('"><font color="#a0a0a0">Выберите место сбора для просмотра.</font></div>');html.push('</td><td width="260">');html.push('<div style="width: 100%;" id="')
html.push(this.allRecipesItem1Id);html.push('"><font color="#a0a0a0">Выберите предмет для просмотра.</font></div>');html.push('</td></tr></table></div>');return html.join('');}
this.getItemTable=function(va,title,options)
{var html=[];var count=0;html.push('<table class="proshka">');if(title!=null)
{html.push('<tr><th');if(options&&options.action=='2basket')
@@ -682,10 +682,10 @@ this.getItemTable=function(va,title,options)
html.push(title);html.push('</th></tr>');}
for(var n in va)
{html.push('<tr><td');var mater=va[n];html.push(' onclick="ui_showItemInView(\'');html.push(mater.Name);html.push('\')" onmouseover="ui_showDiggerItemPopup(\'');html.push(mater.Name);html.push('\')" onmouseout="hidePopup2()">');html.push(mater.Caption);html.push('</td>');if(options&&options.action=='2basket')
{html.push('<td><small><a title="Äîáàâèòü â êîðçèíó" href="javascript:;" onclick="ui_addItemToBasket(\'');html.push(mater.Name);html.push('\')">Äîáàâèòü</a></small></td>');}
{html.push('<td><small><a title="Добавить в корзину" href="javascript:;" onclick="ui_addItemToBasket(\'');html.push(mater.Name);html.push('\')">Добавить</a></small></td>');}
html.push('</tr>');count++;}
if(count==0)
{html.push('<tr><td align="center">Íåò ïðåäìåòîâ.</td></tr>');}
{html.push('<tr><td align="center">Нет предметов.</td></tr>');}
html.push('</table>');return html.join('');}
this.openRecipesOfPlace=function(index)
{var va=[];var place=this.data.RecipePlaces[index];var placeName=place.Name;for(var i in this.recipes)
@@ -698,8 +698,8 @@ this.getAllRecipes2TabHtml=function()
{var html=[];html.push('<div style="display: none; width: 100%;" id="');html.push(this.allRecipes2Id);html.push('"><table class="proshka" style="width: 100%"><tr><td width="220">');var arp=this.data.Categories;for(var i=0;i<arp.length;i++)
{var rp=arp[i];if(!rp.hasRecipes)continue;html.push('<div style="font-size: 11px;"><a href="javascript:;" onclick="ui_openRecipesOfCategory(');html.push(i);html.push(')">');html.push(rp.Caption);html.push('</a></div>');}
html.push('</td><td>');html.push('<div style="height: 440px;overflow: auto;" id="')
html.push(this.allRecipesView2Id);html.push('"><font color="#a0a0a0">Âûáåðèòå êàòåãîðèþ äëÿ ïðîñìîòðà.</font></div>');html.push('</td><td width="260">');html.push('<div style="width: 100%;" id="')
html.push(this.allRecipesItem2Id);html.push('"><font color="#a0a0a0">Âûáåðèòå ïðåäìåò äëÿ ïðîñìîòðà.</font></div>');html.push('</td></tr></table></div>');return html.join('');}
html.push(this.allRecipesView2Id);html.push('"><font color="#a0a0a0">Выберите категорию для просмотра.</font></div>');html.push('</td><td width="260">');html.push('<div style="width: 100%;" id="')
html.push(this.allRecipesItem2Id);html.push('"><font color="#a0a0a0">Выберите предмет для просмотра.</font></div>');html.push('</td></tr></table></div>');return html.join('');}
this.openRecipesOfCategory=function(index)
{var va=[];var cat=this.data.Categories[index];for(var i in this.items)
{var itm=this.items[i];if(itm.Category==cat&&itm.Recipes.length>0)
@@ -711,8 +711,8 @@ this.getAllItemsTabHtml=function()
{var html=[];html.push('<div style="display: none; width: 100%;" id="');html.push(this.allItemsId);html.push('"><table class="proshka" style="width: 100%"><tr><td width="220">');var arp=this.data.Categories;for(var i=0;i<arp.length;i++)
{var rp=arp[i];html.push('<div style="font-size: 11px;"><a href="javascript:;" onclick="ui_openItemsOfCategory(');html.push(i);html.push(')">');html.push(rp.Caption);html.push('</a></div>');}
html.push('</td><td>');html.push('<div style="height: 440px;overflow: auto;" id="')
html.push(this.allItemsViewId);html.push('"><font color="#a0a0a0">Âûáåðèòå êàòåãîðèþ äëÿ ïðîñìîòðà.</font></div>');html.push('</td><td width="260">');html.push('<div style="width: 100%;" id="')
html.push(this.allItemsItemId);html.push('"><font color="#a0a0a0">Âûáåðèòå ïðåäìåò äëÿ ïðîñìîòðà.</font></div>');html.push('</td></tr></table></div>');return html.join('');}
html.push(this.allItemsViewId);html.push('"><font color="#a0a0a0">Выберите категорию для просмотра.</font></div>');html.push('</td><td width="260">');html.push('<div style="width: 100%;" id="')
html.push(this.allItemsItemId);html.push('"><font color="#a0a0a0">Выберите предмет для просмотра.</font></div>');html.push('</td></tr></table></div>');return html.join('');}
this.openItemsOfCategory=function(index)
{var cat=this.data.Categories[index];var html=[];var title=['<div style="width: 100%;">',cat.Caption,'</div>'];if(cat.Description.length>0)
{title.push('<div style="font-size: 80%; font-weight: normal; border-top: 1px dashed #999; padding: 2px; margin: 0; width: 100%;">');title.push(cat.Description.join(cat.NewLineToBR?'<br />':''));title.push('</div>');}
@@ -736,15 +736,15 @@ for(var j in rps)
{ingr[idef.name].count+=idef.count;}
else
{ingr[idef.name]=idef;}}}
html.push('<table class="proshka">');html.push('<tr><th>Êîìïîíåíò</th><th>Êîëè÷åñòâî</th></tr>');var empty=true;if(price>0)
{html.push('<tr><td scope="row">Ñòîèìîñòü ñáîðêè');html.push('</td><td style="text-align: center;">');html.push(price);html.push(' êð.</td></tr>');empty=false;}
html.push('<table class="proshka">');html.push('<tr><th>Компонент</th><th>Количество</th></tr>');var empty=true;if(price>0)
{html.push('<tr><td scope="row">Стоимость сборки');html.push('</td><td style="text-align: center;">');html.push(price);html.push(' кр.</td></tr>');empty=false;}
for(var i in ingr)
{var idef=ingr[i];html.push('<tr><td scope="row">');html.push(idef.item.Caption);html.push('</td><td style="text-align: center;">');html.push(idef.count);html.push(' øò.</td></tr>');empty=false;}
{var idef=ingr[i];html.push('<tr><td scope="row">');html.push(idef.item.Caption);html.push('</td><td style="text-align: center;">');html.push(idef.count);html.push(' шт.</td></tr>');empty=false;}
if(empty)
{html.push('<tr><td colspan="2" style="text-align: center; color: #a0a0a0;">');html.push('Íè÷åãî íå òðåáóåòñÿ.');html.push('</td></tr>');empty=false;}
{html.push('<tr><td colspan="2" style="text-align: center; color: #a0a0a0;">');html.push('Ничего не требуется.');html.push('</td></tr>');empty=false;}
html.push('</table>');return html.join('');}
this.refreshBasketTab=function()
{document.getElementById(this.basketItemsViewId).innerHTML=this.getRecipeTable(this.basket,'4basket','Êîðçèíà');document.getElementById(this.basketSummaryId).innerHTML=this.getBasketSummary();}
{document.getElementById(this.basketItemsViewId).innerHTML=this.getRecipeTable(this.basket,'4basket','Корзина');document.getElementById(this.basketSummaryId).innerHTML=this.getBasketSummary();}
this.addRecipeToBasket=function(placeName,itemName)
{var itm=this.items[itemName];if(!('Recipes'in itm))return;for(var rn in itm.Recipes)
{var recipe=itm.Recipes[rn];if(recipe.PlaceName==placeName)
@@ -761,12 +761,12 @@ this.addItemToBasket=function(itemName)
this.refreshBasketTab();}
this.getBasketTabHtml=function()
{var html=[];html.push('<div style="display: none; width: 100%;" id="');html.push(this.basketId);html.push('"><table class="proshka" style="width: 100%"><tr>');html.push('<td>');html.push('<div id="')
html.push(this.basketItemsViewId);html.push('">');html.push(this.getRecipeTable(this.basket,'4basket','Êîðçèíà'));html.push('</div>');html.push('</td></tr>');html.push('<tr>');html.push('<td>');html.push('<div id="')
html.push(this.basketItemsViewId);html.push('">');html.push(this.getRecipeTable(this.basket,'4basket','Корзина'));html.push('</div>');html.push('</td></tr>');html.push('<tr>');html.push('<td>');html.push('<div id="')
html.push(this.basketSummaryId);html.push('">');html.push(this.getBasketSummary());html.push('</div>');html.push('</td></tr></table></div>');return html.join('');}
this.getChapterHtml=function()
{var html=[];html.push('<h5>Êîíñòðóêòîð äèããåðà</h5>');html.push('<div id="');html.push(this.tabsId);html.push('">');html.push(this.getDiggerTabsHtml());html.push('</div>');html.push('<div id="');html.push(this.divId);html.push('">');html.push(this.getKnapsackTabHtml());html.push(this.getRecipesTabHtml());html.push(this.getAllRecipes1TabHtml());html.push(this.getAllRecipes2TabHtml());html.push(this.getAllItemsTabHtml());html.push(this.getBasketTabHtml());html.push('</div>');return html.join('');}}
{var html=[];html.push('<h5>Конструктор диггера</h5>');html.push('<div id="');html.push(this.tabsId);html.push('">');html.push(this.getDiggerTabsHtml());html.push('</div>');html.push('<div id="');html.push(this.divId);html.push('">');html.push(this.getKnapsackTabHtml());html.push(this.getRecipesTabHtml());html.push(this.getAllRecipes1TabHtml());html.push(this.getAllRecipes2TabHtml());html.push(this.getAllItemsTabHtml());html.push(this.getBasketTabHtml());html.push('</div>');return html.join('');}}
function Underground()
{this.offline=false;this.titleSuffix=' - '+document.title;this.knownChapters={};this.welcomeDungeon=new WelcomeDungeon();this.activeDungeon=this.welcomeDungeon;this.diggerConstructor=new DiggerConst();this.resources=[this.diggerConstructor];this.externals=[new ExternalResource('https://tarmans.kombats.ru/forum/index.php?showtopic=9159','Áóêìåêåðñêàÿ êîíòîðà Õðàíèòåëåé Àçàðòà Àðìàäû',['Ñóùåñòâóåò ìíîæåñòâî ðàçíîîáðàçíûõ âèäîâ ïðîãíîçà - îò ïðîãíîçà ïîãîäû äî ñèñòåì ðàñ÷åòà ïîâåäåíèÿ ãðóïï ëþäåé â îïðåäåëåííûõ ñèòóàöèÿõ. Íî, ïîæàëóé, ñàìîé ïîïóëÿðíîé òåìîé äëÿ ïðîãíîçèðîâàíèÿ âñåãäà áûë ñïîðò è âñå, ÷òî ñ íèì ñâÿçàíî. Ñëåäóåò ïðèçíàòü, ÷òî óìåíèåì ïðîãíîçèðîâàòü ïðàâèëüíî îáëàäàþò äàëåêî íå âñå, íî òå, êòî â ýòîì ñèëåí, ëåãêî ìîãóò ñóùåñòâåííî óâåëè÷èòü ñâîé êàïèòàë. À ïîìîãóò èì â ýòîì Õðàíèòåëè Àçàðòà Àðìàäû - îíè çíàþò î ïðîãíîçèðîâàíèè è î ñïîðòå âñå.','Áóêìåêåðñêàÿ êîíòîðà Àðìàäû ïðåäëàãàåò Âàì âîçìîæíîñòü ñäåëàòü ñòàâêè íà âñå ñàìûå âàæíûå è èíòåðåñíûå ñîáûòèÿ â ìèðå ñïîðòà - õîêêåé, òåííèñ, ôóòáîë è ìíîãîå äðóãîå. Èãðàéòå è âûèãðûâàé!'],true),new ExternalResource('https://demonscity.combats.ru/forum.pl?id=1172503495&n=sales','Ãèëüäèè Ò¸ìíûõ Çåìåëü',[' ÷óæîé ìîíàñòûðü ñî ñâîèì óñòàâîì íå ñóéñÿ. Òàê êàê çàðàáîòàòü íà Òåððèòîðèè Òüìû, çàðàáîòàòü êðåäèòû, à íå î÷åðåäíóþ òðàâìó? Ìàãè, íàåìíèêè, ëåêàðè è òîðãîâöû, ñïåöèàëüíî äëÿ âàùåãî ñîîáùåñòâà áûëè ñîçäàíû Ãèëüäèè Òåìíûõ Çåìåëü.','×òî æå âàì äàåò âñòóïëåíèå êðîìå îãðàíè÷åíèé? Ïîääåðæêó Àðìàäû, ñëàæåííîñòü êîìàíäû è ïîìîùü â ïîèñêå êëèåíòîâ. Òîðãóéòå, ëå÷èòå, êîëäóéòå, êàëå÷üòå ïî âûñîêèì öåíàì, äåìïèíãó íå ìåñòî âî Òüìå.'],true)];this.loadedDungeons={};this.loadedScripts={};this.objects={};this.mobs={};this.imagesToBePreloaded=[];this.preloader=null;this.decoratedOpacityStyle='opacity: 0.3; -moz-opacity: 0.3; KhtmlOpacity: 0.3;filter:alpha(opacity = 30, style = 4);';this.activeChapterHeader=null;this.pngCls=(msie&&!msie7)?'objectImage':'';this.pngClsAttr=(msie&&!msie7)?' class="objectImage"':'';this.settings={cellWidth:40,cellHeight:40,cellLocationShift:0,cellSizeShift:msie?(msie7?4:0):4,monsterPositions:[4,21,12],jsBase:'/head/?r=',mobImagesUrl:'/i/cache/?r=ugmob/',objectImagesUrl:'/i/cache/?r=ugobj/',blankImageUrl:'/i/cache/?r=blank.gif',cellMarkImageUrl:'/i/cache/?r=ugetc/cellmark.gif',compassLocation:'/i/cache/?r=ugetc/compass/',loadingImageUrl:'/i/cache/?r=loading.gif',look:0,rotation:0,zoom:100,highlightObjectImage:'entrancepoint_green1.gif',mapsNavDisplay:'none',lookTexts:['','Ñåâåð','Âîñòîê','Þã','Çàïàä'],compass:['','compas_N','compas_O','compas_S','compas_W'],levelColors:['Red','Green','SpringGreen','Gold','Magenta','RoyalBlue','Yellow','GreenYellow','DeepPink','DeepSkyBlue','Orange','DarkTurquoise','LawnGreen','Violet','DodgerBlue'],chapterHeaderPlace:'/i/cache/?r=ugetc/',chapterHeaders:{welcome:{name:'welcome',tw:286,th:124,rw:289,rh:180},novice:{name:'novice',tw:261,th:72,rw:367,rh:180},capital:{name:'capital',tw:278,th:111,rw:299,rh:180},angel:{name:'angels',tw:165,th:79,rw:284,rh:180},sand:{name:'sand',tw:179,th:100,rw:277,rh:180},emerald:{name:'emeralds',tw:287,th:118,rw:312,rh:180},demons:{name:'demons',tw:217,th:68,rw:302,rh:180},demons:{name:'demons',tw:217,th:68,rw:302,rh:180},altar:{name:'bloodaltar',tw:153,th:128,rw:263,rh:180},bookshop:{name:'bookshop',tw:180,th:111,rw:302,rh:180},diggerconst:{name:'constructor',tw:247,th:130,rw:307,rh:180},sentinel:null},centinel:'this is last setting always!'};this.setHash=function()
{this.offline=false;this.titleSuffix=' - '+document.title;this.knownChapters={};this.welcomeDungeon=new WelcomeDungeon();this.activeDungeon=this.welcomeDungeon;this.diggerConstructor=new DiggerConst();this.resources=[this.diggerConstructor];this.externals=[new ExternalResource('https://tarmans.kombats.ru/forum/index.php?showtopic=9159','Букмекерская контора Хранителей Азарта Армады',['Существует множество разнообразных видов прогноза - от прогноза погоды до систем расчета поведения групп людей в определенных ситуациях. Но, пожалуй, самой популярной темой для прогнозирования всегда был спорт и все, что с ним связано. Следует признать, что умением прогнозировать правильно обладают далеко не все, но те, кто в этом силен, легко могут существенно увеличить свой капитал. А помогут им в этом Хранители Азарта Армады - они знают о прогнозировании и о спорте все.','Букмекерская контора Армады предлагает Вам возможность сделать ставки на все самые важные и интересные события в мире спорта - хоккей, теннис, футбол и многое другое. Играйте и выигрывай!'],true),new ExternalResource('https://demonscity.combats.ru/forum.pl?id=1172503495&n=sales','Гильдии Тёмных Земель',['В чужой монастырь со своим уставом не суйся. Так как заработать на Территории Тьмы, заработать кредиты, а не очередную травму? Маги, наемники, лекари и торговцы, специально для ващего сообщества были созданы Гильдии Темных Земель.','Что же вам дает вступление кроме ограничений? Поддержку Армады, слаженность команды и помощь в поиске клиентов. Торгуйте, лечите, колдуйте, калечьте по высоким ценам, демпингу не место во Тьме.'],true)];this.loadedDungeons={};this.loadedScripts={};this.objects={};this.mobs={};this.imagesToBePreloaded=[];this.preloader=null;this.decoratedOpacityStyle='opacity: 0.3; -moz-opacity: 0.3; KhtmlOpacity: 0.3;filter:alpha(opacity = 30, style = 4);';this.activeChapterHeader=null;this.pngCls=(msie&&!msie7)?'objectImage':'';this.pngClsAttr=(msie&&!msie7)?' class="objectImage"':'';this.settings={cellWidth:40,cellHeight:40,cellLocationShift:0,cellSizeShift:msie?(msie7?4:0):4,monsterPositions:[4,21,12],jsBase:'/head/?r=',mobImagesUrl:'/i/cache/?r=ugmob/',objectImagesUrl:'/i/cache/?r=ugobj/',blankImageUrl:'/i/cache/?r=blank.gif',cellMarkImageUrl:'/i/cache/?r=ugetc/cellmark.gif',compassLocation:'/i/cache/?r=ugetc/compass/',loadingImageUrl:'/i/cache/?r=loading.gif',look:0,rotation:0,zoom:100,highlightObjectImage:'entrancepoint_green1.gif',mapsNavDisplay:'none',lookTexts:['','Север','Восток','Юг','Запад'],compass:['','compas_N','compas_O','compas_S','compas_W'],levelColors:['Red','Green','SpringGreen','Gold','Magenta','RoyalBlue','Yellow','GreenYellow','DeepPink','DeepSkyBlue','Orange','DarkTurquoise','LawnGreen','Violet','DodgerBlue'],chapterHeaderPlace:'/i/cache/?r=ugetc/',chapterHeaders:{welcome:{name:'welcome',tw:286,th:124,rw:289,rh:180},novice:{name:'novice',tw:261,th:72,rw:367,rh:180},capital:{name:'capital',tw:278,th:111,rw:299,rh:180},angel:{name:'angels',tw:165,th:79,rw:284,rh:180},sand:{name:'sand',tw:179,th:100,rw:277,rh:180},emerald:{name:'emeralds',tw:287,th:118,rw:312,rh:180},demons:{name:'demons',tw:217,th:68,rw:302,rh:180},demons:{name:'demons',tw:217,th:68,rw:302,rh:180},altar:{name:'bloodaltar',tw:153,th:128,rw:263,rh:180},bookshop:{name:'bookshop',tw:180,th:111,rw:302,rh:180},diggerconst:{name:'constructor',tw:247,th:130,rw:307,rh:180},sentinel:null},centinel:'this is last setting always!'};this.setHash=function()
{var hash='';hash+=this.activeDungeon.getHash();window.location.hash=hash;document.title=this.activeDungeon.Caption+this.titleSuffix;}
this.renderChaptersCore=function()
{this.imagesToBePreloaded=[];if(!(this.activeDungeon.Name in this.knownChapters))
@@ -803,7 +803,7 @@ this.addChapter=function(name,html)
else
{dsurface.innerHTML=dsurface.innerHTML+html;}}
this.getUndergroundTabsHtml=function()
{var html=[];html.push('<li><a href="javascript:;" onclick="underground.chooseDungeon()" title="Íàæìèòå çäåñü, ÷òîáû âûáðàòü äðóãîå ïîäçåìåëüå">');html.push('Âûáðàòü ïîäçåìåëüå');html.push('</a></li>');html.push('<li class="activeLink"><a href="javascript:;" onclick="underground.hideDungeonPages()">');html.push(this.activeDungeon.Caption);html.push('</a></li>');html.push(this.activeDungeon.getUndergroundTabsHtml());return html.join('');}
{var html=[];html.push('<li><a href="javascript:;" onclick="underground.chooseDungeon()" title="Нажмите здесь, чтобы выбрать другое подземелье">');html.push('Выбрать подземелье');html.push('</a></li>');html.push('<li class="activeLink"><a href="javascript:;" onclick="underground.hideDungeonPages()">');html.push(this.activeDungeon.Caption);html.push('</a></li>');html.push(this.activeDungeon.getUndergroundTabsHtml());return html.join('');}
this.chooseDungeon=function()
{this.activeDungeon=this.welcomeDungeon;this.renderChapters();}
this.openDungeon=function(chapterIndex)
@@ -849,11 +849,11 @@ this.getMobInfoHtml=function(mob,mi,count)
{reward=ami.Reward;break;}}}
html+='<div class="hintviewcaption"><nobr>';if(mi.Align!='0')
{html+='<img border="0" width="12" height="15" src="https://img.new-combats.com/i/align'+mi.Align+'.gif" />';}
html+='<b>'+mob.Caption+'</b>';html+=' ['+mi.Level+']';if(count!=null)html+=', '+count+' øò.';if(reward>0)html+=', x'+reward+'</u> åä. íàãðàäû';if(mi.HitPoints>0)html+=', <u>'+mi.HitPoints+'</u>HP';html+='</nobr></div>';html+='<div style="width: 100%;"><div style="float: left;">';if(mi.HitPoints>0)
html+='<b>'+mob.Caption+'</b>';html+=' ['+mi.Level+']';if(count!=null)html+=', '+count+' шт.';if(reward>0)html+=', x'+reward+'</u> ед. награды';if(mi.HitPoints>0)html+=', <u>'+mi.HitPoints+'</u>HP';html+='</nobr></div>';html+='<div style="width: 100%;"><div style="float: left;">';if(mi.HitPoints>0)
{html+='<div style="position: relative; width: 60px; height: 9px; background: green url(https://img.new-combats.com/i/misc/bk_life_green.gif) repeat; padding: 0; margin: 0; overflow: hidden;">';html+='<nobr style="position: absolute; left: 5px; top: 0; padding: 0; margin: 0; height: 9px; line-height: 1; font-family: Verdana,Arial,Helvetica,Tahoma,sans-serif; font-size: 9px; font-weight: bold; color: #fff;">'+mi.HitPoints+'</nobr>';html+='</div>';}
html+='<img'+underground.pngClsAttr+' border="0" width="60" height="110" src="'+mob.ImageUrl+'" lowsrc="'+underground.settings.loadingImageUrl+'" />';html+='</div>';html+='<div style="margin-left: 8px; padding: 4px;">';if(count!=null)
{html+=' êîëè÷åñòâå <b>'+count+'</b> øò.<br /><br />';}
if(mi.Strength!=0)html+='Ñèëà: '+mi.Strength+'<br />';if(mi.Dexterity!=0)html+='Ëîâêîñòü: '+mi.Dexterity+'<br />';if(mi.Intuition!=0)html+='Èíòóèöèÿ: '+mi.Intuition+'<br />';if(mi.Endurance!=0)html+='Âûíîñëèâîñòü: '+mi.Endurance+'<br />';if(mi.Intellect!=0)html+='Èíòåëëåêò: '+mi.Intellect+'<br />';if(mi.Wisdom!=0)html+='Ìóäðîñòü: '+mi.Wisdom+'<br />';html+='</div>';if(mi.Move)html+='<div style="color: red">Ìîíñòð ïåðåìåùàåòñÿ, åãî ðàñïîëîæåíèå çàðàíåå íåèçâåñòíî.</div>';html+='</div>';var desc=mi.Description;if(desc.length==0)desc=mob.Description;if(desc.length>0)
{html+='В количестве <b>'+count+'</b> шт.<br /><br />';}
if(mi.Strength!=0)html+='Сила: '+mi.Strength+'<br />';if(mi.Dexterity!=0)html+='Ловкость: '+mi.Dexterity+'<br />';if(mi.Intuition!=0)html+='Интуиция: '+mi.Intuition+'<br />';if(mi.Endurance!=0)html+='Выносливость: '+mi.Endurance+'<br />';if(mi.Intellect!=0)html+='Интеллект: '+mi.Intellect+'<br />';if(mi.Wisdom!=0)html+='Мудрость: '+mi.Wisdom+'<br />';html+='</div>';if(mi.Move)html+='<div style="color: red">Монстр перемещается, его расположение заранее неизвестно.</div>';html+='</div>';var desc=mi.Description;if(desc.length==0)desc=mob.Description;if(desc.length>0)
{html+='<div style="border-top: 1px dashed gray; padding: 2px;">'+desc.join('<br />')+'</div>';}
return html;}
this.getCellObjectInfoHtml=function(o,i)
@@ -948,7 +948,7 @@ return false;}
function loadScript(url,f)
{if(underground.offline)alert('bad call from '+loadScript.caller);var f2=(f!=null)?(function(doc){eval(doc);f();}):null;var script=loadXMLDoc2(url,f2);if(f==null)
{if(script=='')
{alert('Îøèáêà çàãðóçêè ñêðèïòà '+url);return;}
{alert('Ошибка загрузки скрипта '+url);return;}
eval(script);}}
function getMobPoint(index,totalCount)
{var pt;var MonsterPositions=underground.settings.monsterPositions;switch(totalCount)
@@ -966,9 +966,9 @@ if(mobCount==0)
{return'';}
var html=['<center><fieldset><legend>',legend,'</legend>'];if(!checks)
{html.push('<br /><div class="htext" name="htext" width="100%;">');}
html.push('<table class="hintview"><tr>');if(checks)html.push('<th><!--checkboxes here--></th>');html.push('<th colspan="2" align="left">Íàçâàíèå</th>');for(var level=minlevel;level<=maxlevel;level++)
html.push('<table class="hintview"><tr>');if(checks)html.push('<th><!--checkboxes here--></th>');html.push('<th colspan="2" align="left">Название</th>');for(var level=minlevel;level<=maxlevel;level++)
{var color=underground.settings.levelColors[level];html=html.concat(['<th style="padding-left: 8px; padding-right: 8px; text-align: center; background-color: ',color,';">&nbsp;[',level,']&nbsp;</th>']);}
html.push('<th style="padding-left: 8px; padding-right: 8px; text-align: center;">Âñåãî</th></tr>');for(var mobn in stats)
html.push('<th style="padding-left: 8px; padding-right: 8px; text-align: center;">Всего</th></tr>');for(var mobn in stats)
{var mob=underground.mobs[mobn];var count=0;var gid=getStatisticsCheckId(checkId,mob.Name,0);html.push('<tr>');if(checks)
{html=html.concat(['<td valign="center"><input type="checkbox" style="width:10px;height:10px;margin:0;padding:0;" id="',gid,'" onclick="ui_checkStatsMob(\'',mob.Name,'\', 0)" /></td>']);}
var img=underground.getMobImage(mob);html.push('<td>');if(checks)
@@ -1005,7 +1005,7 @@ function ui_changeDiggerTab(index)
function ui_loadKnapsack(isChest)
{underground.diggerConstructor.loadKnapsack(isChest);}
function ui_clearKnapsack()
{if(!window.confirm('Âû äåéñòâèòåëüíî õîòèòå î÷èñòèòü èíâåíòàðü?'))return;underground.diggerConstructor.cleanKnapsackFor(false,false);underground.diggerConstructor.cleanKnapsackFor(true,true);}
{if(!window.confirm('Вы действительно хотите очистить инвентарь?'))return;underground.diggerConstructor.cleanKnapsackFor(false,false);underground.diggerConstructor.cleanKnapsackFor(true,true);}
function ui_addToKnapsack(toChest)
{underground.diggerConstructor.addToKnapsack(toChest);}
function ui_loadKnapsackOK()