/**
 * 组织机构树的调用
*/
function getTree(outputArray, basePath, inputType, rootCode, isSubmitAll, returnValueType, treeLevel, dataLimit){
	//回填的表单项名称
	if(outputArray==null) {
		alert("请设置回填的表单项名称");
		return false;
	}
	//树结点的类型，分radio和checkbox两种，默认radio
	if(inputType==null || inputType=="")
		inputType = "radio";

	//控制树的节点是否全带checkbox（radio），yes全带，no只有树的最末尾一层带
	if(isSubmitAll==null || isSubmitAll=="")
		isSubmitAll = "no";

	//返回值是哪个字段，可以选择partyrelation表的id、party_id和code三者之一，默认为code
	if(returnValueType==null || returnValueType=="")
		returnValueType = "code";
		
	//参数：控制树能展示到的层次，0 全部，1 公司，2 部门，3 岗位，-3 去除岗位，默认为0
	if(treeLevel == null || treeLevel=="") {
		treeLevel = "0";
	}
	
	//参数：是否控制数据权限,0 否，1 是
	if(dataLimit == null || dataLimit=="") {
		dataLimit = "0";
	}

	var treePath = basePath+"/jsp/authority/tree/treeRef.jsp?inputType="+inputType+"&nodeRelationType=noRelation&rootXmlSource="
			+basePath+"/jsp/authority/tree/orgTree.jsp?parent_code%3D"+rootCode+"%26submit_all%3D"+isSubmitAll+"%26return_type%3D"+returnValueType+"%26tree_level%3D"+treeLevel+"%26data_limit%3D"+dataLimit;
	
	var rtObj = window.showModalDialog(treePath, new Object(),'dialogHeight=600px;dialogWidth=350px;resizable:yes;status:no;scroll:auto;');
	if(rtObj != undefined && rtObj.length > 0){
		var allTextValue = "";
		var allTextName = "";
		var allParentName = "";
		var detailedType = "";
		for(var i=0; i<rtObj.length-1; i++) {
			allTextValue += rtObj[i]['returnValue'] + ",";
			allTextName += rtObj[i]['childName'] + ",";
			allParentName += rtObj[i]["parentName"] + ",";
			detailedType += rtObj[i]["detailedType"] + ",";
		}
		allTextValue += rtObj[rtObj.length-1]['returnValue'];
		allTextName += rtObj[rtObj.length-1]['childName'];
		allParentName += rtObj[rtObj.length-1]['parentName'];
		detailedType += rtObj[rtObj.length-1]['detailedType'];
		
		var textValue = outputArray[0];
		var textName = outputArray[1];
		
		textValue.value = allTextValue;
		textName.value = allTextName;
		if(outputArray.length>=3) {
			var textParentName = outputArray[2];
			textParentName.value = allParentName;
		}
		if(outputArray.length==4) {
			var nodeType = outputArray[3];
			nodeType.value = detailedType;
		}
	} 
}
/**
 * 组织机构树调级调用
*/
	function getChangeTree(outputArray, basePath, inputType, rootCode, isSubmitAll, returnValueType, treeLevel, dataLimit){
		//回填的表单项名称
		if(outputArray==null) {
			alert("请设置回填的表单项名称");
			return false;
		}
		//树结点的类型，分radio和checkbox两种，默认radio
		if(inputType==null || inputType=="")
			inputType = "radio";

		//控制树的节点是否全带checkbox（radio），yes全带，no只有树的最末尾一层带
		if(isSubmitAll==null || isSubmitAll=="")
			isSubmitAll = "no";

		//返回值是哪个字段，可以选择partyrelation表的id、party_id和code三者之一，默认为code
		if(returnValueType==null || returnValueType=="")
			returnValueType = "code";
			
		//参数：控制树能展示到的层次，0 全部，1 公司，2 部门，3 岗位，-3 去除岗位，默认为0
		if(treeLevel == null || treeLevel=="") {
			treeLevel = "0";
		}
		
		//参数：是否控制数据权限,0 否，1 是
		if(dataLimit == null || dataLimit=="") {
			dataLimit = "0";
		}

		var treePath = basePath+"/jsp/authority/tree/treeRef4Change.jsp?srcrelationid="+document.form.relationId.value+"&inputType="+inputType+"&nodeRelationType=noRelation&rootXmlSource="
				+basePath+"/jsp/authority/tree/orgTree.jsp?parent_code%3D"+rootCode+"%26submit_all%3D"+isSubmitAll+"%26return_type%3D"+returnValueType+"%26tree_level%3D"+treeLevel+"%26data_limit%3D"+dataLimit;
		
		var returnVal = window.showModalDialog(treePath, new Object(),'dialogHeight=600px;dialogWidth=350px;resizable:yes;status:no;scroll:auto;');
		if (returnVal) {
			parent.location.href = "RelationAction.do?cmd=showTree"; 
		}
	}
