//全局存放下拉框的数据
var index_module_selectData ;

$(function(){
	//页面加载时给全局变量赋值
	index_module_selectData=jwAppPortletModel.jwAppsPortletDataAction.listAllPTemplate({FIELD_COLUMN_ID:$('.layout_center_navClick').data('uuid')}).rowSet;
	
	//模块的拖动效果
	$( ".index_container" ).sortable({
		handle:'.index_container_header',//限制排序的动作只能在item元素中的某个元素开始。
		cancel:".index_container_header>img,.index_module_noMove,.index_container_big,.index_module_select",//图片都禁止拖动
		connectWith: ".index_container", //可放置的位置
		placeholder: "index_module_sortable", //提示的样式
		opacity: 0.5,//拖动的透明度 
		revert: true, //缓冲效果 
		/*stop: function(event, ui) {
			index_update_module();
		},*/
		update:function(event, ui){
			$('.index_insert_module>span').eq(3).show();
			$('.index_insert_module>span').eq(4).show();
			$('.index_insert_module>span').eq(2).hide();
			//显示提示信息
			$('.index_insert_module>.index_module_tip').show();
			index_module_edit();
		}
    });
	
	//初始化模块
	init_index_module();
	
	//动态添加新增模块的宽度
	$('.index_insert_module').css('width',$('.index_footer').width());
	
	//初始化容器的最小高度
	init_index_contaner_minHeight();
	
})

//初始化容器的最小高度
function init_index_contaner_minHeight(){
	var conrainer_height = $.jfbrother.getViewSizeWithScrollbar().height-$('.indedx_header').outerHeight(true)-$('.indedx_header_logo').outerHeight(true)-$('.index_center').outerHeight(true)-$('.index_insert_module').outerHeight(true)-$('.index_footer').outerHeight(true)-$('.index_container').css('marginTop').substring(0, $('.index_container').css('marginTop').length-2)-$('.index_container').css('marginBottom').substring(0, $('.index_container').css('marginBottom').length-2);
	//如果原始的高度比屏幕小时再添加最小高度
	if($('.index_container').outerHeight() < conrainer_height){
		$('.index_container').css('minHeight',conrainer_height);
	}
}

//初始化模块
function init_index_module(){
	//d6926714-c220-4a7e-9ec0-3a23caebb179
	var data = jwAppPortletModel.jwAppsPortletDataAction.listAllPTemplateByUser({FIELD_COLUMN_ID:$('.layout_center_navClick').data('uuid')}).rowSet;
	//渲染模块
	index_load_module(data);
}

//渲染模块
function index_load_module(data){
	//先清除之前的html
	$('.index_container>.index_module').remove();
	//把原来的json数据保存起来
	//$('.index_container').data('jsonData',data);
	for(var i = 0 ;i < data.length ; i++){
		var crtDiv = $('<div></div>').addClass('index_module');
		var parentContainer=$("<div></div>").appendTo(crtDiv);
		$('.index_container').append(crtDiv);
		//正文填充
		index_module_fillContent(parentContainer,data[i]);
	}
	
}

