﻿/*	[MHz.Page.ZBS.js]
 *  (c) 2006, 2007 MHZ. (http://www.mediamob.co.kr // http://www.openblog.com)
 *	reference >> prototype.js // 
 *	Last Update : 2007.02.12
 * 설    명 : ZBS 관련 스크립트 모음입니다.
 */

//<![CDATA[	

			/*	
			 *  함수명 : CreateContentCheckByUnknown / CreateContentCheckByMem
			 *  설   명 : 리플의 데이터를 체크합니다.
			 */
			function CreateContentCheckByUnknown(){
				//var CheckReg = new RegExp("^(http://{1})([a-zA-Z0-9]+)(\\.{1})([a-zA-Z0-9]+)","i");		//[http:// (a-zA-Z0-9 1개이상).(a-zA-Z0-9 1개이상)] : 정규식
				var CheckID = new Array();
				CheckID[0] = $('txtName');
				CheckID[1] = $('txtPassWd');
				CheckID[2] = $('txtUrl');
				CheckID[3] = $('txtContent');
				
				if(CheckID[0].value == "이름" || CheckID[0].length < 0 || CheckID[0].value.trim() == ""){alert("작성자 이름을 입력해주세요");CheckID[0].focus();return false;}
				if(CheckID[1].value == "비밀번호" || CheckID[1].length < 0 || CheckID[1].value.trim() == ""){alert("비밀번호를 입력해주세요");CheckID[1].focus();return false;}
				//if(!CheckReg.test(CheckID[2].value)){alert("올바르지 않은 주소입니다.");CheckID[2].value='http://';CheckID[2].focus();return false;}
				if(CheckID[3].length < 0 || CheckID[3].value == ""){alert("댓글내용을 입력해주세요");CheckID[3].focus();return false;}
				return true;}
			
			function CreateContentCheckByMem(){
				var CheckID = $('txtContent');
				if(CheckID.value == "" || CheckID.value == "비밀번호" || CheckID.length < 0 || CheckID.value.trim() == ""){alert("댓글내용을 입력해주세요");CheckID.focus();return false;}
				return true;}

			/*	
			 *  함수명 : CreateContentReplyByUnknown / CreateContentReplyByMem / CreateReply_CallBack
			 *  설   명 : 리플을 생성하기 위해 Ajax 호출한 후 CallBack하는 부분입니다. [Call, CallBack]
			 *  기   타 : 리플생성관련 스크립트
			 */
			function CreateContentReplyByUnknown(ZMID, ZMCID){	
				if(CreateContentCheckByUnknown()){
					var Name = $('txtName').value;
					var PassWd = $('txtPassWd').value;
					var Url = $('txtUrl').value;
					var Contents = $('txtContent').value;
					MHz.V5.MediaMob.Ver5.ZBSMovieViewer.CreateContentReplyByUnknown(ZMID, ZMCID, Name, PassWd, Url, Contents, CreateReply_CallBack);
					$('txtName').value = "이름";
					$('txtPassWd').value = "비밀번호";
					$('txtUrl').value = "http://";
					$('txtContent').value = "";}}
					
			function CreateContentReplyByMem(ZMID, ZMCID){
				if(CreateContentCheckByMem()){
					var Contents = $('txtContent').value;
					MHz.V5.MediaMob.Ver5.ZBSMovieViewer.CreateContentReplyByMem(ZMID, ZMCID, Contents, CreateReply_CallBack);$('txtContent').value = "";}}
			
			function CreateReply_CallBack(response){
				var result = response.value;
				var ZMCID = $('txtHiddenZMCID').value;
				if(result){MHz.V5.MediaMob.Ver5.ZBSMovieViewer.BindContentReply(1, ZMCID, BindContentReply_CallBack);}
				else{alert('리플 작성이 실패했습니다.\n다시 시도해주세요');}}		
			
			/*	
			 *  함수명 : DeleteContentReply / DeleteReply_CallBack
			 *  설   명 : 리플을 삭제하기 위해 Ajax 호출한 후 CallBack하는 부분입니다. [Call, CallBack]
			 *  기   타 : 회원 / 비회원 구분 없이 사용되는 부분입니다.
			 */
			function DeleteContentReply(ZMCRID){
				$('txtHiddenZMCRID').value = ZMCRID;
				if(confirm('정말로 삭제하시겠습니까?')){MHz.V5.MediaMob.Ver5.ZBSMovieViewer.DeleteContentReply(ZMCRID, DeleteReply_CallBack);}}
			
			function DeleteReply_CallBack(res){
				var result = res.value;
				var ZMCID = $('txtHiddenZMCID').value;
				if(result){MHz.V5.MediaMob.Ver5.ZBSMovieViewer.BindContentReply(1, ZMCID, BindContentReply_CallBack);}}
									
			/*	
			 *  함수명 : CheckPassVisible / CheckPass / CheckPass_CallBack
			 *  설   명 : 비밀번호 입력을 위한 레이어 설정 / 리플을 삭제하기 위해 비밀번호 확인 호출 후 CallBack하는 부분입니다. [Init, Call, CallBack]
			 *  기   타 : 비회원에서만 사용되는 부분입니다.
			 *  참   고 : 초기화부분은 수정이 필요합니다. 
			 */
			function CheckPassVisible(ZMCRID){
				$('divCheckPass').style.display = "block";
				$('txtHiddenZMCRID').value = ZMCRID;	
				$('txtConfirmPass').value = "";
				$('txtConfirmPass').focus();
				$('divCheckPass').style.left = (posX + window.document.body.scrollLeft) +"px";
				$('divCheckPass').style.top = (posY + window.document.body.scrollTop) +"px";
				new Draggable('divCheckPass',{handle:'spanTitle'});}
			
			function CheckPass(){
				ZMCRID = $('txtHiddenZMCRID').value;
				var inputValue = $('txtConfirmPass').value;
				MHz.V5.MediaMob.Ver5.ZBSMovieViewer.CheckPassWd(ZMCRID, inputValue, CheckPass_CallBack);}
			
			function CheckPass_CallBack(res){
				var result = res.value;
				if(result){$('divCheckPass').style.display = "none";DeleteContentReply($('txtHiddenZMCRID').value);}
				else{alert('비밀번호가 틀립니다.');$('divCheckPass').style.display = "none";return false;}}
			
			
			/*	
			 *  함수명 : PrevReplyPage / PrevReplyPage_CallBack
			 *  설   명 : 댓글 리스트 이전 페이지 Ajax 호출 부분입니다. [Call / CallBack]
			 */			 
			function PrevReplyPage(){
				var ZMCID = $('txtHiddenZMCID').value;
				var PageNo = $('txtHiddenReplyPageNo').value;
				if(PageNo == "" || PageNo == null || PageNo <= 1){PageNo = 1;alert('첫 페이지 입니다.');}
				else{MHz.V5.MediaMob.Ver5.ZBSMovieViewer.BindContentReply(PageNo -1, ZMCID,  PrevReplyPage_CallBack);}}
			
			function PrevReplyPage_CallBack(res){
				if(res != null && res.value != null){
					if(res.value.ResultHtml != null && res.value.ResultHtml != ""){
						var strHTML =  res.value.ResultHtml;
						$('zbsCmt').style.display = "block";
						$('zbsCmt').innerHTML = strHTML;
					
						var PageNo = $('txtHiddenReplyPageNo').value;
						PageNo = parseInt(PageNo) - 1;
						$('txtHiddenReplyPageNo').value = PageNo;}
					else{alert('로딩 오류입니다. 다시 시도해주세요.');}
					
					if(res.value.ResultPager != null && res.value.ResultPager != ""){
						var strPager = res.value.ResultPager;
						MakePager(strPager);}}
				else{alert('로딩 오류입니다. 다시 시도해주세요.');}}
			
			/*	
			 *  함수명 : NextReplyPage / NextReplyPage_CallBack
			 *  설   명 : 댓글 리스트 다음 페이지 Ajax 호출 부분입니다. [Call / CallBack]
			 */			 			 
			function NextReplyPage(){
				var ZMCID = $('txtHiddenZMCID').value;
				var PageNo = $('txtHiddenReplyPageNo').value;
				var temp = parseInt(PageNo)+parseInt("1");
				MHz.V5.MediaMob.Ver5.ZBSMovieViewer.BindContentReply(temp, ZMCID, NextReplyPage_CallBack);}
			
			function NextReplyPage_CallBack(res){
				if(res != null && res.value != null){
					if(res.value.ResultHtml != null && res.value.ResultHtml != ""){
						var strHTML =  res.value.ResultHtml;
						$('zbsCmt').style.display = "block";
						$('zbsCmt').innerHTML = strHTML;
						
						var PageNo = $('txtHiddenReplyPageNo').value;
						PageNo = parseInt(PageNo) + 1;
						$('txtHiddenReplyPageNo').value = PageNo;}
					else{alert('마지막 페이지입니다.');}
					
					if(res.value.ResultPager != null && res.value.ResultPager != ""){
						var strPager = res.value.ResultPager;
						MakePager(strPager);}}
				else{alert('마지막 페이지입니다.');}}
			
			/*	
			 *  함수명 : FirstReplyPage / LastReplyPage / MovePage
			 *  설   명 : 댓글 리스트 처음 / 마지막 / 페이지번호 Ajax 호출 부분입니다. [Call]
			 */
			function FirstReplyPage(){
				var ZMCID = $('txtHiddenZMCID').value;
				$('txtHiddenReplyPageNo').value = 1;
				MHz.V5.MediaMob.Ver5.ZBSMovieViewer.BindContentReply(1, ZMCID,  BindContentReply_CallBack);}
			
			function LastReplyPage(){
				var ZMCID = $('txtHiddenZMCID').value;
				var PageNo = $('txtHiddenReplyLastPageNo').value;
				$('txtHiddenReplyPageNo').value = PageNo;
				MHz.V5.MediaMob.Ver5.ZBSMovieViewer.BindContentReply(PageNo, ZMCID,  BindContentReply_CallBack);}
		
			function MovePage(PageNo){
				var ZMCID = $('txtHiddenZMCID').value;
				$('txtHiddenReplyPageNo').value = PageNo;
				MHz.V5.MediaMob.Ver5.ZBSMovieViewer.BindContentReply(PageNo, ZMCID,  BindContentReply_CallBack);}
			
			/*	
			 *  함수명 : BindContentReply_CallBack
			 *  설   명 : Ajax 호출 후 List 바인딩 시키는 부분입니다. [CallBack]
			 *  기   타 : 회원 / 비회원 구분 없이 , Create, Update, Delete 모두 사용되는 부분입니다.
			 */
			function BindContentReply_CallBack(res){
				if(res !=null &&res.value != null){
					if(res.value.ResultHtml != null && res.value.ResultHtml != ""){
						var strHTML =  res.value.ResultHtml;
						$('zbsCmt').style.display = "block";
						$('zbsCmt').innerHTML = strHTML;}
					else{$('zbsCmt').style.display = "none";}
					
					if(res.value.ResultPager != null && res.value.ResultPager != ""){
						var strPager = res.value.ResultPager;
						MakePager(strPager);}
					
					if(res.value.ResultLastPagerNo != null && res.value.ResultLastPagerNo != 0){
						var strLastNo =  res.value.ResultLastPagerNo;
						$('txtHiddenReplyLastPageNo').value = strLastNo;}}
				else{alert('리플데이터 처리과정중에 에러가 발생하였습니다. 페이지를 Refresh한 후 다시 시도해주세요.');}}
				
			/*	
			 *  함수명 : MakePager
			 *  설   명 : Pager를 수정한다.
			 */			 	
			 function MakePager(strPager)
			 {
				var Pager = "<a href='javascript:;' onclick='FirstReplyPage();' class='nobg'><img src='images/common/page_first.gif' alt='처음 페이지로'></a>"
								+ "<a href='javascript:;' onclick='PrevReplyPage();' class='nobg'><img src='images/common/page_prev.gif' alt='이전 페이지로'></a>" 
								+ strPager
								+ "<a href='javascript:;' onclick='NextReplyPage();' class='nobg'><img src='images/common/page_next.gif' alt='다음 페이지로'></a>"
								+ "<a href='javascript:;' onclick='LastReplyPage();' class='nobg'><img src='images/common/page_last.gif' alt='마지막 페이지로'></a>";
				$('page').innerHTML = Pager;
			 }
			 	
			/*	
			 *  함수명 : PrevZBSList
			 *  설   명 : 이전 ZBS List를 요청 / CallBack			 
			 */			 	
			function NextZBSList(){
				var MovieID = $('txtMovieID').value;
				var PageNo = $('txtHiddenPageNo').value;
				if(PageNo == "" || PageNo == null || PageNo == 1){PageNo = 1;alert('첫 페이지입니다.');}
				else{MHz.V5.MediaMob.Ver5.ZBSMovieViewer.ZBSList(MovieID, PageNo -1, NextZBSList_CallBack);}}
			
			function NextZBSList_CallBack(res){
				if(res != null && res.value != null){
					var HTML = res.value;
					var PageNo = $('txtHiddenPageNo').value;
					$('zbsPrev').innerHTML = HTML;
					PageNo = parseInt(PageNo) - 1;}
					$('txtHiddenPageNo').value = PageNo;}
					
			/*	
			 *  함수명 : NextZBSList
			 *  설   명 : 다음 ZBS List를 요청 / CallBack			 
			 */			 	
			function PrevZBSList(){
				var MovieID = $('txtMovieID').value;
				var PageNo = $('txtHiddenPageNo').value;
				var temp = parseInt(PageNo)+parseInt("1");
				MHz.V5.MediaMob.Ver5.ZBSMovieViewer.ZBSList(MovieID, temp, PrevZBSList_CallBack);}
						
			function PrevZBSList_CallBack(res){
				if(res != null && res.value != null){
					var HTML = res.value;
					var PageNo = $('txtHiddenPageNo').value;
					$('zbsPrev').innerHTML = HTML;
					PageNo = parseInt(PageNo) + 1;
					$('txtHiddenPageNo').value = PageNo;}
				else
					alert('마지막 페이지입니다.');}
					
//]]>
