
function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}


/*
function setCookie(name, value, expiredays) {
	var todayDate = new Date();
	todayDate.setDate( todayDate.getDate() + expiredays );
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

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 openwin(pUrl, pName, pScroll, pWidth, pHeight, pLeft, pTop) {
	var opt = "width=" + pWidth + ", height=" + pHeight + ", scrollbars=" + pScroll + ", toolbars=no, status=no";
	if(pLeft != "") opt = opt + ", left=" + pLeft;
	if(pTop != "") opt = opt + ", top=" + pTop;

	newwin = window.open(pUrl, pName, opt);
	newwin.focus();
}

function myTrim(str) {
	str = str.replace(/\s/g,"");
	return str;
}

function isnum(NUM) {
	for(var i=0;i<NUM.length;i++) {
		achar = NUM.substring(i,i+1);
		if( achar < "0" || achar > "9" )
			return true;
	}
	return false;
}

function spampop(url,name,width,height,scrollbars,resizable) {
	msgWindow = window.open(url,name,'scrollbars='+scrollbars+',resizable='+resizable+',width='+width+',height='+height);
	msgWindow.focus();
}

function sitemap(url,name,width,height,scrollbars,resizable) {
	SiteMapWindow=window.open(url,name,'scrollbars='+scrollbars+',resizable='+resizable+',width='+width+',height='+height);
	SiteMapWindow.focus();
}

function pop(msg) {

	var nav = (document.layers);
	var iex = (document.all);
	var skn = (nav) ? document.topdeck : topdeck.style;
	if (nav) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = get_mouse;

	var content ="<TABLE BORDER=0 CELLSPACING=1 BGCOLOR=#000000><TR><TD BGCOLOR=#FFFFE1 style='padding:4 5 2 5;'><FONT COLOR=#222222>"+msg+"</CENTER></FONT></TD></TR></TABLE>";

	if (nav) {
		skn.document.write(content);
		skn.document.close();
		skn.visibility = "visible";
	} else if (iex) {
		document.all("topdeck").innerHTML = content;
		skn.visibility = "visible";
	}
}

function get_mouse(e) {

	var nav = (document.layers);
	var iex = (document.all);
	var skn = (nav) ? document.topdeck : topdeck.style;
	if (nav) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = get_mouse;

	var x = (nav) ? e.pageX : event.x+document.body.scrollLeft;
	var y = (nav) ? e.pageY : event.y+document.body.scrollTop;
	skn.left = x+8;
	skn.top  = y+18;
}

function popkill() {

	var nav = (document.layers);
	var iex = (document.all);
	var skn = (nav) ? document.topdeck : topdeck.style;
	if (nav) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = get_mouse;

	if (nav) {
		skn.document.write('');
		skn.document.close();
	} else if (iex) {
		document.all("topdeck").innerHTML = '';
	}

	skn.visibility = "hidden";
}

/* 20060804-wmode add */
function setEmbed() {

  var obj = new String;
  var parameter = new String;
  var embed = new String;
  var html = new String;
  var allParameter = new String;
  var clsid = new String;
  var codebase = new String;
  var pluginspace = new String;
  var embedType = new String;
  var src = new String;
  var width = new String;
  var height = new String;

  this.init = function(getType, s, w, h, wm) {

      if( getType == "flash") {
        clsid = "D27CDB6E-AE6D-11cf-96B8-444553540000";
        codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0";
        pluginspage = "http://www.macromedia.com/go/getflashplayer";
        embedType = "application/x-shockwave-flash";
      }
      parameter += "<param name=\"movie\" value=\""+ s + "\">\n";
      parameter += "<param name=\"quality\" value=\"high\">\n";
      parameter += "<param name=\"wmode\" value=\"transparent\">\n";
      parameter += "<param name=\"menu\" value=\"false\">\n";

      src = s;
      width = w;
      height = h;
  }

  this.parameter = function(parm, value) {
      parameter += "<param name=\"" + parm + "\" value=\"" + value + "\">\n";
      allParameter += " " + parm + "=\"" + value + "\"";
  }

  this.show = function() {
      if( clsid ) {
        obj = "<object classid=\"clsid:" + clsid + "\" codebase=\"" + codebase + "\" width=\"" + width + "\" height=\"" + height + "\">\n";
      }
      embed = "<embed src=\"" + src + "\" pluginspage=\"" + pluginspage + "\" type=\"" + embedType + "\" width=\"" + width + "\" height=\"" + height + "\"" + allParameter + "></embed>\n";

      if ( obj ) {
        embed += "</object>\n";
      }

      html = obj + parameter + embed;
      document.write( html );
  }
}

function ExecutionTime() {
    this.start_time = 0;
    this.start = function() { this.start_time = (new Date()).getTime(); }
    this.from_start = function() { var curr_time = (new Date()).getTime(); return ( curr_time - this.start_time ) / 1000; }
}


