/* yangdx Javascript Document */
/* author . yangdongxing */
/* author.email . yangdongxing@gmail.com */
/* lastModify . 2010-12-17 1:31 pm */

/* base on mootools
* ----------String.implement
* ----------object.$ydx
* ----------function.$isRegex
* ----------function.$redirect
* ----------Class.Tipshow
* ----------Class.TextAreaLimit
*/

/*------------------------------------------------- implement -----------------------------------------------------*/
String.implement({
	cnEncode: function() {
		return encodeURIComponent(this);
	},
	cnDecode: function() {
		return decodeURIComponent(this);
	},
	nl2br: function() {return this.replace(/\n/g,'<br />\n'); 
	}
});

/*------------------------------------------------- local namespace -----------------------------------------------*/


/**
* object $ydx
**/
/*
* $ydx 所有的函数都作为 $ydx 的方法.
* data eg: {key:value}
*/
var $ydx = new Object({
	data: {
		loading:'loading...'
	},
	temp: {
		bindEsc:function(e){if($('ydxBox') &&e.key == 'esc') $ydx.deleteE($('ydxBox'),1)}
	},
	removeBoxBtn : function(text){
		var btn = new Element('input',{'type':'button','value':text,'class':'Btn FloatRight','events':{'click':function(){$('ydxBox').destroy()}}})
		return btn;
	},
	deleteE:function(ele,box){
		if(!typeOf(box)){
			var fade = new Fx.Tween(ele,{
				duration : 'short',
				transition: Fx.Transitions.Quart.easeOut,
				onComplete : function(){ele.destroy()}
			});
			fade.start('opacity','0');
		}
		else{
			var fade = new Fx.Morph(ele,{
				duration : 'short',
				transition: Fx.Transitions.Quart.easeOut,
				onComplete : function(){ele.destroy()}
			});
			fade.start({'opacity':'0','padding-top':'60px'});	
		}
	}
});


/**
* function $isRegex
*
* $isRegex(String,$isRegex.EMAIL)
* return false || true
**/
var $isRegex = function(ele, regex, params) {
	return $(ele).get('value').trim().test(regex, params || 'i');
};
$isRegex.extend({
	EMAIL: "^[a-z0-9._%-]+@[a-z0-9.-]+\\.[a-z]{2,4}$",
	URL: "^(http|https|ftp)\\:\\/\\/[a-z0-9\\-\\.]+\\.[a-z]{2,3}(:[a-z0-9]*)?\\/?([a-z0-9\\-\\._\\?\\,\\'\\/\\\\\\+&amp;%\\$#\\=~])*$",
	MOBILE: "^1\\d{10}$",
	ZIPCODE: "^\\d{6}$"
});

/* location */
var $redirect = function(url){location.href=url}

/**
* function ydxBox
*
* tar = event.target typeOf:Element //可选参数
* tarData 为 tar.data JSON数据格式
* ajax HTML: 把返回的数据写到box当中. 
* ajax JSON: 把返回的data数据 指针到 $ydx.temp 临时变量中
* 
**/
var YdxBox = new Class({
	Implements : [ Options , Events ],
	options : {
		tar : function(){},
		title : '^_^ 提示窗',
		tarData : function(){},
		content : 'loading...',
		ydxBox : function(){}
	},

	initialize : function(title,content,options){
		this.setOptions(options);
		if(typeOf(title)){this.title = title}else{this.title = this.options.title}
		if(typeOf(content)){this.content = content}else{this.content = this.options.content}
		this.built();
	},
	
	built : function(){
		if($('ydxBox')) $('ydxBox').destroy();
		var top = window.getScroll().y + 100 +'px';
		var boxHTML = '<div class="popup"><table><tbody><tr><td class="tl"><div class="b10 opacity60"></div></td><td class="b opacity60"></td><td class="tr"><div class="b10 opacity60"></div></td></tr><tr><td class="b opacity60"></td><td class="body"><p id="ydxBoxTitle">'+this.title+'</p><div id="closeydxbox"><a title="关闭窗口 (键盘Esc)" class="close" href="#nogo">✘</a></div><div class="Clear"></div><div class="Fix loading" id="ydxBoxC">loading...</div></td><td class="b opacity60"></td></tr><tr><td class="bl"><div class="b10 opacity60"></div></td><td class="b opacity60"></td><td class="br"><div class="b10 opacity60"></div></td></tr></tbody></table></div>';
		var ydxBox = new Element('div',{'id':'ydxBox','styles':{'top':top},'html':boxHTML});
		ydxBox.inject($(document.body));
		this.options.ydxBox = $('ydxBox');
		this.options.content = $('ydxBoxC');
		window.addEvent('keydown',$ydx.temp.bindEsc);
		$('closeydxbox').getElement('.close').addEvent('click',function(){this.closeBox();}.bind(this));
		this.injectHTML(this.content);
	},
		
	injectHTML : function(content){
		this.options.content.set('html',content);
		this.options.content.removeClass('loading');
	},
	
	wrap : function(ele){
		ele.inject(this.options.content);
	},
	
	loading : function(text){
		if(!typeOf(text)){
			this.options.content.set('html','loading...');
		}
		else{
			this.options.content.set('html',text);
		}
		this.options.content.addClass('loading');
	},
	
	ok : function(){
		this.injectHTML('操作成功.');
		this.options.content.addClass('loading');
	},
	
	closeBox : function(){
		window.removeEvent('keydown',$ydx.temp.bindEsc);
		$ydx.deleteE(this.options.ydxBox,1)
	}
});

