<%--
  Class Name : AstHdCdPopup.jsp
  Description : 소프트웨어 구분 팝업  화면
  Modification Information
 
      수정일         수정자                   수정내용
    -------    --------    ---------------------------
     2018.06.11   ITN              최초 생성
 
    author   : ITN
    since    : 2018.06.11
--%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="ko">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link href="<c:url value='/'/>css/jstree/themes/default/style.min.css" rel="stylesheet" type="text/css">
<title>자산관리</title>
<link rel="stylesheet" href="/direct/css/font.css">
<link rel="stylesheet" href="/direct/css/reset.css">
<link rel="stylesheet" href="/direct/css/enroll_popup.css">
<link rel="stylesheet" href="/direct/css/index.css">
<script src="<c:url value='/js/jquery-1.12.4.min.js' />"></script>
<script src="<c:url value='/js/jstree.min.assetlocshow.js' />"></script>
<script type="text/javaScript" language="javascript">

$( document ).ready(function(){
	{
	    var w = $('.enroll_popup').width();
	    var h = $('.enroll_popup').height();
	    window.resizeTo(w+25, h+50);
	}
	$(".close_btn").click(function (event){
		window.self.close() ;
	});
	
	jstreeInit();
	/*검색  클릭시*/
	$(".serch_btn").click(function (event){
		$("#kopost_organization").jstree("search", $('#searchKeyWord').val() );
	});
	
	$(".save_btn").click(function (event){ //선택 버튼 클릭시
		var frm = document.writeForm;
		if($('#kopost_organization').jstree("get_selected").length == 0 ){
			alert("소속을 선택하지 않으셨습니다.");
			return;
		}
		if($('#kopost_organization').jstree("get_selected")[0] == "000000101" ){
			alert("소속은 전체를 선택할수 없습니다.");
			return;
		}
	    var codes  = $('#kopost_organization').jstree("get_selected")[0] ;
	    opener.$('#ipDeptText').val($('#kopost_organization').jstree("get_selected", true)[0].text );
	    opener.$('#ipDept').val(codes);
	    window.self.close();
	});
});

function press() {
    if (event.keyCode==13) {
    	$(".serch_btn").trigger("click") ;
    	event.preventDefault();
    }
}

