// JavaScript Document
var backfun='',player='',firsturl='',intervalobj,scroobj,count = 60,curcount,evalscripts = [],hackcsss = [],POPMENU = new Object,autobtn={},auto=[],loadstatus = true,UA = navigator.userAgent,platform = navigator.platform,scrollTop_end = 0,scroll_times,errtime,serverId = [],lbscall='',geolocation;
/*UA = navigator.appVersion,*/
var ios = /iPhone|iPad|iPod/.test(platform) && UA.indexOf( "AppleWebKit" ) > -1;
var andriod = UA.indexOf( "Android" ) > -1;
var isweixin = UA.indexOf("MicroMessenger") > -1;
var mini=mini?mini:false;

/*scroll*/
$(window).scroll(function() {
	
	var scrollTop_num = $(window).scrollTop();
	clearTimeout(scroll_times);

	if($('.currentbody #autoload.auto').length > 0){
		autoload();
		var curtop = $(window).scrollTop();
		if(curtop + $(window).height()+100 >= $(document).height() && loadstatus) {
			loadstatus = false;
			autobtn.html('<i class="weui-loading"></i><span class="weui-loadmore__tips">正在加载</span>');
			if(auto['type']=='list'){
				loadnextpage();
			}else{
				scrollwater();
			}
		}
	}
	if($('.header').hasClass('transparent')){
		if($(window).scrollTop()>70){
			var opacity=$(window).scrollTop()/100;
			$('.header').css({'background':'rgba(255,255,255,'+opacity+')'}).addClass('c7').removeClass('c3');
		}else if($(window).scrollTop()==0){
			$('.header').css({'background':''}).addClass('c3').removeClass('c7');
		}
	}
	
	if($('.currentbody .topnv').length>0){
		var scrollheight=$('.currentbody .topnv').attr('scroll')?$('.currentbody .topnv').attr('scroll'):100;
		
		if($(document).height()-150>$(window).height() && $(window).scrollTop()>scrollheight){

			$('.header').css('position', 'static');
			$('.topnv').css('position', 'fixed');
		}else{
			$('.header').css('position', 'fixed');
			$('.topnv').css('position', 'static');
		}
	}
  
	if(scrollTop_end < scrollTop_num){
		scroll_times = setTimeout(function(){
		  $('#rightpannel').css({'-webkit-transform':'translateX(100px)','-webkit-transition':'-webkit-transform 0.3s ease-out 0s'});
		}, 100);
	}else{
		scroll_times = setTimeout(function(){
		  $('#rightpannel').css({'-webkit-transform':'translateX(0px)','-webkit-transition':'-webkit-transform 0.3s ease-out 0s'});
		}, 100);
	}
	scrollTop_end = scrollTop_num;

});

if(BRO=='ucbro'){
	var resize_times;
	var winheight=$(window).height(),reheight=$(window).height();
	window.onresize = function(){
		clearTimeout(resize_times);
		reheight=$(window).height();
		if(reheight>winheight){
			resize_times = setTimeout(function(){
				$('.footer').hide();
			}, 100);
		}else{
			resize_times = setTimeout(function(){
				$('.footer').show();
			}, 100);
		}
		winheight = reheight;
	}	
}

$(document).on('click', '.get', function() {
	SMS.close();
	var obj = $(this);
	var url=obj.attr('href'),type=obj.attr('type'),nopage=obj.attr('nopage'),box=obj.attr('box'),btn=obj.attr('btn');
	var clickfun=url.indexOf('javascript')<0?false:true;
  
	if(type=='side'){
		var nst=$('.currentbody .right').scrollTop();
	}else{
		var nst=$(window).scrollTop();		
	}
	var st=$('.currentbody #'+box).attr('st');
	var thisid=$('.currentbody').attr('id')+$('.currentbody .current').attr('id');
	//save uppage
	var uppage=$('.currentbody #page').html();
	if(uppage){
		SMS.setItem(thisid+'_page', JSON.stringify(uppage));						
	}
	//save other
	var upother=$('.currentbody #otherarea').html();
	if(upother){
		SMS.setItem(thisid+'_other', JSON.stringify(upother));						
	}
	//window.innerWidth
  //switch
	if(type=='switch'){
		var urls=[];
		var tabs=$('.currentbody .swipernv ul li').children('a');
		for(var i=0;i<tabs.length;i++){
			urls.push($(tabs[i]).attr('href'));
		}
		var current=urls.indexOf(url);
		$('.currentbody .swipernv li').removeClass('c1').addClass('c7');
		$(obj.parent()).removeClass('c7').addClass('c1');		
		var sonw=$('.currentbody .swipernv li.c1 span').width()+10;
		var translate=Math.round(($('#body').width()/tabs.length-sonw)/2+($('#body').width()/tabs.length)*current,2);

		$('.currentbody .swipernv-on').css({'width':sonw+'px','-webkit-transform':'translateX('+translate+'px)','-webkit-transition':'-webkit-transform 0.3s ease-out 0s'});
	}else if(type=='side'){//side
		$('.currentbody .left li').removeClass('b_c3');
		$('.currentbody .left li span').removeClass('b_c1');
		$('.currentbody .left #'+btn).addClass('b_c3');
		$('.currentbody .left #'+btn+' span').addClass('b_c1');
	}else{//types
	
		$('.currentbody .navs li').removeClass('c1 o_c1');
		$('.currentbody .navs li#'+btn).addClass('c1 o_c1');
	}
	if(!$('.currentbody #'+box).hasClass('ready') || type=='get'){
		SMS.loading();
		$('.currentbody #'+box).addClass('ready');
		$.ajax({
			type: 'GET',
			url: url+'&get=ajax',
			dataType: 'html',
			success: function(s) {
				
				if(nopage){
					$('.currentbody #'+box).html(s);
				}else{
					var list=$(s).find('#list').html();
					var page=$(s).find('#page').html();
					var script=$(s).find('#script').html();
					var other=$(s).find('#other').html();
					if(other){
						$('.currentbody #otherarea').html(other);
					}
					$('.currentbody #'+box).html(list);
					$('.currentbody #page').html(page);
					$('.currentbody #'+box+' .lazyload').picLazyLoad();
					SMS.evalscript(script);		
				}
				SMS.close();
			},
			error: function(data) {
				window.location.href = url;
			}
		});
	}else{
		if(!nopage){
			var page=sessionStorage.getItem($('.currentbody').attr('id')+box+'_page');
			if(page!=null){
				var pagevar = JSON.parse(page);
				$('.currentbody #page').html(pagevar);
			}else{
				$('.currentbody #page').empty();
			}
		}
		var other=sessionStorage.getItem($('.currentbody').attr('id')+box+'_other');
		if(other!=null){
			var othervar = JSON.parse(other);
			$('.currentbody #otherarea').html(othervar);
		}else{
			$('.currentbody #otherarea').empty();
		}
	}
	
	$('.currentbody .current').attr('st',nst);
	$('.currentbody .current').removeClass('current').hide();
	$('.currentbody #'+box).fadeIn().addClass('current');
	if(st){
		if(type=='side'){
			setTimeout(function(){$('.currentbody .right').scrollTop(st);})
		}else{
			setTimeout(function(){$(window).scrollTop(st);})
		}		
	}
	if(!clickfun){
		return false;
	}
});



/*search*/

$(document).on('click', '.currentbody #searchText', function() {
	$('.currentbody #searchBar').addClass('weui-search-bar_focusing');
	$('.currentbody #searchInput').focus();
});
$(document).on('blur', '.currentbody #searchInput', function() {
	if(!this.value.length) cancelSearch();
});

$(document).on('click', '.currentbody #searchClear', function() {
	$('.currentbody #searchInput').val("");
	$('.currentbody #searchInput').focus();
});

$(document).on('click', '.currentbody #searchCancel', function() {
	$('.currentbody #searchInput').val("");
	cancelSearch();
});

function cancelSearch(){
	$('.currentbody #searchBar').removeClass('weui-search-bar_focusing');
	$('.currentbody #searchText').show();
}


/*autoload*/
$(document).on('click', '.currentbody #autoload', function() {
	autoload();
	autobtn.html('<i class="weui-loading"></i><span class="weui-loadmore__tips">正在加载</span>');	
	if(auto['type']=='list'){
		loadnextpage();
	}else{
		scrollwater();
	}
  return false;		
});



