$(document).ready(function() {
	
	try {
		$.validator.setDefaults({
			errorElement : 'span'
		    ,errorClass : 'em warning comment-line'
		    ,highlight: function(element, errorClass) {
		    	$(element).removeClass(errorClass);
		    	if($(element).get(0).tagName === "SELECT"){
		    		$(element).parent().parent().removeClass(errorClass);
				}

		    }
			,errorPlacement : function(error, element) {
				try {
					var attrName = element.attr("name");
					var obj = $("#error-" + attrName);
					var id = obj.prop("id");

					if (id != undefined && id != '') {
						error.insertAfter("#error-" + attrName);
					}else {
						error.insertAfter(element);
					}

					if($(element).get(0).tagName === "SELECT"){
						error.insertAfter(element.parent().parent());
					}
				}catch (e) {
					showLog(e);
				}

			}
		});
	}catch (err) {
		showLog(err);
	}

});

function setCopyProtection(pFlag) {
	if (pFlag == "Y") {
		$(window.document).on("contextmenu", function(event){return false;});   //우클릭방지
	    $(window.document).on("selectstart", function(event){return false;});   //더블클릭을 통한 선택방지
	    $(window.document).on("dragstart"   , function(event){return false;});  //드래그
	}
}

/** kmdb common function * */
/* alert 창 */
function showAlert(pMsg) {
	alert(pMsg);
}

/* confirm 창 */
function showConfirm(pMsg) {
	return confirm(pMsg);
}

/* console.log */
function showLog(param) {
	//console.log(param);
}

/* form submit 처리 */
function formSubmit(pFormId, pAction, pMethod, pTarget) {
	var obj = $("#" + pFormId);

	if (pMethod != undefined && pMethod.isNull() == false) {
		$(obj).prop("method", pMethod);
	} else {
		$(obj).prop("method", "post");
	}

	if (pAction != undefined && pAction.isNull() == false) {
		$(obj).prop("action", pAction);
	}

	if (pTarget != undefined && pTarget.isNull() == false) {
		$(obj).prop("target", pTarget);
	}else {
		$(obj).prop("target", "_self");
	}

	$(obj)[0].submit();
}

function fnHistoryBack() {
	history.back();
}


//아이디 유효성 체크
function fnIsValidId(str){
  var patten = new Array();
  var msg = new Array();
  var p;
  var ret_msg = new Array();

  patten["not_eng_num"] =/^[a-zA-Z0-9]+$/g;  //a-z와 0-9 이외의 문자가 있는지 확인
  msg["not_eng_num"] = "영문/숫자만 사용가능합니다.";
  patten["len"] = /^\w{6,15}$/;	// 문자열 길이
  msg["len"] = "6~15자리로 사용가능합니다.";
  //patten["only_num"] = /[a-zA-Z]/;// 숫자만
  //msg["only_num"] = "영문 대/소문자/숫자의 혼용으로 사용가능합니다(숫자만으로는 사용불가).";
  //patten["only_alpha"] = /[0-9]/; // 영문만
  //msg["only_alpha"] = "영문 대/소문자/숫자의 혼용으로 사용가능합니다(영문 대/소문자만으로 사용불가).";

	 var retVal = checkSpace( str );
	 if( retVal ) {
		 //alert("아이디는 빈 공간 없이 연속된 영문 대/소문자와 숫자만 사용할 수 있습니다.");
		 //return false;
		 return "0|아이디는 빈 공간 없이 연속된 영문 대/소문자와 숫자만 사용할 수 있습니다.";
	 }

	// 패턴 체크
	var i=0;
	for (x in patten)
	{
		p = eval(patten[x]);
		if(!p.test(str))
		{
			ret_msg[i] = msg[x];
			i++;
		}
	}

	if(i>0) {
		//alert("6~15자리의 영문 대소문자,숫자 혼용으로 사용가능합니다.");
		//return false;
		return "0|6~15자리의 영문 대소문자,숫자만 사용 가능합니다."
	}else {
		return "1| ";
	}

}

