// Á¦¸ñ¿¡ Æ¯¼ö¹®ÀÚ »ç¿ëÁ¦ÇÑ(ÀÏºÎ °Ô½ÃÆÇ¿¡ Àû¿ë)
var ARR_BAN = [ "¡á", "¡à", "¢Ã", "¢Ç", "¢È", "¢Ë", "¢Ê", "¢É", "¢Ì", "¡ã", "¡â", "¢¹", "¡å", "¡ä", "¢¸", "¢·", "¡ß", "¡Þ", "¢Â", "¡Û", "¡Ý", "¡Ü", "¢Ä", "¢Å", "¡Ú", "¡Ù", "¢Ï", "¢Î", "¢Ð", "¢Ñ", "¡Ï", "¡Î", "¢¼", "¢½", "¢À", "¢»", "¢¾", "¢¿", "¢Í", "¢Û", "¢Ü", "¢Ý", "¡¶", "¡·", "¡¸", "¡¹", "¡º", "¡»", "¡¼", "¡½", "¢Á", "¡ì", "¡í", "¡Û", "¢º" ];


// Á¦ÇÑ±ÛÀÚ Á¦°Å
// ±èµ¿±¹, 2009-04-30 ¿ÀÈÄ 5:38
function common_removeBan( subject )
{
	for( i = 0; i < ARR_BAN.length; ++i )
		subject = subject.replaceAll( ARR_BAN[ i ], " " );

	return subject;
}


// ¼ýÀÚ¸¸ ÀÔ·Â¹Þµµ·Ï Á¦ÇÑ
// »ç¿ë¿¹) onkeypress="common_onlyNum(this)"
// input ¼Ó¼º¿¡ style="ime-mode:disabled" À» °°ÀÌ »ç¿ëÇØ¾ß ÇÑ±Û ÀÔ·ÂÀ» ¸·À» ¼ö ÀÖÀ½
function common_onlyNum( obj )
{
	var key = event.keyCode;
	if(!(key==8||key==9||key==13||key==46||key==144||(key>=48&&key<=57)||key==110||key==190))
		event.returnValue = false;
}


// ÁÖ¾îÁø ¹®ÀÚ¸®½ºÆ®¸¸ ÀÔ·Â¹Þµµ·Ï..
// strCharList : "01234567890-", "abcde...xyz012..89" µîÀ¸·Î ÀÔ·Â Çã¿ëÇÏ°íÇÂ ¹®ÀÚ ¸®½ºÆ®
function common_onlyThis( obj, strCharList )
{
    var key = event.keyCode;
    var len = strCharList.length;

    for( i = 0; i < len; ++i )
    {
        if( key == strCharList.charCodeAt( i ) )
        {
            event.returnValue = true;
            return;
        }
    }

    event.returnValue = false;
}


// ¾ÆÀÌÇÇ ÀÔ·Â¹Þ±â
// »ç¿ë¿¹) onkeypress="common_onlyIP(this)"
// input ¼Ó¼º¿¡ style="ime-mode:disabled" À» °°ÀÌ »ç¿ëÇØ¾ß ÇÑ±Û ÀÔ·ÂÀ» ¸·À» ¼ö ÀÖÀ½
function common_onlyIPOnKeyPress( obj )
{
    var key = event.keyCode;
    var result = true;

    // ÀÔ·ÂÅ° Á¦ÇÑ
    if( ( key == 8 || key == 9 || key == 13 || key == 46 || key == 144 || ( key >= 48 && key <= 57 ) || key == 190 ) )
    {
        var str = obj.value.trim();
        var afterStr = str + String.fromCharCode( "" + key );           // ÀÌ¹ø¿¡ ÀÔ·ÂµÈ Å°°¡ Àû¿ëµÇ¸é ¿Ï¼ºµÉ ¹®ÀÚ¿­..
        var len = str.length;
        var lastChar = str.charAt( len - 1 );
        var afterLastChar = afterStr.charAt( afterStr.length - 1 );
        var currSplited = str.split( '.' );
        var afterSplited = afterStr.split( '.' );
        var cntDot = 0;

        // '.' °³¼ö Ä«¿îÆ®
        for( i = 0; i < len; ++i )
        {
            if( str.charAt( i ) == '.' )
                cntDot++;
        }

        // '.' ÀÌ ¿¬¼ÓÀ¸·Î ³ª¿Ã ¼ö´Â ¾ø´Ù.
        if( lastChar == '.' && key == 46 )
            result = false;
        // '.' Àº 3°³±îÁö¸¸..
        else if( cntDot == 3 && key == 46 )
            result = false;
        else
        {
            // °¢ Å¬·¡½ºÀÇ ¹üÀ§ check!
            for( i = 0; i < afterSplited.length; ++i )
            {
                var _num = Number( afterSplited[ i ] );
                if( _num < 0 || _num > 255 )
                {
                    result = false;
                    break;
                }
            }
        }


        var newVal = "";
        var newIPs = new Array();
        var splited = result == true ? afterSplited : currSplited;
        for( i = 0; i < splited.length; ++i )
        {
            var _num = Number( splited[ i ] );
            if( splited[ i ].length > 0 )
                newIPs[ i ] = _num;
            else
            {
                newIPs[ i ] = '';
                break;
            }
        }
        obj.value = newIPs.join( '.' );
        result = false;
    }
    else
        result = false;

    event.returnValue = false;
}


