// ±âÁ¸ »ç¿ëÇÔ¼ö
function ap_validtext( ctrl, minimum, maximum, incspecial )
{
    var thisvalue = ctrl.value;
    var exactcount = 0;
    var specialswithspace = " `~!@#$%^&*()_+|\\=-[]{};':\",./<>?";
	if( (minimum != null) && (minimum > -1) && (ap_isnothing(ctrl.value)) ) {
        alert( "ÇÊ¼ö Ç×¸ñÀÔ´Ï´Ù. °ªÀ» ÀÔ·ÂÇÏ¼¼¿ä." );
        ctrl.focus();
	    return( false );
	}
    if( (incspecial != null) && (incspecial == false) ) {
	    for( var i = 0; i < thisvalue.length; i++ ) {
	        thischar = thisvalue.charAt( i );
	        if( specialswithspace.indexOf(thischar) != -1 ) {
		        alert( "Æ¯¼öÇÑ ¹®ÀÚ´Â Çã¿ëµÇÁö ¾Ê½À´Ï´Ù." );
		        ctrl.focus();
		        return( false );
	            }
	    }
	}
    exactcount = ap_strlen( ctrl.value, specialswithspace );
    if( (minimum != null) && (minimum > -1) && (exactcount < minimum) ) {
        alert( "ÃÖ¼Ò ¿µ¹®  " + minimum + "ÀÚ, ÇÑ±Û " + (minimum / 2) + " ÀÚ ÀÌ»óÀ¸·Î ÀÔ·ÂÇÏ¼¼¿ä." );
        ctrl.focus();
        return( false );
    }
    if( (maximum != null) && (maximum > -1) && (exactcount > maximum) ) {
        alert( "ÃÖ´ë ¿µ¹®  " + maximum + "ÀÚ, ÇÑ±Û " + (maximum / 2) + " ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇÏ¼¼¿ä." );
        ctrl.focus();
        return( false );
    }
    return( true );
}

function ap_validkey2( ctrl, minimum, maximum )
{
    var thisvalue = ctrl.value;
    var exactcount = 0;
    var unacceptablekeys = " `~!@#$%^&*()+|\\=[]{};':\",./<>?";
	if( (minimum > -1) && (ap_isnothing(ctrl.value)) ) {
        alert( "ÇÊ¼ö ÀÔ·Â»çÇ×ÀÔ´Ï´Ù. °ªÀ» ÀÔ·ÂÇÏ¼¼¿ä." );
        ctrl.focus();
	    return( false );
	}

    exactcount = ap_strlen( ctrl.value, unacceptablekeys );
    if( (minimum > -1) && (exactcount < minimum) ) {
        alert( "ÃÖ¼Ò " + minimum + "ÀÚ ÀÌ»óÀ¸·Î ÀÔ·ÂÇÏ¼¼¿ä.");
        ctrl.focus();
        return( false );
    }

	if (cal_byteS(ctrl.value,maximum))
	{
		alert("ÃÖ´ë (" + maximum + ")Byte ÀÌÇÏ·Î ÀÔ·ÂÇÏ¼¼¿ä.");
		ctrl.focus();
		return( false );
	}

	return( true );
}

function ap_strlen( thisvalue, specialset )
{
    var byte1count = 0, byte2count = 0;
    var byte256 = " `~!@#$%^&*()_+|\\=-[]{};':\",./<>?"
    for( var i = 0; i < thisvalue.length; i++ ) {
        thischar = thisvalue.charAt( i );
        if( ((thischar >= '0') && (thischar <= '9')) ||
            ((thischar >= 'A') && (thischar <= 'Z')) ||
            ((thischar >= 'a') && (thischar <= 'z')) ||
            ((thischar == '-') || (thischar == '_')) )
            byte1count++;
        else if( thischar == '(' || thischar == ')' ) {
        	byte1count++;
        }
        else if( byte256.indexOf(thischar) != -1 )
        	byte1count++;
        else if( specialset != null && specialset.indexOf(thischar) != -1 )
            byte1count++;
        else
            byte2count++;
    }
    return( byte1count + byte2count * 2 );
}

function ap_isnothing( a_value )
{
    if( a_value.length == 0 ) return( true );
    spacecount = 0;
    for( var i = 0; i < a_value.length; i++ ) {
        thischar = a_value.charAt( i );
        if( thischar == ' ' ) spacecount++;
    }
    if( spacecount == a_value.length ) return( true );
	return( false );
}

function cal_byteS(aquery, maxbyte)
{
	var tcount = 0;
	var tmpStr = new String(aquery);
	var temp = tmpStr.length;

	for(var k=0; k<temp; k++)
	{
		var onechar = tmpStr.charAt(k);

		if(escape(onechar).length > 4)
		{
			tcount += 2;
		}
		else if(onechar != '\r')
		{
			tcount++;
		}
	}

	if(tcount > maxbyte)
	{
		return( true );
	}
	else
	{
		return( false );
	}
}

function replace(fullString,text,by) {
	var strLength = fullString.length, txtLength = text.length;
	if ((strLength == 0) || (txtLength == 0)) return fullString;

	var i = fullString.indexOf(text);
	if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
	if (i == -1) return fullString;

	var newstr = fullString.substring(0,i) + by;

	if (i+txtLength < strLength)
		newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

	return newstr;
}

// 20090813 ½Å±Ô Ãß°¡ÇÔ¼ö
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.style.backgroundImage = "url('"+ obj.src +"')";
	obj.src='';
	return '';
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function clrImg(obj){
	obj.style.backgroundImage="";
}

function ck(v){
	document.body.className=v;
}

function openPop(url, description, width, height){
	var screenPosX = screen.availWidth/2 - width/2;
	var screenPosY = screen.availHeight/2 - height/2;
	var features = "'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, top="+screenPosY+", left="+screenPosX+", width="+width+", height="+height+"'";

	var handle = window.open(url, description, features);
	if (handle) handle.focus();
}

String.prototype.trim = function()
{
	return this.replace(/(^ *)|( *$)/g, "");
}

//¿ÞÂÊ °ø¹éÁ¦°Å
String.prototype.ltrim = function()
{
	return this.replace(/(^ *)/g, "");
}

//¿À¸¥ÂÊ °ø¹éÁ¦°Å
String.prototype.rtrim = function()
{
	return this.replace(/( *$)/g, "");
}