var Base=function(){if(arguments.length){if(this==window){Base.prototype.extend.call(arguments[0],arguments.callee.prototype)}else{this.extend(arguments[0])}}};Base.version="1.0.2";Base.prototype={extend:function(B,H){var G=Base.prototype.extend;if(arguments.length==2){var F=this[B];if((F instanceof Function)&&(H instanceof Function)&&F.valueOf()!=H.valueOf()&&/\bbase\b/.test(H)){var A=H;H=function(){var K=this.base;this.base=F;var J=A.apply(this,arguments);this.base=K;return J};H.valueOf=function(){return A};H.toString=function(){return String(A)}}return this[B]=H}else{if(B){var I={toSource:null};var D=["toString","valueOf"];if(Base._prototyping){D[2]="constructor"}for(var E=0;(C=D[E]);E++){if(B[C]!=I[C]){G.call(this,C,B[C])}}for(var C in B){if(!I[C]){G.call(this,C,B[C])}}}}return this},base:function(){}};Base.extend=function(B,F){var G=Base.prototype.extend;if(!B){B={}}Base._prototyping=true;var E=new this;G.call(E,B);var D=E.constructor;E.constructor=this;delete Base._prototyping;var A=function(){if(!Base._prototyping){D.apply(this,arguments)}this.constructor=A};A.prototype=E;A.extend=this.extend;A.implement=this.implement;A.toString=function(){return String(D)};G.call(A,F);var C=D?A:E;if(C.init instanceof Function){C.init()}return C};Base.implement=function(A){if(A instanceof Function){A=A.prototype}this.prototype.extend(A)};jQuery.cookie=function(B,I,L){if(typeof I!="undefined"){L=L||{};var E="";if(L.expires&&(typeof L.expires=="number"||L.expires.toGMTString)){var F;if(typeof L.expires=="number"){F=new Date();F.setTime(F.getTime()+(L.expires*24*60*60*1000))}else{F=L.expires}E="; expires="+F.toGMTString()}var K=L.path?"; path="+L.path:"";var G=L.domain?"; domain="+L.domain:"";var A=L.secure?"; secure":"";document.cookie=[B,"=",encodeURIComponent(I),E,K,G,A].join("")}else{var D=null;if(document.cookie&&document.cookie!=""){var J=document.cookie.split(";");for(var H=0;H<J.length;H++){var C=jQuery.trim(J[H]);if(C.substring(0,B.length+1)==(B+"=")){D=decodeURIComponent(C.substring(B.length+1));break}}}return D}};var g={open:"open",openCl:".open",opener:"li.opener",sel:"sel",over:"over",visited:"vis",letterPath:"images/corr/",initialLetsCatg:0};var klassPrefix={let:"k",artcl:"a",view:"l",oneLet:"b"};var ctner={catgMenuObj:"#menuLeft",displayId:"contentWrapper",displayObj:"#contentWrapper",introId:"intro",introObj:"#intro",letId:"oneLet",letObj:"#oneLet",tableId:"letsTable",tableObj:"#letsTable",pageImgId:"pageImg",pageImgObj:"#pageImg",actTBodyId:"actTBody",actTBodyObj:"#actTBody",pageBotPanelId:"pageBotPanel",pageBotPanelObj:"#pageBotPanel"};var userpath=new Array();var display=new Object();var showClass;var View=Base.extend({constructor:function(A){this.id=parseInt(A)||2},getId:function(){return this.id},setId:function(A){checkIfNumber(A,"View");this.id=parseInt(A)},klassId:function(){return(View.KLASSPrefix+this.id)}},{KLASSPrefix:klassPrefix.view});var Display=Base.extend({constructor:function(){this.catg=new CatgFactory;this.aLet=new Letter;this.view=new View},setDisplayParams:function(A,C,B,D){if(A!=null){this.catg=new CatgFactory(A)}if(C!=null){this.aLet=new Letter(C)}if(B!=null){this.view.setId(B)}else{this.view.setId(this.calcViewFromCatg())}this.setUserpath();if(this.sameUserpath()){userpath.pop();return false}else{return true}},displayBuild:function(){this.loadElements()},calcViewFromCatg:function(B){var A=2;if(!B){if(this.catg instanceof Letters){A=0}}return A},changePage:function(B,A){$(ctner.letObj).find('a[href="'+this.aLet.aPage+'"]').removeClass(g.sel);this.aLet.setPageNrDirect(B);$(ctner.pageImgObj).attr("src",this.aLet.getPageSrc());$(ctner.letObj).find('a[href="'+this.aLet.aPage+'"]').addClass(g.sel);$("#"+this.aLet.klassId+' a[href="'+this.aLet.aPage+'"]').addClass(g.visited);if(A.clientY>300){scroll(0,0)}},backToList:function(){this.setCssLayout();scroll(0,0)},setCssLayout:function(){$(ctner.displayObj).attr("class",this.view.klassId())},showTrsViaClass:function(){var B=this.catg.klassId;if(this.catg.isAll){B=""}else{B="."+B}var A=ctner.actTBodyObj+" tr"+B+getShowTrVal()+ctner.tableObj+" "+ctner.actTBodyObj+getShowTBodyVal();if(!showClass){showClass=addStyleSheet("")}changeStyleSheet(showClass,A)},showTrsViaLoop:function(){},loadElements:function(){switch(this.view.getId()){case 0:if(this.getUserpath(-1,0)==this.catg.id&&this.getUserpath(-1,2)==1){this.backToList();return }var B=document.getElementById(ctner.actTBodyId);if((B!=null)&&(B.getAttribute("charoff")!=this.catg.fileName)){B.setAttribute("id","")}if(this.catg.isLoaded==undefined){$.get("files/"+this.catg.fileName+".html",function(C){$(ctner.tableObj).append(C);display.catg.setLoaded(display.catg.fileName);display.showTrsViaClass()})}else{$(ctner.tableObj+" tbody[charoff="+this.catg.fileName+"]").attr("id",ctner.actTBodyId);this.showTrsViaClass()}break;case 1:var A=this.aLet.constructLetStr();$(ctner.letObj).empty().append(A);$(ctner.letObj).find('a[href="'+this.aLet.aPage+'"]').addClass(g.sel);this.setBotPanel();break;case 2:$.get("texts/"+this.catg.klassId+".html",function(C){$(ctner.introObj).empty().append(C);display.setCssLayout()})}this.setCssLayout()},setBotPanel:function(){setTimeout(function(){if($(ctner.displayObj).height()&&window.innerHeight){if($(ctner.displayObj).height()>window.innerHeight){$(ctner.pageBotPanelObj).show()}}else{$(ctner.pageBotPanelObj).show()}},500)},setUserpath:function(){userpath[userpath.length]=[this.catg.id,this.aLet.id,this.view.getId()]},getUserpath:function(B,A){if(userpath.length-1+B<0){return false}else{return userpath[userpath.length-1+B][A]}},sameUserpath:function(){if(this.catg.id==this.getUserpath(-1,0)&&this.aLet.id==this.getUserpath(-1,1)&&this.view.getId()==this.getUserpath(-1,2)){return true}else{return false}}});function Elements(){this[ctner.tableObjName]={name:ctner.tableObjName,load:this.loadTable,loaded:false},this[ctner.letId]={name:ctner.letId,load:this.loadLet,loaded:false};this[ctner.introId]={name:ctner.introId,load:this.loadIntro,loaded:false}}Elements.prototype.loadTable=function(){};Elements.prototype.loadLet=function(){var B=new Letter(oneImg);var A=img.constructOne();$(g.oneCntner).empty().append(A)};Elements.prototype.loadIntro=function(){};function CatgFactory(A){if(typeof A=="undefined"||A==""){return false}if(A.substring(0,1)==klassPrefix.artcl){return new Articles(A.substring(1))}else{if(A.substring(0,1)==klassPrefix.let){return new Letters(A.substring(1))}}}var Category=Base.extend({constructor:function(A){this.id=A;this.klassId=B(this.klassPrefix);function B(C){return(C+A)}},klassPrefix:""});var Articles=Category.extend({constructor:function(A){this.base(A)},klassPrefix:klassPrefix.artcl});var Letters=Category.extend({constructor:function(A){this.base(A);this.id=A;this.fileName=B();this.isLoaded=Letters.FILES[B()];this.isAll=C();function B(){return A.substring(A.length-2)}function C(){return(A.length==2)}},klassPrefix:klassPrefix.let,setLoaded:function(A){this.isLoaded=true;Letters.FILES[A]=true}},{FILES:new Array,init:function(){this.FILES[g.initialLetsCatg]=true}});var Letter=Base.extend({constructor:function(B){if(B){var D=B._page||1;var G=B._identifier||undefined}this.id=null;this.dataTr=undefined;this.dataArr=undefined;this.aPage=D;if(typeof G=="undefined"){return false}if(typeof G=="object"&&G.nodeName.toLowerCase()=="tr"){this.dataTr=G;this.id=C(G);this.klassId=E(C(G))}else{this.id=A(G);this.dataTr=F(G);this.klassId=E(A(G))}this.dataArr=this.constructDataArr();this.pageStr=this.constructPageStr();function C(H){if(H!=undefined){var I=H.id.substring(1)}return parseInt(I)||null}function A(H){var I;if(!isNaN(H)&&(H/100000>2&&H/100000<3)){I=H}else{if(H.length=7){I=H.substring(1)}else{if(H.length=6){I=H}else{I=1}}}return parseInt(I)}function F(H){return $("#"+Letter.KLASSPrefix+A(H))[0]}function E(H){return(Letter.KLASSPrefix+H)}},setPageNrDirect:function(A){this.aPage=parseInt(A)},constructDataArr:function(){var A=[];$(this.dataTr).find("td").each(function(){A.push($(this).html())});return A},constructLetStr:function(){var A=this.dataArr;var B=['<p id="pageTopContr"><a href="#" class="backToList"><span class="en">back to list</span><span class="ru">вернуться к списку</span></a></p>','<p id="dataStr">','<span class="en pre">Author: </span><span class="ru pre">Автор: </span>',A[0],'<span class="en pre">Addressee: </span><span class="ru pre">Адресат: </span>',A[1],'<span class="en pre">Date: </span><span class="ru pre">Дата: </span>',A[2],'<span class="en pre">Ref. no.: </span><span class="ru pre">Номер для ссылок: </span>',this.id,"</p>",'<p class="pageStr"><span class="en pre">Pages: </span><span class="ru pre">Страницы: </span>',this.constructPageStr(),"</p>",'<img id="',ctner.pageImgId,'" src="',this.getPageSrc(),'"</>','<div id="'+ctner.pageBotPanelId+'">','<p class="pageStr"><span class="en pre">Pages: </span><span class="ru pre">Страницы: </span>',this.constructPageStr(),"</p>",'<p id="pageBotContr"><a id="backToTop" href="#"><span class="en">back to top</span><span class="ru">к началу письма</span></a></a><a href="#" class="backToList"><span class="en">back to list</span><span class="ru">вернуться к списку</span></a></p>',"</div>"].join("");return B},constructPageStr:function(){return this.dataArr[3]},onePageNrStr:function(){if(this.aPage<10){return"0"+this.aPage}else{return this.aPage}},constructPageImg:function(){return'<img id="'+ctner.pageImgId+'" src="'+this.getPageSrc()+'">'},getPageSrc:function(){return g.letterPath+this.id+"_"+this.onePageNrStr()+".jpg"}},{KLASSPrefix:klassPrefix.oneLet});function loadContentOnEnter(){display=new Display();var D=setCatgOnEnter();var B=null,A=null,C="Start";display.setDisplayParams(D,B,A,C);display.displayBuild();setMenuLeftOnEnter(display.catg.klassId)}function setCatgOnEnter(){var A=location.hash.substring(1);var B="a01";if(A==""){if(!firstVisit()){B="a03"}}else{B=A}return B}function setMenuLeftOnEnter(C){$(ctner.catgMenuObj+" *").removeClass(g.open);var A=$(ctner.catgMenuObj+' a[href="#'+C+'"]');A.addClass(g.sel);var B=A.parents(g.opener);B.each(function(){$(this).addClass(g.open).find("ul:first").addClass(g.open)})}$(document).ready(init);function init(){$(document.body).removeClass("jsOff").addClass("jsOn");setWidthClass();setLang();loadContentOnEnter();$(ctner.catgMenuObj+" a").click(function(D){D.preventDefault();var C=$(this);var B=getCatgKlassFromHref(this.href);if(display.setDisplayParams(B,null,null,"leftMenu")){display.displayBuild();$(ctner.catgMenuObj+" a."+g.sel).removeClass(g.sel);C.addClass(g.sel)}});$(ctner.tableObj).click(function(D){D.preventDefault();var C=$(D.target);if(C.is("a")){C.addClass(g.visited);var E=C.parents("tr")[0];var B={_identifier:E,_page:parseInt(C.attr("href"))};if(display.setDisplayParams(null,B,1,"onePage")){display.displayBuild();$(E).addClass(g.visited)}}});$(ctner.letObj).click(function(D){D.preventDefault();var B=D.target;var F=$(B);if(B.nodeName.toLowerCase()=="span"){var C=$(F.parent());if(C.attr("id")=="backToTop"){scroll(0,0)}else{if(C.is(".backToList")){display.setDisplayParams(null,null,0,"backToList");display.backToList()}}}else{if(B.nodeName.toLowerCase()=="a"){var E=parseInt(getAtrrFromAbsoluteUrl(B.href));if(E==display.aLet.aPage){return false}display.changePage(E,D);F.addClass(g.visited)}}});var A=$(ctner.catgMenuObj+" "+g.opener).find("span:first");A.each(function(){var B=$(this);var C=B.parent("li");B.click(function(){var D=C.hasClass(g.open);if(!D){var F=C.parents("li"+g.openCl);if(F.length>0){openCloseMenuLeft(C.siblings(g.openCl))}else{var E=$(ctner.catgMenuObj+" li"+g.openCl);openCloseMenuLeft(E)}}openCloseMenuLeft(C)});if(!detectIE6()){B.hover(function(){C.toggleClass(g.over)},function(){C.toggleClass(g.over)})}else{B.hover(function(){if(C.hasClass(g.open)){C.addClass("ieOpenOver")}else{C.addClass("ieOver")}},function(){if(C.hasClass(g.open)){C.removeClass("ieOpenOver").removeClass("ieOver")}else{C.removeClass("ieOpenOver").removeClass("ieOver")}})}});$("#en").click(function(){if(!$("body").is(".en")){$("body").removeClass("ru").addClass("en");setCookie("lang","en")}});$("#ru").click(function(){if(!$("body").is(".ru")){$("body").removeClass("en").addClass("ru");setCookie("lang","ru")}});if(detectIE6()){fixIE6()}}function openCloseMenuLeft(A){$(A).each(function(){$(this).toggleClass(g.open).find("ul:first").toggleClass(g.open)})}function checkIncomObj(A){if((typeof A)!="object"){throw new Error("FM export not an Object!")}}function setWidthClass(){if(screen.availHeight>768){$(document.body).removeClass("w1024").addClass("w1280")}}function setLang(){if(!$.cookie("lang")){$.cookie("lang","en",{expires:365})}else{if($.cookie("lang")=="ru"){$(document.body).removeClass("en").addClass("ru")}}}function firstVisit(){if(!$.cookie("first")){$.cookie("first","1",{expires:365});return true}else{return false}}function getCatgKlassFromHref(A){var B=A.split("#")[1];return B}function getImgIdFromElemId(B){var A=B.attr("id").substring(1);return parseInt(A)}function getImgIdFromSrc(B){var A=B.attr("src").split("/");A=A[A.length-1].split("_")[0];return parseInt(A)}function getAtrrFromAbsoluteUrl(A){var B=A.toString().split("/");B=B[B.length-1];return B}function checkIfNumber(B,A){if(isNaN(parseInt(B))){throw new Error(A+": "+B+" must be a number!")}}function setCookie(B,A){$.cookie(B,A)}function getCookieClass(A){return $.cookie(A)}function getShowTrVal(){if($.browser.msie){return" { display: block; } "}else{return" { display: table-row; } "}}function getShowTBodyVal(){if($.browser.msie){return" { display: block; } "}else{return" { display: table-row-group; } "}}function addStyleSheet(C){var B=document.getElementsByTagName("head")[0];var A=document.createElement("style");A.type="text/css";B.appendChild(A);if(A.styleSheet){A.styleSheet.cssText=C}else{A.appendChild(document.createTextNode(C))}return A}function fixIE6(){$("li#en,li#ru").hover(function(){$(this).addClass("ieOver")},function(){$(this).removeClass("ieOver")});$("#menuMain li").hover(function(){$(this).addClass("ieOver")},function(){$(this).removeClass("ieOver")})}function changeStyleSheet(B,A){if(B.styleSheet){B.styleSheet.cssText=A}else{B.replaceChild(document.createTextNode(A),B.firstChild)}return B}function detectIE6(){if(jQuery.browser.msie&&parseInt(jQuery.browser.version)<7){return true}else{return false}}function detectIE(){if(jQuery.browser.msie){return true}else{return false}}function getId(){return document.body.getAttribute("id")};