//根据一个容器和某一个模块的数据数据去填充容器,如果传来下拉框的数据时,再创建下拉框
function index_module_fillContent(parentContainer,data,selectJson){
	var top=$("<div></div>").addClass('index_container_header');
	var context=$("<div></div>").addClass('index_module_container');
	parentContainer.append(top).append(context);
	
	//top头部布局
	top.append('<label class='+ data.ICON_CSS +'></label>');
	top.append('<span style="margin-right:5px;">'+data.TITLE+'</span>');
	top.append('<span>'+data.ENG_TITLE+'</span>');
	
	//是否传入下拉框
	if(selectJson){
		top.find('span').hide();
		//显示下拉框
		var selectData = selectJson;
		var select = $('<select></select>').addClass('index_module_select').bind('change',function(){
			index_module_select($(this),selectData);
		});
		//过滤数据
		select.bind('click',function(){
			var selectData = index_module_selectFilterData(index_module_selectData,$(this).prev().prev().text());
			//清除之前的数据
			select.html('');
			for(var i=0;i<selectData.length;i++){
				var option = $('<option></option>').text(selectData[i].TITLE).data('json',selectData[i]);
				if($(this).prev().prev().text()==selectData[i].TITLE){
					option.attr('selected','selected');
				}
				select.append(option);
			}
		});
		//一开始就加载一个
		var option = $('<option></option>').text(top.find('span').eq(0).text());
		select.append(option);
		
		//option.attr('selected','selected');
		top.append(select);
		select.click();
	}
	
	top.append('<img src="'+ctx+'/custom/images/index4_sectionover.png" width="17" height="17" onclick="index_module_remove(this)">');
	//是否显示最大按钮
	if(data.MAX_BTN==1){
		top.append('<img src="'+ctx+'/custom/images/index4_sectionbig.png" width="17" height="17" onclick="index_changeBig_calendar(this)">');
	}
	top.append('<img src="'+ctx+'/custom/images/index4_sectionsmall.png" width="17" height="17" onclick="index_module_toggle(this)">');
	
	//初始化容器宽度
	var width;
	switch (data.WIDTH) {
	case 1:
		width='33.33%';
		break;
	case 2:
		width='66.66%';
		break;
	case 3:
		width='100%';
		break;
	default:
		width='33.33%';
		break;
	}
	context.parent().parent().css('width',width);
	switch (data.P_TYPE) {
	case '0':
		//手工录入
		//存在样式时
		if(data.P_STYLE){
			context.append('<style type="text/css">'+ data.P_STYLE +'</style>')
		}
		context.append(data.CONTENT);
		break;
	case '1':
		//单点集成
		//添加加载时的效果
		context.append($.jfbrother.loadStyle());
		var iframe = $('<iframe src="'+ data.URL +'" frameborder="0" width="100%" height="100%" ></iframe>');
		context.append(iframe);

		//iframe加载完之后的处理
		ifame_isLoad(iframe);
		
		break;
	case '3':
		//RSS订阅
		//添加加载时的效果
		context.append($.jfbrother.loadStyle());
		$.jfbrother.readRSS(data.URL,context,function(rss,context){
			//去掉加载时的效果
			context.html('');
			var item = rss.rss.channel.item; 
			var itemContainer = $('<div class="index_container_two_right_text"></div>');
			var index = item.length>10?10:infos.length;
			for(var i = 0 ; i < index;i++){
				//如果长度超过10时就不继续添加了
				if(item.length>10 && i==index-1){
					break;
				}
				var itemDiv = $('<div></div>').data('item',item[i]).bind('click',function(){
					if(data.IS_POP=='0'){
						//1.弹出框
						$.fancybox.open({href:$(this).data('item').link,type: 'iframe','width':$('.index_container').width()-10});
					}
					else{
						//2.新页面
						window.open($(this).data('item').link);
					}
				});
				itemDiv.hover(function(){
					$(this).find('label').stop().animate({'marginRight':'0'});
				},function(){
					$(this).find('label').stop().animate({'marginRight':'10px'});
				})
				var itemTitle=$('<span></span>').text(item[i].title);
				var itemImg = $('<label></label>').text('>');
				itemDiv.append(itemImg).append(itemTitle)
				itemContainer.append(itemDiv);
			}
			context.append(itemContainer)
			
			//如果个数超过10个的时候显示更多
			if(item.length>10){
				var module_more = $('<div class="index_module_more">>>更多</div>');
				module_more.bind('click',function(){
					index_rss_more(data,item,1,10);
				})
				itemContainer.append(module_more);
			}
			
		});
		
		break;
	case '4':
		//模拟登录
		//添加加载时的效果
		context.append($.jfbrother.loadStyle());
		//1.先做模拟登录
		var web_info= data.WEB_INFO;
		//新建一个iframe加到body去
		var index_module_iframeContainer = $('<iframe width="0" height="0" frameborder="0" />').attr('name',data.PORTLET_ID).attr('src',data.URL);
		$(document.body).append(index_module_iframeContainer);
		
		var base = new Base64();
		//创建表单
		var info_form=$('<form style="display:none"></form>').attr('action',web_info.URL).attr('target',data.PORTLET_ID);
		var info_input=web_info.FORM_NAME.split(',');
		var info_userName=$('<input />').attr('name',info_input[0]).val(web_info.USER_ID);
		var info_password=$('<input />').attr('name',info_input[1]).val(base.decode(web_info.USER_PWD));
		info_form.append(info_userName).append(info_password);
		context.append(info_form);
		//表单提交
		info_form.submit();
		//表单提交的iframe加载完成时
		ifame_isLoad(index_module_iframeContainer,function(){
			//去除表单
			info_form.remove();
			//再请求一个iframe
			var iframe = $('<iframe src="'+ index_module_iframeContainer.attr('src') +'" frameborder="0" width="100%" height="100%"></iframe>');
			//去除之前创建的iframe
			index_module_iframeContainer.remove();
			context.append(iframe);
			ifame_isLoad(iframe);
		});
		
		break;
	case '5':
		//内容发布,列表
		var listContainer = $('<div></div>').addClass('index_container_two_right_text');
		var infos = data.INFOS;
		var index = infos.length>10?10:infos.length;
		for(var i= 0;i<index;i++){
			if(infos.length>10 && i==index-1){
				break;
			}
			var infos_title = $('<div></div>').data('info',infos[i]);
			infos_title.hover(function(){
				$(this).find('label').stop().animate({'marginRight':'0'});
			},function(){
				$(this).find('label').stop().animate({'marginRight':'10px'});
			})
			infos_title.append('<label>></label>');
			infos_title.append('<span>'+ infos[i].TITLE +'</span>');
			infos_title.bind('click',function(){
				var info = $(this).data('info');
				if(data.IS_POP=='0'){
					//弹出
					var infe_detal = $('<div style="min-height:500px;"><div class="index_module_infoTitle">'+info.TITLE+'</div><div class="index_module_infoContent">'+info.CONTENT+'</div></div>');
					infe_detal.css('width',$('.index_container').width()-10);
					$.fancybox.open(infe_detal);
				}
				else{
					//新页面	
					alert('新页面')
					console.log(data)
				}
			})
			listContainer.append(infos_title);
		}
		
		if(infos.length>10){
			var module_more = $('<div class="index_module_more">>>更多</div>');
			module_more.bind('click',function(){
				index_contentList_more(infos,1,10);
				//end
			})
			listContainer.append(module_more);
		}
		context.append(listContainer);
		break;
	default:
		break;
	}
	//绑定数据
	context.parent().data('data',data);
}