// »õÃ¢ ¶ç¿ì±â
function common_open_window( url, name, w, h, opt )
{
	var win;
	var strOption = 'width=' + w + ', height=' + h + ', status=yes';

	if( opt === "scrollbars" )
		strOption += ', scrollbars=yes';
	else
	    strOption += ', scrollbars=no';

	win = window.open( url, name, strOption );
    win.focus();
}


// ¸ð´ÞÃ¢ ¶ç¿ì±â
function common_showModalDialog( url, vArguments, w, h )
{
    var sFeatures = new Array();

    sFeatures[0] = "dialogWidth:" + w + "px"
    sFeatures[1] = "dialogHeight:" + h + "px";
    sFeatures[5] = "resizeable::Yes";
    sFeatures[6] = "help:No";
    sFeatures[7] = "status:No";

    sFeatures = sFeatures.join(";");

    return window.showModalDialog( url, vArguments, sFeatures );
};


// obj.value °¡ "" ÀÌ¸é ¾ÈµÅ~
function common_CHK_BLANK( obj, msg )
{
    return common_CHK_VALUE_IS( obj, "", msg );
}


// obj1.value ¶û obj2.value °¡ ´Ù¸£¸é ¾ÈµÅ~
function common_CHK_DIFF( obj1, obj2, msg )
{
    var str1 = obj1.value.trim();
    var str2 = obj2.value.trim();

    if( str1 != str2 )
    {
        obj1.value = "";
        obj2.value = "";
        obj1.focus();

        if( msg != "")
            alert( msg );

        return true;
    }
    else
    {
        obj1.value = str1;
        obj2.value = str2;

        return false;
    }
}


// obj.value °¡ val ÀÌ¸é ¾ÈµÅ~
function common_CHK_VALUE_IS( obj, val, msg )
{
    var str = obj.value.trim();

    if( str == val )
    {
        obj.focus();
        obj.value = str;

        if( msg != "")
            alert( msg );

        return true;
    }
    else
    {
        obj.value = str;
        return false;
    }
}


// obj.value °¡ ¼ýÀÚ°¡ ¾Æ´Ï¸é ¾ÈµÅ~
function common_CHK_NUMBER_ONLY( obj, msg )
{
    var str = obj.value.trim();

    if( str == "" || isNaN( str ) )
    {
        obj.focus();
        obj.value = "";

        if( msg != "")
            alert( msg );

        return true;
    }
    else
    {
        obj.value = str;

        return false;
    }
}


// obj.value.length ÀÇ ±æÀÌ´Â min, max »çÀÌ°¡ ¾Æ´Ï¸é ¾ÈµÅ~
function common_CHK_LEN( obj, min, max, msg )
{
    var str1 = obj.value.trim();
    var len = str1.length;

    if( str1 == "" || len < min || len > max )
    {
        obj.focus();
        obj.value = "";

        if( msg != "")
            alert( msg );

        return true;
    }
    else
    {
        obj.value = str1;

        return false;
    }
}


