(function ($, undefined) { $.extend(_tms, { presets:{ zoomer:{"reverseway":false,"duration":"800","interval":"1","blocksx":"1","blocksy":"1","easing":"","way":"lines","anim":"zoomer",k:1.8,crds:{bottom:0,right:0}}, fadethree:{"reverseway":false,"duration":"800","interval":"1","blocksx":"1","blocksy":"1","easing":"","way":"lines","anim":"fadethree"}, simplefade:{"reverseway":false,"duration":"800","interval":"1","blocksx":"1","blocksy":"1","easing":"","way":"lines","anim":"fade"}, gslider:{"reverseway":false,"duration":400,"interval":40,"blocksx":"1","blocksy":"1","easing":"","way":"lines","anim":"gslider"}, vslider:{"reverseway":false,"duration":400,"interval":40,"blocksx":"1","blocksy":"1","easing":"","way":"lines","anim":"vslider"}, slidefromleft:{"reverseway":false,"duration":"800","interval":"1","blocksx":"1","blocksy":"1","easing":"easeoutback","way":"lines","anim":"slidefromleft"}, slidefromtop:{"reverseway":false,"duration":"800","interval":"1","blocksx":"1","blocksy":"1","easing":"easeoutback","way":"lines","anim":"slidefromtop"}, diagonalfade:{"reverseway":false,"duration":400,"interval":40,"blocksx":10,"blocksy":5,"easing":"easeinquad","way":"diagonal","anim":"fade"}, diagonalexpand:{"reverseway":false,"duration":400,"interval":40,"blocksx":12,"blocksy":6,"easing":"easeinquad","way":"diagonal","anim":"expand"}, fadefromcenter:{"reverseway":true,"duration":"600","interval":"10","blocksx":"10","blocksy":"6","easing":"","way":"spiral","anim":"fade"}, zabor:{"reverseway":true,"duration":800,"interval":40,"blocksx":"15","blocksy":"1","easing":"","way":"lines","anim":"slideright"}, vertivallines:{"reverseway":false,"duration":600,"interval":1,"blocksx":12,"blocksy":1,"easing":"swing","way":"lines","anim":"vslideodd"}, gorizontallines:{"reverseway":false,"duration":600,"interval":1,"blocksx":1,"blocksy":12,"easing":"swing","way":"lines","anim":"gslideodd"} }, ways: { lines: function () { var opt=this for (var ret = [], i = 0; i < opt.maskc.length; i++) ret.push(opt.maskc.eq(i)) return ret }, spiral: function () { var opt=this, ret = [], step = 0, h = opt.blocksy, w = opt.blocksx, x, y, i, lr = function () { for (i = step; i < w - 1 - step; i++) if (ret.length < opt.maskc.length) ret.push(opt.matrix[step][i]) else return false rb() }, rb = function () { for (i = step; i < h - 1 - step; i++) if (ret.length < opt.maskc.length) ret.push(opt.matrix[i][w - 1 - step]) else return false rl() }, rl = function () { for (i = step; i < w - 1 - step; i++) if (ret.length < opt.maskc.length) ret.push(opt.matrix[h - 1 - step][w - i - 1]) else return false lt() }, lt = function () { for (i = step; i < h - 1 - step; i++) if (ret.length < opt.maskc.length) ret.push(opt.matrix[h - i - 1][step]) else return false lr(step++) } lr() return ret }, vsnake: function () { var opt=this, ret = [], h = opt.blocksy, w = opt.blocksx, j, i for (i = 0; i < w; i++) for (j = 0; j < h; j++) if (i * .5 == ~~ (i / 2)) ret.push(opt.matrix[j][i]) else ret.push(opt.matrix[h - 1 - j][i]) return ret }, gsnake: function () { var opt=this, ret = [], h = opt.blocksy, w = opt.blocksx, j, i for (i = 0; i < h; i++) for (j = 0; j < w; j++) if (i * .5 == ~~ (i / 2)) ret.push(opt.matrix[i][j]) else ret.push(opt.matrix[i][w - 1 - j]) return ret }, diagonal: function () { var opt=this, ret = [], h = opt.blocksy, w = opt.blocksx, i = j = n = 0 for (i = 0; i < w; i++) for (ret[i] = [], j = 0; j <= i; j++) if (j < h) ret[i].push(opt.matrix[j][i - j]) for (i = 1; i < h; i++) for (j = 0, ret[n = ret.length] = []; j < h - i; j++) ret[n].push(opt.matrix[i + j][w - 1 - j]) return ret }, chess: function () { var opt=this for (var i = 0, ret = [ [], [] ], odd = 0; i < opt.maskc.length; i++) ret[odd = odd ? 0 : 1].push(opt.maskc.eq(i)) return ret }, randomly: function () { var opt=this for (var ret = [], n = i = 0; i < opt.maskc.length; i++) ret.push(opt.maskc.eq(i)) for (i = 0; i < opt.maskc.length; i++) ret.push(ret.splice(parseint(math.random() * opt.maskc.length - 1), 1)[0]) return ret } }, anims: { fadethree:function(el,last){ var _=this $(el).each(function(i){ var th=$(this).show().css({left:-_.width/4,top:0,zindex:2}), clone=th.clone().appendto(th.parent()).css({left:_.width/4,top:_.height/4,zindex:1}), clone2=th.clone().appendto(th.parent()).css({left:0,top:-_.height/4,zindex:1}) clone .stop() .animate({ left:0, top:0 },{ duration:_.duration, easing:_.easing }) clone2 .stop() .animate({ left:0, top:0 },{ duration:_.duration, easing:_.easing }) th .stop() .animate({ left:0, top:0 },{ duration:_.duration, easing:_.easing, step:function(now){ var pc=now/_.width, opa=1+pc clone.css({opacity:opa*opa}) clone2.css({opacity:opa*opa}) th.css({opacity:opa*opa*opa}) }, complete:function(){ if(last)_.aftershow() clone.remove() clone2.remove() } }) }) }, zoomer:function(el,last){ var _=this $(el).each(function(){ var th=$(this), img=$(new image()), from=_.direction>0?_.width*_.k:_.width, to=_.direction>0?_.width:_.width*_.k console.log(from+' '+to) img .css({ position:'absolute', zindex:0, opacity:0 }) .css(_.crds) .appendto(_.pic) .load(function(){ _.pic.find('img').not(img).remove() img .css({ width:from, height:'auto' }) .stop() .animate({ opacity:1 },{ duration:200 }) .animate({ width:to },{ duration:_.duration, easing:_.easing }) settimeout(function(){if(last)_.aftershow()},400) }) .attr({src:_.next}) }) }, fade: function (el, last) { var opt=this $(el).each(function () { $(this).css({ opacity: 0 }).show().stop().animate({ opacity: 1 }, { duration: +opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) }) }, expand: function (el, last) { var opt=this $(el).each(function () { $(this).hide().show(+opt.duration, function () { if (last) opt.aftershow() }) }) }, slidedown: function (el, last) { var opt=this $(el).each(function () { var th = $(this).show(), h = th.height() th.css({ height: 0 }).stop().animate({ height: h }, { duration: opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) }) }, slideleft: function (el, last) { var opt=this $(el).each(function () { var th = $(this).show(), w = th.width() th.css({ width: 0 }).stop().animate({ width: w }, { duration: opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) }) }, slideup: function (el, last) { var opt=this $(el).each(function () { var th = $(this).show(), h = th.height(), l = th.attr('offsetleft'), t = th.attr('offsettop') th.css({ height: 0, top: t + h }).stop().animate({ height: h }, { duration: opt.duration, easing: opt.easing, step: function (now) { var top = t + h - now th.css({ top: top, backgroundposition: '-' + l + 'px -' + top + 'px' }) }, complete: function () { if (last) opt.aftershow() } }) }) }, slideright: function (el, last) { var opt=this $(el).each(function () { var th = $(this).show(), w = th.width(), l = th.attr('offsetleft'), t = th.attr('offsettop') th.css({ width: 0, left: l + w }).stop().animate({ width: w }, { duration: opt.duration, easing: opt.easing, step: function (now) { var left = l + w - now th.css({ left: left, backgroundposition: '-' + left + 'px -' + t + 'px' }) }, complete: function () { if (last) opt.aftershow() } }) }) }, slidefromtop: function (el, last) { var opt=this $(el).each(function () { var th = $(this), t = th.show().css('top'), h = th.height() th.css({ top: -h }).stop().animate({ top: t }, { duration: +opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) }) }, slidefromdown: function (el, last) { var opt=this $(el).each(function () { var th = $(this), t = th.show().css('top'), h = th.height() th.css({ top: h }).stop().animate({ top: t }, { duration: +opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) }) }, slidefromleft: function (el, last) { var opt=this $(el).each(function () { var th = $(this), l = th.show().css('left'), w = th.width() th.css({ left: -w }).stop().animate({ left: l }, { duration: +opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) }) }, slidefromright: function (el, last) { var opt=this $(el).each(function () { var th = $(this), l = th.show().css('left'), w = th.width() th.css({ left: w }).stop().animate({ left: l }, { duration: +opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) }) }, gslider: function (el, last) { var opt=this, clone = opt.maskc.clone(), w = clone.width() clone.appendto(opt.maskc.parent()).css({ background: opt.pic.css('backgroundimage') }).show() el.show().css({ left: opt.direction > 0 ? -w : w }).stop().animate({ left: 0 }, { duration: +opt.duration, easing: opt.easing, step: function (now) { if (opt.direction > 0) clone.css('left', now + w) else clone.css('left', now - w) }, complete: function () { clone.remove() if (last) opt.aftershow() } }) }, vslider: function (el, last) { var opt=this, clone = opt.maskc.clone(), h = clone.height() clone.appendto(opt.maskc.parent()).css({ background: opt.pic.css('backgroundimage') }).show() el.show().css({ top: opt.direction > 0 ? -h : h }).stop().animate({ top: 0 }, { duration: +opt.duration, easing: opt.easing, step: function (now) { if (opt.direction > 0) clone.css('top', now + h) else clone.css('top', now - h) }, complete: function () { clone.remove() if (last) opt.aftershow() } }) }, vslideodd: function (el, last) { var opt=this $(el).each(function () { var th = $(this), t = th.show().css('top'), h = th.height(), odd = opt.odd th.css({ top: odd ? -h : h }).stop().animate({ top: t }, { duration: +opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) opt.odd = opt.odd ? false : true }) }, gslideodd: function (el, last) { var opt=this $(el).each(function () { var th = $(this), l = th.show().css('left'), w = th.width(), odd = opt.odd th.css({ left: odd ? -w : w }).stop().animate({ left: l }, { duration: +opt.duration, easing: opt.easing, complete: function () { if (last) opt.aftershow() } }) opt.odd = opt.odd ? false : true }) } } }) })(jquery)