/*==========================================================
	파일명		:write.js
	파일설명		:게시판에서 게시물작성처리용 함수들	
	
==========================================================*/
/***********************************************************
	함수명		:chkMsgLength()
	처리내용		:글자수 체크하는 함수 
***********************************************************/
function chkMsgLength(intMax,objMsg,st)
 {        
         var length = lengthMsg(objMsg.value);
         
         var lastleng = 600-length*2;
         output.innerHTML = length;//현재 byte수를 넣는다
         if (lastleng > intMax*2) 
         {
          alert("최대 " + intMax + "자 이므로 초과된 글자수는 자동으로 삭제됩니다.\n");
        
          objMsg.value = objMsg.value.replace(/\r\n$/, "");
          objMsg.value = assertMsg(intMax*2,objMsg.value,st );
          objMsg.focus();
         }
}
 function lengthMsg(objMsg) 
 {
     var nbytes = 0;
 
     for (i=0; i<objMsg.length; i++)
      {
      var ch = objMsg.charAt(i);
      if(escape(ch).length > 4)
      {
        nbytes += 2;
      }
      else if (ch == '\n') 
      {
       if (objMsg.charAt(i-1) != '\r') 
       {
        nbytes += 1;
       }
      }
      else if (ch == '<' || ch == '>') 
      {
       nbytes += 4;
      }
      else
      {
       nbytes += 1;
      }
     }

   return (600-nbytes)/2;
}
function assertMsg(intMax,objMsg,st ) 
{
     var inc = 0;
     var nbytes = 0;
     var msg = "";
     var msglen = objMsg.length;

     for (i=0; i<msglen; i++) 
     {
      var ch = objMsg.charAt(i);
      if (escape(ch).length > 4) {
      inc = 2;
     }
     else if (ch == '\n')
     {
       if (objMsg.charAt(i-1) != '\r')
       {
       inc = 1;
       }
     }
     else if (ch == '<' || ch == '>')
     {
       inc = 4;
      }
     else
     {
       inc = 1;
     }
     if ((nbytes + inc) > intMax)
    {
      break;
     }
      nbytes += inc;
      msg += ch;
     }
     output.innerHTML = (600-nbytes)/2; //현재 byte수를 넣는다
     return msg;
}
/***********************************************************
	함수명		:show_write()
	처리내용		:게시물 작성폼을 출력
***********************************************************/


function show_write(productCode , pagenum ) 
{
   if(!loginCheck())
   {
	var output = document.getElementById("comment_list");
	var outhtml = "";
	
	CURR_PRODUCT_CODE = productCode;
	THISPAGE = pagenum;
	
	output.innerHTML = "";	
	
	    outhtml = " <table width='100%' border='0' cellpadding='0' cellspacing='0' id='Product_tab'> ";
        outhtml += " <tr> ";   
        outhtml += " <td> ";
        outhtml += " <ul> ";
        outhtml += " <li class='start_off'></li> ";
        outhtml += " <li class='text_off'><a  href='#loca1' onClick=act_replyList(1,'"+CURR_PRODUCT_CODE+"'); style='cursor:hand'  >상품후기</a></li> ";
        outhtml += " <li class='start_on'></li> ";
        outhtml += " <li class='text_on'><a href='#loca2' onClick=act_qnalist(1,'"+CURR_PRODUCT_CODE+"'); style='cursor:hand'  >상품문의</a></li> ";
        outhtml += " </ul> ";
        outhtml += " </td> ";
        outhtml += " </tr> ";
        outhtml += " </table> ";
       
        outhtml += "<table width='100%' border='0' cellspacing='0' cellpadding='0' id='Product_table2'>";            
        outhtml += "<tr>";
        outhtml += "<th>제목</th>";
        outhtml += "<td><input type='text' name='QnAtitle' id='QnAtitle'  /></td>";
        outhtml += "</tr>";    
        outhtml += "<th valign='top'>내용</th>";
        outhtml += "<td><textarea name='QnAmemo'  id='QnAmemo'></textarea></td>";
        outhtml += "</tr>";       
        outhtml += "</table>";
        
        outhtml += "<div id='Product_btn2'>";
        outhtml += "<ul>";
        outhtml += "<li class='start'></li>";
        outhtml += "<li><a href='#loca2' onClick=act_qna_write();>등록하기</a></li>";
        outhtml += "<li class='start'></li>";
        outhtml += "<li><a href='#loca2' onClick=act_qnalist(1,'"+CURR_PRODUCT_CODE+"');> 취소</a></li>";
        outhtml += "</ul>";
        outhtml += "</div>";
        outhtml += "</div>";
       		
	output.innerHTML = outhtml;
  }	
}    
/***********************************************************
	함수명		:act_write()
	처리내용		:게시물 작성완료버튼을 눌렀을경우의 처리
***********************************************************/
function reset_alert_count(){ 
    swear_alert_count=0; 
}