/**
 *带根节点的组织机构树的调用
*/
function getTreeByRoot(outputArray, basePath, inputType, rootCode, isSubmitAll, returnValueType, treeLevel, dataLimit){
	//回填的表单项名称
	if(outputArray==null) {
		alert("请设置回填的表单项名称");
		return false;
	}
	//树结点的类型，分radio和checkbox两种，默认radio
	if(inputType==null || inputType=="")
		inputType = "radio";

	//控制树的节点是否全带checkbox（radio），yes全带，no只有树的最末尾一层带
	if(isSubmitAll==null || isSubmitAll=="")
		isSubmitAll = "no";

	//返回值是哪个字段，可以选择partyrelation表的id、party_id和code三者之一，默认为code
	if(returnValueType==null || returnValueType=="")
		returnValueType = "code";
		
	//参数：控制树能展示到的层次，0 全部，1 公司，2 部门，3 岗位，-3 去除岗位，默认为0
	if(treeLevel == null || treeLevel=="") {
		treeLevel = "0";
	}
	
	//参数：是否控制数据权限,0 否，1 是
	if(dataLimit == null || dataLimit=="") {
		dataLimit = "0";
	}

	var treePath = basePath+"/jsp/authority/tree/treeRef.jsp?inputType="+inputType+"&nodeRelationType=noRelation&rootXmlSource="
			+basePath+"/jsp/authority/tree/orgTreeRoot.jsp?root_code%3D"+rootCode+"%26submit_all%3D"+isSubmitAll+"%26return_type%3D"+returnValueType+"%26tree_level%3D"+treeLevel+"%26data_limit%3D"+dataLimit;
	
	var rtObj = window.showModalDialog(treePath, new Object(),'dialogHeight=600px;dialogWidth=350px;resizable:yes;status:no;scroll:auto;');
	if(rtObj != undefined && rtObj.length > 0){
		var allTextValue = "";
		var allTextName = "";
		var allParentName = "";
		var detailedType = "";
		for(var i=0; i<rtObj.length-1; i++) {
			allTextValue += rtObj[i]['returnValue'] + ",";
			allTextName += rtObj[i]['childName'] + ",";
			allParentName += rtObj[i]["parentName"] + ",";
			detailedType += rtObj[i]["detailedType"] + ",";
		}
		allTextValue += rtObj[rtObj.length-1]['returnValue'];
		allTextName += rtObj[rtObj.length-1]['childName'];
		allParentName += rtObj[rtObj.length-1]['parentName'];
		detailedType += rtObj[rtObj.length-1]['detailedType'];
		
		var textValue = outputArray[0];
		var textName = outputArray[1];
		
		textValue.value = allTextValue;
		textName.value = allTextName;
		if(outputArray.length>=3) {
			var textParentName = outputArray[2];
			textParentName.value = allParentName;
		}
		if(outputArray.length==4) {
			var nodeType = outputArray[3];
			nodeType.value = detailedType;
		}
	} 
}
/**
 *从列表控件的点击事件取得本行的id
*/
function getRowHiddenId() {  
	var thisA = event.srcElement;  //定义事件来源对象
	var thisTr = thisA.parentElement.parentElement;  //定义本行的tr对象
	var thisHidden = getObjectByNameRecursive(thisTr, "hiddenId");  //从thisTr递归的取出name是hiddenId的对象
	if(thisHidden != undefined && thisHidden != null) {  //如果thisHidden不为空
		return thisHidden.value;
	} else {
		return null;
	}
}
function getObjectByNameRecursive(thisObj, thisName) {  //从thisObj递归的取出name是thisName的对象
	var rtHiddenInput = null;  //定义返回的变量
	for(var i=0; i<thisObj.childNodes.length; i++) {  //循环thisObj的子节点
		var tempObj = thisObj.childNodes[i];  //定义当前临时节点
		if(tempObj.signName == thisName) {  //如果当前临时节点的name等于thisName
			rtHiddenInput = tempObj;  //当前临时节点就是返回的对象
			break;  //完成了目标对象的查询,退出循环
		} else {
			rtHiddenInput = getObjectByNameRecursive(tempObj, thisName);  //递归的找自己的子节点
			if(rtHiddenInput != null) {  //如果返回值不为空
				break;  //完成了目标对象的查询,退出循环
			}
		}
	}
	return rtHiddenInput;
}
function getLayoutHiddenObjectById(id) {
	if(id == null) {
		return null;
	}
	var allInput = document.getElementsByTagName("input");
	for(var i=0; i<allInput.length; i++) {
		if(allInput[i].type == "hidden" && allInput[i].signName == "hiddenId" && allInput[i].value == id) {
			return allInput[i];
		}
	}
	return null;
}