$(window).on("load resize scroll", function() {
//$(function() {
	/* header height auto height & mobile/tablet iframe auto height */
	var hMode = $("#_mode").height();
	var hHeader = $("#_header").height();
	var gabArticleFrame = 30;
	var gabArticleIframe = 50;
	
	var hArticleContentDesktop = hMode - hHeader;
	var hArticleContentTablet = hArticleContentDesktop - gabArticleFrame;
	var hArticleContentMobile = hArticleContentDesktop - gabArticleFrame;

	function modeSetDesktop(){
		//$("#_addeleContent").show();
		$("#_mode._edit.Desktop #_articleContent").css("height",hArticleContentDesktop);
		$("#_mode._edit.Tablet #_articleContent").css("height",hArticleContentTablet);
		$("#_mode._edit.Mobile #_articleContent").css("height",hArticleContentMobile);
		$("#_mode._masterEdit.Desktop #_articleContent").css("height",hArticleContentDesktop);
		$("#_mode._masterEdit.Tablet #_articleContent").css("height",hArticleContentTablet);
		$("#_mode._masterEdit.Mobile #_articleContent").css("height",hArticleContentMobile);
		$("#_articleFrame.Desktop").css("height",hArticleContentDesktop - 30);
		$("#_articleFrame.Desktop .iframe").css("height",hArticleContentDesktop - 30);
		$("#_articleFrame.Desktop #_loadDiv").css("height",hArticleContentDesktop - 30);
		/*content Add*/
		$("#_contentList").css("height",hMode);
		$("#widgetDataList > ._listWidget > ._widgetList").addClass("heightheightheight");
		$("#widgetDataList > ._listWidget > ._widgetList").css("height",hMode);
		/*site menu*/
		$("#_siteMenuWrap").css("height",hArticleContentDesktop);
		$("#_siteMenuList").css("height",hArticleContentDesktop - 31);
		$("#_siteTool ul li a._hasOption,#_siteTool ul li div._optionList").hover(
			function () {
				$("#_addeleContent").hide();
			}, 
			function () {
				$("#_addeleContent").show();
			}
		);
		
		jf_setBtn();
	}
	
	//$("._size").html(ktext("k2web.total","","") + hMode + " /<br>헤더" + hHeader + " /<br>PC Height : " + hArticleContentDesktop + " /<br>Tablet Height : " + hArticleContentTablet);
	
	function modeSetTablet(){
		//$("#_addeleContent").hide();
		$("#_articleFrame.Tablet").css("height",hArticleContentTablet);
		$("#_articleFrame.Tablet #_loadDiv").css("height",hArticleContentTablet);
		$("#_articleFrame.Tablet .iframe").css("height",hArticleContentTablet - gabArticleIframe);
		
		jf_setBtn();
	}
	function modeSetMobile(){
		//$("#_addeleContent").hide();
		$("#_articleFrame.Mobile").css("height",hArticleContentMobile);
		$("#_articleFrame.Mobile #_loadDiv").css("height",hArticleContentMobile);
		$("#_articleFrame.Mobile .iframe").css("height",hArticleContentMobile - gabArticleIframe);
		
		jf_setBtn();
	}
	
	/*masterSkinList*/
	$("#_mode.Desktop._masterEdit #_wrap #_header #_navMasterList").css("height",hMode - 40);
	
	$("#_navMasterList li a").click(function(){
		$("#_navMasterList li a").removeClass("_active");
		$(this).addClass("_active");
	});
	
	/*responsive mode toggle*/
	function jf_contentsReload(){
		//alert("reload");
		//(contentEdit).location.reload();
	} 
	
	var selectLiA = "#_responsiveTool ul li a";
	var selectDesktop = "#_responsiveTool ul li ._selectDesktop";
	var selectTablet = "#_responsiveTool ul li ._selectTablet";
	var selectMobile = "#_responsiveTool ul li ._selectMobile";
	
	$(selectDesktop).click(function() {
		viewModeChange("Desktop");
		
		$(selectLiA).removeClass("_on");
		$(this).addClass("_on");
		$("#_articleFrame").addClass("Desktop");
		$("#_articleFrame").removeClass("Tablet");
		$("#_articleFrame").removeClass("Mobile");
		
		modeSetDesktop();
		elementHeightAuto("Desktop");
	});
	$(selectTablet).click(function() {
		viewModeChange("Tablet");
		
		$(selectLiA).removeClass("_on");
		$(this).addClass("_on");
		$("#_articleFrame").addClass("Tablet");
		$("#_articleFrame").removeClass("Mobile");
		$("#_articleFrame").removeClass("Desktop");
		
		modeSetTablet();
		elementHeightAuto("Tablet");
	});
	$(selectMobile).click(function() {
		viewModeChange("Mobile");
		
		$(selectLiA).removeClass("_on");
		$(this).addClass("_on");
		$("#_articleFrame").addClass("Mobile");
		$("#_articleFrame").removeClass("Tablet");
		$("#_articleFrame").removeClass("Desktop");
		
		modeSetMobile();
		elementHeightAuto("Mobile");
	});
	
	var bodyClass = $( "#_mode" ).attr( "class" );
	if( bodyClass != null ){
		if( bodyClass.indexOf( "Mobile" ) >= 0 ) {
			modeSetMobile();
		} else if( bodyClass.indexOf( "Tablet" ) >= 0 ) {
			modeSetTablet();
		} else {
			modeSetDesktop();
		}
	}
});