function act_qna_write() {  
   
    var swear_words_arr= new Array("섹스","놈","슴가","새끼","미친년","미친뇬","개뇬","개년","개놈","븅알","붕신","씨발","띠발","씨발람아","좇나",
                                   "존나","애무","애므","지랄","등신","연놈","개병신","자지","보지","꼬추","고추","디질래","뒤진다",
                                   "새캬","엿먹어라","븅신","씨댕","ㄱ ㅐ ㅅ ㅐ ㄲ ㅣ","즐","꺼져","븅웅신","쳐먹어라","똥","오줌","싼다","질질","씨밸넘",
                                   "떠그랄","좆밥","쉐이","SHUOKING","쌍년","쌍놈","빙신","좆까","니기미","좆같은게","잡놈","벼엉신","십팔","소새끼",
                                   "SEX","sex","씨팔","뻑큐","빡큐","애자","장애인","쉑기","병신","쉑히","쓰레기","병,신","개,새,끼","개.새.끼",
                                   "병.신","시발년","젖","뷰웅신","뷰웅신","븅신","새키","니미","시발","<<",">>","<",">"); 
                                   
                                   
   var swear_alert_arr= new Array; 
   var swear_alert_count=0; 
    
    if(document.getElementById("QnAtitle").value.length<0 ||document.getElementById("QnAtitle").value == null || document.getElementById("QnAtitle").value =="" )
    {
       alert('제목을 입력해주세요.');                          
       return;
    }
    if(document.getElementById("QnAmemo").value.length<0 ||document.getElementById("QnAmemo").value == null || document.getElementById("QnAmemo").value =="" )
    {
       alert('내용을 입력해주세요.');
       return;
    }
    else if (document.getElementById("QnAtitle").value.length > 60) 
    {
      alert('30자 이상은 쓰실수 없습니다.');      
      return;
    } 
    else if (document.getElementById("QnAmemo").value.length > 0 || document.getElementById("QnAmemo").value != null) 
    { 
                    reset_alert_count();
                    
                    var compare_text= document.getElementById("QnAmemo").value; 
                    for(var i=0; i<swear_words_arr.length; i++)
                    { 
                        for(var j=0; j<(compare_text.length); j++)
                        { 
                                if(swear_words_arr[i]==compare_text.substring(j,(j+swear_words_arr[i].length)).toLowerCase()) 
                                { 
                                swear_alert_arr[swear_alert_count]=compare_text.substring(j,(j+swear_words_arr[i].length)); 
                                swear_alert_count++;                               
                                
                                } 
                        } 
                    }
                          
                    if(swear_alert_count>0) 
                    { 
                        alert( '욕 또는 <,>를  제거해주세요' );                         
                        return;
                    }       
    
    
    }
     else if (document.getElementById("QnAtitle").value.length > 0 || document.getElementById("QnAtitle").value != null) 
    { 
                    reset_alert_count(); 
                    var compare_text= document.getElementById("QnAtitle").value; 
                    for(var i=0; i<swear_words_arr.length; i++)
                    { 
                        for(var j=0; j<(compare_text.length); j++)
                        { 
                                if(swear_words_arr[i]==compare_text.substring(j,(j+swear_words_arr[i].length)).toLowerCase()) 
                                { 
                                swear_alert_arr[swear_alert_count]=compare_text.substring(j,(j+swear_words_arr[i].length)); 
                                swear_alert_count++;                               
                                
                                } 
                        } 
                    }
                                                
                    if(swear_alert_count>0) 
                    { 
                        alert( '욕 또는 <,>를  제거해주세요' );                         
                        return;
                    }       
    
    
    }
    else
    {  
    	alert("오류가 발생하였습니다. 잠시후 이용해 주세요.");
    }    	
    
    REQ = newXMLHttpRequest();//req 객체반환
   	var handlerFunction = processReqWrite;
   	REQ.onreadystatechange = handlerFunction;//응답이 완료되면 자동으로 실행되도록 JavaScript 콜백 함수를 정의
   	var title = document.getElementById("QnAtitle").value;//작성한 게시물제목    	
   	var memo = document.getElementById("QnAmemo").value;//작성한 게시물내용
   	
   	//요청처리    	
   	
   	REQ.open("POST", "/MallQnAInsert.do", true);
   	REQ.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
   	REQ.send("title="+title+"&memo="+memo+"&productCode="+CURR_PRODUCT_CODE);
}
/***********************************************************
	함수명		:processReqWrite()
	처리내용		:게시물 작성후 처리될 콜백함수(작성후 게시물리스트를 표시한다)
***********************************************************/
function processReqWrite() {
	// only if req shows "loaded"
	if (REQ.readyState == 4) {
		// only if "OK"
		if (REQ.status == 200) {		    
			act_qnalist(THISPAGE , CURR_PRODUCT_CODE);
		} else {
			alert(" 시스템 오류입니다.\n" +
			REQ.statusText);
		}
	}//if
}