//模块隐藏的效果
function index_hide_active(selectedEffect, handler, callback) {
	// 从中获取特效类型
	var selectedEffect = selectedEffect;

	// 大多数的特效类型默认不需要传递选项
	var options = {};
	// 一些特效带有必需的参数
	if (selectedEffect === "scale") {
		options = {
			percent : 0
		};
	} else if (selectedEffect === "size") {
		options = {
			to : {
				width : 200,
				height : 60
			}
		};
	}

	if (typeof callback == 'function') {
		// 运行特效
		$(handler).hide(selectedEffect, options, 1000, callback);
	} else {
		// 运行特效
		$(handler).hide(selectedEffect, options, 1000);
	}
}

//模块显示的效果
function index_show_active(selectedEffect, handler, callback) {
	// 从中获取特效类型
	var selectedEffect = selectedEffect;

	// 大多数的特效类型默认不需要传递选项
	var options = {};
	// 一些特效带有必需的参数
	if (selectedEffect === "scale") {
		options = {
			percent : 100
		};
	} else if (selectedEffect === "size") {
		options = {
			to : {
				width : 280,
				height : 185
			}
		};
	}

	if (typeof callback == 'function') {
		// 运行特效
		$(handler).show(selectedEffect, options, 500, callback);
	} else {
		// 运行特效
		$(handler).show(selectedEffect, options, 500);
	}
}

