//뒤로가기시 스크롤처리
document.viewport = {
   getDimensions: function() {
      var dimensions = { };
      $w('width height').each(function(d) {
         var D = d.capitalize();
         dimensions[d] = self['inner' + D] ||
         (document.documentElement['client' + D] || document.body['client' + D]);
      });
      return dimensions;
   },
   getWidth: function() {
      return this.getDimensions().width;
   },
   getHeight: function() {
      return this.getDimensions().height;
   },
   getScrollOffsets: function() {
      return Element._returnOffset(
      window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
         window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
   }
};

//체크박스 선택유무 체크 (삭제처리시 선택갯수 체크)
function FuncDftBoxSelectChecked(chk_name,chk_num_nm){
   var ChkVal = "N";
    var count  =  document.getElementsByName(chk_num_nm)[0].value;

   for(i=0; i<count; i++){
      if(document.getElementsByName(chk_name+i)[0].checked == ""){
      }else{
         ChkVal = "Y";
      }
   }
   if(ChkVal=="Y"){
      return 1;
   }else{
      window.alert("선택된 항목이 없습니다.");
      return 2;
   }
}

// ALL_checked('선택박스이름','대상타겟','체크박스수폼이름');
function ALL_checked(order_name,target_name,count_name){
    var count =   document.getElementsByName(count_name)[0].value;
    if(document.getElementsByName(order_name)[0].checked){
        for(i=0; i<count; i++){
            document.getElementsByName(target_name+i)[0].checked = "checked";
        }
    }else{
        for(i=0; i<count; i++){
            document.getElementsByName(target_name+i)[0].checked = "";
        }
    }
}

//체크박스 선택용 체크박스 히든시 : 한개씩선택시
function SINGIL_checked(val,chk_name,tbl_name){
   if(document.getElementsByName(chk_name+val)[0].checked == ""){
      document.getElementsByName(chk_name+val)[0].checked = "checked";
   }else{
      document.getElementsByName(chk_name+val)[0].checked = "";
   }
}

// 전체선택 체크박스 이미지로 대체
function ALL_IMG_checked(main_chk_nm,sub_chk_nm,total_chk_num){
   if(   document.getElementsByName(main_chk_nm)[0].checked == ""){
      document.getElementsByName(main_chk_nm)[0].checked = "checked";
   }else{
      document.getElementsByName(main_chk_nm)[0].checked = "";
   }
   ALL_checked(main_chk_nm,sub_chk_nm,total_chk_num);
}

// ALL_checked('선택박스이름','대상타겟','체크박스수폼이름');
function ALL_TBL_checked(order_name,target_name,count_name,tbl_name,on_color,off_color){
    var count =   document.getElementsByName(count_name)[0].value;
    if(document.getElementsByName(order_name)[0].checked){
        for(i=0; i<count; i++){
            document.getElementsByName(target_name+i)[0].checked = "checked";
            document.getElementsByName(tbl_name+i).style.backgroundColor = off_color;
        }
    }else{
        for(i=0; i<count; i++){
            document.getElementsByName(target_name+i)[0].checked = "";
            document.getElementsByName(tbl_name+i).style.backgroundColor = on_color;
        }
    }
}

//테이블 변화용 체크박스 : 한개씩선택시
function SINGIL_TBL_checked(val,chk_name,tbl_name,off_color,on_color){
   if(document.getElementsByName(chk_name+val)[0].checked == ""){
      document.getElementsByName(chk_name+val)[0].checked = "checked";
      document.getElementsByName(tbl_name+val).style.backgroundColor = on_color;
   }else{
      document.getElementsByName(chk_name+val)[0].checked = "";
      document.getElementsByName(tbl_name+val).style.backgroundColor = off_color;
   }
}

// 전체선택 체크박스 이미지로 대체 (테이블변화용)
function ALL_IMG_TBL_checked(main_chk_nm,sub_chk_nm,total_chk_num,tbl_chk_nm,off_color,on_color){
   if(   document.getElementsByName(main_chk_nm)[0].checked == ""){
      document.getElementsByName(main_chk_nm)[0].checked = "checked";
   }else{
      document.getElementsByName(main_chk_nm)[0].checked = "";
   }
   ALL_TBL_checked(main_chk_nm,sub_chk_nm,total_chk_num,tbl_chk_nm,off_color,on_color);
}

// 텝키 검사 (게시글 작성시 텝키를 검사하여 공백을 채운다)
function FuncTabCheked(field){
   if(event.keyCode==9){
      field.focus();
      tabspace = "         ";
      field.selection=document.selection.createRange();
      field.selection.text=tabspace;
      event.returnValue = false;
   }
}

//천단위 콤마입력
function FuncNumberComma(num){
   var sign="";
   if(isNaN(num)) {
//      window.alert("숫자만 입력할 수 있습니다.");
      return 0;
   }
   if(num==0){
      return num;
   }
   if(num<0){
      num=num*(-1);
      sign="-";
   }else{
      num=num*1;
   }
   num = new String(num)
   var temp="";
   var pos=3;
   num_len=num.length;

   while (num_len>0){
      num_len=num_len-pos;
      if(num_len<0) {
         pos=num_len+pos;
         num_len=0;
      }
      temp=","+num.substr(num_len,pos)+temp;
   }
   return sign+temp.substr(1);
}

//문자열길이검사 리턴
function FuncStringSizeReturn(str) {
 var byteLength = 0;
 for (inx = 0; inx < str.length; inx++) {
    var oneChar = escape(str.charAt(inx));
    if ( oneChar.length == 1 ) {
       byteLength ++;
    } else if (oneChar.indexOf("%u") != -1) {
       byteLength += 2;
    } else if (oneChar.indexOf("%") != -1) {
       byteLength += oneChar.length/3;
    }
 }
 return byteLength;
}

// 자바스크립트 문자열치환
function FucRepaceScript(searchStr,replaceStr,value){
   while( value.indexOf( searchStr ) != -1 ){
      value = value.replace( searchStr, replaceStr );
   }
   return value;
}

//메일주소 자동입력
function FuncDftEmailToAutoInsert(inputer,addr){
   if(document.getElementsByName(inputer)[0]){
      if(!document.getElementsByName(inputer)[0].value){
         window.alert('기본 메일주소를 입력하세요');
         document.getElementsByName(inputer)[0].focus();
         return false;
      }else{
         if(addr){addr = "@"+addr;}
         var mail = document.getElementsByName(inputer)[0].value;
         var arrMail = new Array();
         arrMail = mail.split("@");
         document.getElementsByName(inputer)[0].value = arrMail[0]+addr;
      }
   }else{
      window.alert("객체가 존재하지 않습니다.");
   }
}

//입력시 특수문자 경고
function FuncAutoKeyCheck(data,form){
   var data = document.getElementsByName(form)[0].value;
   for(var i=0; i<data.length; i++) { 
      ch_char = data.charAt(i);
      ch = ch_char.charCodeAt();
      if( (ch >= 33 && ch <= 47) || (ch >= 58 && ch <= 64) || (ch >= 91 && ch <= 96) || (ch >= 123 && ch <= 126) ) {
         alert("문자 " +ch_char+ " 를 사용할 수 없습니다");
         document.getElementsByName(form)[0].value = "";
         return false;
      }
   }
}

//포커스이동
function FuncDftNextFocus(where){
   if(event.keyCode == 13){
      where.focus();
   }
}

//파일용량 치환
function FuncDftFileSize(num){
   if(num){
      num = num / (1024*1024);
      num = num.toFixed(2);
      return num+" Mbyte";
   }
}

//폼값 한글/길이검사
function FuncFormLengthStrChecker(strUserID,min,max,kochk){
   var RtnValue = "";
   if(kochk == 'Y'){      //한글검사
      var nIndex;
      var chrCurrent;
      var ascChrCurrent;
      var strInvalid;
      var bReturn;
      // for the length of the string...
      for ( nIndex = 0; nIndex < strUserID.length; nIndex++){
          ascChrCurrent = strUserID.charAt(nIndex);
          if ( (ascChrCurrent >= '0' && ascChrCurrent <= '9') || (ascChrCurrent >= 'a' && ascChrCurrent <= 'z') || (ascChrCurrent >= 'A' && ascChrCurrent <= 'Z') ){
             bReturn = true;
          }else{
             bReturn = false;
            break;
         }
      }
      if(!bReturn==true){
         return false;
      }
   }
   // 문자열길이검사
   if(( strUserID.length <= 0 ) ||  (strUserID.length < min) || (strUserID.length > max)){
      return false;
   }
   return 1;
}

//클릭위치 -> 브라우저환경에 따른 처리
function FuncDftDivBrowserToPoint(EvKey,name){
   if(document.getElementById(name)){
      if(SETT_ICARUSX_brower == "Firefox"){
         document.getElementById(name).style.left   = document.body.scrollLeft+EvKey.clientX+"px";
         document.getElementById(name).style.top    = document.body.scrollTop+EvKey.clientY+"px";
      }else{
         document.getElementById(name).style.pixelLeft   = document.body.scrollLeft + EvKey.clientX;
         document.getElementById(name).style.pixelTop    = document.body.scrollTop  + EvKey.clientY;
      }
   }else{
      window.alert(""+name+" 객체가 없습니다.");
      return false;
   }
}

//손실이미지를 대체이미지로 변경
function FuncDftCheckImages(){
   if(document.getElementById){
      var arrImage = new Array();
      var setDftErrImg= SETT_ICARUSX_domain+"img_pack/img_error.gif";         //x박스 대신 대체할 이미지
      var setDftErrTxt="Image Not Found";                                     //alt에 출력될 텍스트
      arrImage = document.getElementsByTagName("img");
      for(var i=0; i<arrImage.length; i++){
         if(!arrImage[0].getAttribute("nc")=="1"){
            var tempImgAttrib=arrImage[i].getAttribute("alt");
            arrImage[i].setAttribute("alt","");
            if(arrImage[i].width=="28" && arrImage[i].height=="30"){
            arrImage[i].src=setDftErrImg;
            arrImage[i].setAttribute("alt",setDftErrTxt);
            }else{
               arrImage[i].setAttribute("alt",tempImgAttrib);
            }
         }
      }
   }
}

//PNG 파일 투명화
function FuncDftSetPng24(obj){
   if(SETT_ICARUSX_brower == "Ie"){
      obj.width=obj.height=1;
      obj.className=obj.className.replace(/\bpng24\b/i,'');
      obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');";
      obj.src='';
      return '';
   }
}

