/////////////////////////////////////////////////////////////////
// ●파일 : /js/common/common.js
// ●설명 : 전체 자바스크립트 (자주 쓰이는 스크립트)
// ●작성자 : by NINE
/////////////////////////////////////////////////////////////////

//XMLHTTP객체 생성//
function XMLHTTP()
{
  if(typeof XMLHttpRequest != "undefined")
  {
    //IE7.0이상, 넷스케이프 7.0이상, 모질라 1.0
    return new XMLHttpRequest();
  }
  else if(window.ActiveXObject)
  {
    var xml_versions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
    var i, oXmlHttp;
    
    for(i=0;i<xml_versions.length;i++)
    {
      try
      {
        oXmlHttp = new ActiveXObject(xml_versions[i]);
        return oXmlHttp;
      }
      catch(oError)
      {
        //에러처리는 할게 없음.
      }
    }
  }
  throw new Error("XMLHttp object could not be created.");
}
  
// 문자열 공백 제거 //
String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,'') };

//코멘트 수정창 열기 //
function comment_modi_view(view_id)
{
  var comment_view_id, comment_modi_id;
  
  comment_view_id = "comment_view_" + view_id;
  comment_modi_id = "comment_modi_" + view_id;

  document.getElementById(comment_view_id).style.display="none";
  document.getElementById(comment_modi_id).style.display='';
}

//코멘트 작성시 퍼스타콘 설정 //
function setpersnacon(icon_view,iconid,type) 
{ 
  var img, icon_id;
  
  img = document.getElementById("persnacon"+type);
  icon_id = document.getElementById("icon_id"+type); 
  
  img.src = "/imgs/common/icon/icon_" + iconid + ".gif";
  icon_id.value = iconid;
  
  MM_showHideLayers(icon_view,'','hide');
}

// 레이어 보이기 감추기 //
function MM_showHideLayers() 
{
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  
  for (i=0; i<(args.length-2); i+=3)
  {
    if ((obj=MM_findObj(args[i]))!=null) 
    { 
      v=args[i+2];
      
      if (obj.style) 
      { 
        obj=obj.style; 
        v=(v=='show')?'visible':(v='hide')?'hidden':v; 
      }
      
      obj.visibility=v; 
    }
  }
}

// 오브젝트 찾기 //
function MM_findObj(n, d) 
{ //v4.01
  var p,i,x;  
  
  if(!d) 
    d=document; 
    
  if((p=n.indexOf("?"))>0&&parent.frames.length) 
  {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  }
  
  if(!(x=d[n])&&d.all) 
    x=d.all[n]; 
    
  for (i=0;!x&&i<d.forms.length;i++) 
    x=d.forms[i][n];
    
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
    x=MM_findObj(n,d.layers[i].document);
    
  if(!x && d.getElementById) 
    x=d.getElementById(n); 
    
  return x;
}
	
/* 게시물 추천 */
function recommend_action(recommend_action, bid, tid) 
{
  if(confirm("해당 게시물을 추천하시겠습니까? 한 게시물당 한 번만 추천해 주세요. 중복된 추천은 허용하지 않습니다."))
  {
		xmlhttp = XMLHTTP();
    
    with(xmlhttp) 
    {
      open("POST", "/bbs/recommend_action.php", false);
      setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      send("recommend_action=" + recommend_action + "&bid=" + bid + "&tid=" + tid);
      addHtml = responseText;
      
      window.alert(addHtml);
    }
  }
  else
  {
    return false;
  }
}

/* 팝업창 오픈용 함수 */
function open_popup(fnc)
{
  //기본 변수 설정
  var total_args = open_popup.arguments;         //넘어온 모든 인수를 저장하는 변수 설정
  var args = [];                                 //URI로 작성 될 인수를 저장하는 변수 설정
  var open_uri;                                  //팝업할 URL주소를 저장하는 변수 설정
  var loop_i;                                    //루프문을 반복하기 위한 기초 변수 설정
  
  
  //인수저장
  for(loop_i=3;loop_i<total_args.length;loop_i++)
  {
    args[loop_i-3] = total_args[loop_i]; 
  }
  
  //넘어온 인수가 있나 확인하여 인수가 있으면 팝업하려는 URL에 URI를 붙인다.
  if(args.length > 0)
  {
    open_uri = "?";
    
    for(loop_i=0;loop_i<args.length;loop_i++)
    {
      if (loop_i == 0) 
      {
        open_uri += "args" + loop_i + "=" + args[loop_i];
      }
      else
      {
        open_uri += "&args" + loop_i + "=" + args[loop_i];
      } 
    }
  }
  
  //URL을 완성한다.
  open_uri = total_args[0] + open_uri;

  //팝업창을 오픈한다.
  window.open(open_uri, total_args[1], total_args[2]);
}

/* 우편번호 찾기창 출력용 함수 */
function zip_search(form_name, zip1, zip2, addr, addr2, zip_opt)
{
  var open_url = "/inc/common/zip_search.php";         //팝업할 URL주소
  var open_name = "ZIP_SEARCH_VIEW";                     //팝업할 윈도우 이름
  
  //팝업시 윈도우 옵션
  var open_opt = "left=100,top=100,width=435,height=350,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes";
  
  open_popup(open_url, open_name, open_opt, form_name, zip1, zip2, addr, addr2, zip_opt);     //팝업 윈도우
}