//伸缩模块
function index_module_toggle(handler){
	if($(handler).parent().nextAll().is(":animated")){
		return;
	}	
	if($(handler).attr('src')==ctx+'/custom/images/index4_sectionsmall.png'){
		$(handler).attr('src',ctx+'/custom/images/index4_sectionlarge.png');
		//如果存在最大功能就隐藏
		if($(handler).parents('.index_module').data('data')&&$(handler).parents('.index_module').data('data').MAX_BTN==1){
			//隐藏变大功能
			$(handler).prev().remove();
		}
	}
	else{
		$(handler).attr('src',ctx+'/custom/images/index4_sectionsmall.png');
		//如果存在最大功能就显示
		if($(handler).parents('.index_module').data('data')&&$(handler).parents('.index_module').data('data').MAX_BTN==1){
			//显示变大功能
			$(handler).before('<img src="'+ctx+'/custom/images/index4_sectionbig.png" width="17" height="17" onclick="index_changeBig_calendar(this)">');
		}
	}
	$(handler).parent().nextAll().slideToggle();
}

//删除模块
function index_module_remove(handler){
	var txt=  "是否要删除该板块!!!";
	var option = {
		title: "删除提示",
		onOk: function(){
				//删除模板的html代码
				index_hide_active('shake',$(handler).parent().parent().parent(),function(){
					$(handler).parent().parent().parent().remove();
					//显示模块修改提示
					index_module_custom($('.index_insert_module').find('span').eq(2));
					
					//初始化容器的最小高度
					init_index_contaner_minHeight();
				});
		},
		onCancel:function(){
			
		}
	}
	window.wxc.xcConfirm(txt, window.wxc.xcConfirm.typeEnum.warning,option);
}

//修改模块到数据库
function index_update_module(handler){
	//1.把现在的布局保存在index_container容器中
	var newJson = [];
	$('.index_module>div').each(function(index,element){
		newJson.push($(element).data('data'))
		//去掉下拉框
		$(element).find('.index_container_header>span').show();
		$(element).find('.index_container_header>select').hide();
		//显示标题
	})
	//$('.index_container').data('jsonData',newJson);
	
	//2.存放到数据库
	var portlets=[];
	for(var i=0;i<newJson.length;i++){
		//如果是新增模块时
		if(!newJson[i]){
			$.fancybox.open('<div style="color: #1887f6;font-weight: bold;font-size:18px;line-height:30px;">还有资源没有选择...</div>');
			setTimeout('$.fancybox.close();index_module_edit()',1000);
			return;	
		}
		var requestObj={};
		requestObj.PORTLET_ID=newJson[i].PORTLET_ID;
		portlets.push(requestObj);
	}
	var layout={
		columnsId:$('.layout_center_navClick').data('uuid'),
		portlets:portlets
	};
	layout=JSON.stringify(layout);
	var result = jwAppPortletModel.jwAppsPortletActAction.saveLayout({
	    layout: layout
	});
	if(result.NAME==2){
		//3.隐藏确定和取消按钮
		$(handler).prev().hide();
		$(handler).hide();
		//显示自定义资源
		$(handler).prev().prev().show();
		//隐藏提示信息
		$('.index_insert_module>.index_module_tip').hide();
	}
}

//取消模块的移动
function index_cancel_module(handler){
	//根据index_container原来的布局数据去重新渲染下
	//index_load_module($('.index_container').data('jsonData'));
	//隐藏确定和取消按钮
	$(handler).next().hide();
	$(handler).hide();
	//显示自定义资源
	$(handler).prev().show();
	//隐藏提示信息
	$('.index_insert_module>.index_module_tip').hide();
	
	$('.index_module').each(function(index,element){
		//去掉下拉框
		$(element).find('.index_container_header>span').show();
		$(element).find('.index_container_header>select').hide();
		//显示标题
	})
	
}