function jf_setBtn(){
	if(typeof setControlBtns == "function"){
		var isOverSiteManager = $("#contentEdit").contents().find( "#isOverSiteManager" ).val()=="true"? true : false;
		var isThisMenuManager = $("#contentEdit").contents().find( "#isThisMenuManager" ).val()=="true"? true : false;
		var isNtceProceeding = $("#contentEdit").contents().find( "#isNtceProceeding" ).val()=="true"? true : false;
		var isApprovalNtce = $( "#contentEdit" ).contents().find( "#cntntsType" ).val() == "APPROVAL"? false : true;
		var editMode = $("#contentEdit").contents().find( "#editMode" ).val();
		setControlBtns(isOverSiteManager, isThisMenuManager, editMode, isNtceProceeding, isApprovalNtce);
	}
}

$(document).ready(function() {
	
	/* 메뉴선택하기 */
	//$("#_siteMenuList").menu();
	
	/* custom scroll
	 * 1. 컨텐츠 가져오기 
	 * 2. 마스터스킨설정 
	 * 3. 이미지컨텐츠 레이아웃선택, 문단컨텐츠 스킨설정
	 * */
	$("#_navMasterList").mCustomScrollbar({
		autoHideScrollbar: true
	});
	$("._masterskinList").mCustomScrollbar({
		autoHideScrollbar: false
	});
	$("._skinList").mCustomScrollbar({
		autoHideScrollbar: false
	});
	
	/*site admin menu toggle*/
	var toggle_minWidth = "50px";
	var toggle_maxWidth = "150px";
	var toggle_open = "#_toggleOpen";
	var toggle_close = "#_toggleClose";
	var toggle_nav = "#_nav";
	var toggle_article = "#_article";
	var toggle_modal = "#_toggleModal";
	var toggle_footer = "#_footer";

	$(toggle_open).click(function() {
		$("html, body").addClass("_toggleOpen");
		$(toggle_nav).addClass("_toggleOpen").animate({"width":toggle_maxWidth},100);
		$(toggle_article).animate({"margin-left":toggle_maxWidth},100);
		
		$(this).hide();
		$(toggle_close).show();
		$(toggle_footer).show();
		$(toggle_modal).fadeIn();
		window.scrollTo(0,0);
	});
	function toggleClose() { // side admin menu close
		$("html, body").removeClass("_toggleOpen");

		$(toggle_nav).removeClass("_toggleOpen").animate({"width":toggle_minWidth},100);
		$(toggle_article).animate({"margin-left":toggle_minWidth},100);

		$(toggle_close).hide();
		$(toggle_open).show();
		$(toggle_footer).hide();
		$(toggle_modal).hide();
	}
	$(toggle_close).click(function() {
		toggleClose();
	});
	$(toggle_modal).click(function() {
		toggleClose();
	});

	/*option toggle*/
	$('._optionToggle').hover(
		function () {
			//show its submenu
			$('._optionList', this).stop().slideDown(200);
			$(this).find("._hasOption").addClass("_on");
		}, 
		function () {
			//hide its submenu
			$('._optionList', this).stop().slideUp(50);
			$(this).find("._hasOption").removeClass("_on");
		}
	);
	
	/*스킨사용여부*/
	$("._skinObj._active").append("<span class=\"_inUse\">"+ktext("k2web.in.use")+"</span>");
	$("._skinUl").each(function(){
		$("._skinObj").click(function(){
			$("._skinObj").removeClass("_selected");
			$(this).addClass("_selected");
		});
	});
	/*리소스 사용여부*/
	$("._rscYn._active").append("<span class=\"_inUse\">"+ktext("k2web.in.use")+"</span>");
	
	//관리자메뉴 활성화
	var articleHeader = $("#_articleHeader > h1").text();
	
	$("nav#_nav ul li a").each(function(){
		if($(this).text() == articleHeader){
			$(this).addClass("_on");
			$(this).parent().parent().parent().find("> a").eq(0).addClass("_on");
			$(this).parent().parent().parent().find("> a").eq(0).parent().find("> ul").show().addClass("_on");
		}
	});
	$("nav#_nav ul li a").click(function(){
		$(this).parent().find(">ul").slideDown();
	});
});


