You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
4.8 KiB
JavaScript

2 years ago
function bind(b, c, d) {
var e = function() {
d.call(b)
};
e.photo = d;
if (!b['a' + c + '521']) {
b['a' + c + "521"] = []
}
var a = b['a' + c + "521"];
for (var i = 0; i < a.length; i++) {
if (a[i].photo == d) return
}
b['a' + c + "521"].push(e)
};
function unbind(b, c, d) {
var a = b['a' + c + '521'];
if (!a) return;
for (var i = 0; i < a.length; i++) {
if (a[i].photo == d) {
b.detachEvent('on' + c, a[i]);
a.splice(i, 1);
break
}
}
};
function fnDisguise(a, b) {
return function(e) {
b.call(a, e)
}
};
function on(b, c, d) {
if (typeof b['on' + c] == 'undefined') {
var a = b['a' + c + '2002-10'];
if (!a) {
a = b['a' + c + '2002-10'] = []
}
a.push(d);
return
} else if (b.addEventListener) {
b.addEventListener(c, d, false);
return
} else {
var a = b['a' + c + '2002-10'];
if (!a) {
a = b['a' + c + '2002-10'] = []
}
a.push(d);
bind(b, c, run)
}
};
function fire(b, e) {
var a = this['a' + b + '2002-10'];
if (!a) return;
for (var i = 0; i < a.length; i++) {
a[i].call(this, e)
}
};
function run(e) {
e = e || window.event;
if (!e.target) e.target = e.srcElement;
if (typeof e.pageX == "undefined") {
e.pageX = ((document.documentElement.scrollLeft || document.body.scrollLeft) + e.clientX);
e.pageY = ((document.documentElement.scrollTop || document.body.scrollTop) + e.clientY)
}
if (typeof e.stopPropagation == "undefined") {
e.stopPropagation = function() {
e.cancelBubble = true
}
}
if (typeof e.preventDefault == "undefined") {
e.preventDefault = function() {
e.returnValue = false
}
}
var a = this['a' + e.type + '2002-10'];
if (!a) return;
for (var i = 0; i < a.length; i++) {
a[i].call(this, e)
}
};
function off(b, c, d) {
if (b.removeEventListener) {
b.removeEventListener(c, d, false);
return
}
var a = b['a' + c + '2002-10'];
if (!a) return;
for (var i = 0; i < a.length; i++) {
if (a[i] == d) {
a.splice(i, 1);
break
}
}
};
function down(e) {
this.x = this.offsetLeft;
this.y = this.offsetTop;
this.mouseY = e.pageY;
if (this.setCapture) {
this.setCapture();
on(this, 'mousemove', move);
on(this, 'mouseup', up)
} else {
this.MOVE = fnDisguise(this, move);
this.UP = fnDisguise(this, up);
on(document, 'mousemove', this.MOVE);
on(document, 'mouseup', this.UP)
}
e.preventDefault();
this.preSt = 0;
fire.call(this, "dragStart", e)
};
function move(e) {
if (this.y + (e.pageY - this.mouseY) <= 0) this.style.top = 0;
else if (this.y + (e.pageY - this.mouseY) >= (content.offsetHeight * container.offsetHeight / content.offsetHeight - this.offsetHeight)) {
this.style.top = content.offsetHeight * container.offsetHeight / content.offsetHeight - this.offsetHeight + 'px'
} else {
this.style.top = this.y + (e.pageY - this.mouseY) + 'px'
}
var a = container.scrollTop = this.offsetTop * (content.offsetHeight / container.offsetHeight);
if (a > this.preSt) {
for (var j = 0; j < oLis.length; j++) {
if (a < oDivs[j].st) break
}
if (oLis[j - 2] && this.preLi !== j) {
if ((j) > (flag + 1)) {
DOM.removeClass(oLis[j - 2], "selectedTab");
DOM.addClass(oLis[j - 1], "selectedTab");
animate(blueline, {
top: (j - 1) * 48
},
500, 2)
}
}
flag = j - 1
} else if (a < this.preSt) {
for (var j = oLis.length - 1; j >= 0; j--) {
if (a > oDivs[j].st) break
}
if (oLis[j + 2] && this.preLi !== j) {
if (flag === undefined) return;
if ((j) < (flag)) {
for (var k = 0; k < oLis.length; k++) {
DOM.removeClass(oLis[k], "selectedTab")
}
DOM.addClass(oLis[j + 1], "selectedTab");
animate(blueline, {
top: (j + 1) * 48
},
500, 2);
upFlag = j + 1
}
}
}
this.preLi = j;
this.preSt = a;
fire.call(this, "dragging", e)
};
function up(e) {
if (this.releaseCapture) {
this.releaseCapture();
off(this, 'mousemove', move);
off(this, 'mouseup', up)
} else {
off(document, 'mousemove', this.MOVE);
off(document, 'mouseup', this.UP)
}
fire.call(this, "dragEnd", e)
};