function Main_setEmbed() {

  var obj = new String;
  var parameter = new String;
  var embed = new String;
  var html = new String;
  var allParameter = new String;
  var clsid = new String;
  var codebase = new String;
  var pluginspace = new String;
  var embedType = new String;
  var src = new String;
  var width = new String;
  var height = new String;

  this.init = function(getType, s, w, h, wm) {

      if( getType == "flash") {
        clsid = "D27CDB6E-AE6D-11cf-96B8-444553540000";
        codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0";
        pluginspage = "http://www.macromedia.com/go/getflashplayer";
        embedType = "application/x-shockwave-flash";
      }
      parameter += "<param name=\"movie\" value=\""+ s + "\">\n";
      parameter += "<param name=\"quality\" value=\"high\">\n";
      parameter += "<param name=\"wmode\" value=\"transparent\">\n";
      parameter += "<param name=\"menu\" value=\"false\">\n";

	  src = s;
      width = w;
      height = h;
  }

  this.parameter = function(parm, value) {
      parameter += "<param name=\"" + parm + "\" value=\"" + value + "\">\n";
      allParameter += " " + parm + "=\"" + value + "\"";
  }

  this.show = function() {
      if( clsid ) {
        obj = "<object classid=\"clsid:" + clsid + "\" codebase=\"" + codebase + "\" width=\"" + width + "\" height=\"" + height + "\">\n";
      }
      embed = "<embed src=\"" + src + "\" pluginspage=\"" + pluginspage + "\" type=\"" + embedType + "\" width=\"" + width + "\" height=\"" + height + "\"" + allParameter + "></embed>\n";

      if ( obj ) {
        embed += "</object>\n";
      }

      html = obj + parameter + embed;
			document.all.flash_chart.innerHTML = html
  }
}

function keyup_number(pvalue) {
	if(pvalue.value.match(/[^0-9]/)) {
		alert(' 숫자만 입력해주세요.\t');
		pvalue.value = '';
		return false;
	}
}

//	문자 바이트수 체크
function chk_byte(fname, maxstrlen) {

	var obj = document.getElementById(fname);

	var bodyVal = obj.value;
	var bodyLen = bodyVal.length;

	// 최대문자 길이
	var max_len	= maxstrlen;
	var bytesLen = 0;
	var validBodyLen = 0;
	var validBytesLen = 0;

	for (var i = 0; i < bodyLen; i++) {
		var oneChar = bodyVal.charAt(i);
		if (escape(oneChar).length > 4) {
			bytesLen += 2;
		} else if (oneChar =='\r' && bodyVal.charAt(i+1) =='\n') {
			bytesLen++;
		} else if (oneChar != '\n') {
			bytesLen++;
		}
		if(bytesLen <= max_len)	{
			validBodyLen = i + 1;
			validBytesLen = bytesLen;
		}
	}

	if(bytesLen > max_len) {
		max_len = number_format(max_len);
		alert(" "+maxstrlen+"bytes(한글"+maxstrlen/2+"자)까지 입력이 가능합니다.\t");
		var realBodyVal = bodyVal.substr(0, validBodyLen);
		obj.value = realBodyVal;
		var bytesVal = validBytesLen;
	} else {
		max_len = number_format(max_len);
		bytesVal = bytesLen;
	}

	bytesVal = number_format(bytesVal);
	if(bytesVal == '') bytesVal = 0;

	document.getElementById(fname+'_byte').innerHTML = bytesVal + "/" + max_len;
	obj.focus();
}

function number_format(numstr, ret) {
	numstr = SetComma(DelComma(numstr));
	if (ret)
		ret.value = numstr;
	return numstr;
}

// 숫자에 콤마를 찍는다.
function SetComma(numstr) {
	numstr = String(numstr);
	var re0 = /^(-?\d+)(\d{3})($|\..*$)/;
	if (re0.test(numstr))
		return numstr.replace(re0,
			function(str,p1,p2,p3) {
				return SetComma(p1) + ',' + p2 + p3;
			}
		);
	else
		return numstr;
}

String.prototype.SetComma = function () {
	return SetComma(this);
}

// 문자를 숫자로 정리한다.
function DelComma(numstr) {
	numstr = String(numstr);
	if (numstr == '') return '';
	else if (numstr == '-') return '';
	else if (numstr == '0-') return '';
	numstr = numstr.replace(/[^\d\.-]/g,'');
	numstr = String(numstr.match(/^-?\d*\.?\d*/));
	numstr = numstr.replace(/^(-?)(\d*)(.*)/,
		function(str,p1,p2,p3) {
			p2 = (p2>0) ? String(numstr.match(/[1-9]\d*$/)) : '';
			// p2 = (p2>0) ? String(parseInt(p2,10)) : '0';
			return p1 + p2 + p3;
		}
	);
	return numstr;
}

String.prototype.DelComma = function () {
	return DelComma(this);
}

// 소숫점 자릿수를 조정한다.(버림)
function cutFloat(numstr, length) {
	numstr = String(numstr);
	eval('var re0 = /.*\\.\\d{'+ length +'}/;');
	if (re0.test(numstr))
		numstr = String(numstr.match(re0));
	return numstr;
}

String.prototype.cutFloat = function (length) {
	return cutFloat(this,length);
}

function str_replace(search, replace, subject) {
	var s = subject;
	var ra = r instanceof Array, sa = s instanceof Array;
	var f = [].concat(search);
	var r = [].concat(replace);
	var i = (s = [].concat(s)).length;
	var j = 0;

	while(j=0, i--) {
		if(s[i]) {
			while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
		}
	}
	return sa ? s : s[0];
}


function best_keyword(str){
	document.tsc.tsearch.value=str;
	document.tsc.submit();

}
