 (function($){
	$.fn.extend({
		drift:function(opt){
			opt=$.extend({
				fullScreenClass:'_fs',
				functer:function(pc){
					var th=$(this)
					th.css({
						left:th.data('stX')+pc.x*th.data('dX')+'px',
						top:th.data('stY')+pc.y*th.data('dY')+'px'
					},'fast')
				}, 
				minWidth:0,
				minHeight:0,
				maxWidth:0,
				maxHeight:0
			},opt)
			
			var th=$(this),body=$(document.body),callee=arguments.callee
				maw=opt.maxWidth||parseInt(body.css('max-width')),
				miw=opt.minWidth||parseInt(body.css('min-width')),
				mah=opt.maxHeight||parseInt(body.css('max-height')),
				mih=opt.minHeight||parseInt(body.css('min-height')),
				dw=maw-miw,
				dh=mah-mih
				
			if(!(maw&&mah&&miw&&mih))return false
			
			th.each(function(){
				var tmp={left:this.offsetLeft,top:this.offsetTop},
					delta=function(a,b){return a<b?b-a:a-b}
				$(this)
					.data({stX:tmp.left,stY:tmp.top})
					.addClass(opt.fullScreenClass)
					.data({dX:delta(tmp.left,this.offsetLeft),dY:delta(tmp.top,this.offsetTop)})
					.removeClass(opt.fullScreenClass)
					.css({position:'absolute',left:tmp.left+'px',top:tmp.top+'px'})
			})
			
			$(window).bind('resize load',function(){
				th.each(function(){
					var x=(body.width()-miw)/dw,
						y=(body.height()-mih)/dh
					opt.functer.call(this,{
						x:x>0?x:0,
						y:y>0?y:0
					})
				})
			})
		}
	})	
})(jQuery)
/*Y29kZSBieSBwbHprbg==*/