// 동일ID 체크 포함함
function fnIsValidPasswd(str, chk_id) {

	var patten = new Array();
	var msg = new Array();
	var p;
	var ret_msg = new Array();

	patten["not_eng_num"] = /^[a-zA-Z0-9\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\＼\]\^\_\`\{\|\}\~]{8,20}$/;
	msg["not_eng_num"] = "영문 대/소문자, 숫자, 특수문자의 8~20자리로 사용가능합니다.";
	patten["only_num"] = /[a-zA-Z\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\＼\]\^\_\`\{\|\}\~]/;// 숫자만
	msg["only_num"] = "비밀번호는 영문 대/소문자, 숫자, 특수문자 중 3종류 이상 혼용하셔야 합니다(숫자만으로는 사용불가).";
	patten["only_alpha"] = /[0-9\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\＼\]\^\_\`\{\|\}\~]/; // 영문만
	msg["only_alpha"] = "비밀번호는 영문 대/소문자, 숫자, 특수문자 중 3종류 이상 혼용하셔야 합니다(영문 대/소문자만으로 사용불가).";
	patten["only_special"] = /[a-zA-Z0-9]/; // 특수문자만
	msg["only_special"] = "비밀번호는 영문 대/소문자, 숫자, 특수문자 중 3종류 이상 혼용하셔야 합니다(특수문자만으로 사용불가).";
	patten["same_4"] = /.{4,}/; // 반복문자 4개는 안됨
	msg["same_4"] = "동일한 문자를 4번 이상 사용하실 수 없습니다.";

	patten["except_num"] = /[0-9]/;
	msg["except_num"] = "비밀번호는 영문 대/소문자, 숫자, 특수문자 중 3종류 이상 혼용하셔야 합니다(영문 대/소문자, 숫자만으로는 사용불가).";
	patten["except_alpha"] = /[a-zA-Z]/;
	msg["except_alpha"] = "비밀번호는 영문 대/소문자, 숫자, 특수문자 중 3종류 이상 혼용하셔야 합니다(숫자, 특수문자만으로 사용불가).";
	patten["except_special"] = /[\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\＼\]\^\_\`\{\|\}\~]/;
	msg["except_special"] = "비밀번호는 영문 대/소문자, 숫자, 특수문자 중 3종류 이상 혼용하셔야 합니다(영문 대/소문자, 숫자만으로 사용불가).";

	var retVal = checkSpace(str);
	if (retVal) {
		//alert("비밀번호는 빈 공간 없이 연속된 영문 대/소문자와 숫자, 특수문자만 사용할 수 있습니다.");
		//return false;
		return "0|비밀번호는 빈 공간 없이 연속된 영문 대/소문자와 숫자, 특수문자만 사용할 수 있습니다.";
	}

	if (!contCheck(str, 4))
		return "0|동일한 문자를 4번 이상 사용하실 수 없습니다.";
	if (checkStrCount(str, 4)) {
		//alert('연속된 숫자나 문자를 4번 이상 사용하실 수 없습니다.');
		//return;
		return "0|연속된 숫자나 문자를 4번 이상 사용하실 수 없습니다.";
	}

	// ID랑 4개 이상 같으면 오류
	if (chk_id.length >= 4) {
		for (var i = 3; i < chk_id.length; i++) {
			if (str.indexOf(chk_id.substring(i - 3, i + 1)) != -1) {
				//alert('ID와 동일한 4자리수 이상 동일한 비밀번호를 사용하실 수 없습니다');
				//return false;
				return "0|ID와 동일한 4자리수 이상 동일한 비밀번호를 사용하실 수 없습니다."
			}
		}
	}

	// 패턴 체크
	var i = 0;
	for (x in patten) {
		p = eval(patten[x]);
		if (!p.test(str)) {
			ret_msg[i] = msg[x];
			i++;
			break;
		}
	}

	if (i > 0) {
		//alert(ret_msg.join('\n'));
		//return false;
		return "0|" + ret_msg.join('\n');
	} else
		//return true;
		return "1| ";
}

function checkSpace(str) {
	if (str.search(/\s/) != -1) {
		return true;
	} else {
		return false;
	}
}

// 동일문자가 이어지면 체크
function contCheck(str, num) {
	var i;
	var cnt = 0;
	for (i = 1; i < str.length; i++) {
		if (str.substring(i - 1, i) == str.substring(i, i + 1)) {
			cnt++;
		} else {
			cnt = 0;
		}
		if (cnt >= num - 1) {
			return false;
		}
	}

	return true;
}

function checkStrCount(value, cnt) {
	var result = false;
	var checkStr = ""; // 같은 반복문자 체크(예: aaaa)
	var checkAsc = ""; // 연속된 오름차순 숫자 혹은 문자(예: abcde)
	var checkDesc = ""; // 연속된 내림차순 숫자 혹은 문자(예: edcba)

	for (var z = 1; z < cnt; z++) {
		checkStr += "value.charAt(i) == value.charAt(i + " + z + ")";
		checkAsc += "(value.charCodeAt(i) + " + z
				+ ") == value.charCodeAt(i + " + z + ")";
		checkDesc += "(value.charCodeAt(i) - " + z
				+ ") == value.charCodeAt(i + " + z + ")";
		if (z < cnt - 1) {
			checkStr += " && ";
			checkAsc += " && ";
			checkDesc += " && ";
		}
	}

	for (var i = 0; i < value.length - 3; i++) {
		if (eval(checkStr) || eval(checkAsc) || eval(checkDesc)) {
			result = true;
		}
	}

	return result;
}

/**
 * input text 필드 empty 체크
 *
 * @param pObjId
 * @param pMsg
 */
function fnEmptyCheck(pObjId, pMsg) {
	var objVal = $("#" + pObjId).val();

	if (objVal.isNull() == true) {
		$("#" + pObjId).focus();
		showAlert(pMsg);
		return false;
	} else {
		return true;
	}
}


/**
 * ajax call
 */
function AjaxCall(){
	this.showMessage = true;
	this.callback="";
    this.params="";
    this.submitUrl="";
    this.async = true;

    AjaxStart=function(_url,_data, _async, _callback){
        var dataset="";
        $.ajaxSetup({
            beforeSend: function(xhr) {
            	var token = $("meta[name='_csrf']").attr("content");
            	var header = $("meta[name='_csrf_header']").attr("content");
                xhr.setRequestHeader(header, token);
            },
            error: function(xhr, status, err) {
                if (xhr.status == 401) {
                	if (showMessage == true) {
                		alert("인증기간이 만료되었습니다.");
                	}

                    location.href="/login";
                    return false;
                } else if (xhr.status == 403) {
                	if (showMessage == true) {
                		alert("요청 페이지가 존재하지 않습니다.");
                	}

                    return false;
                } else {
                	if (showMessage == true) {
                		alert("예외가 발생했습니다. 관리자에게 문의하세요.");
                	}

                    return false;
                }
            }
        });

        if (_async) {
            $.ajax({
                type: "POST",
                url:_url,
                data:_data,
                dataType: 'json',
                async: _async,
                success: function(data) {
              	    if (_callback != "") {
              		    try {
              			   window[_callback](data);
              		    }catch(e) {
              		    	log(e);
              		    }
              	    }
                }
            });
        }else {
            $.ajax({
                type: "POST",
                url:_url,
                data:_data,
                dataType: 'json',
                async: _async,
                success: function(data) {
                	dataset = data;
                }
            });
        }

        return dataset;
    };

    this.submit=function(){
        return AjaxStart(this.submitUrl,this.params, this.async, this.callback);
    };
};


/** string prototype * */
String.prototype.isNull = function() {
	var str = this.trim();
	for (var i = 0; i < str.length; i++) {
		if ((str.charAt(i) != "\t") && (str.charAt(i) != "\n")
				&& (str.charAt(i) != "\r")) {
			return false;
		}
	}
	return true;
}

/**
 * 쿠키 읽기
 * @param name 키
 * @returns
 */
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

/**
 * 쿠키 쓰기
 * @param name  키
 * @param value 값
 * @param days 날짜
 */
function writeCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

/**
 * 쿠키 삭제
 * @param name
 */
function deleteCookie(name) {
    createCookie(name,"",-1);
}

function snsCon(g, msg, url, tag, img) {
	if (g=="tw") {
		pstTwitter(msg,url);
	} else if (g=="fb") {
		pstFaceBook(msg,url, tag, img);
	}
}

/*sns 연동 관련*/
function pstTwitter(msg,url) {
	var href = "https://twitter.com/home?status=" + encodeURIComponent(msg) + " " + encodeURIComponent(url);
	var a = window.open(href, 'twitter', 'width=466, height=356');
	if ( a ) {
		a.focus();
	}
}
function pstFaceBook(msg,url, tag, img) {
	/*var href="";
	href = "https://www.facebook.com/share.php?s=100&p[url]="+ encodeURIComponent(url)
               +"&p[images][0]="+ encodeURIComponent(img)
               +"&p[title]="+ encodeURIComponent(msg)
               +"&p[summary]="+encodeURIComponent(tag);

	href = "https://www.facebook.com/sharer/sharer.php?u="+ encodeURIComponent(url);

	var a = window.open(href, 'facebook', 'width=466, height=356');
	if ( a ) {
		a.focus();
	}*/

	FB.ui({
	    method: 'share',
	    display: 'popup',
	    href: url+"?randomParameter=randomValue",
	  }, function(response){});

}

function fcnLogin(pFormId) {
	if (confirm("로그인이 필요한 서비스 입니다. 로그인 하시겠습니까?") == false) {
		return;
	}
	
	formSubmit(pFormId, "/login/pre/process");
}

function fcnGoLogin(pFormId) {
	formSubmit(pFormId, "/login/pre/process");
}

function fcnMovieDetail(pMovieId, pMovieSeq) {
	document.location.href = "/db/kor/detail/movie/" + pMovieId + "/" + pMovieSeq;
}
// NOTE : 영문 상세
function fcnEngMovieDetail(pMovieId, pMovieSeq) {
	document.location.href = "/eng/db/kor/detail/movie/" + pMovieId + "/" + pMovieSeq;
}



function fcnNewMovieDetail(pMovieId, pMovieSeq) {
	var openNewWindow = window.open("about:blank");
	openNewWindow.location.href = "/db/kor/detail/movie/" + pMovieId + "/" + pMovieSeq;
}

function fcnEngMovieDetail(pMovieId, pMovieSeq) {
	document.location.href = "/eng/db/kor/detail/movie/" + pMovieId + "/" + pMovieSeq;
}


function fcnMovieVodCategoryDetail(pMovieId, pMovieSeq) {
	document.location.href = "/db/kor/detail/movie/" + pMovieId + "/" + pMovieSeq+"/own/videoData?ownCategoryDetail=anchorMovieVod&tabIndex=own";
}

function fcnMovieCategoryDetail(pMovieId, pMovieSeq,pCategory, pCategoryDetail) {
	document.location.href = "/db/kor/detail/movie/" + pMovieId + "/" + pMovieSeq+"/own/"+pCategory+"?ownCategoryDetail="+pCategoryDetail+"&tabIndex=own";
}

function fcnPersonDetail(pPersonId) {
	document.location.href = "/db/per/" + pPersonId;
}

function fcnNewPersonDetail(pPersonId) {
	var openNewWindow = window.open("about:blank");
	openNewWindow.location.href = "/db/per/" + pPersonId;
}

function fcnMoviePlayer(pFileNm) {

	$.ajax({
	    url: "/vod/mobile/check",
		type: 'GET',
		success: function(data) {
			if(data.mobileYn == 'Y'){  
				//모바일 접속인경우 파일 다운로드한다. 다운 주소 입력 필요
				location.href = 'http://trailer.koreafilm.or.kr/' +pFileNm ;
				//window.open('/vod/player/movie?fileNm='+pFileNm, 'moviePlayer');
				//window.open("https://trailer.koreafilm.or.kr/"+pFileNm, '크레딧', 'toolbar=no,location=no,menubar=no,scrollbars=yes,resizable=yes,width=900,height=600, top=30,left=100');
			}else{
				//window.open('/vod/player/movie?fileNm='+pFileNm, 'moePlayer');
				//window.open("http://flash.koreafilm.or.kr:8080/kofa2/play_trailer.html?file=trailer/"+pFileNm, 'KMDB 짧은 동영상 보기', 'toolbar=no,location=no,menubar=no,scrollbars=yes,resizable=yes,width=900,height=600, top=30,left=100');
				window.open("/trailer/trailerPlayPop?pFileNm="+pFileNm, 'KMDB 짧은 동영상 보기', 'toolbar=no,location=no,menubar=no,scrollbars=no,resizable=no,width=900,height=600, top=30,left=100');
			}
        } 
	});
	return false;

}

function fcnTotalSearch(searchText) {
	document.location.href = "/db/search/movieSearch?collection=ALL&query=" + searchText;
}

function fcnOtherIdDetail(otherId) {
	document.location.href = "/db/other/" + otherId;
}

function fcnBigPicture(pimgPath) {
	pimgPath = encodeURIComponent( encodeURIComponent( pimgPath ) );
	var openNewWindow = window.open("about:blank");
	openNewWindow.location.href = "/db/kor/bigpicture?imgPath=" + pimgPath;
}

function fcnHighPicture(pimgPath, pimgId, pimgType) {
	pimgPath = encodeURIComponent( encodeURIComponent( pimgPath ) );
	var openNewWindow = window.open("about:blank");
	openNewWindow.location.href = "/db/kor/highPicture?imgPath="+pimgPath+"&imgId="+pimgId+"&imgType="+pimgType;
}

function fcnTheoryDetail(theoryId) {
	document.location.href = "/db/theory/" + theoryId;
}

function fcnBookDetail(bookId) {
	document.location.href = "/db/book/" + bookId;
}

function fcnGenereSearch(searchText) {
	document.location.href = "/db/detailSearch/artSearch?&exQuery=<TYPE_CLSS:"+searchText+ ">";
}
function fcnKeywordSearch(searchText) {
	document.location.href = "/db/detailSearch/artSearch?&collectionQuery=<PLACE:" + searchText + ">";
}
function fcnLocationSearch(searchText) {
	document.location.href = "/db/detailSearch/artSearch?&collectionQuery=<KEYWORDS,PLOT:" + searchText + ">";
}

function fcnMovieKeywordSearch(searchText) {
	// NOTE : 2020-02-10 
	// [Mantis:0000881][KMDb 영화정보] 키워드/태그 링크 수정
	//document.location.href ="/db/search/movieSearch?collection=km" + movieId +"ORMOVIE&collectionQuery=<KEYWORDS,PLOT:"+ searchText + ">";
	document.location.href ="/db/search/movieSearch?collection=ALL&query=" + searchText;
}

function fcnApiXlsdown(apiSeq) {
	document.location.href = "/info/api/excel/" + apiSeq;
	//formSubmit("form1", '/info/api/excel/'+apiSeq );
}

function fcnApiCsvdown(apiSeq) {
	document.location.href = "/info/api/csv/" + apiSeq;
	//formSubmit("form1", '/info/api/csv/'+apiSeq );
}

function fcnApiJsondown(apiSeq) {
	document.location.href = "/info/api/json/"+apiSeq ;
	//formSubmit("form1", '/info/api/json/'+apiSeq );
}


function fcnVodPlayer(pMovieId, pMovieSeq, pFileNm, pMulId, pFileId, pLevelClss) {
	var userId = $("#pUserId").val();
	var userLevel = $("#pUserLevel").val();
	
	$.ajax({
	    url: "/vod/player/check",
		type: 'POST',
		beforeSend : function(xhr) {
			var token = $("meta[name='_csrf']").attr("content");
			var header = $("meta[name='_csrf_header']").attr("content");
			xhr.setRequestHeader(header, token);
		},
		data: {"movieId":pMovieId,"movieSeq":pMovieSeq,"mulId":pMulId,"fileId":pFileId,"fileNm":pFileNm,"levelClss":pLevelClss, "userId":userId, "userLevel":userLevel},
		success: function(data) {
			//console.dir(data);
			var awsOpen = data.awsOpen;
			
			if(data.result == 'true'){
				if(data.vodPer == 'CT'){ //기업회원 VOD 바로감상가능
					//window.open('/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId, 'vodPlayer');
					if(awsOpen == "Y"){
						if(data.awsOpenYn == "Y"){
						location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId +'&levelClss='+pLevelClss;
						return;
						}else{
							alert('VOD서비스가 종료된 비디오입니다.');
						}
					}else{
						if(data.awsOpenYn == "Y"){
						location.href='/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId +'&levelClss='+pLevelClss;
						}else{
							alert('VOD서비스가 종료된 비디오입니다.');
						}
					}
				}else if (data.price > 0 && data.vodPer != "T") {//카트에 담고 결제 창 팝업
					fcnVodCartAndPay(data.movieId, data.movieSeq, data.mulId, data.fileId, data.price, data.mulTitle);
				}else {
					if (data.price > 0 && data.vodAdv == "T") {//선불제 회원인 경우
						/*if (confirm('선불 제회원 입니다. \n같은 영화일 경우 24시간이내 재감상이 가능합니다.\n영화를 관람하시겠습니까?')) {
							fcnVodChargeCheck(data.movieId, data.movieSeq, data.mulId, data.fileId, pFileNm, data.price, data.mulTitle);
						}*/
						fcnVodChargeCheck(data.movieId, data.movieSeq, data.mulId, data.fileId, pFileNm, data.price, data.mulTitle);
					}else{ //무료인 회원 바로 감상가능
						//window.open('/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId, 'vodPlayer');
						if(awsOpen == "Y"){
							if(data.awsOpenYn == "Y"){
							location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss;
							}else{
								alert('VOD서비스가 종료된 비디오입니다.');
							}
						}else{
							
							//location.href='/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss;
							if(data.awsOpenYn == "Y"){
								location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss;
								}else{
									alert('VOD서비스가 종료된 비디오입니다.');
								}
						}
					}
				}
				return;
			}else{
				if(data.errorType == '01'){
					//fcnLogin('form1');
					if (confirm("로그인이 필요한 서비스 입니다. 로그인 하시겠습니까?") == false) {
						return ;
					}
					var param = '&pMovieId='+pMovieId+'&pMovieSeq='+pMovieSeq+'&pFileNm='+pFileNm+'&pMulId='+pMulId+'&pFileId='+pFileId+'&levelClss'+pLevelClss;
					goLoginVodPage(param);
				}else if(data.errorType == '02'){
					alert("12세 미만 관람불가(중학생가) 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else if(data.errorType == '03'){
					alert("15세 미만 관람불가(고등학생가) 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else if(data.errorType == '04'){
					alert("18세 미만(연소자) 관람불가 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else{
					//alert("플레이어 재생 실패...");
					if (confirm("로그인을 하셔야 재생하실 수 있습니다.\n\n로그인하시지 않으셨으면 로그인 해주세요.") == false) {
						return ;
					}
					var param = '&pMovieId='+pMovieId+'&pMovieSeq='+pMovieSeq+'&pFileNm='+pFileNm+'&pMulId='+pMulId+'&pFileId='+pFileId+'&levelClss'+pLevelClss;
					goLoginVodPage(param);
				}
				return false;
			}
        }
	});
}

function goLoginVodPage(param2)
{
	var path = window.location.pathname;
	var param = window.location.search;
	param2 = param2.replace(/&/g, "%26");
	var returnURL = encodeURIComponent(path+param+param2);
	
	if(param == null || param == '' || param == undefined)
	{
		returnURL = encodeURIComponent(path + '?'+ param2.substr(3, param2.length));
	}
	
	location.href='/login?returnUrl=' + returnURL;
}

function fcnAVodPlayer(pMovieId, pFileNm) {

	location.href='/vod/player?movieId='+pMovieId+'&fileNm='+pFileNm;

}

// AwsVodPlayer 
function fcnAwsVodPlayer(pMovieId, pMovieSeq, pFileNm, pMulId, pFileId, pAwsOpenYn, pLevelClss) {
	var userId = $("#pUserId").val();
	var userLevel = $("#pUserLevel").val();
	
	$.ajax({
	    url: "/vod/player/check",
		type: 'POST',
		data: {"movieId":pMovieId,"movieSeq":pMovieSeq,"mulId":pMulId,"fileId":pFileId,"fileNm":pFileNm, "awsOpenYn" : pAwsOpenYn, "levelClss" : pLevelClss, "userId":userId, "userLevel":userLevel},
		success: function(data) {
			//console.dir(data); 
			//var azureOpen = data.azureOpen;
			var awsOpen = data.awsOpen;
			
			if(data.result == 'true'){
				if(data.vodPer == 'CT'){ //기업회원 VOD 바로감상가능
					//window.open('/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId, 'vodPlayer');
					//awsOpen 과 data.awsOpenYn은 다르다. 하나는 코드값 C120이 01인경우 서비스가 사용된다는 뜻이고 
					//awsOpenYn은 해당 동영상이 사용가능한 동영상인지에 대한 내용이다.
					if(awsOpen == "Y"){
						if(data.awsOpenYn == "Y"){
							location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&mulId='+pMulId+'&fileId='+pFileId +'&levelClss='+pLevelClss+'&userId='+userId;
							return;
						}else{
							alert('VOD 서비스가 종료된 영화입니다.1');
						}
						
					}else{
						/*2024-07-01 공개 비공개동영상 판단여부*/
						//location.href='/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId +'&levelClss='+pLevelClss;
						if(data.awsOpenYn == "Y"){
							location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&mulId='+pMulId+'&fileId='+pFileId +'&levelClss='+pLevelClss+'&userId='+userId;
						}else{
							alert('VOD 서비스가 종료된 영화입니다.2');
						}
					}
				}else if (data.price > 0 && data.vodPer != "T") {//카트에 담고 결제 창 팝업
					fcnVodCartAndPay(data.movieId, data.movieSeq, data.mulId, data.fileId, data.price, data.mulTitle);
				}else {
					if (data.price > 0 && data.vodAdv == "T") {//선불제 회원인 경우
						/*if (confirm('선불 제회원 입니다. \n같은 영화일 경우 24시간이내 재감상이 가능합니다.\n영화를 관람하시겠습니까?')) {
							fcnVodChargeCheck(data.movieId, data.movieSeq, data.mulId, data.fileId, pFileNm, data.price, data.mulTitle);
						}*/
						fcnVodChargeCheck(data.movieId, data.movieSeq, data.mulId, data.fileId, pFileNm, data.price, data.mulTitle, data.levelClss);
					}else{ //무료인 회원 바로 감상가능
						//window.open('/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId, 'vodPlayer');
						if(awsOpen == "Y"){
							if(data.awsOpenYn == "Y"){
							location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss+'&userId='+userId;
							}else{
								alert('VOD 서비스가 종료된 영화입니다.3');
							}
						}else{
							//location.href='/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss;
							if(data.awsOpenYn == "Y"){
								location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss+'&userId='+userId;
								}else{
									alert('VOD 서비스가 종료된 영화입니다.4');
								}
							
						}
					}
				}
				return;
			}else{
				if(data.errorType == '01'){
					//fcnLogin('form1');
					if (confirm("로그인이 필요한 서비스 입니다. 로그인 하시겠습니까?") == false) {
						return ;
					}
					var param = '&pMovieId='+pMovieId+'&pMovieSeq='+pMovieSeq+'&pFileNm='+pFileNm+'&pMulId='+pMulId+'&pFileId='+pFileId + '&pAzureOpenYn=' +pAzureOpenYn +'&pLevelClss='+pLevelClss;;
					goLoginVodPage(param);
				}else if(data.errorType == '02'){
					alert("12세 미만 관람불가(중학생가) 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else if(data.errorType == '03'){
					alert("15세 미만 관람불가(고등학생가) 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else if(data.errorType == '04'){
					alert("18세 미만(연소자) 관람불가 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else{
					//alert("플레이어 재생 실패...");
					//alert("로그인을 하셔야 재생하실 수 있습니다.\n\n로그인하시지 않으셨으면 로그인 해주세요.");
					if (confirm("로그인을 하셔야 재생하실 수 있습니다.\n\n로그인하시지 않으셨으면 로그인 해주세요.") == false) {
						return ;
					}
					var param = '&pMovieId='+pMovieId+'&pMovieSeq='+pMovieSeq+'&pFileNm='+pFileNm+'&pMulId='+pMulId+'&pFileId='+pFileId + '&pAzureOpenYn=' +pAzureOpenYn+'&pLevelClss='+pLevelClss;
					goLoginVodPage(param);
				}
				return false;
			}
        }
	});

	/*var userId = $("#pUserId").val();
	var userLevel = $("#pUserLevel").val();
	alert('userId'+userId+'userLevel'+userLevel);
	$.ajax({
	    url: "/vod/player/check",
		type: 'POST',
		beforeSend : function(xhr) {
			var token = $("meta[name='_csrf']").attr("content");
			var header = $("meta[name='_csrf_header']").attr("content");
			xhr.setRequestHeader(header, token);
		},
		data: {"movieId":pMovieId,"movieSeq":pMovieSeq,"mulId":pMulId,"fileId":pFileId,"fileNm":pFileNm, "awsOpenYn" : pAwsOpenYn, "levelClss" : pLevelClss, "userId":userId, "userLevel":userLevel},
		success: function(data) {
			//console.dir(data); 
			console.log(data)
			var awsOpen = data.awsOpen;
			pLevelClss = data.levelClss;
			if(data.result == 'true'){
				alert("data.result is true");
				if(data.vodPer == 'CT'){ //기업회원 VOD 바로감상가능
					//window.open('/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId, 'vodPlayer');
					alert('1');
					if(awsOpen == "Y"){
						alert('2');
						location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&mulId='+pMulId+'&fileId='+pFileId +'&levelClss='+pLevelClss+'&userId='+userId;
						return;
					}else{
						alert('3');
						location.href='/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId +'&levelClss='+pLevelClss+'&userId='+userId;
					}
				}else if (data.price > 0 && data.vodPer != "T") {//카트에 담고 결제 창 팝업
					alert('4');
					fcnVodCartAndPay(data.movieId, data.movieSeq, data.mulId, data.fileId, data.price, data.mulTitle);
				}else {
					alert('5');
					if (data.price > 0 && data.vodAdv == "T") {//선불제 회원인 경우
						alert('6');
						if (confirm('선불 제회원 입니다. \n같은 영화일 경우 24시간이내 재감상이 가능합니다.\n영화를 관람하시겠습니까?')) {
							fcnVodChargeCheck(data.movieId, data.movieSeq, data.mulId, data.fileId, pFileNm, data.price, data.mulTitle);
						}
						fcnVodChargeCheck(data.movieId, data.movieSeq, data.mulId, data.fileId, pFileNm, data.price, data.mulTitle, data.levelClss);
					}else{ //무료인 회원 바로 감상가능
						//window.open('/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId, 'vodPlayer');
						alert('7');
						if(awsOpen == "Y"){
							alert('8');
							location.href='/vod/player2?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss+'&userId='+userId;
						}else{
							alert('9');
							location.href='/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId+'&fileId='+pFileId+'&levelClss='+pLevelClss+'&userId='+userId;
						}
					}
				}
				
				return;
			}else{
				if(data.errorType == '01'){
					//fcnLogin('form1');
					if (confirm("로그인이 필요한 서비스 입니다. 로그인 하시겠습니까?") == false) {
						return ;
					}
					var param = '&pMovieId='+pMovieId+'&pMovieSeq='+pMovieSeq+'&pFileNm='+pFileNm+'&pMulId='+pMulId+'&pFileId='+pFileId + '&pAwsOpenYn=' +pAwsOpenYn +'&pLevelClss='+pLevelClss;;
					goLoginVodPage(param);
				}else if(data.errorType == '02'){
					alert("12세 미만 관람불가(중학생가) 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else if(data.errorType == '03'){
					alert("15세 미만 관람불가(고등학생가) 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else if(data.errorType == '04'){
					alert("18세 미만(연소자) 관람불가 등급입니다.\n\n확인 후 관람하시기 바랍니다.");
				}else{
					//alert("플레이어 재생 실패...");
					//alert("로그인을 하셔야 재생하실 수 있습니다.\n\n로그인하시지 않으셨으면 로그인 해주세요.");
					if (confirm("로그인을 하셔야 재생하실 수 있습니다.\n\n로그인하시지 않으셨으면 로그인 해주세요.") == false) {
						return ;
					}
					var param = '&pMovieId='+pMovieId+'&pMovieSeq='+pMovieSeq+'&pFileNm='+pFileNm+'&pMulId='+pMulId+'&pFileId='+pFileId + '&pAwsOpenYn=' +pAwsOpenYn+'&pLevelClss='+pLevelClss;
					goLoginVodPage(param);
				}
				return false;
			}
        }
	});*/
}

function fcnVodCartAndPay(pMovieId, pMovieSeq, pMulId, pFileId, price, movieTitle){
	$.ajax({
	    url: "/vod/add/cart",
		type: 'POST',
		beforeSend : function(xhr) {
			var token = $("meta[name='_csrf']").attr("content");
			var header = $("meta[name='_csrf_header']").attr("content");
			xhr.setRequestHeader(header, token);
		},
		data: {"movieId":pMovieId,"movieSeq":pMovieSeq,"mulId":pMulId,"fileId":pFileId,"price":price,"movieTitle":movieTitle},
		success: function(data) {
			if(data.result == 'true'){
				//결제창 오픈
				win_ = window.open('/care/vod/pay/pop?movieId='+pMovieId+"&movieSeq="+pMovieSeq, 'KMDbPAY', 'width=500px,height=700px,resizable=yes');
				win_.focus();
			}else{
				alert("에러입니다. 관리자에게 문의 하세요");
				return false;
			}
        }
	});

	return;
}

function fcnVodChargeCheck(pMovieId, pMovieSeq, pMulId, pFileId, pFileNm, price, movieTitle){
	$.ajax({
	    url: "/vod/charge/check",
		type: 'POST',
		beforeSend : function(xhr) {
			var token = $("meta[name='_csrf']").attr("content");
			var header = $("meta[name='_csrf_header']").attr("content");
			xhr.setRequestHeader(header, token);
		},
		data: {"movieId":pMovieId,"movieSeq":pMovieSeq,"mulId":pMulId,"fileId":pFileId,"price":price,"movieTitle":movieTitle},
		success: function(data) {
			//console.dir(data);
			if(data.result == 'true'){
				//alert(data.msg);
				if (confirm('선불 제회원 입니다. \n같은 영화일 경우 24시간이내 재감상이 가능합니다.\n영화를 관람하시겠습니까?')) {
					//window.open('/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&pMulId='+pMulId, 'vodPlayer');
					location.href='/vod/player?movieId='+pMovieId+'&movieSeq='+pMovieSeq+'&fileNm='+pFileNm+'&mulId='+pMulId;
				}
			}else{
				if(data.errorType == '01'){
					fcnLogin('form1');
				}else if(data.errorType == '02'){
					alert(data.msg);
					fcnVodCartAndPay(pMovieId, pMovieSeq, pMulId, pFileId, price, movieTitle);
				}else{
					alert(data.msg);
				}
				return false;
			}
        }
	});

	return;
}

function startSpin(){
	if($('#wrap').length > 0){
		$('.popupBg').spin();
	}
}

function endSpin(){
	if($('#wrap').length > 0){
		$('.popupBg').spin(false);
	}
}

function fnCategoryAnchor(ownCategoryDetail_){
	if(ownCategoryDetail_ != ''){
		if($("#" + ownCategoryDetail_).length > 0){
			var offset = $("#" + ownCategoryDetail_).offset().top;
			$('html,body').animate({scrollTop: offset-65},'fast');
		}
	}
}

/**
 * 사료관 PDF 뷰어
 * @param pFileSeq
 * @param pFileOrder
 * @returns
 */
function fcnPdfViewerCommon(pFileSeq, pFileOrder) {
    var pdfViewerWin = window.open("/history/pdfViewer?dFileSeq="+pFileSeq+"&dFileOrder="+pFileOrder, "pdfViewerWin"+pFileSeq+pFileOrder);
}

/**
 * ePapyrus Viwer
 * @param pFileSeq
 * @param pFileOrder
 * @returns
 */ 
function fcnPdfEpaViewer(pFileSeq, pFileOrder , pType, pOptions) {  
	
//	console.log("1. pFileSeq = " + pFileSeq);
//	console.log("2. pFileOrder = " + pFileOrder);
//	console.log("3. dType = " + pType);
//	console.log("4. dOptions = " + pType);
	
	
//   //폼생성
    var frm = document.createElement("form"); // 폼엘리먼트 생성
    frm.name = "pdfViewFrm";                            // 폼이름
    frm.method = "post";                                    // 전송 방식 지정
    frm.action = "/pdfViewer";                             // 현재 페이지로 전송
    frm.target = "pdfViewFrm"; 
    
    // hidden : tableName
    var input1 = document.createElement('input');
    input1.setAttribute('type', 'hidden');
    input1.setAttribute('name', 'pFileSeq');
    input1.setAttribute('value', pFileSeq);
    frm.appendChild(input1);

    // hidden : dataID
    var input2 = document.createElement('input');
    input2.setAttribute('type', 'hidden');
    input2.setAttribute('name', 'pFileOrder');
    input2.setAttribute('value', pFileOrder);
    frm.appendChild(input2);
    
 	// hidden : tableName
    var input3 = document.createElement('input');
    input3.setAttribute('type', 'hidden');
    input3.setAttribute('name', 'pType');
    input3.setAttribute('value', pType);
    frm.appendChild(input3);

    // hidden : dataID
    var input4 = document.createElement('input');
    input4.setAttribute('type', 'hidden');
    input4.setAttribute('name', 'pOptions');
    input4.setAttribute('value', pOptions);
    frm.appendChild(input4);
    
    // hidden : dataID
    var input4 = document.createElement('input');
    input4.setAttribute('type', 'hidden');
    input4.setAttribute('name', 'pOptions');
    input4.setAttribute('value', pOptions);
    frm.appendChild(input4);
    document.body.appendChild(frm);
	
//    var pdfViewerWin = window.open("/pdfViewer?pFileSeq="+pFileSeq +"&pFileOrder="+pFileOrder + "&pType=" + pType + "&pOptions=" +pOptions, "pdfViewerWin"+pFileSeq+pFileOrder );
    var pdfViewerWin = window.open("",'pdfViewFrm');
    frm.submit();
 // form 삭제
    $("#pdfViewFrm").remove();  
    return;
    
	
}



function fcnUrlPdfEpaViewer(pFileUrl) {  
	
	//   폼생성
    var frm = document.createElement("form"); // 폼엘리먼트 생성
    frm.name = "pdfViewUrlFrm";               // 폼이름
    frm.method = "post";                      // 전송 방식 지정
    frm.action = "/pdfUrlViewer";             // 현재 페이지로 전송
    frm.target = "pdfViewUrlFrm"; 

    // hidden : pFileUrl
    var input1 = document.createElement('input');
    input1.setAttribute('type', 'hidden');
    input1.setAttribute('name', 'pFileUrl');
    /*input1.setAttribute('value', encodeURIComponent(pFileUrl));*/
	input1.setAttribute('value', pFileUrl);
	
	frm.appendChild(input1);
   
    document.body.appendChild(frm);
	
//    var pdfViewerWin = window.open("/pdfViewer?pFileSeq="+pFileSeq +"&pFileOrder="+pFileOrder + "&pType=" + pType + "&pOptions=" +pOptions, "pdfViewerWin"+pFileSeq+pFileOrder );
    var pdfViewerWin = window.open("",'pdfViewUrlFrm');
    frm.submit();
 // form 삭제
    $("#pdfViewUrlFrm").remove();  
    return;
    
	
}