/**
* class TipShow
*
* 
**/
var Tipshow = new Class({
	Implements: [Options, Events],
	options: {
		// eg1: function(){},
	},
	initialize: function(font1, font2, options) {
		this.setOptions(options);
		this.font1 = font1;
		this.font2 = font2;
		this.built();
	},
	built : function(){
		var p1 = new Element('p',{'text':this.font1,'styles':{'font-size':'20px','padding':'25px 0 5px 0'}});
		var p2 = new Element('p',{'text':this.font2,'styles':{'font-size':'50px'}});
		var top = window.getScroll().y + 40 +'px';
		var div = new Element('div',{'id':'Tipshow','styles':{'right':'20px','top': top}});
		p1.inject(div),p2.inject(div);
		div.inject(document.body);
		this.destroy(div);
	},
	destroy : function(ele){
		var fade = new Fx.Tween(ele,{
			duration : 'long',
			transition: Fx.Transitions.Quart.easeOut,
			onComplete : function(){ele.destroy()}
		});
		setTimeout(function(){fade.start('opacity','0')},800);
	}
})

/**
* class TextAreaLimit
*
* 
**/
var TextAreaLimit = new Class({
	Implements: [Options, Events],
	options: {
		onLimitSuccess: function(){},
		onLimitExceeded: function(){},
		limit: [0, 2000],
		pattern: '可输入num字',
		exceededPattern: '很抱歉,超过限制的字数'
	},
	initialize: function(textarea, infoEle, options) {
		this.setOptions(options);
		this.target = $(textarea);
		this.limit = this.options.limit;
		this.pattern = this.options.pattern.split('num');
		var remain = this.limit[1] - this.target.value.length;
		this.info = $(infoEle).set('html', (remain < 0) ? this.options.exceededPattern : this.pattern[0] + '<span>' + remain + '</span>' + this.pattern[1]);
		this.target.addEvent('keyup', this.check.bind(this));
		this.target.addEvent('focus', this.check.bind(this));
		return this;
	},
	check: function() {
		var remain = this.limit[1] - this.target.value.length;
		if (remain >= 0 && this.target.value.length >= this.limit[0]) {
			this.info.set('html', this.pattern[0] + '<span>' + remain + '</span>' + this.pattern[1]);
			this.info.erase('style');
			this.fireEvent('limitSuccess');
		} else {
			(remain >= 0) ? this.info.set('html', this.pattern[0] + '<span>' + remain + '</span>' + this.pattern[1]) : this.info.set('html', this.options.exceededPattern);
			this.info.set('style', 'color:#cc0000');
			this.fireEvent('limitExceeded');
		}
	},
	reset: function() {
		setTimeout(function() { this.check(); this.setFocusStyle(); return this; } .bind(this), 10);
	}
});


