var c_strPluginsPath="/Plugins/";
var c_nPluginColName=0;
var c_nPluginColInterFace=1;
var c_nPluginColDispState=2;
var c_nPluginColSaveLocation=3;

var c_nPlType_Index_Vote=0;
var c_nPlType_Index_Active=1;
var c_nPlType_Index_Interlocution=2;
var c_nPlType_Index_Hopewall=3;
var c_nPlType_Index_Workorder=4;
var c_nPlType_Index_Project=5;

//var strPluginLang=2
var c_arrRegPluginsInfos=new Array(new Array(),new Array(),new Array(),new Array(),new Array(),new Array());
c_arrRegPluginsInfos[0][c_nPluginColName]=cmLang.CM_Plugin_Vote;//注册名
c_arrRegPluginsInfos[0][c_nPluginColInterFace]="vote";//注册接口 注意接口有vote.js和votemisc.do否则注册失败
c_arrRegPluginsInfos[0][c_nPluginColDispState]=21;//注册插件在文章体系下的（文章主体内容，插件内容显示在主体内容上面，插件内容显示在主体内容下面，文章评论区域是否显示，文章发表评论区域是否显示）各个部分是否显示的标志
c_arrRegPluginsInfos[0][c_nPluginColSaveLocation]="Sub";//发表成功后转向目标列表（Sub）,转向刚发表的文章（Forum）

c_arrRegPluginsInfos[4][c_nPluginColName]= '任务';//cmLang.CM_Plugin_Hopewall;
c_arrRegPluginsInfos[4][c_nPluginColInterFace]="workorder";
c_arrRegPluginsInfos[4][c_nPluginColDispState]=19;
c_arrRegPluginsInfos[4][c_nPluginColSaveLocation]="Sub";

c_arrRegPluginsInfos[5][c_nPluginColName]= '工作树';//cmLang.CM_Plugin_Hopewall;
c_arrRegPluginsInfos[5][c_nPluginColInterFace]="project";
c_arrRegPluginsInfos[5][c_nPluginColDispState]=18;
c_arrRegPluginsInfos[5][c_nPluginColSaveLocation]="Forum";

(function($){
	$.plug={
		//得到信息各个部分的显示状态
		//显示返回1，否则返回0
		//默认是显示，即默认是返回1
		infoPartDisplayState:function(plType,rank){
			var ret=1;
			if((c_arrRegPluginsInfos[plType][c_nPluginColDispState]&rank)!=rank) ret=0;
			return ret;
		},
		//获得插件名称
		plugName:function(plType){
			if (plType<=-1) return cmLang.Art;
			else return c_arrRegPluginsInfos[plType][c_nPluginColName];
		},
		//构造插件路径0为js路径1为misc路径
		plugPath:function(plType,pathType){
			var sPath=c_strPluginsPath+c_arrRegPluginsInfos[plType][1]+"/"+c_arrRegPluginsInfos[plType][1];
			if (pathType==0) return sPath+".js";
			else if (pathType==1) return sPath+"misc.do";
		},
		//获取注册名
		plugInterface:function(plType){
			return c_arrRegPluginsInfos[plType][c_nPluginColInterFace];
		},
		//构建删除路径
		plugDel:function(id){
			for (var i=0;i<=c_arrRegPluginsInfos.length-1;i++) {
				eval(c_arrRegPluginsInfos[i][c_nPluginColInterFace]+"PlugDelOp('"+id+"')");
			}
		},
		plugSwitchDiv:function(prefix,plType){
			if (plType<0) plType=$('#'+prefix+'_Plugin_Type_select').val();
			if(plType>-1){
				var id=$('#'+prefix+'_ObjInfo_hidden').val();
				var data='objID='+id;
				var url=$.plug.plugPath(plType,1);
				for (var i=0;i<=1;i++) {
					data+='&dipos='+i;
					if($.cm.trim(url)!=''){
						$.cm.ajax({
							type: 'POST',
							url: url+'?action=GetEditHtml',
							data:data,
							success: function(r){
								if (i==0) {
									if($.plug.infoPartDisplayState(plType,2)>0) $('#plugin_EditContent_div').html(r);
								} else {
									if($.plug.infoPartDisplayState(plType,4)>0) $('#plugin_EditContentAux_div').html(r);
								}
							}
						});
					}
				}
			}else $('#plugin_EditContent_div').html('');
		},
		plugViewExpand:function(prefix,plType,id,pos){
			if($.cm.trim(plType)==''){
				var op=$('#'+prefix+'_Plugin_Type_input');
				if(op.val()!=undefined) plType=parseInt(op.val());
				else plType=-1;
			}
			var data='objID='+id;
			var url=$.plug.plugPath(plType,1);
			if(plType>-1&&$.cm.trim(url)!=''){
				var view=null;
				if((c_arrRegPluginsInfos[plType][c_nPluginColDispState]&2)==2) view=$('#plugin_ViewContent_div');
				if((c_arrRegPluginsInfos[plType][c_nPluginColDispState]&4)==4) view=$('#plugin_ViewContentAux_div');
				if(view.html()==undefined) return;
				$.cm.ajax({
					type: 'POST',
					url: url+'?action=GetHtml',
					data:data,
					success: function(r){
						view.html(r);
						if ($.plug.infoPartDisplayState(plType,8)>0) {
							if (prefix == 'sv_AObj') $.plug.plugCommonExpand(prefix,plType,id,1);
						}
					}
				});
			}
		},
		plugCommonExpand:function(prefix,plType,id,page){
			if($.cm.trim(plType)==''){
				var op=$('#'+prefix+'_Plugin_Type_input');
				if(op.val()!=undefined) plType=parseInt(op.val());
				else plType=-1;
			}
			var data='objID='+id+'&Page='+page+'&prefix='+prefix;
			var url=$.plug.plugPath(plType,1);
			if(plType>-1&&$.cm.trim(url)!=''){
				$.cm.ajax({
					type: 'POST',
					url: url+'?action=GetCommonHtml',
					data:data,
					success: function(r){
						$('#'+prefix+'_Comm_List_div').html(r);
					}
				});
			}
		}
	};
})(jQuery);