// °ø¹é Æ÷ÇÔÇÏ°í ÀÖÀ¸¸é ¾ÈµÅ~
function common_CHK_INSIDE_BLANK( obj, msg )
{
    var str = obj.value.trim();
    var len = str.length;

    for( i = 0; i < len; ++i )
    {
        if( str.charAt( i ) == ' ' )
        {
            obj.focus();
            obj.value = "";

            if( msg != "" )
                alert( msg );

            return true;
        }
    }

    return false;
}


// ¼ýÀÚ¾Õ¿¡ 0 À» Ãß°¡ÇØ¼­ ÀÚ¸®¼ö ¸ÂÃç¼­ ¸®ÅÏ
function common_getCipherNum( number, cipher )
{
    result = number;

    for( i = 0; ; ++i )
    {
        if( number < cipher )
            result = '0' + result;

        cipher /= 10;

        if( cipher == 0 )
            break;
    }

    return result;
}


// ÁÖ¾îÁø Å×ÀÌºíÀ» ¿¢¼¿ÆÄÀÏ·Î ÀúÀå
// tableId      : ÀúÀåÇÒ Å×ÀÌºí ID
// saveFileName : ÀúÀåÇÒ ÆÄÀÏ¸í
// frame        : ÀÓ½Ã·Î »ç¿ëÇÒ iframe ID
function common_saveTable( tableId, saveFileName, frame )
{
    var tbl = document.getElementById( tableId );

    frame.document.write( "<html>\n" );
    frame.document.write( "<meta http-equiv=\"Content-Type\" content=\"application/vnd.ms-excel; charset=euc-kr\">\r\n" );
    frame.document.write( "<style type='text/css'>\n" );
    frame.document.write( "body {\n" );
    frame.document.write( "    font-family:'±¼¸²';\n" );
    frame.document.write( "    font-size:9pt;\n" );
    frame.document.write( "}\n" );
    frame.document.write( "</style>\n" );
    frame.document.write( "<body>\n" );
    frame.document.write( "<table border='1' cellspacing='1' cellpadding='1'>\n" );

    for( i = 0; i < tbl.rows.length; ++i )
    {
        frame.document.write( "<tr>\n" );

        for( j = 0; j < tbl.rows( i ).cells.length; ++j )
            frame.document.write( "<td>" + tbl.rows( i ).cells( j ).innerHTML + "</td>\n" );

        frame.document.write( "</tr>\n" );
    }

    frame.document.write( "</table>\n" );
    frame.document.write( "</body>\n" );
    frame.document.write( "</html>" );

    frame.document.execCommand( 'SaveAs', null, saveFileName );
}


// ÁÖ¾îÁø Å×ÀÌºíÀÇ ³»¿ëÀ» ÇÁ¸°Æ®
function common_printTable( tblID, x, y )
{
    var a;
    var strContents = "";

    strContents += "<html>";
    strContents += "<body>";
    strContents += document.getElementById( tblID ).outerHTML;
    strContents += "</body></html>";

    a = window.open( "", 'popup_print', 'width=' + x + ', height=' + y + ', top=1, left=1, alwaysRaised=yes, toolbar=no, scrollbars=yes' );

    a.document.write( strContents );
    a.document.close();

    a.focus();
    a.print();
}


// ÁÖ¾îÁø ³»¿ëÀ» ÇÁ¸°Æ®
function common_print( strContents, w, h )
{
    var a;

    a = window.open( "", 'popup_print', 'width=' + w + ', height=' + h + ', top=1, left=1, alwaysRaised=yes, toolbar=no, scrollbars=yes' );

    a.document.write( strContents );
    a.document.close();

    a.focus();
    //a.print();
}


// Int32Çü IP¸¦ ¹®ÀÚ¿­·Î~
function common_IPNumToStr( ip_num )
{
    return ( ( ip_num >> 24 ) & 0xff ) + "." + ( ( ip_num >> 16 ) & 0xff ) + "." + ( ( ip_num >> 8 ) & 0xff ) + "." + ( ( ip_num >> 0 ) & 0xff )
};