function viewModeChange(mode){
	
	if($("iframe[name='contentEdit']").size() > 0){
		contentEdit.undoManager = contentEdit.undoManagers[ mode ];
		
		var styles = contentEdit.curContentStyle();
		var styleValueObj = $("#contentEdit").contents().find("#contentsHtml > #"+curMode()+"_style");
		if($(styleValueObj).size() > 0){
			$(styleValueObj).text(styles);
		}else{
			var obj = "<div class=\"hidden styleValue\" id=\""+curMode()+"_style\">"+styles+"</div>";
			$("#contentEdit").contents().find("#contentsHtml").append(obj);
		}
		
		//style 초기화
		$("#contentEdit").contents().find("#_contentBuilder > ._obj").attr("style", "");
		
		var styleValue = $("#contentEdit").contents().find("#contentsHtml > #"+mode+"_style").text();
		var styles = styleValue.split(",");
		if(styles != null && styles.length > 0){
			if(styles[0].indexOf("@") != -1){
				for(var i=0;i<styles.length;i++){
					var tmp = styles[i].split("@");
					var id = tmp[0];
					var style = tmp[1];
					$("#contentEdit").contents().find("#_contentBuilder #"+id).attr("style", style);
					if( $("#contentEdit").contents().find("#_contentBuilder #"+id).hasClass( "_readyDel" ) ) {
						$("#contentEdit").contents().find("#_contentBuilder #"+id).hide();
					}
				}
			}else{
				$("#contentEdit").contents().find("#_contentBuilder > ._obj").each(function(i){
					var style = styles[i];
					$(this).attr("style", style);
					if( $(this).hasClass( "_readyDel" ) ) {
						$( this ).hide();
					}
				});
			}
		}
	}
}

/**
 * 요소 높이 자동조절
 * 모드 변경 시 요소들이 여러개 있는경우 postion absolute 설정 -> 모든 요소가 0,0 으로 붙어버리는 현상 개선
 */
function elementHeightAuto( curMode ){
	var hasVideoTag = $( "#contentEdit" ).contents().find( "#_contentBuilder" ).find( "._obj:not([class*='_readyDel']) video" ).size() > 0;
	var delayTime = hasVideoTag? contentEdit.RENDERING_DELAY_TIME+500 : contentEdit.RENDERING_DELAY_TIME;
	RENDER_CHECK_TIME = delayTime + 300;
	
	setTimeout( function(){ 
		elementHeightAutoProc( curMode );
		try{
			contentEdit._conArticleInit(); 
		}catch(e){}
		sessionStorage.setItem(curMode, "complete");
	}, delayTime );
}

/**
 * 요소 높이 자동조절
 * 모드 변경 시 요소들이 여러개 있는경우 postion absolute 설정 -> 모든 요소가 0,0 으로 붙어버리는 현상 개선
 */
function elementHeightAutoProc( curMode ){
	if( curMode == null ){
		return;
	}
	var elements = $("#contentEdit").contents().find("#_contentBuilder > ._obj");
	$( elements ).each(function(i){
		if( i>0 && curMode!="Desktop" ){
			var style = $(this).attr("style");
			var position = $(this).css("position");
			if(position != null && position != "relative" && (style == null || style == "") ){
				var topValue = getTopValue( $(this) );
				var isStyleEmpty = (topValue == 0)?true:false;
				
				//style이 비어 있거나, 자동조절된 값인경우 
				if( isStyleEmpty ){
					var top = getTopValue( $( elements ).eq(i-1) );// top 값 더하기 
					top = top + $( elements ).eq(i-1).outerHeight(); //현재 요소 높이 계속 플러스
					top = top + 10; //여유값
					
					$(this).css("top", top + "px");
				}
			}
		}
	});
}
function getTopValue(obj){
	var top = 0;
	var topTemp = $( obj ).css("top");
	if( topTemp != null && 
			topTemp != "auto" && 
			topTemp.indexOf("px") != -1){
		top = parseInt( topTemp.replace("px", "") );
	}
	return top;
}