(function($) {
	$.fn.longPress = function(fn1,fn2) {
		var timeout ;
		var $this = this;
		for(var i = 0;i<$this.length;i++){
			$this[i].addEventListener('touchstart', function(event) {
			timeout = setTimeout(fn1, 800);
			}, false);
			$this[i].addEventListener('touchend', function(event) {
				if(true) {
					fn2();
				}
				clearTimeout(timeout);
			}, false);
		}
	}
	
	$.fn.scrollTo =function(options){
		var defaults = {
				toT : 0,
				durTime :800,
				delay : 30,
				callback:null
		};
		var opts = $.extend(defaults,options),
				timer = null,
				_this = this,
				curTop = _this.scrollTop(),
				subTop = opts.toT - curTop,
				index = 0,
				dur = Math.round(opts.durTime / opts.delay),
				smoothScroll = function(t){
				index++;
				var per = Math.round(subTop/dur);
				if(index >= dur){
					_this.scrollTop(t);
					window.clearInterval(timer);
					if(opts.callback && typeof opts.callback == 'function'){
						opts.callback();
					}
					return;
				}else{
					_this.scrollTop(curTop + index*per);
				}
			};
		timer = window.setInterval(function(){
			smoothScroll(opts.toT);
		}, opts.delay);
		return _this;
	}	

  $.fn.picLazyLoad = function(settings) {
		
    var $this = $(this),_ScrollTop = 0,_Height = $(window).height();
		
		settings = $.extend({
			threshold: 0,
			placeholder: 'ui/sl.png'
		},settings || {});
    setpic();
    lazyLoadPic();
		$(window).on('scroll',function() {
			 _ScrollTop = $(window).scrollTop();
			 setpic();
			 lazyLoadPic();
		});
		
		function lazyLoadPic() {
			$this.each(function() {
				var $self = $(this).removeClass('lazyload');
				if ($self.is('img')) {
					if ($self.attr('data-original')) {
						
						var _offsetTop = $self.offset().top;
						if ((_offsetTop - settings.threshold) <= (_Height + _ScrollTop)) {
							$self.attr('src', $self.attr('data-original')).fadeIn();
							$self.removeAttr('data-original');
						}
					}
				} else {
					if ($self.attr('data-original')) {
						if ($self.css('background-image') == 'none') {
							$self.css('background-image', 'url(' + settings.placeholder + ')');
						}
						var _offsetTop = $self.offset().top;
						if ((_offsetTop - settings.threshold) <= (_Height + _ScrollTop)) {
							$self.css('background-image', 'url(' + $self.attr('data-original') + ')');
							$self.removeAttr('data-original');
						}
				  }
				}
			});
		}
		function setpic(){
			
			$this.each(function() {
				if($(this).attr('scaling')){
					var height=($(this).width()*$(this).attr('scaling')).toFixed(2);
					$(this).attr('height',height);					
				}

			});
		}
  }
})(Zepto);

$(document).on('click', '.viewpic', function() {
	SMS.setfun("SMS.closepic()");
	var swiper = $(this).attr("swiper");

	var pics=$('.currentbody .viewpic'),swipers=[];
	for(var i=0;i<pics.length;i++){
		swipers[$(pics[i]).attr('swiper')]=i;
	}
	
	var html='<div class="weui-gallery" id="gallery" style="display: block; opacity: 1;">';
	    html += '<div class="weui-gallery__img"><div class="viewpic_swiper"><div class="swiper-wrapper">';
			for(var i=0;i<pics.length;i++){
				var path=$(pics[i]).attr('data-original')?$(pics[i]).attr('data-original'):pics[i]['src'];
				if($(pics[i]).attr('thumb')){
					var src=path.replace($(pics[i]).attr('thumb')+'.jpg','');
				}else{
					var src=path;
				}
				html += '<div class="swiper-slide"><div class="swiper-zoom-container"><img src="'+src+'"/></div></div>';
			}
      html += '</div><div class="swiper-pagination"></div></div></div><div class="weui-gallery__opr"><a href="javascript:" class="icon icon-close c3"></a></div></div>';
	$('body').append(html);
	var script='var showpics = new Swiper(\'.viewpic_swiper\', {zoom: true,initialSlide :'+swipers[swiper]+',pagination: \'.viewpic_swiper .swiper-pagination \',paginationType: \'fraction\',spaceBetween: 20});';
	eval(script);
	$('.weui-gallery__img').off().on('click', function() {SMS.closepic();});		
	$('.weui-gallery__opr a').off().on('click', function() {SMS.closepic();});	
});



$(document).on('click', '.selectall', function() {
	var obj = $(this);
	var name=obj.attr('item');
	if(obj.hasClass('icon-select')){
		obj.removeClass('icon-select').addClass('icon-chosen');
		$('.currentbody input[name="'+name+'"]').prop('checked',true);
	}else{
		obj.removeClass('icon-chosen').addClass('icon-select');
		$('.currentbody input[name="'+name+'"]').prop('checked',false);
	}
});


$(document).on('click', '.weui-uploader__file span', function() {
	$(this).parent().remove();
});

/*autoload*/
$(document).on('click', '.pdf_down,.download', function() {

	if(isweixin){
    
		var obj = $(this);
		var src = obj.attr('href');
		if(mini){
			var path = '/pages/down/down?path='+encodeURIComponent(SITEURL+src);
			wx.miniProgram.navigateTo({url: path});			
		}else{
			if(andriod){
				
			}
			if(obj.attr('confirm')){
				window.location.href = src;
			}else{
				SMS.open('<div class="weui-dialog__bd">将跳转到浏览器下载此文件</div><div class="weui-dialog__ft"><a href="javascript:;" onclick="SMS.close();" class="weui-dialog__btn weui-dialog__btn_default">取消</a><a href="'+ SITEURL+src +'" class="weui-dialog__btn weui-dialog__btn_primary download" confirm="true">下载</a></div>','html')
			}			
		}

		return false;		
	}
});
$(document).on('click', '.uploadcover', function() {
	
	var obj = $(this);
	var id=obj.attr('id');
	$('.currentbody #'+id+'-file').click();
	$('.currentbody #'+id+'-file').on("change", function(e){
		var src, url = window.URL || window.webkitURL || window.mozURL, files = e.target.files;
		if(url) {
			src = url.createObjectURL(files[0]);
		}else {
			src = e.target.result;
		}
		$('.currentbody #'+id+'_area').html('<img src="'+src+'">');
	});
});

$(document).on('change', '#uploader', function(e) {
  var tmpl = '<li class="weui-uploader__file" style="background-image:url(#url#)"><span href="javascript:" class="icon icon-no"></span></li>';
	var src, url = window.URL || window.webkitURL || window.mozURL, files = e.target.files;
	for (var i = 0, len = files.length; i < len; ++i) {
		var file = files[i];
		if(url) {
			src = url.createObjectURL(file);
		}else {
			src = e.target.result;
		}
		$("#uploaderFiles").append($(tmpl.replace('#url#', src)));
	}
});


$(document).on('click', '.upload', function() {
  
	var obj = $(this);
	var form = obj.attr('form')||obj.attr('name')+'-form',name=obj.attr('name');
	var isimg = obj.attr('img')||true;
	var formobj = $('#'+form);
	var additional=obj.attr('additional')||false;
	
		
	var onclick=$('#'+name+'-file').click();
  
	$('#'+name+"-file").off("change");
	$('#'+name+"-file").change(function(){
		if(typeof FileReader != 'undefined' && $('#'+name+"-file")[0].files[0] && isimg!='false') {
			SMS.loading();
			for (var i=0;i<$('#'+name+"-file")[0].files.length;i++){
				UPLOAD.buildfileupload({
					uploadurl:formobj.attr('action')+(additional?'&additional='+additional:''),
					file:$('#'+name+"-file")[0].files[i],
					uploadinputname:name,
					maxfilesize:5,
					success:function(s) {
						obj=null,formobj=null;						
						SMS.returnload(s,'tab');
					},
					error:function() {
						SMS.open('AJAX操作失败', 'alert');
					}
				});
			}
		}else{
			var formData = new FormData(formobj[0]);
			$.ajax({
				type: 'POST',
				url:formobj.attr('action')+(additional?'&additional='+additional:''),
				data: formData,  
				dataType: 'html',
				cache: false,  
				contentType: false,  
				processData: false,  
				success: function(s) {
					obj=null,formobj=null;					
					SMS.returnload(s,'tab');
				},
				error: function(data) {
					SMS.open('AJAX操作失败', 'alert');
				}
			});			
		}

	});
});

		 
$(document).on('click', '.playvideo', function() {
	var obj = $(this);
	var video = obj.attr('href');
  var id = obj.attr('area');
	if(Qnssl!=''){
		obj.remove();
		var player = new Aliplayer({
			id: id,
			width: '100%',
			autoplay: true,
			source : video,
		});				
	}else{
		var videoid=SMS.hash(video);
		if(ios){
			var iosadd='webkit-playsinline x-webkit-airplay ';
		}else{
			var iosadd='';
		}
		obj.parent().append('<video '+iosadd+'controls src="'+video+'" preload="true" id="'+videoid+'"></video>');
		obj.remove();
		$('#'+videoid)[0].play();
	}
	return false;	
	/*
	
		var id = obj.attr('area');
		obj.remove();
		player = new QPlayer({
			url: video,
			container: document.getElementById(id),
			autoplay: true,
		});		
	}else{
		var videoid=SMS.hash(video);
		
		if(ios){
			var iosadd='webkit-playsinline x-webkit-airplay ';
		}else{
			var iosadd='';
		}
		obj.parent().append('<video '+iosadd+'controls src="'+video+'" preload="true" id="'+videoid+'"></video>');
		obj.remove();
		$('#'+videoid)[0].play();
	}
	*/
	
});
	
