Konuda Ki Js Kodu Şifrelimi?
-
arkadaşlar javadan pek anlamam şu kod şifrelimi?orjinal halimi boyle
eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=
[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('9 O=6(1a){9
2m=6(){7(4.1o&&u[0]!=\'3r\')5 4.1o.1P(4,u);X 5 4};G(9 h Y 4)2m[h]=4[h];2m.F=1a;5 2m};O.1Q=6(){};O.F={I:6(1a){9 2s=J 4(\'3r\');9 3s=6(1n,1d)
{7(!1n.1P||!1d.1P)5 H;5 6(){4.2i=1n;5 1d.1P(4,u)}};G(9 h Y 1a){9 1n=2s[h];9 1d=1a[h];7(1n&&1n!=1d)1d=3s(1n,1d)||1d;2s[h]=1d}5 J
O(2s)},23:6(1a){G(9 h Y 1a)4.F[h]=1a[h]}};1m.I=6(){9 r=u;r=(r[1])?[r[0],r[1]]:[4,r[0]];G(9 h Y r[1])r[0][h]=r[1][h];5 r[0]};1m.2Z=6(){G(9 i=0;i\'));$11(4.4B,6(2n){7(2n.28!=\'28\')8.2k(2n.28,2n.C)});7(4.1x)4.4v(8);5 8}4t:4.4V(h,C)}5 4},4W:6(19){G(9 h Y 19)4.2k(h,19[h]);5 4},4R:6()
{4.4L=$A(u).1y(\'\');5 4},4O:6(h){5(h==\'4z\')?4.R:4.64(h)},2o:6(){5 4.3W.2j()},66:6(x,y){4.2N=x;4.2M=y},27:6(){1A(4.2o()){V\'2t\':7(4.4y!=-1){9
2Y=4.l[4.4y];5 2Y.C||2Y.1D}1r;V\'5Y\':7(!(4.5z&&[\'5S\',\'5T\'].M(4.f))&&![\'2R\',\'1D\',\'67\'].M(4.f))1r;V\'62\':5 4.C}5 H},5C:6(){5{\'5v\':{\'x\':4.2N,
\'y\':4.2M},\'5u\':{\'x\':4.4r,\'y\':4.46},\'5x\':{\'x\':4.5H,\'y\':4.5Q}}},2w:6(1I){1I=1I||[];9 8=4,1w=0,1B=0;5J{1w+=8.5U||0;1B+=8.5M||0;8=8.5L}1N(8);
1I.11(6(Q){1w-=Q.2N||0;1B-=Q.2M||0});5{\'x\':1w,\'y\':1B}},5K:6(){5 4.2w().y},5I:6(){5 4.2w().x},5N:6(1I){9 34=4.2w(1I);9 E={\'33\':4.4r,\'36\':4.46,
\'1w\':34.x,\'1B\':34.y};E.45=E.1w+E.33;E.47=E.1B+E.36;5 E}});L.1c=N.1c=14.F.1c;L.1J=N.1J=14.F.1J;L.1L=N.1L=14.F.1L;9 1F={1e:[],2c:6(Q)
{1F.1e.T(Q)},48:6(){1F.2c(L);1F.2c(N);1F.1e.11(6(8){8.1L();G(9 p Y 14.F)8[p]=1h;8.I=1h})}};L.1c(\'6c\',1F.48);9 4o=J O({6i:6(k){4.1E=4.1E||
[];4.1E.T(k);5 4},3X:6(){7(4.1E&&4.1E.B)4.1E.6a().1j(10,4)},61:6(){4.1E=[]}});9 4q=J O({1c:6(f,k){7(k!=O.1Q){4.n=4.n||{};4.n[f]=4.n[f]||
[];7(!4.n[f].M(k))4.n[f].T(k)}5 4},25:6(f,r,1j){7(4.n&&4.n[f]){4.n[f].11(6(k){k.1t({\'o\':4,\'1j\':1j,\'u\':r})()},4)}5 4},1J:6(f,k)
{7(4.n&&4.n[f])4.n[f].3c(k);5 4}});9 4p=J O({44:6(4a,l){4.l=1m.I(4a,l);7(4.1c){G(9 26 Y 4.l){7(($f(4.l[26])==\'6\')&&26.M(/^3a[A-
Z]/))4.1c(26,4.l[26])}}5 4}});9 5X=J O({1o:6(){4.24=$A(u);4.n={};4.1K={}},1c:6(f,k){4.1K[f]=4.1K[f]||{};4.n[f]=4.n[f]||[];7(4.n[f].M(k))5 H;X
4.n[f].T(k);4.24.11(6(22,i){22.1c(f,4.4s.o(4,[f,22,i]))},4);5 4},4s:6(f,22,i){4.1K[f][i]=U;9 21=4.24.21(6(1d,j){5 4.1K[f][j]||H},4);7(!21)5;4.24.11(6(1d,j)
{4.1K[f][j]=H},4);4.n[f].11(6(15){15.1k(4,4.24,22)},4)}});9 W={};W.2b=J O({43:6(){5{4m:O.1Q,3Y:O.1Q,4n:O.1Q,3Z:W.4k.4j,2T:68,1C:\'49
\',2Q:U,4c:50}},1o:6(l){4.Q=4.Q||1h;4.44(4.43(),l);7(4.l.1o)4.l.1o.1k(4)},4b:6(){9 1H=J 42().41();7(1H<4.1H+4.l.2T){4.40=1H-4.1H;4.2O();
4.2h()}X{4.2y(U);4.18=4.q;4.2h();4.25(\'3Y\',4.Q,10);4.3X()}},4i:6(q){4.18=q;4.2h();5 4},2O:6(){4.18=4.20(4.m,4.q)},20:6(m,q){5 4.l.3Z(4.40,m,
(q-m),4.l.2T)},13:6(m,q){7(!4.l.2Q)4.2y();X 7(4.1i)5 4;4.m=m;4.q=q;4.1H=J 42().41();4.1i=4.4b.1G(1p.4g(4J/4.l.4c),4);4.25(\'4m\',4.Q);5 4},2y:6(2A)
{7(!4.1i)5 4;4.1i=$4l(4.1i);7(!2A)4.25(\'4n\',4.Q);5 4},4A:6(m,q){5 4.13(m,q)},4C:6(2A){5 4.2y(2A)}});W.2b.23(J 4o);W.2b.23(J 4q);W.2b.23(J
4p);W.4k={4E:6(t,b,c,d){5 c*t/d+b},4j:6(t,b,c,d){5-c/2*(1p.4Y(1p.5s*t/d)-1)+b}};W.1R={2t:6(h,q){7(h.M(/4e/i))5 4.4f;7(q.M&&q.M(\' \'))5 4.2f;5
4.4d},1q:6(8,h,1V){7(!1V.T)1V=[1V];9 m=1V[0],q=1V[1];7(!q&&q!=0){q=m;m=8.1X(h)}9 17=4.2t(h,q);5{m:17.1q(m),q:17.1q(q),17:17}}};W.1R.4d=
{1q:6(C){5 2a(C)},2q:6(m,q,1T){5 1T.20(m,q)},27:6(C,1C){5 C+1C}};W.1R.2f={1q:6(C){5 C.T?C:C.5h(\' \').35(6(v){5 2a(v)})},2q:6(m,q,1T){9
18=[];G(9 i=0;i -
decode edilmiş hali
decode etmek için link : http://www.strictly-software.com/unpacker
var Class = function (properties) {
var klass = function () {
if (this.initialize && arguments[0] != 'noinit') return this.initialize.apply(this, arguments);
else return this
};
for (var property in this) klass[property] = this[property];
klass.prototype = properties;
return klass
};
Class.empty = function () {};
Class.prototype = {
extend: function (properties) {
var pr0t0typ3 = new this('noinit');
var parentize = function (previous, current) {
if (!previous.apply || !current.apply) return false;
return function () {
this.parent = previous;
return current.apply(this, arguments)
}
};
for (var property in properties) {
var previous = pr0t0typ3[property];
var current = properties[property];
if (previous && previous != current) current = parentize(previous, current) || current;
pr0t0typ3[property] = current
}
return new Class(pr0t0typ3)
},
implement: function (properties) {
for (var property in properties) this.prototype[property] = properties[property]
}
};
Object.extend = function () {
var args = arguments;
args = (args[1]) ? [args[0], args[1]] : [this, args[0]];
for (var property in args[1]) args[0][property] = args[1][property];
return args[0]
};
Object.Native = function () {
for (var i = 0; i < arguments.length; i++) arguments[i].extend = Class.prototype.implement
};
new Object.Native(Function, Array, String, Number, Class);
if (typeof HTMLElement == 'undefined') {
var HTMLElement = Class.empty;
HTMLElement.prototype = {}
} else {
HTMLElement.prototype.htmlElement = true
}
window.extend = document.extend = Object.extend;
var Window = window;
function $type(obj) {
if (obj === null || obj === undefined) return false;
var type = typeof obj;
if (type == 'object') {
if (obj.htmlElement) return 'element';
if (obj.push) return 'array';
if (obj.nodeName) {
switch (obj.nodeType) {
case 1:
return 'element';
case 3:
return obj.nodeValue.test(/\S/) ? 'textnode': 'whitespace'
}
}
}
return type
};
function $chk(obj) {
return !! (obj || obj === 0)
};
function $pick(obj, picked) {
return ($type(obj)) ? obj: picked
};
function $random(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min)
};
function $clear(timer) {
clearTimeout(timer);
clearInterval(timer);
return null
};
if (window.ActiveXObject) window.ie = window[window.XMLHttpRequest ? 'ie7': 'ie6'] = true;
else if (document.childNodes && !document.all && !navigator.taintEnabled) window.khtml = true;
else if (document.getBoxObjectFor != null) window.gecko = true;
if (window.ie6) try {
document.execCommand("BackgroundImageCache", false, true)
} catch(e) {};
Array.prototype.forEach = Array.prototype.forEach ||
function (fn, bind) {
for (var i = 0; i < this.length; i++) fn.call(bind, this[i], i, this)
};
Array.prototype.filter = Array.prototype.filter ||
function (fn, bind) {
var results = [];
for (var i = 0; i < this.length; i++) {
if (fn.call(bind, this[i], i, this)) results.push(this[i])
}
return results
};
Array.prototype.map = Array.prototype.map ||
function (fn, bind) {
var results = [];
for (var i = 0; i < this.length; i++) results[i] = fn.call(bind, this[i], i, this);
return results
};
Array.prototype.every = Array.prototype.every ||
function (fn, bind) {
for (var i = 0; i < this.length; i++) {
if (!fn.call(bind, this[i], i, this)) return false
}
return true
};
Array.prototype.some = Array.prototype.some ||
function (fn, bind) {
for (var i = 0; i < this.length; i++) {
if (fn.call(bind, this[i], i, this)) return true
}
return false
};
Array.prototype.indexOf = Array.prototype.indexOf ||
function (item, from) {
from = from || 0;
if (from < 0) from = Math.max(0, this.length + from);
while (from < this.length) {
if (this[from] === item) return from;
from++
}
return - 1
};
Array.extend({
each: Array.prototype.forEach,
copy: function (start, length) {
start = start || 0;
if (start < 0) start = this.length + start;
length = length || (this.length - start);
var newArray = [];
for (var i = 0; i < length; i++) newArray[i] = this[start++];
return newArray
},
remove: function (item) {
var i = 0;
while (i < this.length) {
if (this[i] === item) this.splice(i, 1);
else i++
}
return this
},
test: function (item, from) {
return this.indexOf(item, from) != -1
},
extend: function (newArray) {
for (var i = 0; i < newArray.length; i++) this.push(newArray[i]);
return this
},
associate: function (keys) {
var obj = {},
length = Math.min(this.length, keys.length);
for (var i = 0; i < length; i++) obj[keys[i]] = this[i];
return obj
}
});
function $A(array, start, length) {
return Array.prototype.copy.call(array, start, length)
};
function $each(iterable, fn, bind) {
return Array.prototype.forEach.call(iterable, fn, bind)
};
String.extend({
test: function (regex, params) {
return ((typeof regex == 'string') ? new RegExp(regex, params) : regex).test(this)
},
toInt: function () {
return parseInt(this)
},
toFloat: function () {
return parseFloat(this)
},
camelCase: function () {
return this.replace(/-\D/g, function (match) {
return match.charAt(1).toUpperCase()
})
},
hyphenate: function () {
return this.replace(/\w[A-Z]/g, function (match) {
return (match.charAt(0) + '-' + match.charAt(1).toLowerCase())
})
},
capitalize: function () {
return this.toLowerCase().replace(/\b[a-z]/g, function (match) {
return match.toUpperCase()
})
},
trim: function () {
return this.replace(/^\s+|\s+$/g, '')
},
clean: function () {
return this.replace(/\s{2,}/g, ' ').trim()
},
rgbToHex: function (array) {
var rgb = this.match(/\d{1,3}/g);
return (rgb) ? rgb.rgbToHex(array) : false
},
hexToRgb: function (array) {
var hex = this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return (hex) ? hex.slice(1).hexToRgb(array) : false
}
});
Array.extend({
rgbToHex: function (array) {
if (this.length < 3) return false;
if (this[3] && (this[3] == 0) && !array) return 'transparent';
var hex = [];
for (var i = 0; i < 3; i++) {
var bit = (this[i] - 0).toString(16);
hex.push((bit.length == 1) ? '0' + bit: bit)
}
return array ? hex: '#' + hex.join('')
},
hexToRgb: function (array) {
if (this.length != 3) return false;
var rgb = [];
for (var i = 0; i < 3; i++) {
rgb.push(parseInt((this[i].length == 1) ? this[i] + this[i] : this[i], 16))
}
return array ? rgb: 'rgb(' + rgb.join(',') + ')'
}
});
Number.extend({
toInt: function () {
return parseInt(this)
},
toFloat: function () {
return parseFloat(this)
}
});
Function.extend({
create: function (options) {
var fn = this;
options = Object.extend({
'bind': fn,
'event': false,
'arguments': null,
'delay': false,
'periodical': false,
'attempt': false
},
options || {});
if ($chk(options.arguments) && $type(options.arguments) != 'array') options.arguments = [options.arguments];
return function (event) {
var args;
if (options.event) {
event = event || window.event;
args = [(options.event === true) ? event: new options.event(event)];
if (options.arguments) args = args.concat(options.arguments)
} else args = options.arguments || arguments;
var returns = function () {
return fn.apply(options.bind, args)
};
if (options.delay) return setTimeout(returns, options.delay);
if (options.periodical) return setInterval(returns, options.periodical);
if (options.attempt) {
try {
return returns()
} catch(err) {
return err
}
}
return returns()
}
},
pass: function (args, bind) {
return this.create({
'arguments': args,
'bind': bind
})
},
attempt: function (args, bind) {
return this.create({
'arguments': args,
'bind': bind,
'attempt': true
})()
},
bind: function (bind, args) {
return this.create({
'bind': bind,
'arguments': args
})
},
bindAsEventListener: function (bind, args) {
return this.create({
'bind': bind,
'event': true,
'arguments': args
})
},
delay: function (ms, bind, args) {
return this.create({
'delay': ms,
'bind': bind,
'arguments': args
})()
},
periodical: function (ms, bind, args) {
return this.create({
'periodical': ms,
'bind': bind,
'arguments': args
})()
}
});
var Element = new Class({
initialize: function (el) {
if ($type(el) == 'string') el = document.createElement(el);
return $(el)
}
});
function $(el) {
if (!el) return false;
if (el._element_extended_ || [window, document].test(el)) return el;
if ($type(el) == 'string') el = document.getElementById(el);
if ($type(el) != 'element') return false;
if (['object', 'embed'].test(el.tagName.toLowerCase()) || el.extend) return el;
el._element_extended_ = true;
Garbage.collect(el);
el.extend = Object.extend;
if (! (el.htmlElement)) el.extend(Element.prototype);
return el
};
var Elements = new Class({});
new Object.Native(Elements);
document.getElementsBySelector = document.getElementsByTagName;
function $$() {
if (!arguments) return false;
if (arguments.length == 1) {
if (!arguments[0]) return false;
if (arguments[0]._elements_extended_) return arguments[0]
}
var elements = [];
$each(arguments, function (selector) {
switch ($type(selector)) {
case 'element':
elements.push($(selector));
break;
case 'string':
selector = document.getElementsBySelector(selector);
default:
if (selector.length) {
$each(selector, function (el) {
if ($(el)) elements.push(el)
})
}
}
});
elements._elements_extended_ = true;
return Object.extend(elements, new Elements)
};
Elements.Multi = function (property) {
return function () {
var args = arguments;
var items = [];
var elements = true;
$each(this, function (el) {
var returns = el[property].apply(el, args);
if ($type(returns) != 'element') elements = false;
items.push(returns)
});
if (elements) items = $$(items);
return items
}
};
Element.extend = function (properties) {
for (var property in properties) {
HTMLElement.prototype[property] = properties[property];
Element.prototype[property] = properties[property];
Elements.prototype[property] = Elements.Multi(property)
}
};
Element.extend({
inject: function (el, where) {
el = $(el) || new Element(el);
switch (where) {
case "before":
$(el.parentNode).insertBefore(this, el);
break;
case "after":
if (!el.getNext()) $(el.parentNode).appendChild(this);
else $(el.parentNode).insertBefore(this, el.getNext());
break;
case "inside":
el.appendChild(this)
}
return this
},
injectBefore: function (el) {
return this.inject(el, 'before')
},
injectAfter: function (el) {
return this.inject(el, 'after')
},
injectInside: function (el) {
return this.inject(el, 'inside')
},
adopt: function (el) {
this.appendChild($(el) || new Element(el));
return this
},
remove: function () {
this.parentNode.removeChild(this);
return this
},
clone: function (contents) {
var el = this.cloneNode(contents !== false);
return $(el)
},
replaceWith: function (el) {
el = $(el) || new Element(el);
this.parentNode.replaceChild(el, this);
return el
},
appendText: function (text) {
if (window.ie) {
switch (this.getTag()) {
case 'style':
this.styleSheet.cssText = text;
return this;
case 'script':
this.setProperty('text', text);
return this
}
}
this.appendChild(document.createTextNode(text));
return this
},
hasClass: function (className) {
return this.className.test('(?:^|\\s)' + className + '(?:\\s|$)')
},
addClass: function (className) {
if (!this.hasClass(className)) this.className = (this.className + ' ' + className).clean();
return this
},
removeClass: function (className) {
this.className = this.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)'), '$1').clean();
return this
},
toggleClass: function (className) {
return this.hasClass(className) ? this.removeClass(className) : this.addClass(className)
},
setStyle: function (property, value) {
if (property == 'opacity') this.setOpacity(parseFloat(value));
else this.style[property.camelCase()] = (value.push) ? 'rgb(' + value.join(',') + ')': value;
return this
},
setStyles: function (source) {
switch ($type(source)) {
case 'object':
for (var property in source) this.setStyle(property, source[property]);
break;
case 'string':
this.style.cssText = source
}
return this
},
setOpacity: function (opacity) {
if (opacity == 0) {
if (this.style.visibility != "hidden") this.style.visibility = "hidden"
} else {
if (this.style.visibility != "visible") this.style.visibility = "visible"
}
if (!this.currentStyle || !this.currentStyle.hasLayout) this.style.zoom = 1;
if (window.ie) this.style.filter = "alpha(opacity=" + opacity * 100 + ")";
this.style.opacity = this.opacity = opacity;
return this
},
getStyle: function (property) {
property = property.camelCase();
var style = this.style[property] || false;
if (!$chk(style)) {
if (property == 'opacity') return $chk(this.opacity) ? this.opacity: 1;
if (['margin', 'padding'].test(property)) {
return [this.getStyle(property + '-top') || 0, this.getStyle(property + '-right') || 0, this.getStyle(property + '-bottom') || 0, this.getStyle(property + '-left') || 0].join(' ')
}
if (document.defaultView) style = document.defaultView.getComputedStyle(this, null).getPropertyValue(property.hyphenate());
else if (this.currentStyle) style = this.currentStyle[property]
}
if (style == 'auto' && ['height', 'width'].test(property)) return this['offset' + property.capitalize()] + 'px';
return (style && property.test(/color/i) && style.test(/rgb/)) ? style.rgbToHex() : style
},
addEvent: function (type, fn) {
this.events = this.events || {};
this.events[type] = this.events[type] || {
'keys': [],
'values': []
};
if (!this.events[type].keys.test(fn)) {
this.events[type].keys.push(fn);
if (this.addEventListener) {
this.addEventListener((type == 'mousewheel' && window.gecko) ? 'DOMMouseScroll': type, fn, false)
} else {
fn = fn.bind(this);
this.attachEvent('on' + type, fn);
this.events[type].values.push(fn)
}
}
return this
},
addEvents: function (source) {
if (source) {
for (var type in source) this.addEvent(type, source[type])
}
return this
},
removeEvent: function (type, fn) {
if (this.events && this.events[type]) {
var pos = this.events[type].keys.indexOf(fn);
if (pos == -1) return this;
var key = this.events[type].keys.splice(pos, 1)[0];
if (this.removeEventListener) {
this.removeEventListener((type == 'mousewheel' && window.gecko) ? 'DOMMouseScroll': type, key, false)
} else {
this.detachEvent('on' + type, this.events[type].values.splice(pos, 1)[0])
}
}
return this
},
removeEvents: function (type) {
if (this.events) {
if (type) {
if (this.events[type]) {
this.events[type].keys.each(function (fn) {
this.removeEvent(type, fn)
},
this);
this.events[type] = null
}
} else {
for (var evType in this.events) this.removeEvents(evType);
this.events = null
}
}
return this
},
fireEvent: function (type, args) {
if (this.events && this.events[type]) {
this.events[type].keys.each(function (fn) {
fn.bind(this, args)()
},
this)
}
},
getBrother: function (what) {
var el = this[what + 'Sibling'];
while ($type(el) == 'whitespace') el = el[what + 'Sibling'];
return $(el)
},
getPrevious: function () {
return this.getBrother('previous')
},
getNext: function () {
return this.getBrother('next')
},
getFirst: function () {
var el = this.firstChild;
while ($type(el) == 'whitespace') el = el.nextSibling;
return $(el)
},
getLast: function () {
var el = this.lastChild;
while ($type(el) == 'whitespace') el = el.previousSibling;
return $(el)
},
getParent: function () {
return $(this.parentNode)
},
getChildren: function () {
return $$(this.childNodes)
},
setProperty: function (property, value) {
switch (property) {
case 'class':
this.className = value;
break;
case 'style':
this.setStyles(value);
break;
case 'name':
if (window.ie6) {
var el = $(document.createElement('<' + this.getTag() + ' name="' + value + '" />'));
$each(this.attributes, function (attribute) {
if (attribute.name != 'name') el.setProperty(attribute.name, attribute.value)
});
if (this.parentNode) this.replaceWith(el);
return el
}
default:
this.setAttribute(property, value)
}
return this
},
setProperties: function (source) {
for (var property in source) this.setProperty(property, source[property]);
return this
},
setHTML: function () {
this.innerHTML = $A(arguments).join('');
return this
},
getProperty: function (property) {
return (property == 'class') ? this.className: this.getAttribute(property)
},
getTag: function () {
return this.tagName.toLowerCase()
},
scrollTo: function (x, y) {
this.scrollLeft = x;
this.scrollTop = y
},
getValue: function () {
switch (this.getTag()) {
case 'select':
if (this.selectedIndex != -1) {
var opt = this.options[this.selectedIndex];
return opt.value || opt.text
}
break;
case 'input':
if (! (this.checked && ['checkbox', 'radio'].test(this.type)) && !['hidden', 'text', 'password'].test(this.type)) break;
case 'textarea':
return this.value
}
return false
},
getSize: function () {
return {
'scroll': {
'x': this.scrollLeft,
'y': this.scrollTop
},
'size': {
'x': this.offsetWidth,
'y': this.offsetHeight
},
'scrollSize': {
'x': this.scrollWidth,
'y': this.scrollHeight
}
}
},
getPosition: function (overflown) {
overflown = overflown || [];
var el = this,
left = 0,
top = 0;
do {
left += el.offsetLeft || 0;
top += el.offsetTop || 0;
el = el.offsetParent
} while (el);
overflown.each(function (element) {
left -= element.scrollLeft || 0;
top -= element.scrollTop || 0
});
return {
'x': left,
'y': top
}
},
getTop: function () {
return this.getPosition().y
},
getLeft: function () {
return this.getPosition().x
},
getCoordinates: function (overflown) {
var position = this.getPosition(overflown);
var obj = {
'width': this.offsetWidth,
'height': this.offsetHeight,
'left': position.x,
'top': position.y
};
obj.right = obj.left + obj.width;
obj.bottom = obj.top + obj.height;
return obj
}
});
window.addEvent = document.addEvent = Element.prototype.addEvent;
window.removeEvent = document.removeEvent = Element.prototype.removeEvent;
window.removeEvents = document.removeEvents = Element.prototype.removeEvents;
var Garbage = {
elements: [],
collect: function (element) {
Garbage.elements.push(element)
},
trash: function () {
Garbage.collect(window);
Garbage.collect(document);
Garbage.elements.each(function (el) {
el.removeEvents();
for (var p in Element.prototype) el[p] = null;
el.extend = null
})
}
};
window.addEvent('unload', Garbage.trash);
var Chain = new Class({
chain: function (fn) {
this.chains = this.chains || [];
this.chains.push(fn);
return this
},
callChain: function () {
if (this.chains && this.chains.length) this.chains.shift().delay(10, this)
},
clearChain: function () {
this.chains = []
}
});
var Events = new Class({
addEvent: function (type, fn) {
if (fn != Class.empty) {
this.events = this.events || {};
this.events[type] = this.events[type] || [];
if (!this.events[type].test(fn)) this.events[type].push(fn)
}
return this
},
fireEvent: function (type, args, delay) {
if (this.events && this.events[type]) {
this.events[type].each(function (fn) {
fn.create({
'bind': this,
'delay': delay,
'arguments': args
})()
},
this)
}
return this
},
removeEvent: function (type, fn) {
if (this.events && this.events[type]) this.events[type].remove(fn);
return this
}
});
var Options = new Class({
setOptions: function (defaults, options) {
this.options = Object.extend(defaults, options);
if (this.addEvent) {
for (var option in this.options) {
if (($type(this.options[option]) == 'function') && option.test(/^on[A-Z]/)) this.addEvent(option, this.options[option])
}
}
return this
}
});
var Group = new Class({
initialize: function () {
this.instances = $A(arguments);
this.events = {};
this.checker = {}
},
addEvent: function (type, fn) {
this.checker[type] = this.checker[type] || {};
this.events[type] = this.events[type] || [];
if (this.events[type].test(fn)) return false;
else this.events[type].push(fn);
this.instances.each(function (instance, i) {
instance.addEvent(type, this.check.bind(this, [type, instance, i]))
},
this);
return this
},
check: function (type, instance, i) {
this.checker[type][i] = true;
var every = this.instances.every(function (current, j) {
return this.checker[type][j] || false
},
this);
if (!every) return;
this.instances.each(function (current, j) {
this.checker[type][j] = false
},
this);
this.events[type].each(function (event) {
event.call(this, this.instances, instance)
},
this)
}
});
var Fx = {};
Fx.Base = new Class({
getOptions: function () {
return {
onStart: Class.empty,
onComplete: Class.empty,
onCancel: Class.empty,
transition: Fx.Transitions.sineInOut,
duration: 500,
unit: 'px',
wait: true,
fps: 50
}
},
initialize: function (options) {
this.element = this.element || null;
this.setOptions(this.getOptions(), options);
if (this.options.initialize) this.options.initialize.call(this)
},
step: function () {
var time = new Date().getTime();
if (time < this.time + this.options.duration) {
this.cTime = time - this.time;
this.setNow();
this.increase()
} else {
this.stop(true);
this.now = this.to;
this.increase();
this.fireEvent('onComplete', this.element, 10);
this.callChain()
}
},
set: function (to) {
this.now = to;
this.increase();
return this
},
setNow: function () {
this.now = this.compute(this.from, this.to)
},
compute: function (from, to) {
return this.options.transition(this.cTime, from, (to - from), this.options.duration)
},
start: function (from, to) {
if (!this.options.wait) this.stop();
else if (this.timer) return this;
this.from = from;
this.to = to;
this.time = new Date().getTime();
this.timer = this.step.periodical(Math.round(1000 / this.options.fps), this);
this.fireEvent('onStart', this.element);
return this
},
stop: function (end) {
if (!this.timer) return this;
this.timer = $clear(this.timer);
if (!end) this.fireEvent('onCancel', this.element);
return this
},
custom: function (from, to) {
return this.start(from, to)
},
clearTimer: function (end) {
return this.stop(end)
}
});
Fx.Base.implement(new Chain);
Fx.Base.implement(new Events);
Fx.Base.implement(new Options);
Fx.Transitions = {
linear: function (t, b, c, d) {
return c * t / d + b
},
sineInOut: function (t, b, c, d) {
return - c / 2 * (Math.cos(Math.PI * t / d) - 1) + b
}
};
Fx.CSS = {
select: function (property, to) {
if (property.test(/color/i)) return this.Color;
if (to.test && to.test(' ')) return this.Multi;
return this.Single
},
parse: function (el, property, fromTo) {
if (!fromTo.push) fromTo = [fromTo];
var from = fromTo[0],
to = fromTo[1];
if (!to && to != 0) {
to = from;
from = el.getStyle(property)
}
var css = this.select(property, to);
return {
from: css.parse(from),
to: css.parse(to),
css: css
}
}
};
Fx.CSS.Single = {
parse: function (value) {
return parseFloat(value)
},
getNow: function (from, to, fx) {
return fx.compute(from, to)
},
getValue: function (value, unit) {
return value + unit
}
};
Fx.CSS.Multi = {
parse: function (value) {
return value.push ? value: value.split(' ').map(function (v) {
return parseFloat(v)
})
},
getNow: function (from, to, fx) {
var now = [];
for (var i = 0; i < from.length; i++) now[i] = fx.compute(from[i], to[i]);
return now
},
getValue: function (value, unit) {
return value.join(unit + ' ') + unit
}
};
Fx.CSS.Color = {
parse: function (value) {
return value.push ? value: value.hexToRgb(true)
},
getNow: function (from, to, fx) {
var now = [];
for (var i = 0; i < from.length; i++) now[i] = Math.round(fx.compute(from[i], to[i]));
return now
},
getValue: function (value) {
return 'rgb(' + value.join(',') + ')'
}
};
Fx.Styles = Fx.Base.extend({
initialize: function (el, options) {
this.element = $(el);
this.parent(options)
},
setNow: function () {
for (var p in this.from) this.now[p] = this.css[p].getNow(this.from[p], this.to[p], this)
},
set: function (to) {
var parsed = {};
this.css = {};
for (var p in to) {
this.css[p] = Fx.CSS.select(p, to[p]);
parsed[p] = this.css[p].parse(to[p])
}
return this.parent(parsed)
},
start: function (obj) {
if (this.timer && this.options.wait) return this;
this.now = {};
this.css = {};
var from = {},
to = {};
for (var p in obj) {
var parsed = Fx.CSS.parse(this.element, p, obj[p]);
from[p] = parsed.from;
to[p] = parsed.to;
this.css[p] = parsed.css
}
return this.parent(from, to)
},
increase: function () {
for (var p in this.now) this.element.setStyle(p, this.css[p].getValue(this.now[p], this.options.unit))
}
});
Element.extend({
effects: function (options) {
return new Fx.Styles(this, options)
}
}); -
Peki böyle şifrelemek için ne yapmak gerek :D ?
-
http://jscompress.com/
Javascript Compression Method
yazan yerden packer i seç
aynen ordaki gibi şifrelersin
-
KURN44AZ bunu yazdı:
-----------------------------
http://jscompress.com/
Javascript Compression Method
yazan yerden packer i seç
aynen ordaki gibi şifrelersin
-----------------------------sağol uzun zamandır aradığım bir şeydi :D
-
Güzel konu olmuş :)
