var divHeight = "";  //查询面板高度
var dataGridWidth = ""; //查询面板宽度
var dataGridHeight = "";
var h = "";   //内容显示窗口高度
var operation = "";
var bodyH = 0;

$(function(){
	$("#addDataWinID").window('close');
	divHeight = $("#queryDiv").height();
	dataGridWidth = $("#queryDiv").width();
	dataGridHeight = divHeight + 37;
	initData(); 
	bodyH = document.documentElement.clientHeight;
	
	$("#dataTypeId").combobox({
		url : '/resource/admin/metadataManage/dataType.json',
		valueField:'id',
	    textField:'text',
	    width : fixWidth()
	})
	
	$("#dataTypeId00").combobox({
		url : '/resource/admin/metadataManage/dataType.json',
		valueField:'id',
	    textField:'text',
	    width : fixWidth()
	})
	 
	$("#languageTypeId").combobox({
		width:fixWidth()
	})
	$("#roleNameId").attr("style","width:"+fixWidth()+"px");
	$("#dataNameId_Id").attr("style","width:"+fixWidth()+"px");
	$("#descriptionId").attr("style","width:"+fixWidth()+"px");
	$("#roleNameId00").attr("style","width:"+fixWidth()+"px");
}); 

function initData(){
	h = document.body.clientHeight;
	$("#metadataListTableID").datagrid({
		height: h - dataGridHeight+6, //列表高度
		title : '数据列表', 
		url : '/admin/metadataManage/getAllMetadatas',
		nowrap : true,//设置为true，当数据长度超出列宽时将会自动截取  
		striped : true,//设置为true将交替显示行背景。
		loadMsg : '数据装载中......',  
		fitColumns : true,//允许表格自动缩放，以适应父容器  
		singleSelect : false,//是否单选 
		pagination : true,//分页控件 
		pageSize : 15, 
		rownumbers:true,//行号 
//		pageList : [ 5, 10, 15, 20 ],//可以选择的分页集合
        columns:[[{ 
			field:'ck',
			title:'id',
			width:15,
			checkbox:true
		},{
			field:'dataName',
			title:'数据名称',
			align:'center',
			formatter : dataStyle,
			width:100,
			sortable:true
		},{
			field:'dataType',
			title:'数据类型', 
			width:100,
			align:'center'
		},{
			field:'languageType',
			title:'语言', 
			width:100,
			align:'center'
		},{ 
			field:'description',
			title:'描述',
			width:240,
			align:'center'
		}]],
		onLoadSuccess:function(data){
	    	$('#metadataListTableID').datagrid('clearSelections'); 
	    }
	})
}

function dataStyle(val,row){
	return '<a class="" href="#" onclick="viewRole(\''+row.id+'\')">'+row.dataName+'</a>'; 
}

//查询
function queryData() {
	var roleName = $("#roleNameId00").val()
	var dataType = $("#dataTypeId00").combobox('getValue');
	var queryParams = null;
	$("#metadataListTableID").datagrid({
		queryParams : {
			roleName : roleName,
			dataType : dataType
		}
	});
}
//清空查询条件
function clearQueryForm(){
	$("#queryFormId").form('clear');
}
 

