package egovframework.web;

import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import egovframework.let.uss.ion.cnt.service.CntManageVO;
import egovframework.let.uss.ion.cnt.service.EgovCntManageService;

@Controller
public class ContentController{

	@Resource(name = "egovCntManageService")
	private EgovCntManageService egovCntManageService;
	
	/*인사말*/
	@RequestMapping(value="/web/intro/intro.do")
    public String intro(@RequestParam Map<String, Object> commandMap, Model model) throws Exception {  
    	//selectNaviList(68, model);
    	return  "/web/intro/intro";
    }

	/*===========================================컨텐츠 화면 등록시===================================================*/ 
	
	/* content*/
	@RequestMapping(value="/web/content.do")
    public String contentIntro(@RequestParam Map<String, Object> commandMap, CntManageVO cntManageVO , HttpServletRequest request, Model model) throws Exception {  
		if(commandMap.get("proFn")==null){
			return "blank";
		}
		cntManageVO.setProgrmFileNm((String)commandMap.get("proFn"));
		cntManageVO = egovCntManageService.selectContentVo(cntManageVO);
		if(cntManageVO==null){ //매뉴에 등록되지 않았으면 cnt_manage 에서라도 가져옴.(proFn 으로 무조건 content 가져옴)
			cntManageVO = new CntManageVO();
			cntManageVO.setProgrmFileNm((String)commandMap.get("proFn"));
			cntManageVO = egovCntManageService.selectContentByProFn(cntManageVO) ;
			if(cntManageVO == null){
				return "blank";
			}
			return "cnt/"+cntManageVO.getCntId() ;
		}
		
		if(cntManageVO.getMenuCours()!=null){ //매뉴구조
			cntManageVO.setMenuCours(cntManageVO.getMenuCours().replace("|" , " > "));
		}
		
		model.addAttribute("cntManageVO", cntManageVO);
		String sLocationUrl = "cnt/"+cntManageVO.getCntId();
		return sLocationUrl ;
    }
	
	/* 관리자 컨텐츠 content*/
	@RequestMapping(value="/web/adminContent.do")
    public String adminContent(@RequestParam Map<String, Object> commandMap, CntManageVO cntManageVO , HttpServletRequest request, Model model) throws Exception {  
    	//selectNaviList(68, model);
		String tempCntDtId = "" ;
		if(cntManageVO.getCntDtId() != null){  //관리자 미리보기 화면
			tempCntDtId = cntManageVO.getCntDtId();
			//cntManageVO = egovCntManageService.selectContentByCntDtId(cntManageVO);
			cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO);
			if(cntManageVO!=null){ 
				if(cntManageVO.getMenuCours()!=null){ //매뉴구조
					cntManageVO.setMenuCours(cntManageVO.getMenuCours().replace("|" , " > "));
				}	
			}
			
			model.addAttribute("cntManageVO", cntManageVO);
			
		}
		String sLocationUrl = "cnt/ckeditorPriview";
		return sLocationUrl ;
    }
	
	/* 컨텐츠 등록시 실제 파일로 테스트 해봄*/
	@RequestMapping(value="/web/contentTemp.do")
    public String contentTempWrite(@RequestParam Map<String, Object> commandMap, CntManageVO cntManageVO , HttpServletRequest request, Model model) throws Exception {  
		cntManageVO.setMenuCours("기관소개|인사말".replace("|" , " > "));
		model.addAttribute("cntManageVO", cntManageVO);
		return "cnt/contentTemp";
    }
	
	
	/* 컨텐츠 에디터 미리보기 해봄*/
	@RequestMapping(value="/web/ckeditorPriview.do")
	public String ckeditorPriview(@RequestParam Map<String, Object> commandMap, CntManageVO cntManageVO , HttpServletRequest request, Model model) throws Exception {  
		model.addAttribute("cntManageVO", cntManageVO);
		String sLocationUrl = "cnt/ckeditorPriview";
		return sLocationUrl ;
    }
	
	/* 매뉴 테스트 content*/
	@RequestMapping(value="/web/intro.do")
    public String webIntro(@RequestParam Map<String, Object> commandMap, CntManageVO cntManageVO , HttpServletRequest request, Model model) throws Exception {  
    	//selectNaviList(68, model);
		String tempCntDtId = "" ;
		if(cntManageVO.getCntDtId() != null){  //관리자 미리보기 화면
			tempCntDtId = cntManageVO.getCntDtId();
			//cntManageVO = egovCntManageService.selectContentByCntDtId(cntManageVO);
			cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO);
			if(cntManageVO!=null){ 
				if(cntManageVO.getMenuCours()!=null){ //매뉴구조
					cntManageVO.setMenuCours(cntManageVO.getMenuCours().replace("|" , " > "));
				}	
			}
			
			model.addAttribute("cntManageVO", cntManageVO);
			
		}
		String sLocationUrl = "web/cop/intro";
		return sLocationUrl ;
    }
	
	
	/* eng content*/
	@RequestMapping(value="/eng/web/content.do")
    public String engContentIntro(@RequestParam Map<String, Object> commandMap, CntManageVO cntManageVO , HttpServletRequest request, Model model) throws Exception {  
		if(commandMap.get("proFn")==null){
			return "blank";
		}
		cntManageVO.setProgrmFileNm((String)commandMap.get("proFn"));
		cntManageVO = egovCntManageService.selectContentVo(cntManageVO);
		if(cntManageVO==null){ //매뉴에 등록되지 않았으면 cnt_manage 에서라도 가져옴.(proFn 으로 무조건 content 가져옴)
			cntManageVO = new CntManageVO();
			cntManageVO.setProgrmFileNm((String)commandMap.get("proFn"));
			cntManageVO = egovCntManageService.selectContentByProFn(cntManageVO) ;
			if(cntManageVO == null){
				return "blank";
			}
			return "cnt/"+cntManageVO.getCntId() ;
		}
		
		if(cntManageVO.getMenuCours()!=null){ //매뉴구조
			cntManageVO.setMenuCours(cntManageVO.getMenuCours().replace("|" , " > "));
		}
		
		model.addAttribute("cntManageVO", cntManageVO);
		String sLocationUrl = "cnt/"+cntManageVO.getCntId();
		return sLocationUrl ;
    }
	
}
