//serialize 쿼리문 출력
function FuncDftAjaxSerializeTagPrint(data,DivName){
   var arrString = new Array();
   arrString = data.split("&");
   var string = "";
   string = "<table width='100%' border='1'>";
   for(i=0; i<arrString.length; i++){
      string+= "<tr><td>"+arrString[i]+"</td></tr>";
   }
   string+= "</table>";
   $("#"+DivName).html($("#"+DivName).html()+string);
}

//스트링 방식의 폼값 전송시 처리 -> 크로스 브라우저등에서 이용 -> 프레임웍 없을시이용
function FuncDftAjaxGetToFormArrayChanger(arrForm){
   var string = "";
   var ArrayForm = new Array();
   ArrayForm = arrForm.split("&");
   var Fval = "";
   for(i=0; i<ArrayForm.length; i++){
      if(document.getElementsByName(ArrayForm[i])[0]){
         Fval = "";
         //IE 가 아닌 다른브라우저에서 프로토타입.js 를 이용할수없음
         //폼값을 배열화 해서 만들어야함으로 select box 와 chkeck , radio 폼값을 우선체크해야함
         if(document.getElementsByName(ArrayForm[i])[0].type == "checkbox"){                 //checkbox 객체

            for(ix=0; ix<document.getElementsByName(ArrayForm[i]).length; ix++){
               //객체를 for 문으로 체크하여 값을 받아야함
               if(document.getElementsByName(ArrayForm[i])[ix].checked == true){
                  Fval = document.getElementsByName(ArrayForm[i])[ix].value;
               }
            }
         }else if(document.getElementsByName(ArrayForm[i])[0].type == "radio"){              //radio 박스
            for(ix=0; ix<document.getElementsByName(ArrayForm[i]).length; ix++){
               //객체를 for 문으로 체크하여 값을 받아야함
               if(document.getElementsByName(ArrayForm[i])[ix].checked == true){
                  Fval = document.getElementsByName(ArrayForm[i])[ix].value;
               }
            }
         }else if(document.getElementsByName(ArrayForm[i])[0].type == "select"){             //selectbox 객체
            Fval = document.getElementsByName(ArrayForm[i])[0].options[document.getElementsByName(ArrayForm[i])[0].selectedIndex].value;
         }else if(document.getElementsByName(ArrayForm[i])[0].type == "text"){               //text 객체
            Fval = document.getElementsByName(ArrayForm[i])[0].value;
         }else{                                                                              //textarea 객체
            Fval = document.getElementsByName(ArrayForm[i])[0].value;
         }
         string += ""+ArrayForm[i]+"="+encodeURIComponent(Fval);        //*** 입력값을 Ajax 스트링 쿼리로 전송하기 위해 유니코드로 치환 ***
         if(i != ArrayForm){
            string+="&";
         }
      }
   }
   return string;
}

//Ajax 처리대기중 테그출력
function FuncDftAjaxProcessWaitingTag(type){
   var DivWidth  = 260;     //DIV 넓이
   var DivHeight = 40;      //DIV 높이
   // Ajax 메세지 중간 출력용
   /*
   if(type == 1 || type == 3){
      var SWidth  = document.body.clientWidth;
      var SHeight = document.body.clientHeight;

      SWidth = SWidth/2;
      SHeight = SHeight/2;

      var NewWidth  = DivWidth/2;
      var NewHeight = DivHeight/2;

      var RunWidth  = SWidth - NewWidth;
      var RunHeight = SHeight - NewHeight;

      RootMainLayoutAjaxMsg.style.pixelLeft   = RunWidth;
      RootMainLayoutAjaxMsg.style.pixelTop    = RunHeight;
      RootMainLayoutAjaxMsg.style.width       = DivWidth;
      RootMainLayoutAjaxMsg.style.width       = DivWidth;
   }
   */
   // Ajax 메세지 위치고정용
   if(type == 1 || type == 3){
      var x = 5;              //왼쪽위치
      var y = 5;              //상단위치
      $("#RootMainLayoutAjaxMsg").css({"pixelLeft":""+(document.body.scrollLeft+x)+""});
      $("#RootMainLayoutAjaxMsg").css({"pixelTop":""+(document.body.scrollTop+y)+""});
      $("#RootMainLayoutAjaxMsg").css({"width":DivWidth});
      $("#RootMainLayoutAjaxMsg").css({"height":DivHeight});
   }
   if(type == 1){
      $("#RootMainLayoutAjaxMsg").show();
      var Tag = "서버 요청 중 잠시만기다리세요";
      $("#RootMainLayoutAjaxMsg").html(FuncDftAjaxMsgTableTag(Tag));
   }else if(type == 2){
      $("#RootMainLayoutAjaxMsg").html("");
      $("#RootMainLayoutAjaxMsg").hide();
   }else if(type == 3){
      $("#RootMainLayoutAjaxMsg").show();
      var Tag = "서버 요청실패 <a href='index.php'>홈으로</a>";
      $("#RootMainLayoutAjaxMsg").html(FuncDftAjaxMsgTableTag(Tag));
      $("#RootMainLayoutAjaxMsg").hide();
   }
}