//放大功能
function index_changeBig_calendar(handler){
	if($(handler).prevAll('select').css('display')=='inline-block'){
		$.fancybox.open('<div style="color: #1887f6;font-weight: bold;font-size:18px;line-height:30px;">正处于编辑状态,无法放大...</div>');
		setTimeout('$.fancybox.close()',1000);
		return;
	}
	//先判断下其他模块有没有放大
	if($('.index_container_big').length!=0){
		$('.index_container_big').find('.index_container_header>img').click()
	}
	var data = $(handler).parents('.index_module').data('data');
	$(handler).parents('.index_module').css({'top':$(handler).offset().top-14,'width':$('.index_footer').outerWidth(),'left':$('.index_footer').offset().left});
	$(handler).parents('.index_module').addClass('index_container_big');
	var $imgParent = $(handler).parent();
	$imgParent.find('img').remove();
	$imgParent.append('<img src="'+ ctx +'/custom/images/index4_sectionsmall.png" style="display:block;" width="17" height="17" onclick="index_changeSmall_calendar(this)">');
	$imgParent.next().css({'maxHeight':'500px','height':'auto','minHeight':'315px'});
	if(!data){
		$imgParent.parent().parent().data("width", "33.33%");
		return;
	}
	switch (data.WIDTH) {
	case 1:
		$imgParent.parent().parent().data("width", "33.33%");
		break;
	case 2:
		$imgParent.parent().parent().data("width", "66.66%");
		break;
	case 3:
		$imgParent.parent().parent().data("width", "100%");
		break;
	default:
		$imgParent.parent().parent().data("width", "33.33%");
		break;
	}	
}

//缩小功能
function index_changeSmall_calendar(handler){
	$(handler).parents('.index_module').css({'width':$(handler).parents('.index_module').data('width')});
	$(handler).parents('.index_module').removeClass('index_container_big');
	var $imgParent = $(handler).parent();
	$imgParent.find('img').remove();
	$imgParent.append('<img src="'+ctx+'/custom/images/index4_sectionover.png" width="17" height="17" onclick="index_module_remove(this)" /><img src="'+ctx+'/custom/images/index4_sectionbig.png" width="17" height="17" onclick="index_changeBig_calendar(this)" /><img src="'+ctx+'/custom/images/index4_sectionsmall.png" width="17" height="17" onclick="index_module_toggle(this)" />');
	$imgParent.next().css({'maxHeight':'','minHeight':'','height':'315px'});
}

//判断ifame是否加载完成,参数jquery的iframe对象
function ifame_isLoad(iframe,callback){
	if(iframe[0].attachEvent){
		//ie浏览器
		iframe[0].attachEvent("onreadystatechange", function() {
			//此事件在内容没有被载入时候也会被触发，所以我们要判断状态
			//有时候会比较怪异 readyState状态会跳过 complete 所以我们loaded状态也要判断
			if (iframe[0].readyState === "complete" || iframe[0].readyState == "loaded") {
				//代码能执行到这里说明已经载入成功完毕了
				//要清除掉事件
				if(typeof callback == 'function'){
					callback();
				}
				else{
					iframe.prev().remove();
				}
				iframe[0].detachEvent("onreadystatechange", arguments.callee);
				//这里是回调函数
			}
		});
	}
	else{
		//其他浏览器（Firefox,Opera,chrome等 ）
		iframe[0].addEventListener("load", function() {
			//代码能执行到这里说明已经载入成功完毕了
			this.removeEventListener("load", arguments.call, false);
			//这里是回调函数
			if(typeof callback == 'function'){
				callback();
			}
			else{
				iframe.prev().remove();
			}
		}, false);
	}
}

//点击自定义资源时
function index_module_custom(handler){
	$(handler).next().show();
	$(handler).next().next().show();
	$(handler).hide();
	index_module_edit();	
	//显示提示信息
	$('.index_insert_module>.index_module_tip').show();
}