// IP¹®ÀÚ¿­À» Int32ÇüÀ¸·Î~
function common_IPStrToNum( ip_str )
{
    var splitIP = ip_str.split( "." );
    var arrayIP = new Array();

    if( splitIP.length != 4 )
        return 0;

    // ÁÖ¾îÁø IP¹®ÀÚ¿­À» ½ÊÁø¼ö 4°³·Î ºÐ¸® ÇØ³½´Ù.
    for( i = 0; i < 4; ++i )
    {
        arrayIP[ i ] = Number( splitIP[ i ].trim() );

        if( arrayIP[ i ] > 255 || arrayIP[ i ] < 0 )
            return 0;
    }

    return ( ( arrayIP[ 0 ] & 0xff ) << 24 ) | ( ( arrayIP[ 1 ] & 0xff ) << 16 ) | ( ( arrayIP[ 2 ] & 0xff ) << 8 ) | ( ( arrayIP[ 3 ] & 0xff ) << 0 )
};


// ÁÖ¾îÁø ¹®ÀÚ¿­À» ±Ý¾×À» ³ªÅ¸³»´Â ¹®ÀÚ¿­·Î º¯È¯
function common_ToMoneyString( strVal )
{
    var len = strVal.length;
    var result = "";
    var dotUnder = "";      // ¼Ò¼öÁ¡ ÀÌÇÏÀÇ ³»¿ë

    if( strVal.indexOf( '.' ) > 0 )
    {
        len = strVal.indexOf( '.' );
        dotUnder = strVal.substr( len, strVal.length - len );
    }

    for( i = len - 1, cnt = 0; i >= 0; --i )
    {
        result = strVal.charAt( i ) + result;

        ++cnt;
        if( cnt > 0 && cnt % 3 == 0 && cnt < len )
            result = ',' + result;
    }

    return result + dotUnder;
}


/*
 * º¯¼ö°¡ Á¤ÀÇ µÇ¾ú´ÂÁö È®ÀÎÇÕ´Ï´Ù.
 * common_isDefined(º¯¼ö¸í1,º¯¼ö¸í2,º¯¼ö¸í3,...) Çü½ÄÀ¸·Î »ç¿ëÇÕ´Ï´Ù.
*/
function common_isDefined() {
  for(var i=0;i<arguments.length;++i) if(typeof(arguments[i])=='undefined') return false;
  return true;
}


// ÄíÅ°ÀÐ±â
function common_LoadCookie( name )
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}


// get ¹æ½ÄÀÇ ÆÄ¶ó¹ÌÅÍ °¡Á®¿À±â
function common_GetParameter( Name )
{
    var Request = window.location.search ;
    var RequestValue = null;
    var Offset = -1;
    var End = -1;

    Name += "=";
    Offset = Request.indexOf(Name);
    if (Offset >= 0)
    {
      End = Request.indexOf("&", Offset);
      if (End < 0)
      {
        End = Request.length;
      }
      RequestValue = Request.substring(Offset + Name.length, End);
    }
    return (RequestValue);
}


function common_getClickPoint(){// Å¬¸¯ ÀÌº¥Æ®°¡ ¹ß»ýÇÑ ¹Ù·Î ±× À§Ä¡
//	this.x = event.screenX - window.screenLeft - document.body.clientLeft + document.body.scrollLeft - event.offsetX;
//	this.y = event.screenY - window.screenTop - document.body.clientTop + document.body.scrollTop - event.offsetY;

//	this.x = event.screenX - window.screenLeft;
//	this.y = event.screenY - window.screenTop - document.body.clientTop + document.body.scrollTop - event.offsetY;

//	alert( event.screenX + ", " + window.screenLeft + ", " + document.body.clientLeft + ", " + document.body.scrollLeft + ", " + event.offsetX );
//	alert( event.screenY + ", " + window.screenTop + ", " + document.body.clientTop + ", " + document.body.scrollTop + ", " + event.offsetY );


	this.x = window.event.clientX + document.body.scrollLeft;
	this.y = window.event.clientY + document.body.scrollTop;
	return this;
}


function common_setCookie( c_name, value, expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie = c_name + "=" + escape(value) + ";path=/" + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}


function common_getCookie(uName) {
	var strCookie = " " + window.document.cookie;
	var ptrFr = strCookie.indexOf(" " + uName + '=');

	if (ptrFr != -1) {
		ptrFr = ptrFr + uName.length + 2;
		ptrTo = strCookie.indexOf(';', ptrFr);

		if (ptrTo == -1) {
			ptrTo = strCookie.length;
		}
		return unescape(strCookie.substring(ptrFr, ptrTo));
	} else {
		return "";
	}
}


