/*===============================================================================
' @Programe Path			: /library/script
' @Programe ID				: global_function.js
' @Programe Name			: 공통 자바스크립트 함수
' @Description				: 서울시 외국어 사이트
' @Relation DB Table	:
' @Writer(Edit) Name	: 김영원
' @Writer(Edit) Date	: 2008-10-27
' @Comment						:
'===============================================================================*/

//트리밍
String.prototype.Trim= new Function("return this.replace(/^\\s+|\\s+$/g,'')") 

//세자리마다 컴마 표시
function convComma(srcStr) {
  srcStr = String(srcStr);
  rtnStr = ''
  tStr = ''
  if(srcStr == '') {
    rtnStr = '';
  } else {

    strlen = srcStr.length;

    if(strlen < 4) {
      rtnStr = srcStr;
    } else {
      commaCnt = (strlen / 3) - 1;
      oStr = srcStr;
      sStr = oStr.substring(0,oStr.length-3);

      for(i=0;i<commaCnt;i++) {
        if (oStr.length < 4) {
          break;
        }
        sStr = oStr.substring(0,oStr.length-3);

        eStr = ',' + oStr.substring(oStr.length-3);
        tStr =  eStr + tStr;
        oStr = sStr;
      }
      rtnStr = sStr + tStr;

    }
  }
  return rtnStr;
}

//세자리마다 컴마 제거
function stripComma(srcStr) {
  srcStr = String(srcStr);
  tmpArr = srcStr.split(',')
  arrLen = tmpArr.length

  if(srcStr == '') {
    srcStr = '';
  } else {
    if (arrLen > 0)
    {
      for (p=1;p<=arrLen ; p++)
      {
        srcStr = srcStr.replace(',','')
      }
    }
  }
  return srcStr;
}

// 빈칸 삭제 루틴
function trimAll(data) {
  var lszTrim = data;
  var j = 0;
  for(var i = 0; i < data.length; i++) {
    if(data.substring(i, i+1) == ' ') {
      if(i > 0)
        lszTrim = data.substring(0, i);
      else
        lszTrim = "";

      lszTrim = lszTrim + data.substring(i+1);

      data = lszTrim;
/* New */
      i--;
    }
  }
  return lszTrim;
}

// 숫자인지 체크함 isNumber("1234")
function isChkNumber(str) {
  if(!isNaN(str)&&(str!='')) {
    for(var i = 0; i < str.length; i++) {
      var chr = str.substr(i,1);
      if(chr < '0' || chr > '9') {
        return false;
      }
    }
    return true;
  } else {
    return false;
  }
}

/**
* 금지어
* if(!stringCheck(form.cdName.value, "")) return;
*/
function stringCheck(val,arr) {
  if(val!='') {
    if (arr=="") arr = new Array("<object","<script","<iframe","cookie","document");  //사용불가 아이디
    for (var i = 0; i < (arr).length; i++) {
      if (val.toUpperCase().indexOf(arr[i].toUpperCase())>=0) {
        alert(arr[i]+"는 입력하실수 없습니다.");
        return false;
        break;
      }
    }
  }
  return true;
}

//갑을 가져옴
function getInputValue(obj) {
   var res = '';
  if(obj) {
    res = obj.value;
  }
  return res;
}

// 0값 채우기 - fillZero(1) => 01
function fillZero(i) {
  if(i) {
    if(i.toString().length==1) {
      i = '0' + i;
    }
  }
  return i;
}

// 두 날짜사이 일자구하기 diffDate("20050101","20050101") => 1
function diffDate(sDate, eDate) {
  var sDateYear  = parseInt(sDate.substring(2,4),10);
  var sDateMonth = parseInt(sDate.substring(4,6),10);
  var sDateDate  = parseInt(sDate.substring(6,8),10);

  var eDateYear  = parseInt(eDate.substring(2,4),10);
  var eDateMonth = parseInt(eDate.substring(4,6),10);
  var eDateDate  = parseInt(eDate.substring(6,8),10);

  var eDate = new Date(eDateYear, eDateMonth-1, eDateDate);
  var sDate = new Date(sDateYear, sDateMonth-1, sDateDate);

  var differ = (((((eDate - sDate)/1000)/60)/60)/24)+1;
  return differ;
}