$(document).on('click', '.qiniu', function() {
	var obj = $(this);
	var form = obj.attr('form')||obj.attr('name')+'-form',name=obj.attr('name'),callback=obj.attr('call');
	var formobj = $('#'+form);
	
	$('#'+name+'input').click();
	$('#'+name+'input').off("change");
	$('#'+name+'input').change(function(){
		SMS.loading();
		var data=new FormData(formobj[0]),contentType=false,processData=false;
		$.ajax({
			type: 'POST',
			url:formobj.attr('action'),
			data:data,
			dataType: 'JSON',
			cache: false,
			contentType: contentType,  
			processData: processData, 
			success: function(s) {
				var func=callback+'('+s+')';
				eval(func);
				SMS.close();
			},
			error: function(err) {
				SMS.open('上传失败', 'alert');
				return false;
			}
		});
	});
});
$(document).on('click', '.formpost', function() {
	SMS.loading();
	$(window).scrollTop(0);
	var formobj = $(this.form);
  postform(formobj);
	if($(this).attr('id')=='paybutton'){
		clearpayment();
	}
});
function postform(formobj){
	
  if($('.currentbody .textareacontent').length>0){
		$('.currentbody #content').val($('.currentbody .textareacontent').html());
	}
	if(formobj.attr('enctype')=='multipart/form-data'){
		var data=new FormData(formobj[0]),contentType=false,processData=false;
	}else{
		var data=formobj.serialize(),contentType='application/x-www-form-urlencoded',processData=true;
	}
	$.ajax({
		type: 'POST',
		url:formobj.attr('action') + '&load=true',
		data:data,
		dataType: 'html',
		cache: false,
		contentType: contentType,  
		processData: processData,  
		success: function(s) {
			SMS.returnload(s,'tab');
		},
		error: function(err) {
			SMS.open('AJAX操作失败', 'alert');
		}
	});
	return false;
}

function objtoarray(obj){
	var arr = [];
	for(k in obj) {  
		arr[k]=obj[k];
	} 
	return arr;
}
function getform(id){
	SMS.close();
	var obj = $('.currentbody #'+id),action=obj.attr('action');
	var url = action+'?'+obj.serialize();
  var type='',update=action=obj.attr('update'),closethis=action=obj.attr('close'),loading='tab',id=SMS.hash(url);
	SMS.load(url,closethis,type,update,loading,id);
	return false;
}

function makemapinfo(mapinfo){
	var area = mapinfo.split(",");
	var size=$('#body').width()/652;
	area[0]=Math.round(area[0]*size);
	area[1]=Math.round(area[1]*size);
	area[2]=Math.round(area[2]*size);
	area[3]=Math.round(area[3]*size);
	return area.join(',');
}
// load
$(document).on('click', '.load', function() {
	
	var obj = $(this);
	var url=obj.attr('href'),closethis=obj.attr('close'),type=obj.attr('type'),update=obj.attr('update'),loading=obj.attr('loading');
	if(type=='confirm' && url.indexOf('confirm')<0){
		SMS.open('您确定要'+obj.text()+'吗','confirm',url+'&confirm=true');
		return false;		
	}
	if($('.currentbody').length>0){
		var clickfun=url.indexOf('javascript')<0?false:true;
		if(clickfun){
			return ;
		}
		if(url.indexOf('tel:')===0){
			return ;
		}
		SMS.close();
		var id=SMS.hash(url);
		
		//uplastactive
		SMS.uplastavtive();
		//uplastactive end
		SMS.load(url,closethis,type,update,loading,id);
		return false;		
	}else{
		window.location.href = url;
	}

});

$(document).on('click', '.icon-voice-star', function() {
	

	START = new Date().getTime();
	recordTimer = setTimeout(function(){
		wx.startRecord({
			success: function(){
				$('.dialogbox .voicebox .icon').removeClass('icon icon-voice-star').addClass('audio-circle').html('<span class="first"></span><span class="second"></span><span class="third"></span>');
				$('.dialogbox .voicebox p.recording').text('点击停止录音');
				$('#mask').off().on('click', function() {stopRecord();SMS.close()});
			},
			fail: function (res) {
				writeobj(res);
			}
		});
	},300);

});
$(document).on('click', '.audio-circle', function() {
  stopRecord();
});


function stopRecord(){
	END = new Date().getTime();
	var time=END - START;
	if((time) < 300){
		END = 0;
		START = 0;
		clearTimeout(recordTimer);
	}else{
		wx.stopRecord({
			success: function (res) {
				uploadVoice(res.localId,time);
				SMS.close();
			},
			fail: function (res) {
				SMS.open('录音时间过短','alert');
			}
		});
	}	
}

function uploadVoice(localId,time){
	wx.uploadVoice({
		localId: localId,
		isShowProgressTips: 1, 
		success: function (res) {
			$.ajax({
				type: 'POST',
				url:"wechat.php?mod=qiniu&load=true&time="+time,
				data:res.serverId,
				dataType: 'text',
				cache: false,
				contentType: "application/x-www-form-urlencoded; charset=UTF-8",
				processData: true,
				success: function(s) {
					SMS.returnload(s,'tab');
				},
				error: function (xhr, errorType, error) {
					SMS.open(error,'alert');
				}
			});
		}
	});
}

//wxupload
$(document).on('click', '.wxupload', function() {
	var obj = $(this);
	var data=obj.attr('data'),name=obj.attr('name'),hackid=obj.attr('hackid');
	    data=data.split("|");
	serverId = [];
	
	wx.chooseImage({
		count: data[1],
		sizeType: ['original', 'compressed'], 
		sourceType: ['album', 'camera'],
		success: function (res) {
			var localIds = res.localIds;
			wxuploadImg(localIds,data[0],name,hackid);
		}
	});
});

function wxuploadImg(localIds,info,name,hackid){
  var localId = localIds.pop(),hackid=hackid || '';
	SMS.loading();
	
	wx.uploadImage({
		localId: localId,
		isShowProgressTips: 0,
		success: function (res) {
			serverId.push(res.serverId);
			if(localIds.length > 0){
				wxuploadImg(localIds,info,name,hackid)
			}else{
				$.ajax({
					type: 'POST',
					url:"wechat.php?mod=media&load=true&info="+info+'&name='+name+'&hackid='+hackid,
					data:serverId.join(","),
					dataType: 'text',
					cache: false,
					contentType: "application/x-www-form-urlencoded; charset=UTF-8",
					processData: true,
					success: function(s) {
						SMS.returnload(s,'tab');
					},
					error: function(err) {
						SMS.open('上传服务器失败,请稍候重试!','alert');
					}
				});
			}
		},
		fail: function (error) {
			SMS.open(JSON.stringify(error),'alert');
		}
	});
	
}

$(document).on('click', '.closepage', function() {
	window.history.back(-1);
	return false;
});

function writeobj(obj){ 
  var description = ""; 
  for(var i in obj){ 
    var property=obj[i]; 
    description+=i+" = "+property+"\n"; 
  } 
  alert(description); 
} 

function addsubject(){
	$('.currentbody #subject').toggle();
	$('.currentbody #addsubject').toggleClass('c1');
	$('.currentbody #subjectvar').focus();
}
function upvideo(s){
	var code='<div class="video_form icon icon-play"><video data="'+QN+s.key+'.mp4"></video></div><br>';
	smsot.editor(code);
}
$(window).on("popstate", function(event) {
	var state = event.state;
	if(!state){}else{
		if(backfun){
			eval(backfun);
		}
		SMS.uplastavtive();
		$('#header').html(state.head);
		$('#footer').html(state.foot);
		
    if(state.nocache && state.url){
			SMS.reload(state.url)
		}else{
			var session=sessionStorage.getItem(state.id);
			if(session){
				var sessionvar = JSON.parse(session)		
				if(!sessionvar.wx || !sessionvar.tt || !sessionvar.img){
					SMS.clear();
				}else{
					$('#wxconfig').html(sessionvar.wx);
					$('#sharpic').html(sessionvar.img);
					SMS.uptitle(sessionvar.tt);
					SMS.postmessage(state.url,sessionvar.tt,sessionvar.img);
				}
				SMS.addcss(sessionvar.hk);	
			}
			if($('#'+state.id).length>0){
				var st = $('#'+state.id).attr('st'),upid = $('.currentbody').attr('id');
				
				$('.currentbody').remove();
				$('#'+state.id).addClass('currentbody');
				$('.currentbody').fadeIn();
				$('.currentbody').attr('form',upid);
				setTimeout(function(){$(window).scrollTop(st);},100);		
				$('.currentbody .lazyload').picLazyLoad();
				
			}else{
				var st=$(window).scrollTop();
				var upid = $('.currentbody').attr('id');
				$('.currentbody').attr('st',st);
				$('.currentbody').hide();
				$('.currentbody').removeClass('currentbody');
				$('#main').append(state.html);
				$('.currentbody .lazyload').picLazyLoad();
			}
			var state = {
				url: state.url,
				id: state.id,
				nocache: state.nocache,
				head: state.head,
				foot: state.foot,
				sc: state.sc,
				html: state.html,
			};
			history.replaceState(state,null,state.url);
			SMS.wxconfig();
			SMS.cache(state.sc,state.url);
			SMS.evalscript(state.sc);			
		}

	}		
});
$(document).on('input propertychange focus', '.autoheight', function() {
	this.style.height=this.scrollHeight + 'px';
})