// ÇÃ·¡½¬ Æ÷ÇÔ.
function flash(c,d,e,vars) {
	var flash_tag = "";
	flash_tag = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
	flash_tag +='codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" ';
	flash_tag +='WIDTH="'+c+'" HEIGHT="'+d+'" >';
	flash_tag +='<param name="movie" value="'+e+'">';
	flash_tag +='<param name="quality" value="high">';
	flash_tag +='<param name="FlashVars" value="' + vars + '">';
	flash_tag +='<param name="wmode" value="transparent">';
	flash_tag +='<embed src="'+e+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" ';
	flash_tag +='type="application/x-shockwave-flash" WIDTH="'+c+'" HEIGHT="'+d+'"></embed></object>'
	document.write(flash_tag);
	document.close();
}


// ¹Ìµð¾îÇÃ·¹ÀÌ¾î Æ÷ÇÔ
function mediaplayer( w, h, url, id, name )
{
	var tag = "";
	tag += '<object id="' + id + '" name="' + name + '" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject" bgcolor="DarkBlue" width="' + w + '" Height="' + h + '" VIEWASTEXT>';
	tag += '<PARAM NAME="url" VALUE="' + url + '">';
	tag += '<PARAM NAME="transparentatstart" VALUE="1">';
	tag += '<param name="transparentAtStop" value="1">';
	tag += '<param name="AnimationAtStart" value="0">';
	tag += '<param name="AutoStart" value="true">';
	tag += '<param name="BufferingTime" value="0">';
	tag += '<param name="DisplayMode" value="2">';
	tag += '<param name="DisplaySize" value="4">';
	tag += '<param name="uiMode" value="full">';
	tag += '<param name="EnableContextMenu" value="false">';
	tag += '<param name="EnableFullScreenControls" value="false">';
	tag += '<param name="fullScreen" value="false">';
	tag += '<param name="ShowStatusBar" value="0">';
	tag += '<param name="ShowAudioControls" value="0">';
	tag += '<param name="stretchToFit" value="true">';
	tag += '<param name="volume" value="50">';
	tag += '</object>';
	document.write( tag );
	document.close();
}


function JuminCheck(jnum_01,jnum_02)
{
	check_jumin=0;
	// Àß¸øµÈ »ý³â¿ùÀÏÀ» °Ë»çÇÕ´Ï´Ù.
	b_Year=(jnum_02.charAt(0)<="2") ? "19" : "20"
	/* 2000³âµµºÎÅÍ ¼º±¸º° ¹øÈ£°¡ ¹Ù²î¿´½¿À¸·Î ±¸º°¼ö°¡ 2º¸´Ù ÀÛ´Ù¸é
	   1900³âµµ »ýÀÌµÇ°í 2º¸´Ù Å©´Ù¸é 2000³âµµ ÀÌ»ó»ýÀÌ µË´Ï´Ù.
	   ´Ü 1800³âµµ »ýÀº °è»ê¿¡¼­ Á¦¿ÜÇÕ´Ï´Ù.*/
	b_Year+=jnum_01.substr(0,2);
	// ÁÖ¹Î¹øÈ£ÀÇ ¾Õ¿¡¼­ 2ÀÚ¸®¸¦ ÀÌ¾î¼­ 4ÀÚ¸®ÀÇ »ý³âÀ» ÀúÀåÇÕ´Ï´Ù.
	b_Month=jnum_01.substr(2,2)-1;
	b_Month_org=jnum_01.substr(2,2);
	// ´ÞÀ» ±¸ÇÕ´Ï´Ù. 1À» »«°ÍÀº ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­´Â 1¿ùÀ» 0À¸·Î Ç¥±âÇÏ±â ¶§¹®ÀÔ´Ï´Ù.
	b_Date=jnum_01.substr(4,2);
	b_sum=new Date(b_Year,b_Month,b_Date);
	//20¼¼ ¹Ì¸¸ÀÎÁö °Ë»çÇÕ´Ï´Ù.
	today = new Date();
	ty = today.getFullYear();
	tm = today.getMonth()+1;
	td = today.getDate();
	if(tm<10) tm = "0" + tm;
	if(td<10) td = "0" + td;
	tdv = ty*10000+tm*100+td;
	jmv = b_Year+b_Month_org+b_Date;
	rstv = tdv-jmv;
	if ((tdv-jmv)<200000)
	{
		return 2;
	}
	if (b_sum.getYear() % 100 != jnum_01.substr(0,2) || b_sum.getMonth() != b_Month || b_sum.getDate() != b_Date)
	{
		return 0;
		// »ý³â¿ùÀÏÀÇ Å¸´ç¼ºÀ» °Ë»çÇÏ¿© °ÅÁþÀÌ ÀÖÀ»½Ã ¿¡·¯¸Þ¼¼Áö¸¦ ³ªÅ¸³¿
	}
	total=0;
	temp=new Array(13);
	for(i=1; i<=6; i++) temp[i] = jnum_01.charAt(i-1);
	for(i=7; i<=13; i++) temp[i] = jnum_02.charAt(i-7);
	for(i=1; i<=12; i++)
	{
		k = i + 1;
		if(k >= 10) k = k % 10 + 2;
		/* °¢ ¼ö¿Í °öÇÒ ¼ö¸¦ »Ì¾Æ³À´Ï´Ù. °ö¼ö°¡ ¸¸ÀÏ 10º¸´Ù Å©°Å³ª °°´Ù¸é
	   	°è»ê½Ä¿¡ ÀÇÇØ 2·Î ´Ù½Ã ½ÃÀÛÇÏ°Ô µË´Ï´Ù. */
		total = total + (temp[i] * k);
		// °¢ ÀÚ¸®¼ö¿Í °è»ê¼ö¸¦ °öÇÑ°ªÀ» º¯¼ö total¿¡ ´©ÀûÇÕ»ê½ÃÅµ´Ï´Ù.
	}
	last_num = (11- (total % 11)) % 10;
	// ¸¶Áö¸· °è»ê½ÄÀ» º¯¼ö last_num¿¡ ´ëÀÔÇÕ´Ï´Ù.
	if(last_num == temp[13]) check_jumin = 1
	// laster_numÀÌ ÁÖ¹Î¹øÈ£ÀÇ¸¶Áö¸·¼ö¿Í °°Àº¸é ÂüÀ» Æ²¸®¸é °ÅÁþÀ» ¹ÝÈ¯ÇÕ´Ï´Ù.
	else check_jumin = 0;
	return check_jumin;
}