function jstreeInit() {
	$('#kopost_organization').jstree({
		"checkbox": {
            "three_state": false
        },
		"core" : {
			"animation" : 0,
			"multiple" : false,
			"themes" : { "stripes" : true },
			"data" : {
				"url" : "/uss/itsm/ip/IpLocPopListAjax.do?pageType=${ipVO.pageType}&ipId=${ipVO.ipId}&depth=5",
				"dataType" : "json",
				"data" : function (node) {
					return {'id' : node.id }
				}
			}
		},
		"types" : {
			"#" : {
				/* "max_children" : 4, */
				"max_depth" : 2,
				"valid_children" : ["root"]
			},
			"root" : {
				"icon" : "glyphicon glyphicon-flash",
				"valid_children" : ["default"]
			},
		    "default" : {
				"valid_children" : ["default","file"]
		    },
		    "file" : {
				//"icon" : "glyphicon glyphicon-file",
				"icon" : "jstree-file",
				"valid_children" : []
			}
		},
		"plugins" : [
			"contextmenu", "search", "checkbox" , 
			"types"
			//, "unique"
			//, "wholerow"
			// "checkbox" 체크박스 삭제
		]
	})
	.bind('loaded.jstree', function(e, data) {
		$('#kopost_organization').jstree('open_node' , $('#000000101') ) ;
		var instance = data.instance._model.data ;
		var temp_id = "";
		var temp_showYn = "";
		
		for(var i=0; i< Object.keys(instance).length ; i++){
			if(data.instance._model.data[Object.keys(instance)[i]].original != undefined){
				if(data.instance._model.data[Object.keys(instance)[i]].original.showYn=="Y"){
					$('#kopost_organization').jstree('select_node', Object.keys(instance)[i]);				
				}
			}
		}
	})
	.on('select_node.jstree', function (e, data){
		/*  매뉴  선택 */
		var menuNo = data.node.id;
		var upperMenuId = data.node.parent;
		//하위 매뉴가 있으면 매뉴코드 변경못하게
		$('#nodeDepth').val(data.node.parents.length);
		$('#upperMenuId').val(upperMenuId);
		
		if(data.node.children.length > 0){
			$('#menuNo').attr("readonly",true);
		}else{
			$('#menuNo').attr("readonly",false);
		}
	})
  	.on('move_node.jstree', function (e, data){
		/* 매뉴 위치 변경 */
		var instance = data.instance;
		var menuNo = data.node.id;
		var childrenNodes = instance.get_node(menuNo).children;
		
		if (confirm("매뉴 위치를 변경하시겠습니까?" )){
			//var partIdx = data.node.id;
			var upperMenuId = data.parent;
			var sort = data.position + 1;
			var sortOver = "A" ;
			if(data.old_position > data.position){ //위치 후열로
				sortOver = "D";
			}
			$.ajax({
				type:"POST",
				url:"<c:url value='/uss/itsm/asset/AssetMoveShowAjax.do' />",
				data:{ "menuNo":menuNo, "upperMenuId":upperMenuId,  "sort":sort , "sortOver":sortOver},
				dataType:'jsonp',
				success : function(returnData, status) {
					if (status == "success") {
						alert("매뉴 위치가 변경되었습니다.");
					} else { alert("ERROR"); return;}
				},
				error : function(request , status, error) {
					alert("매뉴 위치 변경이 실패되었습니다.");
				},
				complete : function () {
					data.instance.refresh();
				}
			});
		} else {
			data.instance.refresh();
		}
	})
	.on('rename_node.jstree', function (e, data) { //매뉴명 변경
		var nodeId = data.node.id; 
		var oldText = data.old;
		var newText = data.text;
		var upperMenuId = data.node.parent;
		
		if (data.node.parents.length == 1) {
			alert("최상위 코드명은 변경할수 없습니다.");
			data.instance.refresh();
		}else if (data.node.parents.length > 0) {
			/* 부서명 변경 */
			if (oldText != newText) {
				if (confirm("소속을 변경하시겠습니까?" )) {
					$.ajax({
						type:"POST",
						url:"<c:url value='/uss/itsm/asset/assetShowNmUpdateAjax.do' />",
						data:{ "menuNo" : nodeId, "upperMenuId" :  upperMenuId, "menuNm" :  newText , "nodeDepth" : data.node.parents.length },
						dataType:'jsonp',
						success : function(returnData, status) {
							if (status == "success") {
								alert("소속명이  변경되었습니다.");
							} else { alert("ERROR"); return;} 
						},
						error : function(request , status, error) {
							alert("소속명 변경이 실패되었습니다.");
						},
						complete : function () {
							data.instance.refresh();
						}
					});
				} else {
					data.instance.refresh();
				}
			}
		}else{/* 매뉴 추가 */
			
		}
	})
	.on("refresh.jstree", function (e,data) {
    });
}

</script>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
	<div class="enroll_popup edu_popup_detail asset_popup_exposure_list">
		<div class="enroll_popup_title asset_popup_title">
			<img src="/direct/img/enroll_popup_title_bg.png" alt=""> 소속 선택
		</div>
		<div class="enroll_input_left asset_exposure_list">
			<ul>
				<li>
					검&emsp;&emsp;색 <input type="text" maxlength="20" class="asset_enroll_sort_serch" id="searchKeyWord" onkeypress="press();"><input type="button" value="검색" class="serch_btn">
				</li>
				<li>
					<div class="asset_exposure_list_wrap" id="kopost_organization" class="jstree_orgChart">
					</div>
				</li>
			</ul>
		</div>
		<div class="main1_btn_div">
			<input type="button" class="save_btn" value="선택">
			<input type="button" class="close_btn" value="닫기">
		</div>
	</div>
</form>	
</body>
</html>