//模块的修改
function index_module_edit(){
	//如果有模块已经放大时
	if($('.index_container_big').length!=0){
		$('.index_container_big').find('.index_container_header>img').click();
	}
	
	$('.index_module').each(function(index,element){
		//隐藏标题
		$(element).find('.index_container_header>span').hide();
		if($(element).find('select').length!=0){
			$(element).find('select').show();
			return;
		}
		
		//显示下拉框
		var select = $('<select></select>').addClass('index_module_select').bind('change',function(){
			index_module_select($(this),index_module_selectData);
		});
		//过滤数据
		select.bind('click',function(){
			data = index_module_selectFilterData(index_module_selectData,$(this).prev().prev().text());
			//清除之前的数据
			select.html('');
			if($(this).prev().prev().text()=='新增资源'){
				select.append('<option selected>请选择资源</option>');
			}

			for(var i=0;i<data.length;i++){
				var option = $('<option></option>').text(data[i].TITLE).data('json',data[i]);
				if($(this).prev().prev().text()==data[i].TITLE){
					option.attr('selected','selected');
				}
				select.append(option);
			}
			
		});
		//一开始就加载一个
		var option = $('<option></option>').text($(element).find('.index_container_header>span').eq(0).text());
		select.append(option);
		
		//如果是新增时就新插入一条
		if($(element).find('label').next().text()=="新增资源"){			
			select.prepend('<option selected>请选择资源</option>');
		}
		$(element).find('.index_container_header>label+span+span').after(select);
		select.click();
	})
}

//下拉框的数据过滤
function index_module_selectFilterData(data,text){
	var newData=[];
	var oldData=[];
	$('.index_module').each(function(index,element){
		var title = $(element).find('.index_container_header>span').eq(0).text();
		if(title!=text){
			oldData.push(title);
		}
	})
	for(var i = 0;i<data.length;i++){  
        var flag = true;   
        for(var j=0; j < oldData.length; j++){   
            if(data[i].TITLE == oldData[j])   
            flag = false;   
        }   
        if(flag){
        	newData.push(data[i]);  
        }   
    }
	return newData;
}

//选中的下拉
function index_module_select(handler,selectJson){
	var data = $(handler).find('option:selected').data('json');
	//先清空现有的html
	var parent = $(handler).parents('.index_module>div');
	parent.html('');
	//根据json数据去渲染模板
	index_module_fillContent(parent,data,selectJson);
	
}

//新增资源
function index_module_insert(handler){
	var creDiv = $('<div></div>').addClass('index_module');
	var parentContainer = $("<div></div>").appendTo(creDiv);
	var top=$("<div></div>").addClass('index_container_header');
	var context=$("<div></div>").addClass('index_module_container');
	parentContainer.append(top).append(context);
	//top头部布局
	top.append('<label class="icon-edit"></label>');
	top.append('<span style="margin-right:5px;">新增资源</span>');
	top.append('<span>Insert Resource</span>');
	
	top.append('<img src="'+ctx+'/custom/images/index4_sectionover.png" width="17" height="17" onclick="index_module_remove(this)">');
	top.append('<img src="'+ctx+'/custom/images/index4_sectionbig.png" width="17" height="17" onclick="index_changeBig_calendar(this)">');
	top.append('<img src="'+ctx+'/custom/images/index4_sectionsmall.png" width="17" height="17" onclick="index_module_toggle(this)">');
	var contextContainer = $('<div class="index_module_insertBtn">请选择资源</div>');
	context.append(contextContainer);
	$('.index_container').append(creDiv);
	index_module_custom($(handler).next());
}