//打开 新增 |修改 窗口
function openAddWin(winType){
	operation = winType;
	var title = "";
	if('add' == winType){
		title = "新增数据信息";
		$("#addDataWinID").window({
			title : title,
			width:dataGridWidth/2,
			height:bodyH/3,
			left : (dataGridWidth - dataGridWidth/2)/2,
			top : (h - 300)/2,
			closable : true, 	 //否显示关闭按钮
			collapsible : false, //是否显示折叠按钮
			minimizable : false, //是否显示最小化按钮
			maximizable : false, //是否显示最大化按钮
			close : true,        //初始是否关闭
			modal : true
		});
		$("#addDataForm").form('clear');
		$("#buttonID").show();
		$("#addDataWinID").window('open');
	}
	if('edit' == winType){
		$("#addDataForm").form('clear');
		title = "修改数据信息";
		var rows = $('#metadataListTableID').datagrid('getSelections');
		if(rows.length == 1){
			var row = $('#metadataListTableID').datagrid('getSelected');
			$.getJSON("/admin/metadataManage/queryMetadataById?metadataId=" + row.id, function(data) {
				$("#addDataForm").form('load', data);
			});
			$("#addDataWinID").window({
				title : title,
				width:dataGridWidth/2,
				height:bodyH/3,
				left : (dataGridWidth - dataGridWidth/2)/2,
				top : (h - 300)/2,
				closable : true, 	 //否显示关闭按钮
				collapsible : false, //是否显示折叠按钮
				minimizable : false, //是否显示最小化按钮
				maximizable : false, //是否显示最大化按钮
				close : true,        //初始是否关闭
				modal : true
			});
			$("#buttonID").show();
			$("#addDataWinID").window('open');
		}else {
			$.messager.alert('提示', '请选中一条记录', 'info');
		}
	}
}
//保存数据
function saveData(){
	var url = "";
	if('add' == operation){
		url = "/admin/metadataManage/addOrUpdateMetadata?operate="+operation;
	}
	if('edit' == operation){
		var row = $('#metadataListTableID').datagrid('getSelected');
		url = "/admin/metadataManage/addOrUpdateMetadata?metadataId="+row.id+"&operate="+operation;
	}
	
	if("" != url){
		$('#addDataForm').form('submit',{
			url : url,
			onSubmit: function(){
				return $(this).form('validate');
			},
			success: function(data){
				data = eval("("+data+")")
				if (data.flag){
					$.messager.alert('提示', "保存成功！", 'ok');
					initData();
					closeAddWin();
				} else {
					$.messager.alert("提示","保存失败！",'error');
				}
			}
		});
	}
}

//删除
function delData(){
	var rows = $('#metadataListTableID').datagrid('getSelections');
	if (rows.length !=0 ){
		var jsonIds = arrayTojson(rows);
		$.messager.confirm("删除","确定删除？",function(r){
			if (r){
				var postUrl = '/admin/metadataManage/deleteMetadata';
				$.post(postUrl,{
					"ids":jsonIds},function(result){
					if (result.flag){
						$.messager.alert('提示',"删除成功！",'ok');
						initData();
					} else {
						$.messager.alert('提示',"删除失败！",'error');
					}
				},'json');
			}
		});
	}else{ 
		$.messager.alert('提示', '请选中一条记录', 'info');
		//$.调用jquery自己的内置对象
	}
}

//打开 查看 窗口
function viewRole(id){
	
	$.getJSON("/admin/metadataManage/queryMetadataById?metadataId=" + id, function(data) {
		$("#addDataForm").form('load', data);
	});
	$("#addDataWinID").window({
		title : '查看数据信息',
		width:dataGridWidth/2,
		height:bodyH/3,
		left : (dataGridWidth - dataGridWidth/2)/2,
		top : (h - 300)/2,
		closable : true, 	 //否显示关闭按钮
		collapsible : false, //是否显示折叠按钮
		minimizable : false, //是否显示最小化按钮
		maximizable : false, //是否显示最大化按钮
		close : true,        //初始是否关闭
		modal : true
	});
	$("#buttonID").hide();
	$("#addDataWinID").window('open');
	
}

function closeAddWin(){
	$("#addDataWinID").window('close');
}

/**
 * id数组转换为json字符串
 */
function arrayTojson(arr) {
	var jsonIds = "[";
	for ( var i = 0; i < arr.length; i++) {
		if (i == arr.length - 1) {
			jsonIds += arr[i].id;
		} else {
			jsonIds += arr[i].id + ",";
		}
	}
	jsonIds += "]";

	return jsonIds; 
}

//设置combobox 宽度自适应
function fixWidth(){ 
	return document.body.clientWidth*0.155;   
}