//특수문자 허용하지 않음
function isCheckSpecial(form_name,elm, msg) {
  var form = eval("document."+ form_name +"."+ elm);
  var special = '`~@#$%^&*-_=+|\{}[];:"\'<>,\/';
  var i ;
  var t = form.value ;

  for ( i=0; i<t.length; i++ ) {
    if( special.indexOf(t.substring(i,i+1))>=0) {
      break ;
    }
  }
  if ( i != t.length ) {
    alert(msg + '에 특수문자나 공백을 사용하실 수 없습니다.');
    form.focus();
    form.select();
    return false;
  }
  return true;
}

// iframe resize
function iframeResize(i) {
    var iframeHeight=(i).contentWindow.document.body.scrollHeight;
    (i).height=iframeHeight+20;
}

// Xml load
function getXMLHttp() {
  var xml;
  if (window.ActiveXObject) {
    xml = new ActiveXObject("Microsoft.XMLHTTP");
  } else if (window.XMLHttpRequest) {
    xml = new XMLHttpRequest();
  }
  return xml;
}

/**
 * object객체 반환
 */
function getObject(objectId) {
  // checkW3C DOM, then MSIE 4, then NN 4.
  if(document.getElementById && document.getElementById(objectId)) {
    return document.getElementById(objectId);
  }
  else if (document.all && document.all(objectId)) {
    return document.all(objectId);
  }
  else if (document.layers && document.layers[objectId]) {
    return document.layers[objectId];
  }
  else {
    return false;
  }
}

