var var_cm_flg = false;
var var_data_no;
var var_meta_uid;
var var_cm_table;

var var_tb_flg = false;
var var_tb_data_no;
var var_tb_meta_uid;
var var_tb_table;

var var_op_flg = false;
var var_op_data_no;
var var_op_meta_uid;
var var_op_table;

//==============================================================================
//  SYSTEM      :  잠정판 크로스 프라우저 Ajax용 라이브러리
//  PROGRAM     :  XMLHttpRequest에 의한 송수신을 합니다
//  FILE NAME   :  jslb_ajaxXXX.js
//  CALL FROM   :  Ajax 클라이언트
//  AUTHER      :  Toshirou Takahashi http://jsgt.org/mt/01/
//  SUPPORT URL :  http://jsgt.org/mt/archives/01/000409.html
//  CREATE      :  2005.6.26
//  TEST-URL    :  헤더 http://jsgt.org/ajax/ref/lib/test_head.htm
//  TEST-URL    :  인증   http://jsgt.org/mt/archives/01/000428.html
//  TEST-URL    :  비동기 
//        http://allabout.co.jp/career/javascript/closeup/CU20050615A/index.htm
//  TEST-URL    :  SQL     http://jsgt.org/mt/archives/01/000392.html
//------------------------------------------------------------------------------
// 최신 정보   : http://jsgt.org/mt/archives/01/000409.html 
// 저작권 표시의무 없음. 상업 이용과 개조는 자유. 연락 필요 없음.
//
//

	////
	// 동작가능한 브라우저 판정
	//
	// @sample        if(chkAjaBrowser()){ location.href='nonajax.htm' }
	// @sample        oj = new chkAjaBrowser();if(oj.bw.safari){ /* Safari 코드 */ }
	// @return        라이브러리가 동작가능한 브라우저만 true  true|false
	//
	//  Enable list (v038현재)
	//   WinIE 5.5+ 
	//   Konqueror 3.3+
	//   AppleWebKit계(Safari,OmniWeb,Shiira) 124+ 
	//   Mozilla계(Firefox,Netscape,Galeon,Epiphany,K-Meleon,Sylera) 20011128+ 
	//   Opera 8+ 
	//
	function chkAjaBrowser()
	{
		var a,ua = navigator.userAgent;
		this.bw= { 
		  safari    : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 ,
		  konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 ,
		  mozes     : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 ,
		  opera     : (!!window.opera) && ((typeof XMLHttpRequest)=='function') ,
		  msie      : (!!window.ActiveXObject)?(!!createHttpRequest()):false 
		}
		return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
	}

	////
	// XMLHttpRequest 오브젝트 생성
	//
	// @sample        oj = createHttpRequest()
	// @return        XMLHttpRequest 오브젝트(인스턴스)
	//
	function createHttpRequest()
	{
		if(window.ActiveXObject){
			 //Win e4,e5,e6용
			try {
				return new ActiveXObject("Msxml2.XMLHTTP") ;
			} catch (e) {
				try {
					return new ActiveXObject("Microsoft.XMLHTTP") ;
				} catch (e2) {
					return null ;
	 			}
	 		}
		} else if(window.XMLHttpRequest){
			 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3용
			return new XMLHttpRequest() ;
		} else {
			return null ;
		}
	}
	
	////
	// 송수신 함수
	//
	// @sample         sendRequest(onloaded,'&prog=1','POST','./about2.php',true,true)
	// @param callback 송수신시에 기동하는 함수 이름
	// @param data	   송신하는 데이터 (&이름1=값1&이름2=값2...)
	// @param method   "POST" 또는 "GET"
	// @param url      요청하는 파일의 URL
	// @param async	   비동기라면 true 동기라면 false
	// @param sload	   수퍼 로드 true로 강제、생략또는 false는 기본
	// @param user	   인증 페이지용 사용자 이름
	// @param password 인증 페이지용 암호
	//
	function sendRequest(callback,data,method,url,async,sload,user,password)
	{
		//XMLHttpRequest 오브젝트 생성
		var oj = createHttpRequest();
		if( oj == null ) return null;
		
		//강제 로드의 설정
		var sload = (!!sendRequest.arguments[5])?sload:false;
		if(sload || method.toUpperCase() == 'GET')url += "?";
		if(sload)url=url+"t="+(new Date()).getTime();
		
		//브라우저 판정
		var bwoj = new chkAjaBrowser();
		var opera	  = bwoj.bw.opera;
		var safari	  = bwoj.bw.safari;
		var konqueror = bwoj.bw.konqueror;
		var mozes	  = bwoj.bw.mozes ;

		//송신 처리
		//opera는 onreadystatechange에 중복 응답이 있을 수 있어 onload가 안전
		//Moz,FireFox는 oj.readyState==3에서도 수신하므로 보통은 onload가 안전
		//Win ie에서는 onload가 동작하지 않는다
		//Konqueror은 onload가 불안정
		//참고 http://jsgt.org/ajax/ref/test/response/responsetext/try1.php
		if(opera || safari || mozes){
			oj.onload = function () { callback(oj); }
		} else {
		
			oj.onreadystatechange =function () 
			{
				if ( oj.readyState == 4 ){
					callback(oj);
				}
			}
		}

		//URL 인코딩
		data = uriEncode(data)
		if(method.toUpperCase() == 'GET') {
			url += data;
		}
		
		//open 메소드
		oj.open(method,url,async,user,password);

		//헤더 application/x-www-form-urlencoded 설정
		setEncHeader(oj);

		//디버그
		//alert("////jslb_ajaxxx.js//// \n data:"+data+" \n method:"+method+" \n url:"+url+" \n async:"+async);
		
		//send 메소드
		oj.send(data);

		//URI 인코딩 헤더 설정
		function setEncHeader(oj){
	
			//헤더 application/x-www-form-urlencoded 설정
			// @see  http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13.3
			// @see  #h-17.3
			//   ( enctype의 기본값은 "application/x-www-form-urlencoded")
			//   h-17.3에 의해、POST/GET 상관없이 설정
			//   POST에서 "multipart/form-data"을 설정할 필요가 있는 경우에는 커스터마이즈 해주세요.
			//
			//  이 메소드가 Win Opera8.0에서 에러가 나므로 분기(8.01은 OK)
			//var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8';
			var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=euc-kr';
			//var contentTypeUrlenc = 'text/html; charset=UTF-8';
			if(!window.opera){
				oj.setRequestHeader('Content-Type',contentTypeUrlenc);
			} else {
				if((typeof oj.setRequestHeader) == 'function')
					oj.setRequestHeader('Content-Type',contentTypeUrlenc);
			}	
			return oj;
		}

		//URL 인코딩
		function uriEncode(data){

			if(data!=""){
				//&와=로 일단 분해해서 encode
				var encdata = '';
				var datas = data.split('&');
				for(i=1;i<datas.length;i++)
				{
					var dataq = datas[i].split('=');
					encdata += '&'+encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
				}
			} else {
				encdata = "";
			}
			return encdata;
		}


		return oj;
	}

  function textEncode(string) {

	var datas = string.split('=');
	var dataq = '';
	var l = datas.length;
	var m = parseInt(l) - 1;

	for(i=0;i<l;i++)
	{
		if (i == m)
			dataq += datas[i];
		else
			dataq += datas[i]+'%3D';
	}
	return dataq;
  }

	function on_loaded3(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box").innerHTML=res
		var frm = document.all.formComment;
		frm.comment.value='';
	}

	function on_loaded3_7(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box3").innerHTML=res
		var frm = document.all.formComment3;
		frm.comment.value='';
		
		if(frm.st_name.value && frm.st_pass.value ){
			frm.st_name.value = "";
			frm.st_pass.value = "";
			frm.st_homepage.value = "";
		}

		if(var_cm_flg == true){
			op_tb_ct(var_data_no,var_meta_uid,'all','c',var_cm_table,'A');
		}
		
	}

	function on_loaded3_7_1(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box3").innerHTML=res
		var frm = document.all.formComment3;
		frm.comment.value='';
			
		if(var_cm_flg == true){
			op_tb_ct_search(var_data_no,var_meta_uid,'all','c',var_cm_table,'A');
		}
		
	}

	function on_loaded3_8_1(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box2").innerHTML=res
		var frm = document.all.frm_trackback;
		frm.title.value='';
		frm.body.value='';
		frm.pstTag.value='';
	
		if(var_tb_flg){
			op_tb_ct_search(var_tb_data_no,var_tb_meta_uid,'all','t',var_tb_table,'A');
		}	
	}

	function on_loaded3_8(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box2").innerHTML=res
		var frm = document.all.frm_trackback;
		frm.title.value='';
		frm.body.value='';
		frm.pstTag.value='';
	
		if(var_tb_flg){
			op_tb_ct(var_tb_data_no,var_tb_meta_uid,'all','t',var_tb_table,'A');
		}	
	}

	function SaveComment_search(mem_id,num,table,oPage,cPage,view_tb,pyn,kind,meta_uid)
	{
		var_mem_id = mem_id;
	  //alert(mem_id+','+num+','+table+','+oPage+','+cPage+','+view_tb+','+pyn);
	  if(kind=="comment"){

		  var comment = document.formComment3.comment.value;
			var_comment = comment;
		  if (mem_id && !comment)
		  {
			  alert("코멘트를 입력하세요.");
			  return false;
		  }
		  comment = textEncode(comment);

		  sendRequest(
			on_loaded3_7_1,         //콜백 함수
			'&mem_id='+mem_id+'&num='+num+'&comment='+comment+'&table='+table+'&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb+'&kind='+kind+'&meta_uid='+meta_uid, 'POST',         //데이터와 HTTP 메소드
			'/search/trackback/comment_opin.do.html', //URL
			 true,true          //비동기 강제 로드
		  ) 
		
		  if(mem_id && comment)	  var_cm_flg = true;// 전역변수
		  var_data_no		= num;					// 전역
		  var_meta_uid		= meta_uid;				// 전역
 		  var_cm_table		= table;				// 전역
				
	

	  }else if(kind=="opinion"){

		  var opinion = document.formComment.opinion.value;
		  if (mem_id && !opinion)
		  {
			  alert("평가글을 입력하세요.");
			  return false;
		  }
		  opinion = textEncode(opinion);

		  var point;

		  if (pyn == "y")
			  point = document.formComment.point.value;
		  else
			  point = "";

		  document.formComment.pyn.value = pyn;

		  sendRequest(
			on_loaded3_2_1,         //콜백 함수
			'&mem_id='+mem_id+'&num='+num+'&opinion='+opinion+'&point='+point+'&table='+table+'&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb+'&kind='+kind+'&meta_uid='+meta_uid, 'POST',         //데이터와 HTTP 메소드
			'/search/trackback/comment_opin.do.html', //URL
			 true,true          //비동기 강제 로드
		  ) 

		  if(mem_id && opinion)	  var_op_flg = true;// 전역변수
		  var_op_data_no		= num;					// 전역
		  var_op_meta_uid		= meta_uid;				// 전역
 		  var_op_table			= table;				// 전역
	  }else{
  		var title  = document.frm_trackback.title.value;
		var body   = document.frm_trackback.body.value;
		var tbURL  = document.frm_trackback.tbURL.value;
		var pstTag = document.frm_trackback.pstTag.value;
		var pstFolder = document.frm_trackback.pstFolder.value;

		if(mem_id && !title){
			alert("트랙백 타이틀을 입력하세요.");
			return false;
		}
		if(mem_id && !body){
			alert("트랙백 내용을 입력하세요.");
			return false;
		}

		if(mem_id && !tbURL){
			alert("트랙백 주소가 없어요");
			return false;
		}


	    if(mem_id && body && tbURL)	  var_tb_flg = true;// 전역변수
	    var_tb_data_no				  = num;					// 전역
	    var_tb_meta_uid				  = meta_uid;				// 전역
 	    var_tb_table				  = table;				// 전역

		//alert(mem_id+','+num+','+title+','+body+','+table+','+kind+','+tbURL);

		  sendRequest(
			on_loaded3_8_1,         //콜백 함수
			'&mem_id='+mem_id+'&num='+num+'&title='+title+'&body='+body+'&table='+table+'&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb+'&kind='+kind+'&tbURL='+tbURL+'&pstTag='+pstTag+'&pstFolder='+pstFolder+'&meta_uid='+meta_uid, 'POST',         //데이터와 HTTP 메소드
			'/search/trackback/comment_opin.do.html', //URL
			 true,true          //비동기 강제 로드
		  ) 


	  }//end if
	}

	function SaveComment(mem_id,num,table,oPage,cPage,view_tb,pyn,kind,meta_uid,flg)
	{
		var_mem_id = mem_id;
		if(kind=="comment"){
		//alert(mem_id+','+num+','+table+','+oPage+','+cPage+','+view_tb+','+pyn+','+kind+','+meta_uid);

			var ff = document.formComment3;

			var comment = ff.comment.value;
			var_comment = comment;
			
			// 로그인시
			if(ff.member_id.value){
				if(mem_id && !comment){
					alert("댓글을 입력하세요.");
					return false;
				}
			// 비로그인시
			} else {
				var st_name = ff.st_name.value;
				var st_pass = ff.st_pass.value;
				var st_homepage = ff.st_homepage.value;

				if(mem_id && !st_name){
					alert("이름을 입력하세요.");
					ff.st_name.focus();
					return false;
				}

				if(mem_id && !st_pass){
					alert("패스워드를 입력하세요.");
					ff.st_pass.focus();
					return false;
				}

				if(mem_id && !comment){
					alert("코멘트를 입력하세요.");
					ff.comment.focus();
					return false;
				}

			}
			comment = textEncode(comment);
		  
			if(!Check_CharLength(comment, 1024)){
				alert("댓글은 한글 512자, 영문 1024자까지 가능합니다.");
				ff.comment.focus();
				return false;
			}
		
			sendRequest(
				on_loaded3_7,         //콜백 함수
				'&mem_id='+mem_id+'&num='+num+'&comment='+comment+'&table='+table+'&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb+'&kind='+kind+'&meta_uid='+meta_uid+'&st_name='+st_name+'&st_pass='+st_pass+'&st_homepage='+st_homepage, 'POST',         //데이터와 HTTP 메소드
				'/comm/comment_opin.do.html', //URL
				true,true          //비동기 강제 로드
			) 
		
			if(mem_id && comment)	  var_cm_flg = true;// 전역변수
			var_data_no		= num;					// 전역
			var_meta_uid		= meta_uid;				// 전역
			var_cm_table		= table;				// 전역
				
	
	  }else if(kind=="opinion"){

		if(flg=="no"){
			alert('비방글은 안돼요');
			return false;
		}
		
		  var opinion = document.formComment.opinion.value;
		  if (mem_id && !opinion)
		  {
			  alert("평가글을 입력하세요.");
			  return false;
		  }
		  opinion = textEncode(opinion);

		  var point;

		  // 평가가 학점으로 변경되면서 변경됨 edit by crystal :: 06.11.14
		  var point_flg=false;
		  if (pyn == "y"){
			var len = document.getElementsByName("point").length;
			for(var i=0;i<len;i++){
				if(document.getElementsByName("point")[i].checked == true){
					point = document.getElementsByName("point")[i].value;
					point_flg = true;
				}
			}
			if(point_flg==false){
				alert('평점을 선택 하세요.');
				return false;
			}
		  } else {
			  point = "";
		  }
		  // 평가가 학점으로 변경되면서 변경됨 edit by crystal :: 06.11.14
		  /*	
		  if (pyn == "y")
			  point = document.formComment.point.value;
		  else
			  point = "";
		  */	
		  document.formComment.pyn.value = pyn;

		  sendRequest(
			on_loaded3_2,         //콜백 함수
			'&mem_id='+mem_id+'&num='+num+'&opinion='+opinion+'&point='+point+'&table='+table+'&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb+'&kind='+kind+'&meta_uid='+meta_uid, 'POST',         //데이터와 HTTP 메소드
			'/comm/comment_opin.do.html', //URL
			 true,true          //비동기 강제 로드
		  ) 

		  if(mem_id && opinion)	  var_op_flg = true;// 전역변수
		  var_op_data_no		= num;					// 전역
		  var_op_meta_uid		= meta_uid;				// 전역
 		  var_op_table			= table;				// 전역


	   }  else if(kind=="buy_ask"){

		  var comment = document.formComment10.body.value;
  		  var_comment = comment;
		  if (mem_id && !comment)
		  {
			  alert("문의글을 입력하세요.");
			  return false;

		  }
		  comment = textEncode(comment);
		  
		  if(!Check_CharLength(comment, 1024)){
			alert("문의글은 한글 512자, 영문 1024자까지 가능합니다.");
			document.formComment10.body.focus();
			return false;
		  }
		
		  sendRequest(
			on_loaded_buy_ask,         //콜백 함수
			'&mem_id='+mem_id+'&num='+num+'&body='+comment+'&table=data&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb+'&kind='+kind+'&meta_uid='+meta_uid, 'POST',         //데이터와 HTTP 메소드
			'/comm/comment_opin.do.html', //URL
			 true,true          //비동기 강제 로드
		  ) 
		
		  if(mem_id && comment)	  var_cm_flg = true;// 전역변수
		  var_data_no		= num;					// 전역
		  var_meta_uid		= meta_uid;				// 전역
 		  var_cm_table		= table;				// 전역
			

	  }else if(kind=="trackback"){

  		var title  = document.frm_trackback.title.value;
		var body   = document.frm_trackback.body.value;
		var tbURL  = document.frm_trackback.tbURL.value;
		var pstTag = document.frm_trackback.pstTag.value;
		var pstFolder = document.frm_trackback.pstFolder.value;

		if(mem_id && !title){
			alert("트랙백 타이틀을 입력하세요.");
			return false;
		}
		if(mem_id && !body){
			alert("트랙백 내용을 입력하세요.");
			return false;
		}

		if(mem_id && body){
			var cnt = 0;
			for(i=0; i<body.length; i++) {
				if(body.charCodeAt(i)>=0 && body.charCodeAt(i)<=127) {
								
				} else {
					cnt++;	
				}
			}//end for
			 
			if(cnt<=0) {
				alert('한글을 한글자 이상 입력해 주세요.'); 
				return false;
			}
		}

		if(mem_id && !tbURL){
			alert("트랙백 주소가 없어요");
			return false;
		}


	    if(mem_id && body && tbURL)	  var_tb_flg = true;// 전역변수
	    var_tb_data_no				  = num;					// 전역
	    var_tb_meta_uid				  = meta_uid;				// 전역
 	    var_tb_table				  = table;				// 전역

		//alert(mem_id+','+num+','+title+','+body+','+table+','+kind+','+tbURL);

		  sendRequest(
			on_loaded3_8,         //콜백 함수
			'&mem_id='+mem_id+'&num='+num+'&title='+title+'&body='+body+'&table='+table+'&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb+'&kind='+kind+'&tbURL='+tbURL+'&pstTag='+pstTag+'&pstFolder='+pstFolder+'&meta_uid='+meta_uid, 'POST',         //데이터와 HTTP 메소드
			'/comm/comment_opin.do.html', //URL
			 true,true          //비동기 강제 로드
		  ) 


	  } else {
		alert('잘못된 종류 입니다.');
		return false;
	  }
	}

	function on_loaded_buy_ask(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box3").innerHTML=res
		var frm = document.all.formComment10;
		frm.body.value='';
			
		if(var_cm_flg == true){
			//alert(var_data_no +','+ var_meta_uid +','+ 'all' +','+ 'a' +','+ var_cm_table +','+ 'A');
			op_tb_ct(var_data_no,var_meta_uid,'all','a',var_cm_table,'A');
		}
		
	}

	function SaveOpinion(mem_id,num,table,pyn,oPage,cPage,view_tb)
	{
	  var opinion = document.formOpinion.opinion.value;
	  if (mem_id && !opinion)
	  {
		  alert("평가글을 입력하세요.");
		  return false;
	  }
	  opinion = textEncode(opinion);

	  var point;

	  if (pyn == "y")
		  point = document.formOpinion.point.value;
	  else
		  point = "";

	  document.formOpinion.pyn.value = pyn;

	  sendRequest(
		on_loaded3_2,         //콜백 함수
		'&mem_id='+mem_id+'&num='+num+'&opinion='+opinion+'&point='+point+'&table='+table+'&oPage='+oPage+'&cPage='+cPage+'&view_tb='+view_tb, 'POST',         //데이터와 HTTP 메소드
		'/comm/opinion.do.html', //URL
		 true,true          //비동기 강제 로드
	  ) 
	}

	function on_loaded3_2_1(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box").innerHTML=res

		var pyn = document.formComment.pyn.value;
		if (pyn == "y")
		{
			var point = document.formComment.point.value;
			if (point.length > 0)
			{
				document.getElementById("div_point").style.display="none";
			}
		}

		var frm = document.all.formComment;
		frm.opinion.value='';

		if(var_op_flg == true){
			op_tb_ct_search(var_op_data_no,var_op_meta_uid,'all','o',var_op_table,'A');
		}
	}


	function on_loaded3_2(oj)
	{
		var res  =  oj.responseText
		document.getElementById("view_comment_box").innerHTML=res
		//document.getElementById("view_opinion").style.display="";
		//document.getElementById("view_tb").style.display="none";
		//document.formOpinion.reset();

		var pyn = document.formComment.pyn.value;
		if (pyn == "y")
		{
			// 평가가 학점으로 변경되면서 변경됨 edit by crystal :: 06.11.14	
			var len = document.getElementsByName("point").length;
			for(var i=0;i<len;i++){
				if(document.getElementsByName("point")[i].checked == true){
					var point = document.getElementsByName("point")[i].value;
				}
			}
			// 평가가 학점으로 변경되면서 변경됨 edit by crystal :: 06.11.14	
			//var point = document.formComment.point.value;
			if (point.length > 0)
			{
				document.getElementById("div_point").style.display="none";
			}
		}

		var frm = document.all.formComment;
		frm.opinion.value='';

		if(var_op_flg == true){
			op_tb_ct(var_op_data_no,var_op_meta_uid,'all','o',var_op_table,'A');
		}

	}

	function Copy2Clip(t,a,d) {
		window.clipboardData.setData("text", t);
		alert(a);
		if (d) document.getElementById(d).style.display='none';
	}