//Base64编码
function Base64() {  
	   
    // private property  
    _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";  
   
    // public method for encoding  
    this.encode = function (input) {  
        var output = "";  
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;  
        var i = 0;  
        input = _utf8_encode(input);  
        while (i < input.length) {  
            chr1 = input.charCodeAt(i++);  
            chr2 = input.charCodeAt(i++);  
            chr3 = input.charCodeAt(i++);  
            enc1 = chr1 >> 2;  
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);  
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);  
            enc4 = chr3 & 63;  
            if (isNaN(chr2)) {  
                enc3 = enc4 = 64;  
            } else if (isNaN(chr3)) {  
                enc4 = 64;  
            }  
            output = output +  
            _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +  
            _keyStr.charAt(enc3) + _keyStr.charAt(enc4);  
        }  
        return output;  
    }  
   
    // public method for decoding  
    this.decode = function (input) {  
        var output = "";  
        var chr1, chr2, chr3;  
        var enc1, enc2, enc3, enc4;  
        var i = 0;  
        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");  
        while (i < input.length) {  
            enc1 = _keyStr.indexOf(input.charAt(i++));  
            enc2 = _keyStr.indexOf(input.charAt(i++));  
            enc3 = _keyStr.indexOf(input.charAt(i++));  
            enc4 = _keyStr.indexOf(input.charAt(i++));  
            chr1 = (enc1 << 2) | (enc2 >> 4);  
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);  
            chr3 = ((enc3 & 3) << 6) | enc4;  
            output = output + String.fromCharCode(chr1);  
            if (enc3 != 64) {  
                output = output + String.fromCharCode(chr2);  
            }  
            if (enc4 != 64) {  
                output = output + String.fromCharCode(chr3);  
            }  
        }  
        output = _utf8_decode(output);  
        return output;  
    }  
   
    // private method for UTF-8 encoding  
    _utf8_encode = function (string) {  
        string = string.replace(/\r\n/g,"\n");  
        var utftext = "";  
        for (var n = 0; n < string.length; n++) {  
            var c = string.charCodeAt(n);  
            if (c < 128) {  
                utftext += String.fromCharCode(c);  
            } else if((c > 127) && (c < 2048)) {  
                utftext += String.fromCharCode((c >> 6) | 192);  
                utftext += String.fromCharCode((c & 63) | 128);  
            } else {  
                utftext += String.fromCharCode((c >> 12) | 224);  
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);  
                utftext += String.fromCharCode((c & 63) | 128);  
            }  
   
        }  
        return utftext;  
    }  
   
    // private method for UTF-8 decoding  
    _utf8_decode = function (utftext) {  
        var string = "";  
        var i = 0;  
        var c = c1 = c2 = 0;  
        while ( i < utftext.length ) {  
            c = utftext.charCodeAt(i);  
            if (c < 128) {  
                string += String.fromCharCode(c);  
                i++;  
            } else if((c > 191) && (c < 224)) {  
                c2 = utftext.charCodeAt(i+1);  
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));  
                i += 2;  
            } else {  
                c2 = utftext.charCodeAt(i+1);  
                c3 = utftext.charCodeAt(i+2);  
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));  
                i += 3;  
            }  
        }  
        return string;  
    }  
} 

//uuid
function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4";  // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";
 
    var uuid = s.join("");
    return uuid;
}

//内容发布,列表的显示更多
function index_contentList_more(infos,pageNumber,pageSize){
	var table_uuid = uuid();			
	var table=$('<div><table id='+table_uuid+'></table></div>').css({'width':$('.index_container').width()-27,'min-height':'430px'});
	$.fancybox({
		content : table
	})
	$.fancybox.prev();	
	//start
	$('#'+table_uuid).bootstrapTable({
          showColumns:true,
          showToggle:true,
          /*showRefresh:true,*/
          search:true,
          /*url: "bootstrap-table/data/data1.json", // 获取表格数据的url*/
          data:infos,
          cache: false, // 设置为 false 禁用 AJAX 数据缓存， 默认为true
          striped: true,  //表格显示条纹，默认为false
          pagination: true, // 在表格底部显示分页组件，默认false
          pageList: [5,10,15,20], // 设置页面可以显示的数据条数
          pageSize: pageSize, // 页面数据条数
          pageNumber: pageNumber, // 首页页码
          columns: [
              /*{
                  checkbox: true, // 显示一个勾选框
                  align: 'center' // 居中显示
              },*/
              {
                  field: 'index', // 返回json数据中的name
                  title: '序号', // 表格表头显示文字
                  align: 'center', // 左右居中
                  valign: 'middle', // 上下居中
                  formatter: function (value, row, index) {  
                        return index+1;  
                  }
              }, {
                  field: 'TITLE',
                  title: '标题',
                  align: 'center',
                  valign: 'middle',
              }, {
                  field: 'CREATE_TIME',
                  title: '创建时间',
                  align: 'center',
                  valign: 'middle',
                  formatter: function (value, row, index){ // 单元格格式化函数
                      var time =  moment(value.time).format('YYYY-MM-DD HH:mm:ss')
                	  return time;
                  }
              }
          ],
          onClickRow:function(row,element){
        	  	var infe_rowDetal = $('<div style="min-height:500px;"><div class="index_module_infoTitle">'+row.TITLE+'</div><div class="index_module_infoContent">'+row.CONTENT+'</div></div>');
        	  	infe_rowDetal.css('width',$('.index_container').width()-27);
        	  	var pageNumText = $('.fixed-table-pagination .page-item.active>a').text();	
				var pageSizeText = $('.fixed-table-pagination .page-size').text();
        	  	$.fancybox({
					content : infe_rowDetal,
					afterShow:function(){
						//注意要把分页大小和页码转为number类型的
						//关闭时触发
						$('.fancybox-overlay').bind('click',function(){						
							index_contentList_more(infos,parseInt(pageNumText),parseInt(pageSizeText));
						})
						$('.fancybox-close').bind('click',function(){
							index_contentList_more(infos,parseInt(pageNumText),parseInt(pageSizeText));
							event.stopPropagation();
						})
						$('.fancybox-overlay>div').bind('click',function(){
							event.stopPropagation();
						})
					}
				});
				$.fancybox.prev();
		} 
    })
}