// 쿠키 값 불러오기
function getCookie( name ) {
  var nameOfCookie = name + "=";
  var x = 0;
  while ( x <= document.cookie.length )
  {
    var y = (x+nameOfCookie.length);
    if ( document.cookie.substring( x, y ) == nameOfCookie ) {
      if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
        endOfCookie = document.cookie.length;
      return unescape( document.cookie.substring( y, endOfCookie ) );
    }
    x = document.cookie.indexOf( " ", x ) + 1;
    if ( x == 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 fontSetCookie( name, value, expiredays ) {
   var todayDate = new Date();
   todayDate.setDate( todayDate.getDate() + expiredays );
   document.cookie = name + "=" + escape( value ) + "; path=/;";
   //expires=" + todayDate.toGMTString() + ";"
}

function $(element) {
  return document.getElementById(element);
}

function divDisplay(id,mode) {
  $(id).style.display = mode;
}

// 익스플러오7 인지 아닌지 구분
function ieVersion7() {
  return navigator.userAgent.toLowerCase().indexOf("7.0");
}

// 투명png파일 스크립트 
function setPng24(obj) { 
  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 ''; 
} 

// 게시판 페이지 이동
function goSearch(form) {
  if(!Trim(form.sWord.value)) {
    alert('Enter your search terms.');
  } else {
    form.submit();
  }
}
/*
function goList(url,param) {
  location.href = url + "?" + param;
}

function goWrite(url,param) {
  location.href = url + "?mode=reg&" + param;
}

function goModify(url,param,idx) {
  location.href = url + "?mode=edit&" + param + "&idx="+idx;
}

function goDelete(url,param,idx,msg) {
  if( confirm(msg) ) {
    location.href = url + "?mode=del&" + param + "&idx="+idx;
  }
}
*/
// 페이지 이동
function goHrefMove(url,param,mode,idx,msg) {
  if( msg ) {
    if( confirm(msg) ) {
      location.href = url + "?mode="+mode+"&" + param + "&idx="+idx;
    }
  } else {
    location.href = url + "?mode="+mode+"&" + param + "&idx="+idx;
  }
}

// flashWrite(파일경로, 가로, 세로, 아이디, 배경색, 변수, 윈도우모드)
// flashWrite('/url', 500, 500, 'mainFlash', '', '', 'transparent')
function flashWrite(url,w,h,id,bg,vars,win){

 // 플래시 코드 정의
 var flashStr=
 "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='"+w+"' height='"+h+"' id='"+id+"' align='middle'>"+
 "<param name='allowScriptAccess' value='always' />"+
 "<param name='movie' value='"+url+"' />"+
 "<param name='FlashVars' value='"+vars+"' />"+
 "<param name='wmode' value='"+win+"' />"+
 "<param name='menu' value='false' />"+
 "<param name='quality' value='high' />"+
 "<param name='bgcolor' value='"+bg+"' />"+
 "<embed src='"+url+"' FlashVars='"+vars+"' wmode='"+win+"' menu='false' quality='high' bgcolor='"+bg+"' width='"+w+"' height='"+h+"' name='"+id+"' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"+
 "</object>";

 // 플래시 코드 출력
 document.write(flashStr);
}

// 서울시 관련 vidio 플래쉬 재생
function flashLiveFlv(file,img,h,w) {

var flashFlv =
//"<object id='id_player' height='248' width='348' type='application/x-shockwave-flash' classid='clsid 27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'>"+
"<object id='id_player' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' type='application/x-shockwave-flash' height='"+h+"' width='"+w+"'>"+
"<PARAM value='always' name='allowScriptAccess' />"+
"<PARAM value='/library/common/flvPlayer.swf' name='movie' />"+
"<PARAM value='transparent' name='wmode' />"+
"<PARAM value='masterloader' name='name' />"+
"<PARAM value='/library/common/flvPlayer.swf' name='src' />"+
"<PARAM value='http://www.macromedia.com/go/getflashplayer' name='pluginspage' />"+
"<PARAM value='high' name='quality' />"+
"<PARAM value='false' name='loop' />"+
"<PARAM value='false' name='menu' />"+
"<PARAM value='#000' name='bgcolor' />"+
"<PARAM value='true' name='allowFullScreen' />"+
"<PARAM value='true' name='swLiveConnect' />"+
"<PARAM value='flvurl="+file+"&imageurl="+ img +"' name='FlashVars' />"+
"<embed src='/library/common/flvPlayer.swf' FlashVars='flvurl="+file+"&imageurl="+ img +"' wmode='transparent' menu='false' quality='high' bgcolor='#000' width='"+w+"' height='"+h+"' name='id_player' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"+
"</object>";
document.write(flashFlv);
}

function FlashEmbed(fileid,filename,wd,ht,bgcolor,wmode,param)
{
 document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + wd + '" height="' + ht + '" id="' + fileid + '" align="middle">');
 document.write('<param name="allowScriptAccess" value="sameDomain">');
 document.write('<param name="movie" value="' + filename + '">');
 document.write('<param name="menu" value="false">');
 document.write('<param name="quality" value="high">');
 document.write('<param name="base" value=".">');
 document.write('<param name="wmode" value="'+ wmode +'" />');
 document.write(' <param name="bgcolor" value="'+ bgcolor +'" />');
 document.write(' <param name="FlashVars" value="'+ param +'" />');
 document.write('<embed src="' + filename + '" menu="false" base="." quality="high" FlashVars="'+ param +'" wmode="'+ wmode +'" width="' + wd + '" height="' + ht +'" bgcolor="'+ bgcolor + '" name="' + fileid + '" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
 document.write('</object>');
}
//동영상
function aviPlay(src,w,h) {
  document.write('<embed src="'+src+'" width='+w+' height='+h+'>')
}

//작은따옴표 체크
function CheckQuot(formName, elm)
{
  var elmValue = eval("document." + formName + "." + elm);
  var value = elmValue.value;
  var i = 0;

  for (var j=0; j < value.length ; j++ )
  {
    var ch= value.substring(j,j+1);
    if (ch == "'"){
      i = i + 1;
    }
  }

  if(i == 0)
  {
    return true;
  }
  else
  {
    alert("The letters you entered cannot be used.");
    elmValue.focus();
    return false;
  }
}

var GBrow = {
    MSIE    : navigator.userAgent.toLowerCase().indexOf("msie")  != -1,
    GECKO   : navigator.userAgent.toLowerCase().indexOf('gecko') != -1,
    OPERA   : navigator.userAgent.toLowerCase().indexOf('opera') != -1,
    SAFARI  : navigator.userAgent.toLowerCase().indexOf('safari') != -1}