//Ajax Alert 메세지 출력
function FuncDftAjaxMsgAlert(msg){
   if(msg){
      var width = 500;
      var height = 100;
      if(SETT_ICARUSX_brower == "Mobile"){
         window.alert(msg);
      }else{
         var arrTag = "";
         arrTag +="<table width='100%' border='0' cellspacing='0' cellpadding='0' class='wordbreak'>";
            arrTag +="<tr>";
               arrTag +="<td style='padding:0.4em;border-bottom:1px solid #F1F1F1;'>";
                  arrTag +="<p style='color:#888888;font-size:9pt;'>안내메세지</p>";
               arrTag +="</td>";
               arrTag +="<td rowspan='2' width='1' style='border-left:1px solid #F1F1F1;padding:0.4em;text-align:center;cursor:pointer;' onclick='FuncDftAjaxMsgAlertDivColose()'>";
                  arrTag +="<img src='icon_pack/ico_alert_close.gif'>";
               arrTag +="</td>";
            arrTag +="</tr>";
            arrTag +="<tr>";
               arrTag +="<td style='height:"+height+";padding:0.2em 0.2em 0.2em 0.2em;text-align:center;'>";
                  arrTag +="<p style='font-size:10pt;font-weight:bold;'>"+msg+"</p>";
               arrTag +="</td>";
            arrTag +="</tr>";
         arrTag +="</table>";
         $.blockUI({
            message:arrTag,
            centerY:0,
            centerX:0,
            timeout:2000,
            css:{width:'400px',top:'300px'}
         });
      }
   }
}

//Ajax Alert 메세지 DIV감춤
function FuncDftAjaxMsgAlertDivColose(){
//   $("#RootMainLayoutAjaxAlert").hide();
   $.unblockUI();
}

//Ajax 처리메세지 테그작성
function FuncDftAjaxMsgTableTag(msg){
   var arrTag = "";
   arrTag +="<table width='100%'  border='0' cellspacing='0' cellpadding='0'>";
   arrTag +="<tr>";
   arrTag +="<td style='padding:0.2em 0.2em 0.2em 0.2em;text-align:center'>";
   arrTag +="<img src='icon_pack/AjaxLoding/loding.gif' align='absmiddle'>";
   arrTag +="</td>";
   arrTag +="<td style='padding:0.2em 0.2em 0.2em 0.2em;text-align:center'><p>"+msg+"</p></td>";
   arrTag +="</tr>";
   arrTag +="</table>";
   return arrTag;
}

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

//스트링 방식의 쿼리문 처리
// FuncDftAjaxStringToArrayChanger(쿼리문,리턴받을쿼리값,msg쿼리가 존재시 출력유무);
function FuncDftAjaxStringToArrayChanger(arrVal,chkVal,msgYn){
   var ArrayVal1 = new Array();
   ArrayVal1 = arrVal.split("&");
   for(i=0; i<ArrayVal1.length; i++){
      if(ArrayVal1[i]){
         var ArrayVal2 = new Array();
         ArrayVal2 = ArrayVal1[i].split("=");
         if(ArrayVal2[0] == "msg" && msgYn == "Y"){
            FuncDftAjaxMsgAlert(ArrayVal2[1]);
//            window.alert(ArrayVal2[1]);
         }
         if(ArrayVal2[0] == chkVal){
            return ArrayVal2[1];
         }
      }
   }
}

//브라우저별 outerHTML 
function FuncDftAjaxModuleMoveOuterHTML(element){
   if(!document.getElementById(element)){
      window.alert("객체 "+element+"가 존재하지 않습니다.");
      return false;
   }
   if(SETT_ICARUSX_brower == "Firefox"){
      var obj = document.getElementById(element);
      Exp = (new XMLSerializer).serializeToString(obj);
   }else{
      var Exp = document.getElementById(element).outerHTML;
   }
   document.getElementById(element).parentNode.removeChild(document.getElementById(element));
   return Exp;
}

//브라우저별 innerHTML 
function FuncDftAjaxModuleMoveInnerHTML(element,html){
   $("#"+element).each(function(){
      if(html){
         $("#"+element).html(html);
         FuncIcarusAjaxJavascriptRunner();      //자바스크립트 실행기
      }
   });
}

//자바스크립트 실행기
function FuncIcarusAjaxJavascriptRunner(){
   for(i=0; i<$("input[name=IcarusScriptRunner]").size(); i++){
      $("input[name=IcarusScriptRunner]").eq(i).each(function(){
         if($(this).attr("Use") != "Y"){
            $("#IcarusJavaScriptRunnerDumy").html("<script language='JavaScript' type='text/JavaScript' src='"+$(this).val()+"'></script>");
            $(this).attr({"Use":"Y"});
         }
      });
   }
}