// String.trim()
String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); }


String.prototype.URLEncode = function URLEncode( )
{
 var SAFECHARS = "0123456789" +     // Numeric
     "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic
     "abcdefghijklmnopqrstuvwxyz" +
     "-_.!~*'()";     // RFC2396 Mark characters
 var HEX = "0123456789ABCDEF";
 var plaintext = this;
 var encoded = "";
 for (var i = 0; i < plaintext.length; i++ ) {
  var ch = plaintext.charAt(i);
     if (ch == " ") {
      encoded += "+";    // x-www-urlencoded, rather than %20
  } else if (SAFECHARS.indexOf(ch) != -1) {
      encoded += ch;
  } else {
      var charCode = ch.charCodeAt(0);
   if (charCode > 255) {
       alert( "Unicode Character '"
                        + ch
                        + "' cannot be encoded using standard URL encoding.\n" +
              "(URL encoding only supports 8-bit characters.)\n" +
        "A space (+) will be substituted." );
    encoded += "+";
   } else {
    encoded += "%";
    encoded += HEX.charAt((charCode >> 4) & 0xF);
    encoded += HEX.charAt(charCode & 0xF);
   }
  }
 } // for
 return encoded;
};


String.prototype.URLDecode = function URLDecode(  )
{
   var HEXCHARS = "0123456789ABCDEFabcdef";
   var encoded = this;
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
    if (ch == "+") {
        plaintext += " ";
     i++;
    } else if (ch == "%") {
   if (i < (encoded.length-2)
     && HEXCHARS.indexOf(encoded.charAt(i+1)) != -1
     && HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
    plaintext += unescape( encoded.substr(i,3) );
    i += 3;
   } else {
    alert( 'Bad escape combination near ...' + encoded.substr(i) );
    plaintext += "%[ERROR]";
    i++;
   }
  } else {
     plaintext += ch;
     i++;
  }
 } // while
   return plaintext;
};


String.prototype.replaceAll = replaceAll;
function replaceAll( v1, v2 )
{
	var strTemp = this;
	strTemp = strTemp.replace( new RegExp( v1, "gi" ), v2 );
	return strTemp
}