var ACMS = {
    Config  : function( key, value )
    {
        if ( !key ) return '';
        if ( 'string' == typeof(key) ) {
            if ( !value ) {
                return ( 'undefined' != typeof(this.Config[key]) ) ? this.Config[key] : '';
            } else {
                this.Config[key]    = value;
                return true;
            }
        } else {
            for ( _key in key ) {
                this.Config[_key]   = key[_key];
            }
        }
    },
    strval  : function ( arg )
    {
        if ( !arg ) return '';
        return String(arg);
    }
};

(function(){
    var elm = document.getElementById('acms-js');
    if ( !elm ) return false;
    var s   = elm.src.split('?');
    if ( 1 >= s.length ) return false;
    var query   = s[1];
    var s   = query.split('&');

    for ( var i=0; i<s.length; i++ ) {
        var param   = s[i].split('=');
        if ( 'undefined' == typeof(param[0]) ) continue;
        var key     = param[0];
        var value   = ('undefined' != typeof(param[1])) ? param[1] : key;
        ACMS.Config(key, decodeURIComponent(value));
    }

    ACMS.Config = ACMS.Config;
    ACMS.Config.root    = '/' + (ACMS.Config('offset') ? ACMS.Config.offset + '/' : '');
    ACMS.Config.jsRoot  = ACMS.Config.root + ACMS.Config.jsDir;

    ACMS.Config.searchEngineKeyword = '';
    if ( document.referrer.match(/^http:\/\/www\.google\..*(?:\?|&)q=([^&]+).*$|^http:\/\/search\.yahoo\.co\.jp.*(?:\?|&)p=([^&]+).*$|^http:\/\/www\.bing\.com.*(?:\?|&)q=([^&]+).*$/) ) {
        ACMS.Config.searchEngineKeyword = decodeURIComponent(RegExp.$1 || RegExp.$2 || RegExp.$3).replace(/\+/g, ' ');
    }

    document.write('<script type="text/javascript" src="' + ACMS.Config.jsRoot + 'jquery/jquery.js' + '"><' + '/script>');
    document.write('<script type="text/javascript" src="' + ACMS.Config.jsRoot + 'acms/config.js' + '" charset="UTF-8"><' + '/script>');
    document.write('<script type="text/javascript" src="' + ACMS.Config.jsRoot + 'acms/acms.js' + '" charset="UTF-8"><' + '/script>');
})();
