var pre_lang = 'ru';
var is_ie = !(navigator.appName.indexOf("Netscape") != -1);
function includeJS(src) {
if(document.getElementsByTagName && document.createElement) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
script.charset = "utf-8";
head.appendChild(script);
return true;
} else {
return false;
}
}
function lLib () {
return this;
}
lLib.instance = null;
lLib.getInstance = function () {
if(! lLib.instance) {
lLib.instance = new lLib();
}
return lLib.instance;
};
lLib.md5 = function (s) {
function Z(n,c){return(n<>>(32-c))}
function Y(q,a,b,x,s,t){return X(Z(X(X(a,q),X(x,t)),s),b)}
function A(a,b,c,d,x,s,t){return Y((b&c)|((~b)&d),a,b,x,s,t)}
function B(a,b,c,d,x,s,t){return Y((b&d)|(c&(~d)),a,b,x,s,t)}
function C(a,b,c,d,x,s,t){return Y(b^c^d,a,b,x,s,t)}
function D(a,b,c,d,x,s,t){return Y(c^(b|(~d)),a,b,x,s,t)}
function X(x,y){var l=(x&0xFFFF)+(y&0xFFFF),m=(x>>16)+(y>>16)+(l>>16);return(m<<16)|(l&0xFFFF)}
var w=s.length*8,i,hx="0123456789abcdef",L=(((w+64)>>>9)<<4)+15,x=Array(L+15);
for(i=0;i>5]|=(s.charCodeAt(i/8)&255)<<(i2);
x[w>>5]|=0x80<<((w)2);
x[L-1]=w;
var a=1732584193,b=-271733879,c=-1732584194,d=271733878;
for(i=0;i>2]>>((i%4)*8+4))&0xF)+hx.charAt((b[i>>2]>>((i%4)*8))&0xF);
return s
}
lLib.includeJS = includeJS;
lLib.getRandomPlacer = function () {
var placerObj = document.body.firstChild;
do {
if(placerObj.nodeType == 1) {
return placerObj;
break;
}
} while(placerObj = placerObj.nextSibling);
return false;
}
lLib.createVoidContainer = function () {
// var placerObj = lLib.getRandomPlacer();
var contObj = document.createElement("div");
return document.body.appendChild(contObj);
};
lLib.prototype.is_loaded = false;
lLib.prototype.onLoadEvents = new Array();
lLib.prototype.requestStack = new Array();
lLib.prototype.base64_encode = function(sStr, bUrlMode) {
if (typeof(bUrlMode) === 'undefined') var bUrlMode = false;
if (!bUrlMode) bUrlMode = false;
//
var sWinChrs = 'АБВГДЕЖЗР�РTMКЛМНОПРСТУФХЦЧШЩЪЫЬРЮЯабвгдРμР¶Р·РёРNoклмнопрстуфС...цчшщъыьэюя'
if (bUrlMode) { // for base64url mode
var sBase64Chrs = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'
} else {
var sBase64Chrs = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
}
var arrBase64 = sBase64Chrs.split('')
var a = new Array();
var i = 0;
for(i=0; i127) {
cch=sWinChrs.indexOf(sStr.charAt(i))+163; if(cch<163) continue;
}
a.push(cch)
};
var s=Array(), lPos = a.length - a.length % 3
for (i=0; i>18)&0x3f]+arrBase64[(t>>12)&0x3f]+arrBase64[(t>>6)&0x3f]+arrBase64[t&0x3f] )
}
switch (a.length-lPos) {
case 1 : var t=a[lPos]<<4; s.push(arrBase64[(t>>6)&0x3f]+arrBase64[t&0x3f]+'=='); break
case 2 : var t=(a[lPos]<<10)+(a[lPos+1]<<2); s.push(arrBase64[(t>>12)&0x3f]+arrBase64[(t>>6)&0x3f]+arrBase64[t&0x3f]+'='); break
}
return s.join('')
}
lLib.prototype.attachOnLoadEvent = function (handler) {
if(typeof handler == "function") {
this.onLoadEvents[this.onLoadEvents.length] = handler;
} else {
return false;
}
};
lLib.prototype.makeRequest = function (url, handler) {
var requestId = this.requestStack.length;
this.requestStack[requestId] = handler;
url += "&requestId=" + requestId + "&rnd=" + Math.random();
lLib.includeJS(url);
return requestId;
};
lLib.prototype.makeResponse = function (response) {
if(typeof response != "object") {
return false;
}
var requestHandler;
var requestId = response.id;
if(typeof this.requestStack[requestId] == "undefined") {
return false;
} else {
requestHandler = this.requestStack[requestId];
requestHandler(response);
this.requestStack[requestId] = undefined;
return true;
}
};
lLib.getAbsoluteLocation = function (obj, mode) {
var pX = 0, pY = 0;
if(!mode) {
mode = false;
}
if(!obj) {
return false;
}
var oParent = obj.offsetParent;
while (oParent) {
pX += oParent.offsetLeft;
pY += oParent.offsetTop;
if(mode) {
if(!this.isIframeChild(oParent)) {
break;
}
}
oParent = oParent.offsetParent;
}
return { x: pX + obj.offsetLeft, y: pY + obj.offsetTop };
}
function lLibResponse(requestId) {
this.id = requestId;
}
lLibResponse.prototype.id = null;
includeJS("/js/custom.js");
includeJS("/js/client/cookie.js");
includeJS("/js/client/catalog.js");
includeJS("/js/client/stat.js");
includeJS("/js/client/vote.js");
includeJS("/js/client/users.js");
includeJS("/js/client/eshop.js");
includeJS("/js/client/forum.js");
includeJS("/js/client/mouse.js");
includeJS("/js/client/quickEdit.js");
includeJS("/js/client/qPanel.js");
includeJS("/js/client/umiTicket.js");
includeJS("/js/client/umiTickets.js");
includeJS("/js/client/umiBasket.js");
includeJS("/js/client/floatReferers.js");
document.onkeydown = function(e) {
var is_ie = !(navigator.appName.indexOf("Netscape") != -1);
if(!is_ie)
event = e;
if(event.keyCode == 27) {
quickEdit.getInstance().hide();
}
if (event.shiftKey && event.keyCode == 68) {
quickEdit.getInstance().show();
}
if (event.shiftKey && event.keyCode == 67) {
umiTickets.getInstance().beginCreatingTicket();
}
if(event.ctrlKey || event.metaKey) {
if(event.keyCode == 37) {
var obj = document.getElementById('toprev');
if(obj) {
document.location = obj.href.toString();
if(is_safari()) {
return false;
}
}
}
if(event.keyCode == 39) {
var obj = document.getElementById('tonext');
if(obj) {
document.location = obj.href.toString();
}
}
if(event.keyCode == 36) {
var obj = document.getElementById('tobegin');
if(obj) {
document.location = obj.href.toString();
if(is_safari()) {
return false;
}
}
}
if(event.keyCode == 35) {
var obj = document.getElementById('toend');
if(obj) {
document.location = obj.href.toString();
if(is_safari()) {
return false;
}
}
}
}
}
function is_safari() {
return (navigator.userAgent.indexOf("Safari") != -1);
}