////////////////////////////////////////////////////////////////////////////////
// 基本初期化処理.
////////////////////////////////////////////////////////////////////////////////

//var scriptMemorys = Bindings() ;
var scriptMemorys = _$global ;
var sessions = sessionMap() ;
var params = null ;
var $p = null ;
if( isNull( _$global._$script$query ) == false ) {
    params = jmap( _$global._$script$query ) ;
}
if( isNull( _$global.params ) == false ) {
    $p = params ;
}

////////////////////////////////////////////////////////////////////////////////
// 基本処理系.
////////////////////////////////////////////////////////////////////////////////

// 文字列操作系(trim).
String.prototype.trim = function() {
    return trim( this )
}

// 文字列操作系(startsWith).
String.prototype.startsWith = function( code ) {
    return startsWith( this,code )
}

// 文字列操作系(endsWith).
String.prototype.endsWith = function( code ) {
    return endsWith( this,code )
}

// Map表示系.
Object.prototype.toString = function() {
    var ret = new StrBuf().ad( "{" ) ;
    var cnt = 0 ;
    for( var x in this ) {
        if( cnt != 0 ) {
            ret.ad( " ," ) ;
        }
        var v = this[ x ] ;
        if( v != null ) {
            var clz = className( v ) ;
            if( clz == "JSAdapter" || clz == "NativeArray" || clz == "NativeObject" ) {
                ret.ad( x ).ad( ": " ).ad( "\"" ).ad( v.toString ).ad( "\"" ) ;
            }
            else if( clz == "NativeDate" ) {
                ret.ad( x ).ad( ": " ).ad( "\"" ).ad( formatDateByCustomString( v," " ) ).ad( "\"" ) ;
            }
            else {
                ret.ad( x ).ad( ": " ).ad( "\"" ).ad( v ).ad( "\"" ) ;
            }
        }
        else {
            ret.ad( x ).ad( ": \"\"" ) ;
        }
        cnt ++ ;
    }
    ret.ad( "}" ) ;
    return ret.ts() ;
}

// Arrayサイズ取得.
Array.prototype.size = function() {
    return this.length ;
}

// Array表示系.
Array.prototype.toString = function() {
    var ret = new StrBuf().ad( "[" ) ;
    var len = this.length ;
    var cnt = 0 ;
    for (var i = 0; i < len; i++) {
        var v = this[ i ] ;
        if( cnt != 0 ) {
            ret.ad( "," ) ;
        }
        if( isNull( v ) == false ) {
            var clz = className( v ) ;
            if( clz == "JSAdapter" || clz == "NativeArray" || clz == "NativeObject" ) {
                ret.ad( v.toString ) ;
            }
            else if( className( ret ) == "NativeDate" ) {
                ret.ad( "\"" ).ad( formatDateByCustomString( v," " ) ).ad( "\"" ) ;
            }
            else {
                ret.ad( "\"" ).ad( v ).ad( "\"" ) ;
            }
        }
        cnt ++ ;
    }
    ret.ad( "]" ) ;
    return ret.ts();
}

// 日付表示系.
Date.prototype.toString = function() {
    return formatDateByCustomString( this," " ) ;
}