/* 笑话吧.page.start()-------------------------------------------------------------------------------------------------------*/
var PersonJoke = new Class({
	Implements: [Options, Events],
	options: {
		// eg1: function(){},
	},
	initialize: function(eles,options) {
		this.setOptions(options);
		this.eles = eles;
		this.built();
	},
	built:function(){
		this.eles.each(function(it){
			it.addEvents({
				'mouseenter':function(){this.mouseenterE(it)}.bind(this),
				'mouseleave':function(){this.mouseleaveE(it)}.bind(this)
			});
		},this);
	},
	mouseenterE : function(it){
		// alert('enter')
		var person_id = JSON.decode(it.getParent().get('data')).person_id;
		// alert(person_id);
		if(person_id == initData.data.person_id){
			if(!it.getElement('.settingIt')){
				var m = new Element('a',{'href':'#nogo','class':'CloseParent modify','title':'修改','text':'✎ ','events':{'click':function(){this.modifyJoke(it)}.bind(this)}});
				var span = new Element('span',{'class':'settingIt'});
				m.inject(span),span.inject(it);	
			}
			else{
				it.getElement('.settingIt').setStyle('display','block');
			}
		}
		else{
			it.removeEvents('mouseenter');
			it.removeEvents('mouseleave');
		}
		
	},
	mouseleaveE : function(it){
		if(it.getElement('.settingIt')) it.getElement('.settingIt').setStyle('display','none');
	},
	modifyJoke : function(it){
		box = new YdxBox('修改笑话:','');
		var w600 = new Element('div',{'class':'Fix w600'});
		var person = it.getElement('.person').clone();
		var text = it.getElement('.content').get('text');
		var content = new Element('div',{'class':'content'});
		var ta = new Element('textarea',{'value':text,'id':'modifyTA','class':'Textarea3 RadiusIt'});
		var btn = new Element('input',{'type':'button','value':'保存修改','class':'Btn Focus FloatRight'});
		var cancel = $ydx.removeBoxBtn('取消修改');
		content.adopt(ta),w600.adopt(person),w600.adopt(content),box.wrap(w600),box.wrap(btn),box.wrap(cancel);
		var oriText = ta.get('value');
		btn.addEvent('click',function(){this.modifyAction(it,oriText)}.bind(this))
		
	},
	modifyAction : function(it,oriText){
		var data = JSON.decode(it.getParent().get('data'));
		var content = $('modifyTA').get('value');
		if(content.length < 20){
			alert('笑话字数少于20个字,不能更新.');
		}
		else if(oriText != content){
			new Request.JSON({
				url : '/asyn/modifyJoke',
				method : 'post',
				data : {'joke_key':data.key,'content':content},
				onRequest : function(){
					box.loading();
				}, 
				onSuccess : function(a,b){
					if(a.code == 200){
						box.ok();
						setTimeout(function(){box.closeBox()},500)
						it.getElement('.content').set('html',content.nl2br());
					}
				}
			}).send();
		}
		else{
			alert('笑话内容没有改变,不能更新.');
		}
	}
	
});