//rss订阅的更多详情
function index_rss_more(data,infos,pageNumber,pageSize){
	var table_uuid = uuid();			
	var table=$('<div><table id='+table_uuid+'></table></div>').css({'width':$('.index_container').width()-27,'min-height':'430px'});
	$.fancybox({
		content : table
	})
	$.fancybox.prev();	
	//start
	$('#'+table_uuid).bootstrapTable({
          showColumns:true,
          showToggle:true,
          /*showRefresh:true,*/
          search:true,
          /*url: "bootstrap-table/data/data1.json", // 获取表格数据的url*/
          data:infos,
          cache: false, // 设置为 false 禁用 AJAX 数据缓存， 默认为true
          striped: true,  //表格显示条纹，默认为false
          pagination: true, // 在表格底部显示分页组件，默认false
          pageList: [5,10,15,20], // 设置页面可以显示的数据条数
          pageSize: pageSize, // 页面数据条数
          pageNumber: pageNumber, // 首页页码
          columns: [
              /*{
                  checkbox: true, // 显示一个勾选框
                  align: 'center' // 居中显示
              },*/
              {
                  field: 'index', // 返回json数据中的name
                  title: '序号', // 表格表头显示文字
                  align: 'center', // 左右居中
                  valign: 'middle', // 上下居中
                  formatter: function (value, row, index) {  
                        return index+1;  
                  }
              }, {
                  field: 'title',
                  title: '标题',
                  align: 'center',
                  valign: 'middle',
              }, {
                  field: 'pubDate',
                  title: '发布时间',
                  align: 'center',
                  valign: 'middle'
              }, {
                  field: 'source',
                  title: '来源',
                  align: 'center',
                  valign: 'middle'
              }, {
                  field: 'link',
                  title: '链接',
                  align: 'center',
                  valign: 'middle'
              }
          ],
          onClickRow:function(row,element){
        	  	var pageNumText = $('.fixed-table-pagination .page-item.active>a').text();	
				var pageSizeText = $('.fixed-table-pagination .page-size').text();
        	  	if(data.IS_POP=='0'){
        	  		//弹出层
        	  		$.fancybox({
            	  		href:row.link,
            	  		type:'iframe',
            	  		width:$('.index_container').width()-27,	
    					afterShow:function(){
    						//注意要把分页大小和页码转为number类型的
    						//关闭时触发
    						$('.fancybox-overlay').bind('click',function(){						
    							index_rss_more(data,infos,parseInt(pageNumText),parseInt(pageSizeText));
    						})
    						$('.fancybox-iframe',window.parent.document).parent().parent().parent().find('.fancybox-close').unbind().bind('click',function(event){
    							index_rss_more(data,infos,parseInt(pageNumText),parseInt(pageSizeText));
    						});
    					}
    				});
    				$.fancybox.prev();
        	  	}
        	  	else{
        	  		//2.新页面
        	  		window.open(row.link);
        	  	}
		} 
    })
}