var SMS = {
	/*int*/
	init : function() {
		var hackcss=$('#hackcss').text();
    
		SMS.addcss();
		SMS.wxconfig();
		if(ios || (!ios && mini)){
			firsturl=$("#wxconfig #url").val()?$("#wxconfig #url").val():window.location.href.split('#')[0];
			firsturl=decodeURIComponent(firsturl);
			if(firsturl.indexOf('.php')==-1){
				firsturl=firsturl+'index.php';
			}
		}
		clientheight=document.documentElement.clientHeight;
		minheight=HEADER?clientheight-50:clientheight;
		var id=SMS.hash(PHPSCRIPT);
		$('.smsbody').addClass('currentbody');
		$('.smsbody').attr('id',id);
		$('.side-nv').css('height',clientheight-218 + 'px');
		$('.full').css('min-height',minheight-30 + 'px');
		var header = $('#header').html(),footer = $('#footer').html(),script = $('#smsscript').html();
		
		var title=$('title').text(),weixin=$('#wxconfig').html(),img=$('#sharpic').html();
		
		if(typeof $('.currentbody').attr('nocache')== 'undefined'){
			SMS.setItem(id, JSON.stringify({tt:title,hd:header,ft:footer,sc:script,url:PHPSCRIPT,wx:weixin,img:img,hk:hackcss}));
			SMS.setItem(id, JSON.stringify($(".smsbody").prop("outerHTML")),'local');
			var nocache=false;
		}else{
			var nocache=true;
		}

		SMS.cache(script,PHPSCRIPT);
		var state = {
			url: PHPSCRIPT,
			id: id,
			nocache: nocache,
			head: header,
			foot: footer,
			sc: script,
			html: $(".smsbody").prop("outerHTML"),
		};
		history.replaceState(state,null,PHPSCRIPT);
    var childrens=$('#smsscript').children('script');
		var i = 0;
		while(i < childrens.length) {
			var children=childrens[i];
			if(SMS.empty($(children).attr('id'))){
				if(SMS.empty($(children).attr('src'))){
					var scid = SMS.hash(children.text);
				}else{
					var scid = SMS.hash($(children).attr('src'));
				}
				$(children).attr('id',scid);
				evalscripts.push(scid);				
			}else{
				evalscripts.push($(children).attr('id'));
			}
			i ++;
		}
		$('.currentbody .lazyload').picLazyLoad();
		SMS.postmessage(PHPSCRIPT,title,img);
	},
	uplastavtive : function(){
		var upid=$('.currentbody').attr('id');
		var cache=sessionStorage.getItem('cache');
		
		if(cache){
			var header = $('#header').html(),footer = $('#footer').html();
			var cachevar = JSON.parse(cache);
			var upscript = cachevar.sc,upurl = cachevar.url;
	    
			var state = {
				url: upurl,
				id: upid,
				nocache: $('.currentbody').attr('nocache'),
				head: header,
				foot: footer,
				sc: upscript,
				html: $(".currentbody").prop("outerHTML"),
			};
			history.replaceState(state,null,upurl);		
		}
	},
	img : function(obj){
	  var obj=$(obj),src=obj.attr('url');

		obj.css('visibility', 'hidden');
		obj.css('display', 'none');
		var parentnode = obj.parent();
		parentnode.find('.b_c4').remove();		
		parentnode.append('<div class="b_c4" style="width:'+parentnode.width()+'px;height:'+parentnode.height()+'px"></div>');
		var loadnums = parseInt(obj.attr('load')) || 0;
		if(loadnums < 3) {
			obj.attr('src', src);
			obj.attr('load', ++loadnums);
			parentnode.find('.b_c4').remove();		
			obj.css('display', 'inline');
			obj.css('visibility', 'visible');
		}	
	},
	cache : function(script,url){
	  SMS.setItem('cache', JSON.stringify({sc:script,url:url}));
	},

	addcss : function(s) {
		if(s){
			var hackcss=s;
		}else{
			var hackcss=$('#hackcss').html();
		}
		if(hackcss){
			var cssid=SMS.hash(hackcss);
			if($.inArray(cssid,hackcsss)==-1){
				$('#stylecss').before('<link rel="stylesheet" href="'+hackcss+'" type="text/css" media="all">')
				$('#hackcss').remove();
				hackcsss.push(cssid);				
			}
		}
	},
	load : function(url,closethispage,type,update,loading,id){
		var session=sessionStorage.getItem(id),local=localStorage.getItem(id);
		if(session && local && !update){

			var sessionvar = JSON.parse(session),localvar = JSON.parse(local);
			var upid = $('.currentbody').attr('id'),nst=$(window).scrollTop();
			SMS.addcss(sessionvar.hk);
			$('#header').html(sessionvar.hd);
			$('#footer').html(sessionvar.ft);
			$('#wxconfig').html(sessionvar.wx);
			$('#sharpic').html(sessionvar.img);
			
			SMS.uptitle(sessionvar.tt);
			
			$('.currentbody').attr('st',nst);
			$('.currentbody').hide();		
			$('.currentbody').removeClass('currentbody');
			
			if($('#'+id).length>0){
				var st = $('#'+id).attr('st');
				$('#'+id).fadeIn();
				$('#'+id).addClass('currentbody');
				$('#'+id).attr('st','');
				$('#'+id).attr('form',upid);
				setTimeout(function(){$(window).scrollTop(st);})
			}else{
				$('#main').append(localvar);
				$('#'+id).fadeIn();
				$('#'+id).attr('st','');
				$('#'+id).attr('form',upid);
				setTimeout(function(){$(window).scrollTop(0);})
			}
			var state = {
				url: url,
				id: id,
				nocache: $('.currentbody').attr('nocache'),
				head: sessionvar.hd,
				foot: sessionvar.ft,
				sc: sessionvar.sc,
				html: localvar,
			};
			history.pushState(state,null,url);
			SMS.wxconfig();
			SMS.postmessage(url,sessionvar.tt,sessionvar.img);
			SMS.cache(sessionvar.sc,url);
			SMS.evalscript(sessionvar.sc);
			$('.currentbody .lazyload').picLazyLoad();

			return false;
		}else{
			var needload=true;
		}
    
		if(needload){
			if(loading=='tab'){
				SMS.loading();
			}else{
				SMS.loadingpage();
			}
			
			var value = {
				url: url,
				closethispage: closethispage,
				type: type,
				update: update,
				loading: loading,
				id: id
			};
			setTimeout(function(){SMS.loadpage(value);},300);
			return false;
		}
	},
  /*popinit*/
	popinit : function() {
		var $this = this;
		$('.popup').each(function(index, obj) {
			obj = $(obj);
			var pop = $(obj.attr('href'));
			if(pop && pop.attr('popup')) {
				pop.css({'display':'none'});
				obj.on('click', function(e) {
					$this.open(pop.html(),'html');
				});
			}
		});
		this.maskinit();
	},
	/*maskinit*/
	maskinit : function() {
		var $this = this;
		$('#mask').off().on('click', function() {$this.close();});
	},
	/*open*/
	open : function(pop, type, add) {
		this.close();
		this.maskinit();
		if(typeof pop == 'string') {
			if(type == 'alert') {
				pop = '<div class="weui-dialog"><div class="weui-dialog__bd">'+ pop +'</div><div class="weui-dialog__ft"><a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary" onclick="SMS.close();">知道了</a></div></div>';
			} else if(type == 'confirm') {
				pop = '<div class="weui-dialog"><div class="weui-dialog__bd">'+ pop +'</div><div class="weui-dialog__ft"><a href="javascript:;" onclick="SMS.close();" class="weui-dialog__btn weui-dialog__btn_default">取消</a><a href="'+ add +'" class="weui-dialog__btn weui-dialog__btn_primary load" loading="tab" >确定</a></div></div>'
			}else if(type == 'img'){
				pop = '<div class="weui-dialog"><div class="gzgzh"><span class="icon icon-close" onClick="SMS.close()"></span><div class="qrcode"><img src="'+pop+'"></div><div class="c3"><p>'+add+'</p></div></div></div>';
			}else if(type == 'html'){
				pop = '<div class="weui-dialog">'+pop+'</div>';
			}else if(type == 'id'){
				pop =$(pop).html();
			}
		}
		$('body').append('<div class="dialogbox" id="open_popmenu">'+ pop +'</div>');
		if(type == 'loading'){
			$('#loading').css('display', 'block');
		}else{
			$('#mask').css('display', 'block');
		}
		POPMENU['open'] = pop;
	},
	/*close*/
	close : function() {
		loaderr=false;
		$('#loading').css('display', 'none');
		$('#mask').css('display', 'none');
		$.each(POPMENU, function(index, obj) {
			$('#' + index + '_popmenu').remove();
		});
	},
	shielding : function(vid,type) {
		SMS.open('您确定要屏蔽吗？屏蔽后我们将不再向您推送此文章','confirm','javascript:SMS.shielded('+vid+',\''+type+'\')');
	},
	shielded : function(vid,type) {
		SMS.close();
		if(type!='reply'){
			SMS.closepage();
		}
		setTimeout(function(){
			$('.currentbody #'+type+'_'+vid).remove();
			SMS.setItem($('.currentbody').attr('id'), JSON.stringify($('#'+$('.currentbody').attr('id')).prop("outerHTML")),'local');
		},300);
	},
  /*setfun*/
	setfun : function(fun) {
		backfun=fun+";";
	},
	/*unsetfun*/
	unsetfun : function(fun) {
		backfun="";
	},
	/*upcount*/
	upcount : function(id,type,num) {
		var num=num||1,type=type||'add',count =parseInt($(id+' .weui-badge').text());
		if(count){
			if(type=='reduce'){
				if(count-num<=0){
					$(id+' .weui-badge').remove();
				}else{
					$(id+' .weui-badge').text(count-num);
				}
			}else{
				$(id+' .weui-badge').text(count+num);
			}		
		}else{
			$(id).append('<span class="weui-badge">'+num+'</span>');
		}
	},
	/*error*/
	error: function() {
		SMS.open('程序需要初始化本地数据,请点击确定按钮','confirm','javascript:SMS.clear();');
	},
	null: function(id) {
		return false;
	},
	/*setItem*/
	setItem: function(key,value,type) {
		var type=type||'session';
		if(type=='session'){
			try{
				sessionStorage.setItem(key,value);
			}catch(oException){
				if(oException.name == 'QuotaExceededError'){
					sessionStorage.clear();
					sessionStorage.setItem(key,value);
				}
			}				
		}else{
			try{
				localStorage.setItem(key,value);
			}catch(oException){
				if(oException.name == 'QuotaExceededError'){
					localStorage.clear();
					localStorage.setItem(key,value);
				}
			}	
		}
	},
	deleteitem: function(url,up,current){
    setTimeout(function(){
			var thisurl=decodeURIComponent(url);
      var thisurl=thisurl.replace(/&amp;/g,'&');
			var id=SMS.hash(thisurl);
			
			var update=up==false?false:true;
			if(update && $('#'+id).length>0){
				var current=current||false;
				if(current){
					var session=sessionStorage.getItem(id);
					if(session){
						var sessionvar = JSON.parse(session);
						var header = $('#header').html(),footer = $('#footer').html();
						SMS.setItem(id, JSON.stringify({tt:$('title').text(),hd:header,ft:footer,sc:sessionvar.sc,url:url,wx:sessionvar.wx,hk:sessionvar.hk}));					
					}else{
						sessionStorage.removeItem(id);
					}
				}
				SMS.setItem(id, JSON.stringify($('#'+id).prop("outerHTML")),'local');
			}else{
				sessionStorage.removeItem(id);
				localStorage.removeItem(id);			  
			}			
		},300);
	},
	/*autoscroll*/
	autoscroll: function(obj) {
		var children=$(obj+' ul').children('li')[0];
		if($(obj+' ul').children('li').length>1){
			$(obj+' ul').animate({
				marginTop:"-20px"
			},500,function(){
				$(obj+' ul').css({marginTop:"0px"});
				$(children).appendTo(obj+' ul');
			});			
		}

	},
	wxlogin :function (url) {
		sessionStorage.clear();
		localStorage.clear();
		window.location.href = url;
	},
	/*clear*/
	clear: function() {
		sessionStorage.clear();
		localStorage.clear();
		if($('.currentbody .weui-msg').length==0){
			location.reload();
		}
	},
	playvoice  : function(id) {
		var audio = document.getElementById('voice_'+id);
		if(audio.paused){
			$('#vs_'+id).html('<span class="audio-circle"><span class="first"></span><span class="second"></span><span class="third"></span></span>');
			
			audio.play();
			audio.addEventListener('ended', function () {  
				$('#vs_'+id).html('<span class="icon icon-voice"></span>');
			}, false);
		}else{
			$('#vs_'+id).html('<span class="icon icon-voice"></span>');
			audio.pause();
		}
		
	},
	/*loading*/
	loading : function() {
		var loadinghtml='<div class="weui-toast"><i class="weui-loading weui-icon_toast"></i><p class="weui-toast__content">数据加载中</p></div>';
		SMS.open(loadinghtml,'loading');
		$('#loading').off().on('click', function() {SMS.close();});
	},
	/*loadingpage*/
	loadingpage : function() {
		if($('#loadpage').css('display')=='none'){
			$('#loadpage').css({'display':''});
			setTimeout(function(){$('#loadpage').css({'-webkit-transform':'translateX(0%)','-webkit-transition':'-webkit-transform 0.3s ease-out 0s'});},1);
			$('#loadpage').off().on('click', function() {SMS.loadingpage();});
			errtime=setTimeout(function(){$('#loadpage').css({'display':'none'});SMS.toast('加载失败')},5000);
		}else{
			clearTimeout(errtime);
			$('#loadpage').css({'display':'none'});
			$('#loadpage').css({'-webkit-transform':'translateX(100%)','-webkit-transition':'-webkit-transform 0s 0s'});
		}
	},
	/*get*/
	get : function(url,id) {
		if($('#'+id).hasClass('hasvar')){
			return true;
		}else{
			$.ajax({
				type: 'GET',
				url: url+'&get=ajax',
				dataType: 'html',
				success: function(s) {
					if(s){
						$('#'+id).html(s);
						$('#'+id).addClass('hasvar');
					}
				},
				error: function(data) {
					window.location.href = url;
				}
			});	
		}
	},
	/*ajax*/
	ajax : function(url,id,method,fun) {
		var method=method||'append';
		var fun=fun||'';
		$.ajax({
			type: 'GET',
			url: url,
			dataType: 'html',
			success: function(s) {
				if(s){
					if(method=='prepend'){
						$(id).prepend(s);
					}else if(method=='replace'){
						
						if(fun=='text'){
							$(id).text(s);
						}else{
							$(id).html(s);
						}
						
					}else{
						$(id).append(s);
					}
				}else{
					return false;
				}
			},
			error: function(data) {
				return false;
			}
		});	
	},
	/*list*/
	list : function(url,id) {
		if($('#'+id+' div.weui-cell__hd').hasClass('open')){
			$('#'+id+' div.weui-cell__hd').removeClass('open');
			$('#list_'+id).fadeOut();
			return false;
		}else{
			if($('#list_'+id).hasClass('hasvar')){
				$('#'+id+' div.weui-cell__hd').addClass('open');
				$('#list_'+id).fadeIn();
			}else{
				$.ajax({
					type: 'GET',
					url: url+'&get=ajax',
					dataType: 'html',
					success: function(s) {
						if(s){
							$('#'+id+' div.weui-cell__hd').addClass('open');
							$('#list_'+id).addClass('hasvar').append(s);
						}
					},

					error: function(data) {
						window.location.href = url;
					}
				});				
			}
		}
	},

	
	refresh : function(){
		var url = $("#phpscript").val();
		if(url){
			this.reload(url);
		}
	},
	
	/*reload*/
  reload : function(url){
		SMS.loading();
    var url=decodeURIComponent(url);
		SMS.deleteitem(url,false);
		SMS.unsetfun();
		var urllink=url.indexOf('?')>0?'&':'?';
    var iosurl=firsturl?'&iosurl='+encodeURIComponent(firsturl):'';
		$.ajax({
			type: 'GET',
			url: url+urllink+'load=true'+iosurl,
			dataType: 'html',
			success: function(s) {
				if(SMS.returnload(s,'reload')){
					if(s.indexOf('<div class="smsbody')==-1){
						//SMS.setItem(SMS.hash(url), JSON.stringify({url:url}));
						window.location.href = url;
						return false;
					}
					var hackcss=$(s).find('#hackcss').text();
					SMS.addcss(hackcss);

		      var header = $(s).find('#header').html(),footer = $(s).find('#footer').html(),script = $(s).find('#smsscript').html(),title=$(s).find('#pagetitle').text(),img=$(s).find('#sharpic').html();
					var weixin=$(s).find('#wxconfig').html();
					var main = $(s).find('.smsbody').html();
					var thisclass = $(s).find('.smsbody').attr('class');
					
					$('#header').html(header);
					$('#footer').html(footer);
					$('#wxconfig').html(weixin);
					$('#sharpic').html(img);
					$('.currentbody').remove();
					if(SMS.hash(url)!=$('.currentbody').attr('id')){
						$('#'+SMS.hash(url)).remove();
					}
					
					$('#main').append('<div class="'+thisclass+' currentbody" id="'+SMS.hash(url)+'">'+main +'</div>');
					
					if($(main).is('.full')){
						$('.full').css('min-height',minheight-30 + 'px');
					}
					
					//cache
					if(typeof $(s).find('.smsbody').attr('nocache')== 'undefined'){
						SMS.setItem(SMS.hash(url), JSON.stringify({tt:title,hd:header,ft:footer,sc:script,url:url,wx:weixin,img:img,hk:hackcss}));
						SMS.setItem(SMS.hash(url), JSON.stringify($('.currentbody').prop("outerHTML")),'local');
						var nocache=false;
					}else{
						var nocache=true;
					}
					SMS.cache(script,url);
					var state = {
						url: url,
						id: SMS.hash(url),
						nocache: nocache,
						head: header,
						foot: footer,
						sc: script,
						html: $('.currentbody').prop("outerHTML"),
					};
					history.replaceState(state,null,url);
					SMS.wxconfig();
					SMS.postmessage(url,title,img);
					$('.currentbody .lazyload').picLazyLoad();
					SMS.evalscript(script);
					SMS.close();
				}
			},
			error: function(data) {
				window.location.href = url;
			}
		});
	},

	uptitle : function(title){
		document.title = title;
		/*
		if(andriod){
			document.title = title;
		}else{
			
			var $body = $('body');
			document.title = title;
			var $iframe = $('<iframe src=""></iframe>');
			$iframe.on('load',function() {
				setTimeout(function() {
					$iframe.off('load').remove();
				}, 0);
			}).appendTo($body);
		}
		*/		
	},
  /*loadpage*/
	loadpage : function(value) {
		
		SMS.unsetfun();
		
		var urllink=value.url.indexOf('?')>0?'&':'?';
		var iosurl=firsturl?'&iosurl='+encodeURIComponent(firsturl):'';
		
		$.ajax({
			type: 'GET',
			url: value.url+urllink+'load=true'+iosurl,
			dataType: 'html',
			success: function(s,status,xhr) {
				if(xhr.responseURL.indexOf("load=true") == -1){
					value.url=xhr.responseURL;
					var jump=true;
					window.location.href = value.url;
					return false;
				}
				if(SMS.returnload(s,value.loading)){
					
	          
					if(s.indexOf('<div class="smsbody')==-1){
						window.location.href = value.url;
						return false;
					}
					var hackcss=$(s).find('#hackcss').text();
					SMS.addcss(hackcss);
					if(s.indexOf('closepage')!=-1){
						if(value.closethispage){
							SMS.closepage(true);
							var closepage=true;
						}
					}

		      var header = $(s).find('#header').html(),footer = $(s).find('#footer').html(),script = $(s).find('#smsscript').html();
          var weixin=$(s).find('#wxconfig').html();
					var upid = $('.currentbody').attr('id');
					var main = $(s).find('.smsbody').html();
					var thisclass = $(s).find('.smsbody').attr('class');
					var st=$(window).scrollTop();
					var title = $(s).find('#pagetitle').text();
					var img = $(s).find('#sharpic').html();
					SMS.uptitle(title);
          

					$('#header').html(header);
					$('#footer').html(footer);
					$('#wxconfig').html(weixin);
					$('#sharpic').html(img);
					$('.currentbody').hide();
					$('.currentbody').attr('st',st).removeClass('currentbody');
					if($('#'+value.id).length>0){
            $('#'+value.id).remove();
			    }
			
					$('#main').append('<div class="'+thisclass+' currentbody" id="'+value.id+'" form="'+upid+'">'+main +'</div>');
					setTimeout(function(){$(window).scrollTop(0);})
					if($(main).is('.full')){
						$('.full').css('min-height',minheight-30 + 'px');
					}
					if(value.loading!='tab'){
						SMS.loadingpage();
					}
					
					//cache
					if(typeof $(s).find('.smsbody').attr('nocache')== 'undefined'){
						SMS.setItem(value.id, JSON.stringify({tt:title,hd:header,ft:footer,sc:script,url:value.url,wx:weixin,img:img,hk:hackcss}));
						SMS.setItem(value.id, JSON.stringify($('.currentbody').prop("outerHTML")),'local');
						var nocache=false;
					}else{
						var nocache=true;
					}
					SMS.cache(script,value.url);
					var state = {
						url: value.url,
						id: value.id,
						nocache: nocache,
						head: header,
						foot: footer,
						sc: script,
						html: $('.currentbody').prop("outerHTML"),
					};
					if(closepage){
						history.replaceState(state,null,value.url);
					}else{
						history.pushState(state,null,value.url);			
					}
					SMS.wxconfig();
					SMS.postmessage(value.url,title,img);
					$('.currentbody .lazyload').picLazyLoad();
					SMS.evalscript(script);
				}
			},
			error: function(data) {
				window.location.href = value.url;
				return false;
			}
		});
	},
  /*returnload*/
	returnload : function(s,type) {

		if(type!='reload'){
			if(type=='tab'){
				SMS.close();
			}else{
				setTimeout(function(){$('#loadpage').css({'display':'none','-webkit-transform':'translateX(100%)','-webkit-transition':'-webkit-transform 0s 0s'});clearTimeout(errtime);},1);
			}			
		}
		if(!s){
			SMS.open('目标网页无法打开','alert');
			return false;
		}
		if(s.indexOf('<div class="weui-dialog">')!=-1){
			var tip = $(s).find('.dialog-content').html();
			var fun = $(s).find('.js-content').html();
			var dialogjs = $(s).find('.dialogjs').html();
			SMS.open(tip,'html');
			if(fun){
				eval(fun);
			}
			if(dialogjs){
				SMS.evalscript(dialogjs);
			}
			return false;
		}
		if(s.indexOf('<div class="weui-toast">')!=-1){
			if(type!='load'){
				SMS.close();
			}
			var toast = $(s).find('.toast-content').html();
			var toastarr = toast.split('|');
			if(toastarr[0]){
				$('body').append('<div class="weui-toast"><i class="weui-icon-success-no-circle weui-icon_toast"></i><p class="weui-toast__content">'+toastarr[0]+'</p></div>');
				setTimeout(function(){$('.weui-toast').fadeOut();},500);
				setTimeout(function(){$('.weui-toast').remove();},1000);				
			}
			if(toastarr[1]){
				eval(toastarr[1]);
			}
			return false;
		}
		return true;
	},
	
  setcookie :function(cookieName, cookieValue, seconds, secure){
		if(cookieValue == '' || seconds < 0) {
			cookieValue = '';
			seconds = -2592000;
		}
		if(seconds) {
			var expires = new Date();
			expires.setTime(expires.getTime() + seconds * 1000);
		}
		document.cookie = escape(cookiepre + cookieName) + '=' + escape(cookieValue)
			+ (expires ? '; expires=' + expires.toGMTString() : '')
			+ (cookiepath ? '; path=' + cookiepath : '/')
			+ (cookiedomain ? '; domain=' + cookiedomain : '');
	},
	getcookie :function(name, nounescape){
		name = cookiepre + name;
		var cookie_start = document.cookie.indexOf(name);
		var cookie_end = document.cookie.indexOf(";", cookie_start);
		if(cookie_start == -1) {
			return '';
		} else {
			var v = document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length));
			return !nounescape ? unescape(v) : v;
		}
	},
	wxconfig :function(){
		if(isweixin){
			setTimeout(function(){
				var signture=$("#wx_signature").val();
				if(!SMS.empty(signture)){
					var apistr=$("#wx_jsapilist").val()||'onMenuShareTimeline,onMenuShareAppMessage,onMenuShareQQ,onMenuShareWeibo,onMenuShareQZone';
					    apistr=mini?apistr+'invokeMiniProgramAPI':apistr;
					var apilist=new Array();
							apilist=apistr.split(",");
							
					wx.config({
						debug: false,
						appId: $("#wx_appid").val(), 
						timestamp: $("#wx_timestamp").val(), 
						nonceStr: $("#wx_noncestr").val(), 
						signature: signture,
						jsApiList: apilist 
					});
				}			
			},500);			
		}
	},
	/*toast*/
	toast : function(message,type) {
		var type=type||'success';
		if(type=='success'){
			var classname='weui-icon-success-no-circle';
		}else{
			var classname='weui-icon-warn';
		}
		$('body').append('<div class="weui-toast"><i class="'+classname+' weui-icon_toast"></i><p class="weui-toast__content">'+message+'</p></div>');
		setTimeout(function(){$('.weui-toast').fadeOut();},500);
		setTimeout(function(){$('.weui-toast').remove();},1000);
	},
	/*getsmscode*/
	getsmscode : function(action) {
		curcount = count;
		var tel=$('.currentbody #tel').val();	
		var teltest = /^0?1[3|4|5|6|7|8|9][0-9]\d{8}$/;
		if(!teltest.test(tel)){
			SMS.open('请输入正确的手机号码', 'alert');
			return false;
		}
		$.ajax({
			type: 'GET',
			url: 'sms.php?action=get&item='+action+'&tel='+tel+'&load=true',
			dataType: 'html',
			success: function(s) {
				if(!s){
					SMS.open('短信接口配置错误，请联系管理员','alert');
					return false;
				}
				if(s.indexOf('<div class="weui-dialog">')!=-1){				
					var tip = $(s).find('.dialog-content').html();
					SMS.open(tip,'html');
					return false;
				}
				var res = $.parseJSON(s);
				if(res.Lid){
					$(".currentbody #smslid").val(res.Lid);
					intervalobj = window.setInterval(function(){SMS.setlimittime()},1000);
					$('.currentbody #smsbtn').attr("disabled", "true");
					$('.currentbody #smsbtn').removeClass('weui-btn_primary').addClass('weui-vcode-btn-gray');
				}else{
					SMS.open(res.Message,'alert');
					return false;
				}
			},
			error: function(data) {
				return false;
			}
		});	
	},
	/*setlimittime*/
	setlimittime : function(clear) {
		//var clear=clear||'';
		if(curcount == 0 || clear){                  
			window.clearInterval(intervalobj);
			$('.currentbody #smsbtn').removeAttr("disabled");
			$('.currentbody #smsbtn').removeClass('weui-vcode-btn-gray').addClass('weui-btn_primary');
			$('.currentbody #smsbtn').text("获取验证码");  
		}else{
			curcount--;
			$('.currentbody #smsbtn').text(curcount+"秒后可重新获取");  
		}  
	},
	/*opensheet*/
	opensheet : function(id,remove) {
		var remove=remove||'';
		if($('.currentbody '+id).hasClass('weui-actionsheet_toggle')){
			SMS.unsetfun();
			$('#mask').css('display', 'none');
			if(remove){
				$('.currentbody '+id).remove();
			}else{
				$('.currentbody '+id).removeClass('weui-actionsheet_toggle');
			}
			
		}else{
			SMS.setfun("SMS.opensheet('"+id+"')");
			$('#mask').css('display', '');
			$('#mask').off().on('click', function() {SMS.opensheet(id,remove);});
			$('.close').off().on('click', function() {SMS.opensheet(id,remove);});
			$('.weui-actionsheet__menu a').off().on('click', function() {SMS.opensheet(id,remove);});
			$('.weui-actionsheet__action').off().on('click', function() {SMS.opensheet(id,remove);});
			$('.sheeta a').off().on('click', function() {SMS.opensheet(id,remove);});
			$('.currentbody '+id).addClass('weui-actionsheet_toggle');
		}
	},
	share_weixin :function(){
		if(mini){
			SMS.open('<div class="share-wq"><img src="ui/share_min.png"></div>');
		}else{
			SMS.open('<div class="share-wq"><img src="ui/share_qw.png"></div>');
		}
	},
	poster :function(api){
		//var api=api||'';
		if(api){
			var src=api;
		}else{
			var url=decodeURIComponent(window.location.href.split('#')[0]);
			var src='poster.php?url='+url;
		}
		var area_h=$(window).height()-90;
		var area_w=$(window).width();
		if((area_w*0.9/640)*1024>area_h){
			var pic_h=area_h.toFixed(2);
		}else{
			var pic_h=((area_w*0.9/640)*1024).toFixed(2);
		}
		var top=(area_h-pic_h)/2;
		var html='<div class="weui-gallery weui-poster" id="gallery" style="display: block; opacity: 1;">';
				html += '<div class="weui-picarea"><img src="'+src+'" style="margin-top:'+top+'px"></div>';
				html += '<div class="weui-picinfo tc c3">长按下载封面图片分享到朋友圈</div>';
				html += '<div class="weui-gallery__opr"><a href="javascript:" class="icon icon-close c3"></a></div></div>';
		$('body').append(html);
		$('.weui-gallery__opr a').off().on('click', function() {SMS.closepic();});	
	},
	/*openlayer*/
	openlayer : function(id,area) {
		var area=area||'layer'
		if($('#'+id).length>0){
			SMS.unsetfun();
			var layer=$('#'+id).html();
			var st = $('#'+id).attr('st');
			$('#'+id).remove();
			$('#'+area).append(layer);
			$('.currentbody').fadeIn();
			setTimeout(function(){$(window).scrollTop(st);})
		}else{
			SMS.setfun("SMS.openlayer('"+id+"',true)");
			var layer=$('#'+area).html();
			var st=$(window).scrollTop();
			$('#'+area).empty();
			$('.currentbody').css({'display':'none'});
			$('#main').append('<div class="layer b_c7" id="'+id+'" style="display:none" st='+st+'>'+layer+'</div>');
			setTimeout(function(){$('#'+id).fadeIn()});
		}
	},
	/*openside*/
	openside : function() {
		if($('#sidenv').css('display')=='none'){
			if($('.currentbody').hasClass('outback')){
				$('.icon-out').attr('href','member.php?mod=out&closepage=true');
			}
			SMS.setfun("SMS.openside(true)");
			$('#mask').css('display', '');
			$('#sidenv').css('display', '');
			setTimeout(function(){$('#sidenv').css({'-webkit-transform':'translateX(0%)','-webkit-transition':'-webkit-transform 0.3s ease-out 0s'});},1);
			$('#mask').off().on('click', function() {SMS.openside();});
			$('#sidenv a').off().on('click', function() {SMS.openside();});
			
		}else{
			SMS.unsetfun();
			$('#mask').css('display', 'none');
			$('#sidenv').css({'-webkit-transform':'translateX(100%)','-webkit-transition':'-webkit-transform 0.3s ease-out 0s'});
			setTimeout(function(){$('#sidenv').css({'display':'none'});},300);				
		}
	},
	showheader : function(bodyclass) {
		if(bodyclass=='noheader'){
			if($('#body').hasClass('noheader')){
				$('#body').removeClass('noheader');
			}else{
				$('#body').addClass('noheader');
			}
		}else{
			if($('#body').hasClass('nohf')){
				$('#body').removeClass('nohf').addClass('nofooter');
			}else{
				$('#body').addClass('nohf').removeClass('nofooter');
			}
		}
	},
	/*evalscript*/
	evalscript : function(s) {
		if(s){
			if(s.indexOf('<script') == -1) return s;
			var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
			var arr = [];
			while(arr = p.exec(s)) {
				var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:id=\"([\w\-]+?)\")?><\/script>/i;
				var arr1 = [];
				arr1 = p1.exec(arr[0]);
				if(arr1) {
					SMS.appendscript(arr1[1], '', arr1[2], arr1[3]);
				}else{
					p1 = /<script[^\>]*?(?:id=\"([\w\-]+?)\")?>([^\x00]+?)<\/script>/i;
					arr1 = p1.exec(arr[0]);
					SMS.appendscript('', arr1[2], arr1[0].indexOf('reload=') != -1,arr1[1]);
				}
			}
			return s;			
		}
	},
	/*appendscript*/
	appendscript : function(src, text, reload, id) {

		var JSLOADED = [];
		if(!id){
			var id = SMS.hash(src + text);
		}	
		if(!reload && $.inArray(id,evalscripts)!=-1) return;
		if(reload && $('#' + id)[0]) {
			$('#' + id)[0].parentNode.removeChild($('#' + id)[0]);
		}else{
			evalscripts.push(id);
		}
		var scriptNode = document.createElement("script");
		scriptNode.type = "text/javascript";
		scriptNode.id = id;
		scriptNode.charset = !document.charset ? document.characterSet : document.charset;
		try {
			if(src) {
				scriptNode.src = src;
				scriptNode.onloadDone = false;
				scriptNode.onload = function () {
					scriptNode.onloadDone = true;
					JSLOADED[src] = 1;
				};
				scriptNode.onreadystatechange = function () {
					if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {
						scriptNode.onloadDone = true;
						JSLOADED[src] = 1;
					}
				};
			} else if(text){
				scriptNode.text = text;
			}
			document.getElementById('smsscript').appendChild(scriptNode);
			if(reload){
				reload=1;
				setTimeout(function(){$('#'+id).attr('reload',reload);});
			}
		} catch(e) {}
	},
	randomString : function(len) {
　　len = len || 32;
　　var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
　　var maxPos = $chars.length;
　　var str = '';
　　for (i = 0; i < len; i++) {
　　　　str += $chars.charAt(Math.floor(Math.random() * maxPos));
　　}
　　return str;
  },
	/*hash*/
	hash : function(string, length) {
		var length = length ? length : 32;
		var start = 0;
		var i = 0;
		var result = '';

		while(start < string.length) {
			result = SMS.stringxor(result, string.substr(start, length));
			start += length;
		}
		return result;
	},
	/*stringxor*/
	stringxor : function(s1, s2) {
		var s = '';
		var hash = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
		var max = Math.max(s1.length, s2.length);
		for(var i=0; i<max; i++) {
			var k = s1.charCodeAt(i) ^ s2.charCodeAt(i);
			s += hash.charAt(k % 52);
		}
		return s;
	},
  /*empty*/
	empty : function(value) {
		return (typeof value == 'undefined' || value == '') ? true : false;
	},
	
  /*deleteimg*/
	deleteimg : function(aid) {
		$('.currentbody #img_'+aid).remove();
		$('.currentbody .weui-uploader').append('<input name="deleteimg[]" type="hidden" value="'+aid+'" />');
	},
	/*translate_int*/
	translate_int : function() {
		var tabs=$('.currentbody .swipernv ul').children('li');
		/*
		for(var i=0; i<tabs.length; i++){
			if($(tabs[i]).hasClass('c1')){
				var now=i+1;
			}
		}
		*/
		var num=tabs.length;
		var sonw=$('.currentbody .swipernv li.c1 span').width()+10;
		var translate=Math.round((($('#body').width()/num)-sonw)/2,2);
		/*
		if(now>1){
			var translate=Math.round(translate+(now-1)*($('#body').width()/num),2);
		}
		*/
		$('.currentbody .swipernv-on').css({'width':sonw+'px','-webkit-transform':'translateX('+translate+'px)','-webkit-transition':'-webkit-transform 0.3s ease-out 0s'});
	},
	/*closepage*/
	closepage : function(his) {
		//var his=his||'';
		SMS.unsetfun();
		if(his){
			var id = $('.currentbody').attr('form');
			var st = $('.currentbody').attr('st');
			
			var Storage=sessionStorage.getItem(id);
			if(Storage){
				var Storagevar = JSON.parse(Storage);
				$('#header').html(Storagevar.hd);
				$('#footer').html(Storagevar.ft);
				$('.currentbody').remove();
				$('#'+id).fadeIn();
				$('#'+id).addClass('currentbody');
				setTimeout(function(){$(window).scrollTop(st);})	
			}else{
				SMS.error();
			}				
		}else{
		  window.history.back(-1);
		}
	},
	/*closepic*/
	closepic : function() {
		SMS.unsetfun();
		var showpics={};
		$('#gallery').remove();
	},
	/*smile*/
	smile : function(code,id) {
		if(id){
			var obj=$('#'+id+' #postmessage');
		}else{
			var obj=$('.currentbody #postmessage');
		}
		var message=obj.val();
		obj.val(message+code);
		SMS.setfocus('#'+id+' #postmessage');
	},
	
	uploadsuccess  : function(src,input) {
		$('.currentbody #'+input+'_area').html('<img src="'+ATC+'/'+src+'"/>');
		$('.currentbody #'+input+'_val').val(src);
	},
	/*unfold*/
	unfold : function(id,element,maxheight) {
		if($('.currentbody #'+id).hasClass('icon-expanding')){
			$('.currentbody #'+id).removeClass('icon-expanding').addClass('icon-collapsing');
			var height=$('.currentbody '+element).children().length*$('.currentbody '+element).children().height();
		}else{
			$('.currentbody #'+id).removeClass('icon-collapsing').addClass('icon-expanding');
			var height=maxheight;
		}
		$('.currentbody '+element).animate({height: height+'px'}, 300,'ease-out');
	},
	toggle : function(show,hide){
		$(show).show();
		$(hide).hide();
	},
	/*timelimit*/
	timelimit : function(id,time) {
		var timer=null;
		timer=window.setInterval(function(){
			var hour=0,minute=0,second=0;
			if(time > 0){
				hour = Math.floor(time / (60 * 60));
				minute = Math.floor(time / 60) - (hour * 60);
				second = Math.floor(time) - (hour * 60 * 60) - (minute * 60);
			}
			if (hour <= 9) hour = '0' + hour;
			if (minute <= 9) minute = '0' + minute;
			if (second <= 9) second = '0' + second;
			$('#'+id+' .hour').text(hour);
			$('#'+id+' .minute').text(minute);
			$('#'+id+' .second').text(second);
			time--;
		},1000);
		if(time<=0){
			clearInterval(timer);
		}
	},
	/*setfocus*/
	setfocus : function(id) {
		setTimeout(function(){$(id).focus();},100);
	},
	/*tomini*/
	tomini : function(appid,path){
		if(mini){
			var params = '?appid='+appid+'&path='+encodeURIComponent(path);
			var minipath = '/pages/openmini/openmini'+params;
			wx.miniProgram.navigateTo({url: minipath});				
		}else{
			SMS.open('请在微信小程序内点击本按钮','alert');
		}
	},
	/*WxPosition*/
	WxPosition : function(url) {
		//var url=url||'';
		var area=SMS.empty($('#setlbs').attr('area'))?'':$('#setlbs').attr('area');

		if(!url && $('.currentbody #setlbs').hasClass('c1')){
			$('.currentbody #setlbs').removeClass('c1');
			$('.currentbody #lbs').val('');
			$('.currentbody #lbsarea').hide();
			$('.currentbody #lbsarea .weui-cell__bd').text('');		
		}else{
			
			wx.ready(function(){
				wx.getLocation({
					type: 'gcj02',
					success: function (res) {
						
						SMS.loading();
						geocoder = new qq.maps.Geocoder();
						var latLng = new qq.maps.LatLng(res.latitude, res.longitude);
						geocoder.getAddress(latLng);
						geocoder.setComplete(function(result) {
							var position={
								lat:res.latitude,
								lng:res.longitude,
								nation:result.detail.addressComponents.country,
								province:result.detail.addressComponents.province,
								city:result.detail.addressComponents.city,
								district:result.detail.addressComponents.district,
								addr:result.detail.addressComponents.street+result.detail.addressComponents.streetNumber+result.detail.addressComponents.town+result.detail.addressComponents.village
							};
							var loc = JSON.stringify(position);
							$.ajax({
								type: 'GET',
								url:'index.php?mod=lbs&loc='+loc,
								dataType:'html',
								success: function(s) {
									if(url){
										var id=SMS.hash(url);
										SMS.uplastavtive();
										SMS.load(url,'','','','tab',id);								
									}else{
										SMS.close();
										var lbs=position.city+(position.district?','+position.district:'')+(position.addr?','+position.addr:'');
										if(area){
											$('.currentbody #'+area).val(lbs);
										}else{
											$('.currentbody #setlbs').addClass('c1');
											$('.currentbody #lbs').val(lbs);
											$('.currentbody #lbsarea').show();
											$('.currentbody #lbsarea .weui-cell__bd').text(lbs);												
										}
									}
									return;
								},
								error: function(data) {
									SMS.open('定位失败','alert');
								}
							});
						});
						geocoder.setError(function() {
							SMS.open('位置获取失败','alert');
						});
					},
				});					
				
			});
			wx.error(function(res){
				SMS.open('定位失败,刷新网页后重新点击定位','alert');
			});
		}
	},
	lbserr : function() {
		SMS.setcookie('ispc','1',2592000);
		SMS.open('定位失败请重试','alert');
	},
	/*Position*/
	Position : function(appid,appname,call) {
		var ispc=SMS.getcookie('ispc');
		lbscall=$('#primary').attr('param');
		if(!lbscall){
			SMS.loading();
		}
		if(!geolocation){
			geolocation = new qq.maps.Geolocation(appid, appname);
		}
		if(ispc){
			setTimeout(function(){
				geolocation.getIpLocation(call,SMS.lbserr);
			},300);
		}else{
			geolocation.getLocation(call,SMS.lbserr, {timeout: 3000});
		}
	},
	/*GetPosition*/
	GetPosition : function(position) {
    var area=SMS.empty($('#setlbs').attr('area'))?'':$('#setlbs').attr('area');
		
		if($('.currentbody #setlbs').hasClass('c1')){
			$('.currentbody #setlbs').removeClass('c1');
			$('.currentbody #lbs').val('');
			$('.currentbody #lbsarea').hide();
			$('.currentbody #lbsarea .weui-cell__bd').text('');
		}else{
			var lbs=position.city+(position.district?','+position.district:'')+(position.addr?','+position.addr:'');
			if(area){
				$('.currentbody #lbs').val(lbs);
			}else{
				$('.currentbody #setlbs').addClass('c1');
				$('.currentbody #lbs').val(lbs);
				$('.currentbody #lbsarea').show();
				$('.currentbody #lbsarea .weui-cell__bd').text(lbs);				
			}

			SMS.SetPosition(position);
		}
		SMS.close();
	},
	/*SetPosition*/
	SetPosition : function(position) {
		var url=$('#primary').attr('param');
		if(!position.lat && !position.lng){
			SMS.open('您的手机没有开启地图定位功能','alert');
		}else{
			var loc = JSON.stringify(position);
			$.ajax({
				type: 'GET',
				url:'index.php?mod=lbs&loc='+loc,
				dataType:'html',
				success: function(s) {
					if(url){
						SMS.close();
						var id=SMS.hash(url);
						SMS.uplastavtive();
						SMS.load(url,'','','','tab',id);
					}
					return true;
				},
				error: function(data) {
					SMS.oepn('定位失败','alert');
				}
			});		
		}
	},
	/*postmessage*/
	postmessage : function(url,title,img){
		var url=url||window.location.href.split('#')[0];
		var url=decodeURIComponent(url);
		var title=title||$('title').text();
		if(img.indexOf("ui/ico.png")>-1){
			var img='';
		}
		setTimeout(function(){
			if(mini){
				wx.miniProgram.postMessage({ data:{url:url,title:title,img:img}})
			}
		},300);		
	},
	/*back*/
	back:function(){
		if(window.history.length>0){
			window.history.back(-1);
		}else{
			SMS.load('index.php','','','','',SMS.hash('index.php'));
		}
	}
};

$(document).ready(function() {
	SMS.popinit();
	SMS.init();
});