var AdminJoke = new Class({
	Implements: [Options, Events],
	options: {
		// eg1: function(){},
	},
	initialize: function(eles,options) {
		this.setOptions(options);
		this.eles = eles;
		this.built();
	},
	built : function(){
		this.eles.each(function(it){
			it.addEvents({
				'mouseenter':function(){
					if(!it.getElement('.settingIt')){
						var x = new Element('a',{'href':'#nogo','class':'CloseParent delete','title':'删除','text':'✘','events':{'click':function(){this.deleteJoke(it)}.bind(this)}});
						var m = new Element('a',{'href':'#nogo','class':'CloseParent modify','title':'修改','text':'✎ ','events':{'click':function(){this.modifyJoke(it)}.bind(this)}});
						var span = new Element('span',{'class':'settingIt'});
						m.inject(span),x.inject(span),span.inject(it);
					}
					else{
						it.getElement('.settingIt').setStyle('display','block');
					}
				}.bind(this),
				'mouseleave':function(){if(it.getElement('.settingIt')) it.getElement('.settingIt').setStyle('display','none')}
			});
		},this);
	},
	deleteJoke : function(ele){
		box = new YdxBox('删除笑话:','');
		var w600 = new Element('div',{'class':'Fix w600'});
		var person = ele.getElement('.person').clone();
		var content = ele.getElement('.content').clone();
		var text = content.get('text').substr(0,200)+'......';
		content = content.set('text',text);
		var btn = new Element('input',{'type':'button','value':'确认删除','class':'Btn FloatRight'});
		var cancel = $ydx.removeBoxBtn('取消删除');
		w600.adopt(person),w600.adopt(content),box.wrap(w600),box.wrap(btn),box.wrap(cancel);
		btn.addEvent('click',function(){this.deleteAction(ele)}.bind(this))
	},
	deleteAction : function(ele){
		var data = JSON.decode(ele.getParent().get('data'));
		new Request.JSON({
			url : '/admin/deleteJoke',
			method : 'post',
			data : {'joke_key':data.key,'joke_id':data.id},
			onRequest : function(){
				box.loading();
			}, 
			onSuccess : function(a,b){
				if(a.code == 200){
					box.closeBox();
					ele.getParent().destroy();
				}
			}
		}).send();
	},
	modifyJoke : function(ele){
		box = new YdxBox('修改笑话:','');
		var w600 = new Element('div',{'class':'Fix w600'});
		var person = ele.getElement('.person').clone();
		var text = ele.getElement('.content').get('text');
		var content = new Element('div',{'class':'content'});
		var ta = new Element('textarea',{'value':text,'id':'modifyTA','class':'Textarea3 RadiusIt'});
		var btn = new Element('input',{'type':'button','value':'保存修改','class':'Btn Focus FloatRight'});
		var cancel = $ydx.removeBoxBtn('取消修改');
		content.adopt(ta),w600.adopt(person),w600.adopt(content),box.wrap(w600),box.wrap(btn),box.wrap(cancel);
		var oriText = ta.get('value');
		btn.addEvent('click',function(){this.modifyAction(ele,oriText)}.bind(this))
	},
	modifyAction : function(ele,oriText){
		var data = JSON.decode(ele.getParent().get('data'));
		var content = $('modifyTA').get('value');
		if(oriText != content){
			new Request.JSON({
				url : '/admin/modifyJoke',
				method : 'post',
				data : {'joke_key':data.key,'content':content},
				onRequest : function(){
					box.loading();
				}, 
				onSuccess : function(a,b){
					if(a.code == 200){
						box.ok();
						setTimeout(function(){box.closeBox()},500)
						ele.getElement('.content').set('html',content.nl2br());
					}
				}
			}).send();
		}
		else{
			alert('笑话内容没有改变,不能更新.')
		}
	}
})

var GetJokes = new Class({
	Implements : [Options,Events],
	options:{},
	initialize:function(ele,tarEle,position,is_admin,options){
		this.setOptions(options);
		this.ele = ele;
		this.tarEle = tarEle;
		this.position = position;
		this.oriHTML = ele.get('html');
		this.init();
		this.bindE();
	},
	init : function(){
		var data = JSON.decode(this.ele.get('data'));
		this.eleData = data;
	},
	backAction : function(){
		new ShowReply(this.newDiv.getElements('.showReplyBtn'));
		if(initData.data.is_login){
			new ReplyJoke(this.newDiv.getElements('.replyBtn'));
		}
		if(initData.data.is_admin){
			new AdminJoke(this.newDiv.getElements('.Bc'));
		}
		if(initData.data.is_login && !initData.data.is_admin){
			new PersonJoke(this.newDiv.getElements('.Bc'));
		}
		if(this.backjson.next == 'no'){
			this.ele.destroy();
		}
		else{
			this.eleData.start_time = this.backjson.next;
			this.ele.set('data',JSON.encode(this.eleData));
		}
	},
	bindE:function(){
		this.ele.addEvent('click',function(){this.asynRequest()}.bind(this));
	},
	asynRequest:function(){
		new Request.JSON({
			url : '/globalAsyn/getJokes',
			method : 'post',
			data : {'start_time':this.eleData.start_time},
			onRequest : function(){
				this.ele.set('text',$ydx.data.loading)
				this.ele.removeEvents('click');
			}.bind(this), 
			onSuccess : function(a,b){
				if(a.code == 200){
					this.backjson = a;
					var div = new Element('div',{'html':a.data});
					div.inject(this.tarEle,this.position);
					this.ele.set('html',this.oriHTML);
					this.bindE();
					this.newDiv = div;
					this.backAction();
				}
			}.bind(this)
		}).send();
	}
});