/* 숫자에 콤마 찍기 */
function number_format(price)
{ 
  price=new String(price);
  
  var tstrLen=price.length;
  var okstr=new String();
  var ii=2;
  var comma=3;
  
  for(var i=tstrLen;i>=0;--i)
  {
    if(ii%comma==0&&i!=tstrLen)
    {
      okstr=","+okstr;
      ii=0;
    }
    
    okstr=price.charAt(i)+okstr;
    ++ii;
  }
  
  okstr=okstr.substring(0,parseInt(okstr.length)-1);
  
  return okstr;
}

/* 제품정보 퍼가기 */
function copy_clip(pid)
{
  frame.location.href="/product/product_copy_clip.php?pid="+pid;
}

/* 제품정보 복사 루틴*/
function pinfo_copy(pid) 
{
  var xmlhttp;
  
  xmlhttp = XMLHTTP();
  
  with(xmlhttp) 
  {
    open("POST", "/product/pinfo_copy_count.php", false);
    setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    send("pid="+pid);
    addHtml = responseText;
  }
  
  var txt = document.body.createTextRange();
  txt.moveToElementText(document.all('copyarea'));
  txt.select();
  txt.execCommand("copy");
  document.selection.empty(); 
  alert("상품정보가 복사되었습니다. 에디터가 탑재된 게시판에서 사용하세요.");
}

/* 게시물 퍼가기 */
function copy_board_clip(bid, pid)
{
  frame.location.href="/bbs/bbs_copy_clip.php?bid="+bid+"&pid="+pid;
}

/* 게시물 내용 복사 */
function bbs_content_info_copy() 
{
  var txt = document.body.createTextRange();
  txt.moveToElementText(document.all('copyarea_event'));
  txt.select();
  txt.execCommand("copy");
  document.selection.empty(); 
  alert("정보가 복사되었습니다. 에디터가 탑재된 게시판에서 사용하세요.");
}

/* 체크박스 전체 체크 */
function all_check(all_check, check_id, count)
{
  var check_id_count, tmp_i, change_check;
  
  if(count)
  {
    check_id_count = count;
  }
  else
  {
    check_id_count = document.getElementsByName(check_id+'[]').length;
  }
  
  if(all_check.checked)
  {
    change_check = true;
  }
  else
  {
    change_check = false;
  }

  for(tmp_i=1;tmp_i<=check_id_count;tmp_i++)
  {
    document.getElementById(check_id+"["+tmp_i+"]").checked = change_check;
  }
}

/* 메인 팝업창 Start 쿠키정보 가져오기 */
function getCookie(strName)
{
  var strArg = new String(strName + "="); 
  var nArgLen, nCookieLen, nEnd;
  var i = 0, j;

  nArgLen    = strArg.length;
  nCookieLen = document.cookie.length;

  if(nCookieLen > 0) 
  {
    while(i < nCookieLen) 
    {
      j = i + nArgLen;
      
      if(document.cookie.substring(i, j) == strArg) 
      {
        nEnd = document.cookie.indexOf (";", j);
        
        if(nEnd == -1) 
          nEnd = document.cookie.length;
          
        return unescape(document.cookie.substring(j, nEnd));
      }
      
      i = document.cookie.indexOf(" ", i) + 1;

      if (i == 0) break;
    }
  }
  
  return("");
}

/* 팝업쿠키 설정 */
function setCookie( name, value, expiredays )
{
    var todayDate = new Date();
    todayDate.setDate( todayDate.getDate() + expiredays );
    document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

/* 레이어완전히감추기 */
function closehiddenlayer(layer_id)
{
  var layer = "ak_pop_"+layer_id;
  
  if(1)
  {
    setCookie(layer, "true" ,1 );
    document.getElementById(layer).style.visibility = "hidden";
  }
  else
  {
    document.getElementById(layer).style.visibility = "hidden";
  }
}

/* 레이어감추기 */
function closelayer(layer_id)
{
  var layer = "ak_pop_"+layer_id;
  
  document.getElementById(layer).style.visibility = "hidden";
}

/* 쿠키 설정후 현재창 닫기 */
function closeWin(cookie_name)
{
  if(1)
  {
    setCookie(cookie_name, "true" ,1 );
    this.close();
  }
  else
  {
    this.close();
  }
}

/* 제품등록 팝업창 열기 */
function OpenBuyProductRegist(userid)
{
  open_popup("/member/buy_product_regist.php", "buy_product_regist", "width=620,height=400,menubar=0,status=0,scrollbars=yes", userid);
}

/* 글자수 확인 */
function str_length_checker(checker, check_length) 
{
  var msgtext, msglen;
  
  msgtext = checker.value;
  msglen = check_length;
  
  var i=0,l=0;
  var temp,lastl; 
  
  //길이를 구한다.
  while(i < msgtext.length)
  {
    temp = msgtext.charAt(i);
    
    if (escape(temp).length > 4)
      l+=2;
    else if (temp!='\r')
      l++;

    if(l>msglen)
    {
      alert(msglen+" byte를 초과하였습니다.");
      temp = checker.value.substr(0,i);
      checker.value = temp;
      l = lastl;
      break;
    }

    lastl = l;
    i++;
  }
}