var ReplyJoke = new Class({
	Implements : [Options,Events],
	options:{},
	initialize:function(eles,options){
		this.setOptions(options);
		this.eles = eles;
		this.bindE();
	},
	bindE:function(){
		this.eles.addEvents({
			'click':function(e){this.showReplay(e.target)}.bind(this)
		});
	},
	showReplay:function(it){
		if(!it.getParent().getParent().getElement('.replyC')){
			var img = new Element('span',{'class':'commentTar','style':'background-image:url(/avatar/'+initData.data.avatar+'/p2)'});
			var ta = new Element('textarea',{'class':'Textarea1 Textarea2'});
			var input = new Element('input',{'type':'button','class':'Btn','value':'ok,发表评论','events':{'click':function(e){this.asynRequest(e.target)}.bind(this)}});
			var x = new Element('a',{'href':'#nogo','class':'CloseParent','title':'关闭评论','text':'✘','events':{'click':function(e){e.target.getParent().destroy()}}});
			var span = new Element('span',{'class':'numLimitInfo'});
			var div = new Element('div',{'class':'replyC'});
			img.inject(div),ta.inject(div),input.inject(div),x.inject(div),span.inject(div);
			div.inject(it.getParent().getParent().getElement('.Bc'),'after');
			new TextAreaLimit(ta,span,{'limit':[0,200],'pattern':'还可以输入num字'})
			ta.focus();
		}else{
			it.getParent().getParent().getElement('.replyC').getElement('textarea').focus();
		}
	},
	asynRequest:function(sendBtn){
		var value = sendBtn.getParent().getElement('.Textarea2').get('value');
		if(value.trim() != ''){
			var data = JSON.decode(sendBtn.getParent().getParent().get('data'));
			var joke_id = data.id;
			var ori = sendBtn.get('value');
			new Request.JSON({
				url : '/asyn/reply',
				method : 'post',
				data : {'content':value,'joke_id':joke_id},
				onRequest : function(){
					sendBtn.removeEvents('click');
					sendBtn.set('value',$ydx.data.loading)
				}, 
				onSuccess : function(a,b){
					if(a.code == 200){
						this.backAction(sendBtn,a.content,a.time);
						sendBtn.set('value',ori);
					}
				}.bind(this)
			}).send();	
		}
		else{
			alert('回复内容不能为空.')
		}
	},
	backAction : function(ele,value,time){
		var img = new Element('div',{'class':'commentTar','style':'background-image:url(/avatar/'+initData.data.avatar+'/p2)'});				
		var p = new Element('p',{'html':'<b class="whoSay">我说:</b><br />'+value});
		var span = new Element('span',{'text':time});
		var div = new Element('div',{'class':'Fix replyList'});
		img.inject(div),p.inject(div),span.inject(div);
		div.inject(ele.getParent(),'after');
		ele.addEvent('click',function(e){this.asynRequest(e.target)}.bind(this));
		ele.getPrevious().set('value','');
		ele.getParent().getElement('.numLimitInfo').set('text','还可以输入200 字');
		var num = ele.getParent().getParent().getElement('.extra').getElement('.showReplyBtn');
		num.set('data',Number(num.get('data'))+1),num.set('text','▼ 查看评论('+Number(num.get('data'))+')');
		new Tipshow('人品','+1');
	}
});

var ShowReply = new Class({
	Implements : [Options,Events],
	options:{},
	initialize:function(eles,options){
		this.setOptions(options);
		this.eles = eles;
		this.bindE();
	},
	bindE:function(){
		this.eles.addEvent('click',function(e){this.asynRequest(e.target)}.bind(this));
	},
	asynRequest:function(ele){
		var c = ele.getParent().getParent().getElement('.C');
		var number = Number(ele.get('data'));
		if(number === 0){}
		else if(!c)
		{
			var data = JSON.decode(ele.getParent().getParent().get('data'));
			var joke_id = data.id;
			var ori = ele.get('text');
			new Request.JSON({
				url : '/globalAsyn/getComment',
				method : 'post',
				data : {'joke_id':joke_id},
				onRequest : function(){
					ele.set('text',$ydx.data.loading);
				}, 
				onSuccess : function(a,b){
					if(a.code == 200){
						this.backAction(ele,a.data);
						ele.set('text','▲ 查看评论('+Number(ele.get('data'))+')');
					}
				}.bind(this)
			}).send();
		}
		else if(c.getStyle('display') == 'none')
		{
			c.setStyle('display','block');
			ele.set('text','▲ 查看评论('+Number(ele.get('data'))+')');
		}
		else
		{
			c.setStyle('display','none');
			ele.set('text','▼ 查看评论('+Number(ele.get('data'))+')');
		}
	},
	backAction:function(ele,data){
		var div = new Element('div',{'class':'C','html':data});
		div.inject(ele.getParent(),'before');
		if (initData.data.is_admin == true){
			div.getElements('.commentList').each(function(it){
				var x = new Element('a',{'href':'#nogo','class':'CloseParent','title':'删除','text':'✘','events':{'click':function(){
					var data = JSON.decode(it.get('data'));
					var box = new YdxBox('删除评论:','');
					var w600 = new Element('div',{'class':'Fix w600'});
					var content = it.clone();
					content.getElement('.CloseParent').destroy();
					var btn = new Element('input',{'type':'button','value':'确认删除','class':'Btn FloatRight'});
					var cancel = $ydx.removeBoxBtn('取消删除');
					w600.adopt(content),box.wrap(w600),box.wrap(btn),box.wrap(cancel);
					btn.addEvent('click',function(){
						new Request.JSON({
							url : '/admin/delComment',
							method : 'post',
							data : {'joke_comment_key':data.joke_comment_key},
							onRequest : function(){
								box.loading();
							}, 
							onSuccess : function(a,b){
								if(a.code == 200){
									box.closeBox();
									it.destroy();
								}
							}
						}).send();
					})
					cancel.addEvent('click',function(){box.closeBox()});
				}}});
				var span = new Element('span',{'class':'settingIt','styles':{'top':'15px','right':'15px'}});
				x.inject(span),span.inject(it);
				
			});
		}
	}
});

Object.append($ydx,{
	updateAvatar : {
		actionE : function(e){
			if($('avatarFile').get('value') == ''){
				e.stop();
				alert('没有选择图片,不能上传.');
			}
			else{
				e.target.getElement('.Btn').set('value',$ydx.data.loading);
			}
		},
		init : function(){$('settingModify').addEvent('submit',function(e){$ydx.updateAvatar.actionE(e)})}
	},
	updateNickname : {
		actionE : function(ele){
			var nickName = $('nickName').get('value').trim();
			if(nickName != initData.data.oriNickname && nickName != ''){
				var ori = ele.get('value');
				new Request.JSON({
					url : '/asyn/updateNickname',
					method : 'post',
					data : {'nickname':nickName},
					onRequest : function(){
						ele.removeEvents('click');
						ele.set('value',$ydx.data.loading);
					}, 
					onSuccess : function(a,b){
						if(a.code == 200){
							initData.data.oriNickname = nickName;
							$('nicknameUU').set('text',nickName);
							ele.set('value',ori);
							$ydx.updateNickname.init();
							new Tipshow('昵称更新','ok');
						}
					}
				}).send();
			}
			else if(nickName == ''){
				alert('昵称不能为空.');
			}
			else{
				alert('昵称没有改变,不能提交数据.');
			}
		},
		init : function(){$('updateNickname').addEvent('click',function(e){$ydx.updateNickname.actionE(e.target)})}
	},
	contribute : {
		clickE : function(ele){
			var ori = ele.get('text');
			var content = $('content').get('value');
			if(content.trim().length > 20)
			{
				new Request.JSON({
					url : '/asyn/contribute',
					method : 'post',
					data : {'content':content},
					onRequest : function(){
						ele.removeEvents('click');
						ele.set('text',$ydx.data.loading);
					}, 
					onSuccess : function(a,b){
						if(a.code = 200){
							ele.set('text','贡献成功.');
							new Tipshow('人品','+10');
							$redirect('/');								
						}
					}
				}).send();	
			}
			else{
				alert('世界上最短的笑话:\n\n   《夜》↘\n男：痛吗？\n女：恩。\n男：算了！\n女：别~~~\n\n so:贡献的笑话要大于20个汉字...');
			}
		},
		init : function(){$('contribute').addEvent('click',function(e){$ydx.contribute.clickE(e.target)})}
	},
	bodyPicturePos : function(){
		var bodyPosition = ''+Number.random(-2500,0)+'px 57px'
		var tween = new Fx.Tween($(document.body),{
			duration : 'long',
			transition: Fx.Transitions.Quart.easeOut,
		});
		tween.start('background-position',bodyPosition);
	}
	
	
})
/* 笑话吧.page.end()-------------------------------------------------------------------------------------------------------*/
