收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 2486|回复: 11

试模仿 Yugo 经典作品 求wiki

[复制链接]
发表于 2006-6-12 14:47:00 | 显示全部楼层 |阅读模式
N年前Yugo同志的网站就已经实现了。
目前想模范做一作品,求好心人分析一下原理,指点迷津。非常感谢

http://www.intentionallies.co.jp

问题:
1.拖拽效果的缓冲
2.阴影效果同上
3.全场景的旋转与缩放
4.场景自适应大小 反弹
 楼主| 发表于 2006-6-12 14:58:00 | 显示全部楼层

试模仿 Yugo Nakamura 一作品原理

网友的分析结果:

放掉drag的运算部份, 纯粹只是数学上的运算,

它在放掉drag时, 会依你鼠标当时的移动速度来决定物品被抛出的速度, 大致的方法我会这么写:
1. 在onEnterFrame里抓取新的_xmouse及_ymouse值, 上一次抓到的_xmouse及_ymouse值则先存到另外的变量里. 这样一来就可以知道两个时间点里鼠标移动的变量有多大(每fps的鼠标移动距离及其方向)

2. 在对象(就是范例网站里可以被drag的卡片)里写一个function, 来处理被抛出的动作, 也可以使用一个广域变量来判断对象本身是否要进行抛出, 然后在onEnterFrame里运算对象的移动, 我本身会选择第二个作法.

3. 在stopDrag时, 将新的_xmouse, _ymouse及旧的_xmouse, _ymouse值传给相对应的对象(要被抛出的对象), 并更改其对象里第2点提到的那个变量值, 告知已经要进行抛出的动作.

4. 在抛出对象里的onEnterFrame, 透过已经得到的鼠标坐标值, 算出鼠标的移动量及方向, 来决定对象被抛出时的初速度及方向.

5. 同样在onEnterFrame里, 写一个等加速度的运算, 加速度值为负值, 大小由你自己决定. 在每个fps里不断的运算目前的速度及位置, 并藉此改变对象的_x及_y值.

6. 另外还要判断是否已经撞到画面边界, 如果为是的话, 则x或y轴的速度方向要反相(正改成负,  负改成正).

大概就是这样...
看起来很麻烦, 不过如果已经有写过对象等加速移动的经验的话, 要写出像它这样抛出动作的话并不难.
如果你真的觉得有困难, 那么我会建议你先退一步写一些比较基本的动作来当练习, 等到熟练了再来写这个, 否则你很容易卡住, 而且debug会de到死.
回复 支持 反对

使用道具 举报

发表于 2006-6-12 15:14:00 | 显示全部楼层
经典!
艺术与技术的完美结合!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-12 15:26:00 | 显示全部楼层
还有中文动态字体旋转 也难解决
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-13 08:35:00 | 显示全部楼层
代码已经获得 但是不知道什么是抛物线算法部分 求解 再次感谢

XML.prototype.makeObj = function (xObj, obj)
{
    var _l2 = obj;
    var _l3 = xObj;
    if (_l3 == null)
    {
        _l3 = this;
    } // end if
    if (_l2 == null)
    {
        _l2 = {};
    } // end if
    var attrib;
    var chld;
    var _l1;
    var node_Type;
    var node_Value;
    for (attrib in _l3.attributes)
    {
        _l2[attrib] = _l3.attributes[attrib];
    } // end of for...in
    for (chld in _l3.childNodes)
    {
        _l1 = _l3.childNodes[chld].nodeName;
        node_Type = _l3.childNodes[chld].nodeType;
        node_Value = _l3.childNodes[chld].nodeValue;
        if (_l1 != null)
        {
        } // end if
        if (node_Type == 3)
        {
            _l2 = node_Value;
        } // end if
        if (node_Type == 1 && _l1 != null)
        {
            if (_l2[_l1] == null)
            {
                _l2[_l1] = this.makeObj(_l3.childNodes[chld], {});
            }
            else if (_l2[_l1]._type != "array")
            {
                _l2[_l1] = [_l2[_l1]];
                _l2[_l1]._type = "array";
            } // end if
            if (_l2[_l1]._type == "array")
            {
                _l2[_l1].unshift(this.makeObj(_l3.childNodes[chld], {}));
            } // end if
        } // end if
    } // end of for...in
    return (_l2);
};
String.prototype.plusZero = function (keta)
{
    var keta;
    var _l2;
    _l2 = String(this);
    var _l3 = _l2.length;
    var _l1;
    _l1 = 1;
    while (_l1 <= keta - _l3)
    {
        _l2 = "0" + _l2;
        ++_l1;
    } // end while
    return (_l2);
};
String.prototype.minusZero = function ()
{
    var _l1 = String(this);
    var _l2;
    _l2 = 1;
    while (_l2 <= _l1.length)
    {
        if (_l1.charAt(0) == "0")
        {
            _l1 = _l1.substring(1, _l1.length);
        }
        else
        {
            break;
        } // end if
        ++_l2;
    } // end while
    if (_l2 == "")
    {
        _l1 = "0";
    } // end if
    return (_l1);
};
var str = this._url.charAt(0);
trace (str);
if (str == "f")
{
    _global.path = "projects/";
    _global.rootpath = "";
}
else
{
    _global.path = "projects/";
    _global.rootpath = "";
} // end if
_global.randomDeviation = function (power)
{
    p = Math.pow(100, 1 / power);
    var _l1 = Math.pow(Math.random() * p, power) / 100;
    return (_l1);
};
_global.convert_date = function (str)
{
    var _l2 = str.substring(0, 4);
    var _l1 = str.substring(5, 7);
    if (_l1.substring(0, 1) == "0")
    {
        _l1 = Number(_l1.substring(1, 2));
    }
    else
    {
        _l1 = Number(_l1);
    } // end if
    var _l3 = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
    _l1 = _l3[_l1 - 1];
    return (_l1 + " " + _l2);
};
_global.convert_date_full = function (str)
{
    var _l3 = str;
    var year = _l3.substring(0, 4);
    var _l1 = _l3.substring(5, 7);
    var _l2 = _l3.substring(8, 10);
    if (_l1.substring(0, 1) == "0")
    {
        _l1 = Number(_l1.substring(1, 2));
    }
    else
    {
        _l1 = Number(_l1);
    } // end if
    var mArray = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
    _l1 = marray[_l1 - 1];
    return (_l1 + " " + _l2 + ", " + year);
};
_global.convert_array = function (obj)
{
    var _l1 = obj;
    if (typeof(_l1) == "string")
    {
        if (_l1 != undefined)
        {
            var _l2 = [_l1];
            return (_l2);
        } // end if
    }
    else
    {
        delete _l1._type;
        return (_l1);
    } // end if
};
_global.cutReturn = function (str)
{
    var _l2 = str;
    var _l1;
    _l1 = 0;
    while (_l1 <= _l2.length)
    {
        char = _l2.charAt(_l1);
        if (char == "\n")
        {
            _l2 = _l2.substring(0, _l1 - 1) + _l2.substring(_l1 + 1);
        } // end if
        ++_l1;
    } // end while
    return (_l2);
};
Array.prototype.sortMultiple = function (l)
{
    var cmp = function (a, b, l)
    {
        var _l3 = l.shift();
        var _l2 = a[_l3];
        var _l1 = b[_l3];
        return (_l2 < _l1 ? (-1) : (_l2 > _l1 ? (1) : (l.length ? (cmp(a, b, l)) : (0))));
    };
    this.sort(function (a, b)
    {
        return (cmp(a, b, l.split(",")));
    });
};
_global.listSearch = function (list, str)
{
    var _l3 = list;
    var _l1 = 0;
    _l1 = 0;
    while (_l1 <= _l3.length - 1)
    {
        if (_l3[_l1].name == str)
        {
            var _l2 = _l1;
            break;
        } // end if
        ++_l1;
    } // end while
    return (_l2);
};
_global.openNewWin = function (_url1, _title, _options)
{
    var _l1 = _url1;
    var _title;
    var _options;
    _l1 = "javascript:void(mkWindow=window.open(\'" + _l1 + "\',\'" + _title + "\',\'" + _options + "\'))";
    _root.urltext = _l1;
    getURL(_l1, "");
};
_global.writeSO = function (position, dataObj)
{
    var _l1 = _global;
    var _l2 = position;
    var _l3 = dataObj;
    if (_l2 == "cookie")
    {
        if (_l3 == false)
        {
            _l1.share_so.clear();
        } // end if
        _l1.share_so.data[_l2] = _l3;
        _root.sharedObj_writer.gotoAndPlay("write");
    } // end if
    _l1.share_so.data[_l2] = _l3;
    if (_l1.share_so.data.cookie != false)
    {
        _root.sharedObj_writer.gotoAndPlay("write");
        
    } // end if
};
_global.readSO = function ()
{
    _global.share_so = SharedObject.getLocal("itl");
};
readSO();
Stage.align = "LT";
Stage.scaleMode = "noScale";
fscommand("fullscreen", "true");
_global.scMargin = 0;
_global.scwidth = Stage.width;
_global.scheight = Stage.height;
stageListener = new Object();
stageListener.onResize = function ()
{
    resizeWindow();
};
Stage.addListener(stageListener);
_global.resizeWindow = function ()
{
    var scwidth0 = scwidth;
    var scheight0 = scheight;
    scwidth = Stage.width - 0;
    scheight = Stage.height - 0;
    var _l3 = scwidth / scwidth0;
    var _l2 = scheight / scheight0;
    var _l1;
    _l1 = 0;
    while (_l1 <= cardlist.length - 1)
    {
        cardlist[_l1].x = cardlist[_l1].x * _l3;
        cardlist[_l1].y = cardlist[_l1].y * _l2;
        cardlist[_l1].draw();
        ++_l1;
    } // end while
    _root.meta0._x = scwidth / 2;
    _root.meta0._y = scheight / 2;
    _root.closewin._x = scwidth;
};
resizeWindow();
function desktop()
{
    var _l1 = this;
    var _l2 = _global;
    _l2.resizeWindow();
    _l2.zoommode = "def";
    _l1.demo_mode = false;
    _l1.demo_totalcard = 50;
    _l1.zoomScale = 210;
    _l1.zoomParam = 1;
    _l1.a = 10;
    _l1.b = 1.700000;
    _l1.gosa = 1;
    _l2.zoommode = "def";
    _l1.isAllThumbLoaded = false;
    _l1.loadThumbList = [];
    _l1.loadThumbBuffer = 1;
    _l1.loadThumbCurrent = 0;
    _l1.loadThumbWait = 5;
    _l1.loadThumbCount = 0;
    _l2.loadedCardCount = 0;
    _l2.dataList = [];
    _l2.categoryList = [];
    _l2.keywordList = [];
    _l2.yearList = [];
    _l1.buttonarea._visible = false;
    _l2.naviDepth = 0;
    _l1.attachCard();
    _l1.onEnterFrame = _l1.loadThumb_control;
} // End of the function
desktop.prototype = new MovieClip();
Object.registerClass("desktop", desktop);
desktop.prototype.attachCard = function ()
{
    var _l3 = this;
    var _l2;
    if (_l3.demo_mode)
    {
        _global.totalcard = _l3.demo_totalcard;
    }
    else
    {
        _global.totalcard = dataObj.length;
    } // end if
    _l2 = 0;
    while (_l2 <= _global.totalcard - 1)
    {
        var _l1 = {};
        _l1.dataObj = dataObj[_l2 % dataObj.length];
        _l1.id = _l2 + 1;
        _l3.attachMovie("card", "card" + (_l2 + 1), 500 + (_l2 + 1), _l1);
        _l3.loadThumbList.push(_l3["card" + (_l2 + 1)]);
        _l3.buildDataList(_l2, _l1.dataObj);
        ++_l2;
    } // end while
    _global.frontDepth = 500 + _l2;
    delete dataObj;
    _l2 = 0;
    while (_l2 <= categoryList.length - 1)
    {
        categoryList[_l2].sortChar = String.fromCharCode(categoryList[_l2].count + 100);
        ++_l2;
    } // end while
    categoryList.sortOn("sortChar");
    categoryList.reverse();
    _l2 = 0;
    while (_l2 <= dataList.length - 1)
    {
        dataList[_l2].categorySortKey = listsearch(categoryList, dataList[_l2].category);
        ++_l2;
    } // end while
    keywordList.sortOn("count");
    keywordList.reverse();
    yearList.sortOn("name");
};
desktop.prototype.buildDataList = function (n, dobj)
{
    var _l2 = n;
    var _l3 = this;
    dataList[_l2] = {};
    dataList[_l2].mc = _l3["card" + (_l2 + 1)];
    dataList[_l2].name = dobj.name;
    dataList[_l2].date = dobj.date;
    dataList[_l2].category = dobj.genres.genre;
    dataList[_l2].keyword = dobj.keywords.keyword;
    _l3.buildDataListSub(categoryList, dataList[_l2].category);
    dataList[_l2].keyword = convert_array(dataList[_l2].keyword);
    var _l1;
    _l1 = 0;
    while (_l1 <= dataList[_l2].keyword.length - 1)
    {
        _l3.buildDataListSub(keywordList, dataList[_l2].keyword[_l1]);
        ++_l1;
    } // end while
    _l3.buildDataListSub(yearList, dataList[_l2].date.substring(0, 4));
};
desktop.prototype.buildDataListSub = function (list, entry)
{
    var _l2 = list;
    var _l1;
    var _l3 = false;
    _l1 = 0;
    while (_l1 <= _l2.length - 1)
    {
        if (_l2[_l1].name == entry)
        {
            _l3 = true;
            ++_l2[_l1].count;
            break;
        } // end if
        ++_l1;
    } // end while
    if (_l3 == false)
    {
        var obj = {};
        obj.name = entry;
        obj.count = 1;
        _l2.push(obj);
    } // end if
};
desktop.prototype.loadThumb_control = function ()
{
    var _l1 = this;
    if (_l1.loadThumbCount >= _l1.loadThumbWait)
    {
        while (_l1.loadThumbCurrent < _l1.loadThumbBuffer)
        {
            var _l3 = _l1.loadThumbList.shift();
            _l3.LoadThumb_start();
            ++_l1.loadThumbCurrent;
            ++_global.loadedCardCount;
        } // end while
        if (_l1.loadThumbList.length <= 0)
        {
            _l1.isAllThumbLoaded = true;
            delete _l1.onEnterFrame;
            var _l2;
            _l2 = 0;
            while (_l2 <= cardList.length)
            {
                cardList[_l2].buttonarea.gotoAndStop("on");
                ++_l2;
            } // end while
            _root.selectorMC.loadXML("menu.xml");
        } // end if
    }
    else
    {
        ++_l1.loadThumbCount;
    } // end if
};
desktop.prototype.loadThumb_complete = function ()
{
    --this.loadThumbCurrent;
    this.loadThumbCount = 0;
};
desktop.prototype.startZoom = function (sw, inst_card)
{
    var _l1 = this;
    var _l3 = inst_card;
    _l1.resetFrame();
    _root.sound.ring(2);
    switch (sw)
    {
        case "zoomin":
        {
            _l1.cx = 0;
            _l1.cy = 0;
            _l1.focusx = _l3._x;
            _l1.focusy = _l3._y;
            _l1.tox = -(_l1.focusx * _l1.zoomScale / 100 - _l1.cx);
            _l1.toy = -(_l1.focusy * _l1.zoomScale / 100 - _l1.cy);
            _l1.tos = _l1.zoomScale;
            _l1.tor = Math.round(-_l3._rotation + Math.random() * 20 - 10);
            _l1.r = _l1._parent._rotation;
            _l1.buttonarea._visible = true;
            _l1.focus_card0 = _l1.focus_card;
            _l1.focus_card = _l3;
            _global.zoommode = "zoom";
            if (_l1.navi_buttonMC == undefined && _l1.focus_card != undefined)
            {
                _l1.attachMovie("navi_button", "navi_buttonMC", 5000);
            } // end if
            _l1.navi_buttonMC.move_start(_l1.focus_card, "open");
            if (_root.fixMenu.fadeout != true)
            {
                _root.fixMenu.gotoAndPlay("fadeout");
            } // end if
            break;
        }
        case "zoomout":
        {
            for (i = 0; i <= cardlist.length - 1; i++)
            {
                cardlist[i].checkScreenArea();
            } // end of for
            _l1.tox = 0;
            _l1.toy = 0;
            _l1.tos = 100;
            _l1.tor = 0;
            _l1.r = _l1._parent._rotation;
            _l1.buttonarea._visible = false;
            _global.zoommode = "def";
            delete _l1.focus_card;
            delete _l1.focus_card0;
            if (_l1.navi_buttonMC != undefined)
            {
                _l1.navi_buttonMC.remove();
            } // end if
            var i;
            for (i = 0; i <= cardList.length; i++)
            {
                cardList[i].buttonarea.gotoAndStop("on");
            } // end of for
            break;
        }
    } // End of switch
    while (true)
    {
        var _l2 = _l1.tor - _l1.r;
        if (_l2 > 180)
        {
            _l1.tor = _l1.tor - 360;
            continue;
        } // end if
        if (_l2 < -180)
        {
            _l1.tor = _l1.tor + 360;
            continue;
        } // end if
        break;
    } // end while
    _l1.vx = 0;
    _l1.vy = 0;
    _l1.vs = 0;
    _l1.vr = 0;
    _quality = "low";
    var i;
    for (i = 0; i <= cardList.length; i++)
    {
        if (cardList[i] != _l1.focus_card && cardList[i] != _l1.focus_card0)
        {
            cardList[i].gotoAndStop("move");
        } // end if
    } // end of for
    _l1.onEnterFrame = _l1.zoomLoop;
};
desktop.prototype.zoomLoop = function ()
{
    var _l1 = this;
    var _l3 = _root;
    _l1.vx = (_l1.vx + (_l1.tox - _l1._x) / _l1.a) / _l1.b;
    _l1.vy = (_l1.vy + (_l1.toy - _l1._y) / _l1.a) / _l1.b;
    _l1.vs = (_l1.vs + (_l1.tos - _l1._xscale) / _l1.a) / _l1.b;
    _l1.vr = (_l1.vr + (_l1.tor - _l1.r) / _l1.a) / _l1.b;
    _l1._x = _l1._x + _l1.vx;
    _l1._y = _l1._y + _l1.vy;
    _l1._xscale = _l1._xscale + _l1.vs;
    _l1._yscale = _l1._xscale;
    _l1.r = _l1.r + _l1.vr;
    _l1._parent._rotation = _l1.r;
    if (Math.abs(_l1.tor - _l1.r) < _l1.gosa)
    {
        if (Math.abs(_l1._x - _l1.tox) < _l1.gosa && Math.abs(_l1._y - _l1.toy) < _l1.gosa && Math.abs(_l1.tos - _l1._xscale) < _l1.gosa)
        {
            _l3.sound.ring(4);
            _quality = "HIGH";
            var _l2;
            _l2 = 0;
            while (_l2 <= cardList.length)
            {
                cardList[_l2].gotoAndStop("def");
                if (zoommode == "zoom")
                {
                    cardList[_l2].keywordButtonSwitch("on");
                }
                else
                {
                    cardList[_l2].keywordButtonSwitch("off");
                } // end if
                ++_l2;
            } // end while
            if (_global.zoommode == "def")
            {
                _l3.selectorMC.startChase();
                if (_l3.fixMenu.fadeout == true)
                {
                    _l3.fixMenu.gotoAndPlay("fadein");
                } // end if
               
            } // end if
            _l1.resetFrame();
            delete _l1.onEnterFrame;
        } // end if
    } // end if
};
desktop.prototype.stateControl = function (option, inst_card)
{
    var _l2 = inst_card;
    switch (option)
    {
        case "lock":
        {
            this.gotoAndStop("button_off");
            var _l1;
            _l1 = 0;
            while (_l1 <= cardList.length)
            {
                if (cardList[_l1] != _l2)
                {
                    cardList[_l1].gotoAndPlay("skelton");
                } // end if
                ++_l1;
            } // end while
            break;
        }
        case "unlock":
        {
            _root.sound.ring(4);
            this.gotoAndStop("def");
            _l1 = 0;
            while (_l1 <= cardList.length)
            {
                if (cardList[_l1] != _l2)
                {
                    cardList[_l1].gotoAndPlay("end_skelton");
                    cardList[_l1].buttonarea.gotoAndStop("on");
                } // end if
                ++_l1;
            } // end while
            break;
        }
    } // End of switch
};
desktop.prototype.resetFrame = function ()
{
    trace ("reset");
    var _l1;
    _l1 = 0;
    while (_l1 <= cardList.length)
    {
        if (cardList[_l1].bg.frame.mode != "out")
        {
            cardList[_l1].bg.frame.gotoAndPlay("out");
        } // end if
        ++_l1;
    } // end while
};
function card()
{
    var _l1 = this;
    _l1.onLoad = function ()
    {
        var _l1 = this;
        cardList.push(_l1);
        _l1.mode = "release";
        _l1.info = {};
        _l1.nameStr = _l1.dataObj.name.toLowerCase();
        _l1.dateStr = convert_date(_l1.dataObj.date);
        _l1.categoryStr = _l1.dataObj.genres.genre;
        _l1.category_colorId = listSearch(categoryList, _l1.categoryStr) + 1;
        _l1.serverId = _l1.dataObj.id;
        _l1.keyword = convert_array(_l1.dataObj.keywords.keyword);
        _l1.thumbnail = _l1.dataobj.thumbnail;
        _l1.isExpand = false;
        delete _l1.dataObj;
        _l1.buttonArea.gotoAndStop("off");
        if (_global.share_so.data["card" + _l1.serverID].x == undefined)
        {
            var _l3 = randomDeviation(2);
            var _l2 = randomDeviation(2);
            if (_l3 * _l2 > 0.300000)
            {
                _l3 = _l3 / 1.700000;
                _l2 = _l2 / 1.700000;
            } // end if
            _l1.x = scWidth / 2 - scWidth / 2 * _l3 * bunpu_x;
            _l1.y = scHeight / 2 - scHeight / 2 * _l2 * bunpu_y;
            _l1.r = Math.round(Math.random() * 360);
        }
        else
        {
            var dataObj = _global.share_so.data["card" + _l1.serverID];
            _l1.x = scWidth * dataObj.x / 1000;
            _l1.y = scHeight * dataObj.y / 1000;
            _l1.r = dataObj.r;
        } // end if
        _l1.draw();
        delete _l1.onLoad;
    };
} // End of the function
_global.bunpu_x = 2;
_global.bunpu_y = 1;
_global.b_small = 1.080000;
_global.b_large = 1.150000;
_global.backA = 2;
_global.backB = 2.500000;
_global.backRa = 2;
_global.backRb = 2.500000;
_global.weight_small = 1;
_global.inertia_small = 150;
_global.weight_large = 1;
_global.inertia_large = 500;
_global.gosa = 0.300000;
_global.cardList = [];
_global.ctick = 0;
_global.cinstance = {};
_global.exlength = 150;
_global.excenter = [];
_global.exfvr = 1;
_global.exfv = 700;
_global.cw = 160;
_global.ch = 60;
card.prototype = new MovieClip();
Object.registerClass("card", card);
card.prototype.LoadThumb_start = function ()
{
    var _l1 = this;
    var _l2 = path + "imgs/" + _l1.thumbnail;
    _l1.loadmov.loadMovie(_l2);
    _l1.onEnterFrame = _l1.LoadThumb_loop;
};
card.prototype.LoadThumb_loop = function ()
{
    var _l1 = this;
    var _l2 = _l1.loadmov.getBytesTotal();
    var _l3 = _l1.loadmov.getBytesLoaded();
    if (_l2 > 1000)
    {
        _l1.loadPercent = Math.round(_l3 / _l2 * 100);
        if (_l1.loadPercent >= 100)
        {
            delete _l1.onEnterFrame;
            _l1.loadThumb_finish();
        } // end if
    } // end if
};
card.prototype.LoadThumb_finish = function ()
{
    var _l1 = this;
    _l1.gotoAndPlay("load_finish");
    _l1._parent.loadThumb_complete();
    delete _l1.loadPercent;
    _l1.writeSO();
};
card.prototype.moveControl = function (option, param1, param2, param3, param4)
{
    var _l1 = this;
    var _l2 = _root;
    var _l3 = _global;
    if (_l1._parent.isAllThumbLoaded)
    {
        switch (option)
        {
            case "over":
            {
                _l1.gotoAndPlay("over");
                _l2.selectorMC.stopChase();
                _l2.selectorMC.startmode = "over";
                _l2.helpMc.showHelp("card");
                break;
            }
            case "out":
            {
                _l1.gotoAndPlay("out");
                _l2.selectorMC.startChase();
                _l2.helpMc.hideHelp("card");
                break;
            }
            case "click":
            {
                if (_l1.doubleClick() == true)
                {
                    if (_l2.selectorMC.mode != "picking" && _l2.selectorMC.mode != "sorting")
                    {
                        _l1._parent.startZoom("zoomin", _l1);
                        _l1.gotoAndStop("focus");
                        _l1.gotoAndStop("def");
                        _l2.helpMc.hideHelp();
                        _l2.helpMc.helpOff("card");
                    } // end if
                }
                else
                {
                    _l1.swapToFront();
                    _l1.weight = _l3.weight_small;
                    _l1.inertia = _l3.inertia_small;
                    _l1.b = _l3.b_small;
                    _l1.onEnterFrame = _l1.moveLoop;
                    _l1.mode = "drag";
                    _l1.first_action = true;
                    if (_l1._parent["card_shadow" + _l1.id] == undefined)
                    {
                        _l1._parent.attachMovie("card_shadow", "card_shadow" + _l1.id, frontDepth - 1);
                        _l1._parent["card_shadow" + _l1.id].chase_start(_l1);
                    } // end if
                    if (_l1._parent.focus_card == _l1)
                    {
                        _l1._parent.navi_buttonMC.move_startUpdate();
                    } // end if
                    _l1.gotoAndPlay("click");
                } // end if
                break;
            }
            case "release":
            {
                if (_l1.mode != "focus")
                {
                    _l1.mode = "release";
                    _l1.first_action = true;
                } // end if
                break;
            }
            case "expand":
            {
                _l1.gotoAndPlay("expand");
                _l1.isExpand = true;
                if (_l1.bg.frame.mode != "out")
                {
                    _l1.bg.frame.gotoAndPlay("out");
                } // end if
                break;
            }
            case "close":
            {
                _l1.isExpand = false;
                switch (_l1.expandmode)
                {
                    case "full":
                    {
                        _l1.gotoAndPlay("close");
                        break;
                    }
                    case "half":
                    {
                        _l1.gotoAndPlay("close2");
                        break;
                    }
                    default:
                    {
                        _l1.gotoAndPlay("close3");
                        break;
                    }
                } // End of switch
                delete _l1.expandmode;
                _l1.info = {};
                break;
            }
            case "click_large":
            {
                if (_l1.doubleClick() == true)
                {
                    _l1.moveControl("rotate_align");
                    break;
                }
                else
                {
                    _l1.swapToFront();
                    _l1.weight = _l3.weight_large;
                    _l1.inertia = _l3.inertia_large;
                    _l1.b = _l3.b_large;
                    _l1.onEnterFrame = _l1.moveLoop;
                    _l1.mode = "drag";
                    _l1.first_action = true;
                    _quality = "MEDIUM";
                    if (_l1._parent.focus_card == _l1)
                    {
                        _l1._parent.navi_buttonMC.move_startUpdate();
                    } // end if
                } // end if
                break;
            }
            case "explode":
            {
                _l1.mode = "explode";
                _l1.vr = (Math.random() * exfvr - exfvr / 2) * (exlength - param1);
                _l1.onEnterFrame = _l1.moveLoop;
                break;
            }
            case "rotate_align":
            {
                _l1.mode = "focus";
                _l1.tox = _l1.x;
                _l1.toy = _l1.y;
                _l1.r = (_l1.r + 360000) % 360;
                _l1.tor = (-_l1._parent._parent._rotation + 360000) % 360;
                _l1.onEnterFrame = _l1.moveLoop;
                if (_l1._parent.focus_card == _l1)
                {
                    _l1._parent.navi_buttonMC.move_startUpdate();
                } // end if
                break;
            }
            case "pickUp":
            {
                _l2.sound.ring(3);
                _l1.mode = "focus";
                _l1.swapToFront();
                var rand = pickRandGrid * param1;
                var randx = Math.random() * rand - rand / 2;
                var randy = Math.random() * rand - rand / 2;
                _l1.tox = Math.min(Math.max(_l2.selectorMc._x + randx, defsMargin), scWidth - defsMargin) - _l2.meta0._x;
                _l1.toy = Math.min(Math.max(_l2.selectorMc._y + randy, defsMargin), scHeight - defsMargin) - _l2.meta0._y;
                _l1.tor = Math.random() * 360;
                _l1.onEnterFrame = _l1.moveLoop;
                break;
            }
            case "pickUp_keyword":
            {
                _l2.sound.ring(3);
                if (param4 == true)
                {
                    _l1.swapToFront();
                    _l1.gotoAndPlay("end_skelton");
                    var randR = 200;
                    var randDeg = Math.random() * 360;
                    var randx = randR * Math.cos(randDeg / 180 * 3.141593);
                    var randy = randR * Math.sin(randDeg / 180 * 3.141593);
                    _l1.tor = randDeg + Math.random() * 20 - 10;
                }
                else
                {
                    var rand = pickRandGrid * param1 * 2;
                    var randx = Math.random() * rand - rand / 2;
                    var randy = Math.random() * rand - rand / 2;
                    _l1.tor = Math.random() * 360;
                } // end if
                _l1.mode = "focus";
                _l1.tox = Math.min(Math.max(param2 + randx, -scwidth / 2 + defsMargin), scWidth / 2 - defsMargin);
                _l1.toy = Math.min(Math.max(param3 + randy, -scheight / 2 + defsMargin), scHeight / 2 - defsMargin);
                if (_l1._parent.focus_card == _l1)
                {
                    _l1._parent.navi_buttonMC.move_startUpdate();
                } // end if
                _l1.onEnterFrame = _l1.moveLoop;
                break;
            }
            case "sort":
            {
                _l2.sound.ring(3);
                _l1.mode = "focus";
                _l1.swapToFront();
                var index = param1;
                _l1.tox = sortX0 + index % sortNx * sortGridX + sMargin + cw / 2 - _l2.meta0._x;
                _l1.toy = sortY0 + Math.floor(index / sortNx) * sortGridY + sMargin + ch / 2 - _l2.meta0._y;
                _l1.tor = Math.random() * 20 - 10;
                _l1.vx = Math.random() * 100 - 50;
                _l1.vy = Math.random() * 100 - 50;
                _l1.onEnterFrame = _l1.moveLoop;
                break;
            }
            case "reset":
            {
                var randx = randomDeviation(2);
                var randy = randomDeviation(2);
                if (randx * randy > 0.200000)
                {
                    randx = randx / 1.700000;
                    randy = randy / 1.700000;
                } // end if
                _l1.x = scWidth / 2 - scWidth / 2 * randx * bunpu_x;
                _l1.y = scHeight / 2 - scHeight / 2 * randy * bunpu_y;
                _l1.r = Math.round(Math.random() * 360);
                _l1.moveControl("stop");
                _l1.draw();
                _l1.gotoAndPlay("reset");
                break;
            }
            case "stop":
            {
                removeMovieClip (_l1._parent["card_shadow" + _l1.id]);
                _l1.bg.gotoAndPlay("back");
                if (_l1.bg.frame.mode != "out")
                {
                    _l1.bg.frame.gotoAndPlay("out");
                } // end if
                delete _l1.mx;
                delete _l1.my;
                delete _l1.mx0;
                delete _l1.my0;
                delete _l1.dmx;
                delete _l1.dmy;
                delete _l1.addx;
                delete _l1.addy;
                delete _l1.first_action;
                delete _l1.vx;
                delete _l1.vy;
                delete _l1.vr;
                delete _l1.onEnterFrame;
                _l1.mode = "stop";
                _l1.writeSO();
                if (_quality == "MEDIUM")
                {
                    _quality = "BEST";
                    break;
                } // end if
                _quality = "HIGH";
            }
        } // End of switch
    } // end if
};
card.prototype.moveLoop = function ()
{
    var _l1 = this;
    switch (_l1.mode)
    {
        case "drag":
        {
            if (_l1._parent.focus_card == _l1)
            {
                _l1._parent.navi_buttonMC.move_keepUpdate();
            } // end if
            if (_l1.first_action)
            {
                _l1.first_action = false;
                _l1.mx = _root.meta0.desktop0._xmouse;
                _l1.my = _root.meta0.desktop0._ymouse;
                _l1.dmx = 0;
                _l1.dmy = 0;
            }
            else
            {
                _l1.mx = _root.meta0.desktop0._xmouse;
                _l1.my = _root.meta0.desktop0._ymouse;
                _l1.dmx = _l1.mx - _l1.mx0;
                _l1.dmy = _l1.my - _l1.my0;
            } // end if
            _l1.mx0 = _l1.mx;
            _l1.my0 = _l1.my;
            var fx = (_l1.dmx - _l1.vx) * _l1.weight;
            var fy = (_l1.dmy - _l1.vy) * _l1.weight;
            var _l3 = _l1.mx - _l1.x;
            var _l2 = _l1.my - _l1.y;
            if (fx == 0)
            {
                var mlength = _l3;
                var mforce = fy;
                var torque = mforce * mlength;
            }
            else if (fy == 0)
            {
                var mlength = _l2;
                var mforce = fx;
                var torque = -mforce * mlength;
            }
            else
            {
                var k = fy / fx;
                var kx = (-k * k * _l3 + k * _l2) / (-k * k - 1);
                var ky = k * (kx - _l3) + _l2;
                var mlength = Math.sqrt(kx * kx + ky * ky);
                var mforce = Math.sqrt(fx * fx + fy * fy);
                if (fx * ky > 0)
                {
                    var torque = -mforce * mlength;
                }
                else
                {
                    var torque = mforce * mlength;
                } // end if
            } // end if
            if (_l1.rotateMode == "force_to_0")
            {
                torque = 0;
            } // end if
            _l1.vx = _l1.dmx;
            _l1.vy = _l1.dmy;
            _l1.x = _l1.x + _l1.vx;
            _l1.y = _l1.y + _l1.vy;
            _l1.vr = _l1.vr - torque / _l1.inertia;
            _l3 = _l1.mx - _l1.x;
            _l2 = _l1.my - _l1.y;
            var cos = Math.cos(_l1.vr / 180 * 3.141593);
            var sin = Math.sin(_l1.vr / 180 * 3.141593);
            _l1.addx = _l3 * cos + _l2 * sin - _l3;
            _l1.addy = -_l3 * sin + _l2 * cos - _l2;
            _l1.x = _l1.x - _l1.addx;
            _l1.y = _l1.y - _l1.addy;
            _l1.r = _l1.r - _l1.vr;
            _l1.vx = _l1.vx / _l1.b;
            _l1.vy = _l1.vy / _l1.b;
            _l1.vr = _l1.vr / _l1.b;
            break;
        }
        case "release":
        {
            if (_l1.first_action)
            {
                _l1.first_action = false;
                _l1.vx = (_l1.vx - _l1.addx) * 1.500000;
                _l1.vy = (_l1.vy - _l1.addy) * 1.500000;
                _l1.addx = 0;
                _l1.addy = 0;
            } // end if
            _l1.x = _l1.x + _l1.vx;
            _l1.y = _l1.y + _l1.vy;
            _l1.r = _l1.r - _l1.vr;
            _l1.vx = _l1.vx / _l1.b;
            _l1.vy = _l1.vy / _l1.b;
            _l1.vr = _l1.vr / _l1.b;
            break;
        }
        case "focus":
        {
            if (_l1.first_action)
            {
                _l1.first_action = false;
            } // end if
            _l1.vx = (_l1.vx + (_l1.tox - _l1.x) / backA) / backB;
            _l1.vy = (_l1.vy + (_l1.toy - _l1.y) / backA) / backB;
            _l1.vr = (_l1.vr - (_l1.tor - _l1.r) / backRa) / backRb;
            _l1.x = _l1.x + _l1.vx;
            _l1.y = _l1.y + _l1.vy;
            _l1.r = _l1.r - _l1.vr;
            break;
        }
    } // End of switch
    if (_global.zoommode == "def")
    {
        _l1.checkScreenArea();
    } // end if
    _l1.draw();
    _l1.checkStop();
};
card.prototype.draw = function ()
{
    var _l1 = this;
    _l1._x = _l1.x;
    _l1._y = _l1.y;
    _l1._rotation = _l1.r;
};
card.prototype.checkStop = function ()
{
    var _l1 = this;
    if (_l1.mode != "drag")
    {
        if (_l1.mode != "focus")
        {
            if (Math.abs(_l1.vx) < gosa && Math.abs(_l1.vy) < gosa && Math.abs(_l1.vr) < gosa)
            {
                _l1.moveControl("stop");
            } // end if
        }
        else if (Math.abs(_l1.tox - _l1.x) < gosa && Math.abs(_l1.toy - _l1.y) < gosa && Math.abs(_l1.tor - _l1.r) < gosa && Math.abs(_l1.vr) < gosa)
        {
            _l1.x = _l1.tox;
            _l1.y = _l1.toy;
            _l1.r = _l1.tor % 360;
            _l1.draw();
            trace (_l1.tellDescription);
            if (_l1.tellDescription)
            {
                _l1.descriptionMC.onAlignCard();
                delete _l1.tellDescription;
            } // end if
            _l1.moveControl("stop");
        } // end if
    } // end if
};
card.prototype.checkScreenArea = function ()
{
    var _l1 = this;
    if (_l1.x < -scWidth / 2 - scMargin || _l1.x > scWidth / 2 + scMargin)
    {
        if (_l1.vx != undefined)
        {
            _l1.vx = -_l1.vx;
            _l1.x = _l1.x + _l1.vx;
        } // end if
        if (_l1.x < -scMargin - scWidth / 2)
        {
            _l1.x = Math.max(_l1.x, -scWidth / 2 - scMargin);
        }
        else
        {
            _l1.x = Math.min(_l1.x, scWidth / 2 + scMargin);
        } // end if
        _l1.draw();
    } // end if
    if (_l1.y < -scHeight / 2 - scMargin || _l1.y > scHeight / 2 + scMargin)
    {
        if (_l1.vy != undefined)
        {
            _l1.vy = -_l1.vy;
            _l1.y = _l1.y + _l1.vy;
        } // end if
        if (_l1.y < -scHeight / 2 - scMargin)
        {
            _l1.y = Math.max(_l1.y, -scMargin - scHeight / 2);
        }
        else
        {
            _l1.y = Math.min(_l1.y, scHeight / 2 + scMargin);
        } // end if
        _l1.draw();
    } // end if
};
card.prototype.swapToFront = function ()
{
    frontDepth = frontDepth + 2;
    this.swapDepths(frontDepth);
};
card.prototype.doubleClick = function ()
{
    var _l1 = getTimer();
    if (cinstance == this)
    {
        if (_l1 - ctick < 500)
        {
            ctick = _l1;
            return (true);
            
        }
        else
        {
            ctick = _l1;
            return (false);
        } // end if
    }
    else
    {
        cinstance = this;
        ctick = _l1;
        return (false);
    } // end if
};
card.prototype.arrangeTitlePosition = function (textHeight)
{
    if (textHeight > 14)
    {
        this.date.gotoAndStop("line2");
    }
    else
    {
        this.date.gotoAndStop("line1");
    } // end if
};
card.prototype.convertDetailData = function (obj)
{
    var _l1 = this;
    var _l2 = obj;
    _l1.info.client = _l2.client;
    _l1.info.address = _l2.address;
    _l1.info.location = _l2.location;
    _l1.info.description_ja = _l2.detail_ja;
    _l1.info.description_en = _l2.detail_en;
    _l1.info.link = convert_array(_l2.links.link);
    _l1.info.image = convert_array(_l2.images.image);
    _l1.info.comment = convert_array(_l2.comments.comment);
    if (_l1.info.comment.name != undefined)
    {
        _l1.info.comment = [_l1.info.comment];
    } // end if
};
card.prototype.setDataText = function ()
{
    var _l1 = this;
    _l1.placeStr = _l1.info.location.toLowerCase();
    _l1.clientStr = _l1.info.client.toLowerCase();
    _l1.nextposX = _l1.dataText.linkText0._x;
    if (_l1.info.link.length > 0)
    {
        var _l2;
        _l2 = 0;
        while (_l2 <= _l1.info.link.length - 1)
        {
            _l1.dataText["linkText" + _l2]._x = _l1.nextposX;
            _l1.dataText["linkText" + _l2].gotoAndStop("def");
            var _l3 = _l1.info.link[_l2].name;
            if (_l2 < _l1.info.link.length - 1)
            {
                _l3 = _l3 + ", ";
            } // end if
            _l1.dataText["linkText" + _l2].tex = _l3;
            _l1.dataText["linkText" + _l2].buttonarea._width = _l1.dataText["linkText" + _l2].textarea.textWidth + 0;
            _l1.nextposX = _l1.dataText["linkText" + _l2]._x + _l1.dataText["linkText" + _l2].buttonarea._width;
            _l1.dataText["linkText" + _l2].linkURL = _l1.info.link[_l2].url;
            ++_l2;
        } // end while
    }
    else
    {
        _l1.dataText.linkText0.gotoAndStop("def");
        _l1.dataText.linkText0.tex = "none";
    } // end if
    delete _l1.nextposX;
};
card.prototype.setKeywordDot = function ()
{
    var _l2 = this;
    var _l1;
    _l1 = 0;
    while (_l1 <= _l2.keyword.length - 1)
    {
        _l2.key.set.attachMovie("card_keyword_mark_dot", "dot" + _l1, _l1);
        _l2.key.set["dot" + _l1]._x = 0;
        _l2.key.set["dot" + _l1]._y = -_l1 * 5;
        _l2.key.set["dot" + _l1].word = _l2.keyword[_l1];
        var _l3 = listSearch(keywordList, _l2.keyword[_l1]) + 1;
        _l2.key.set["dot" + _l1].colorset.gotoAndStop(_l3);
        ++_l1;
    } // end while
    _l2.keywordButtonSwitch("off");
};
card.prototype.showKeywordTitle = function (word)
{
    this.KeywordStr = word + " :";
};
card.prototype.keywordButtonSwitch = function (option)
{
    var _l2 = this;
    switch (option)
    {
        case "on":
        {
            var _l1;
            _l1 = 0;
            while (_l1 <= _l2.keyword.length - 1)
            {
                _l2.key.set["dot" + _l1].buttonarea._visible = true;
                ++_l1;
            } // end while
            break;
        }
        case "off":
        {
            _l1 = 0;
            while (_l1 <= _l2.keyword.length - 1)
            {
                _l2.key.set["dot" + _l1].buttonarea._visible = false;
                ++_l1;
            } // end while
            break;
        }
    } // End of switch
};
card.prototype.writeSO = function ()
{
    var _l2 = this;
    var _l1 = {};
    _l1.x = Math.round(_l2.x / scWidth * 1000);
    _l1.y = Math.round(_l2.y / scHeight * 1000);
    _l1.r = _l2.r % 360;
    _global.writeSO("card" + _l2.serverId, _l1);
};
function description()
{
    var _l1 = this;
    _l1.onLoad = function ()
    {
        var _l1 = this;
        _l1.textarea.text = "";
        _l1.txt_en = cutReturn(_l1._parent.info.description_en);
        _l1.txt_ja = cutReturn(_l1._parent.info.description_ja);
        _l1.initCommentObj();
    };
} // End of the function
description.prototype = new MovieClip();
Object.registerClass("description", description);
description.prototype.initCommentObj = function ()
{
    var _l1 = this;
    _l1.cTotal = _l1._parent.info.comment.length;
    if (_l1.cTotal == undefined)
    {
        _l1.cTotal = 0;
        _l1.cIndex = 0;
        _l1._parent.info.comment = [];
    }
    else
    {
        _l1.cIndex = _l1.cTotal - 1;
    } // end if
};
description.prototype.init = function (lang)
{
    var _l1 = this;
    switch (lang)
    {
        case "en":
        {
            _l1.textarea.text = _l1.txt_en;
            break;
        }
        case "ja":
        {
            _l1.textarea.text = _l1.txt_ja;
            break;
        }
        case "comment":
        {
            if (_l1.cTotal > 0)
            {
                _l1.cObj = _l1._parent.info.comment;
                _l1.textarea.text = cutReturn(_l1.cObj[_l1.cIndex].body);
                _l1.cDate = convert_date_full(_l1.cObj[_l1.cIndex].date);
                _l1.cEmail = _l1.cObj[_l1.cIndex].email;
                _l1.cName = _l1.cObj[_l1.cIndex].name;
            }
            else
            {
                _l1.cDate = "-";
                _l1.cName = "-";
                _l1.textarea.text = "no entry now.\nplease write your comment on this project.";
            } // end if
            _l1.navi.page = _l1.cTotal - _l1.cIndex + " / " + _l1.cTotal;
            break;
        }
    } // End of switch
    _l1.init_size();
};
description.prototype.init_size = function ()
{
    var _l1 = this;
    _l1.sb_margin = 12;
    _l1.sb_y0 = _l1.button_up._y + _l1.sb_margin;
    _l1.sb_y1 = _l1.button_down._y - _l1.sb_margin;
    _l1.sb_height = _l1.sb_y1 - _l1.sb_y0;
    _l1.sb_x = _l1.button_up._x;
    _l1.scBar._x = _l1.sb_x;
    _l1.scBar._y = _l1.sb_y0;
    if (_l1.textarea.maxscroll > 1)
    {
        _l1.scBar.gotoAndPlay("fadein");
        _l1.button_up.gotoAndPlay("fadein");
        _l1.button_down.gotoAndPlay("fadein");
    }
    else
    {
        _l1.scBar.gotoAndStop(1);
        _l1.button_up.gotoAndStop(1);
        _l1.button_down.gotoAndStop(1);
    } // end if
};
description.prototype.onAlignCard = function ()
{
    this.play();
};
description.prototype.buttonAction = function (option)
{
    var _l1 = this;
    switch (option)
    {
        case "up_press":
        {
            _l1.dy = -1;
            _l1.onEnterFrame = _l1.scrollloop;
            break;
        }
        case "down_press":
        {
            _l1.dy = 1;
            _l1.onEnterFrame = _l1.scrollloop;
            break;
        }
        case "up_release":
        case "down_release":
        {
            delete _l1.onEnterFrame;
            break;
        }
    } // End of switch
};
description.prototype.sbAction = function (option)
{
    var _l1 = this;
    switch (option)
    {
        case "press":
        {
            _l1.scBarMode = "drag";
            startDrag (_l1.scBar, false, _l1.sb_x, _l1.sb_y0, _l1.sb_x, _l1.sb_y1);
            _l1.onEnterFrame = _l1.dragloop;
            break;
        }
        case "release":
        {
            stopDrag ();
            _l1.scBarMode = "release";
            break;
        }
    } // End of switch
};
description.prototype.scrollLoop = function ()
{
    var _l1 = this;
    _l1.textarea.scroll = _l1.textarea.scroll + _l1.dy;
    _l1.scBar._y = _l1.sb_y0 + _l1.sb_height * (_l1.textarea.scroll - 1) / (_l1.textarea.maxscroll - 1);
};
description.prototype.dragLoop = function ()
{
    var _l1 = this;
    var _l2 = (_l1.scBar._y - _l1.sb_y0) / _l1.sb_height;
    _l1.textarea.scroll = Math.round((_l1.textarea.maxscroll - 1) * _l2) + 1;
    if (_l1.scBarMode != "release")
    {
        _l1.vy = _l1.scBar._y - _l1.scBary0;
        _l1.scBary0 = _l1.scBar._y;
    }
    else
    {
        _l1.scBar._y = _l1.scBar._y + _l1.vy;
        _l1.scBar._y = Math.min(_l1.scBar._y, _l1.sb_y1);
        _l1.scBar._y = Math.max(_l1.scBar._y, _l1.sb_y0);
        _l1.vy = _l1.vy / 1.200000;
        if (Math.abs(_l1.vy) < 0.100000)
        {
            delete _l1.onEnterFrame;
        } // end if
    } // end if
};
description.prototype.submitComment = function (area_name, area_email, area_message)
{
    var _l1 = this;
    var _l3 = area_message;
    if (_l3 != "" && _l3 != undefined && _l3 != "Error : please input your comment.")
    {
        _l1.formMC.gotoAndStop("sending");
        _l1.formMC.statustext.gotoAndStop("sending");
        _l1.submit = new LoadVars();
        _l1.submitResult = new LoadVars();
        _l1.submitResult.referObj = _l1;
        if (area_name == undefined || area_name == "")
        {
            _l1.formMC.area_name = "anonymous";
            _l1.submit.name = "anonymous";
        }
        else
        {
            _l1.submit.name = area_name;
        } // end if
        _l1.submit.email = area_email;
        _l1.submit.body = _l3;
        _l1.submit.pid = _l1._parent.serverId;
        _l1.submit.sendAndLoad(path + "system/comments.php", _l1.submitResult, "POST");
        _l1.submitResult.onLoad = function ()
        {
            var _l1 = this;
            _l1.referObj.formMC.statustext.gotoAndStop("complete");
            var _l2 = {};
            _l2.name = _l1.referObj.submit.name;
            _l2.email = _l1.referObj.submit.email;
            _l2.body = _l1.referObj.submit.body;
            _l2.date = "just now";
            _l1.referObj._parent.info.comment.push(_l2);
            _l1.referObj.initCommentObj();
            _l1.referObj.init("comment");
            _l1.referObj.formMc.gotoAndStop("complete");
        };
    }
    else
    {
        _l1.formMC.area_message = "Error : please input your comment.";
    } // end if
};
description.prototype.commentPageControl = function (option)
{
    var _l1 = this;
    switch (option)
    {
        case "next":
        {
            --_l1.cIndex;
            if (_l1.cIndex < 0)
            {
                _l1.cIndex = _l1.cTotal - 1;
            } // end if
            break;
        }
        case "prev":
        {
            ++_l1.cIndex;
            if (_l1.cIndex > _l1.cTotal - 1)
            {
                _l1.cIndex = 0;
            } // end if
            break;
        }
    } // End of switch
    _l1.gotoAndPlay("comment_refresh");
};
function imageLoader()
{
    var _l1 = this;
    _l1.imagecount = 0;
    _l1.waitstep = 0.750000;
    _l1.waitPercent = 100;
    _l1.files = _l1._parent.info.image;
    _l1.n = _l1.files.length;
    _l1.firstTime = true;
    _l1.depth = 0;
    _l1.putCounter();
} // End of the function
imageLoader.prototype = new MovieClip();
Object.registerClass("imageLoader", imageLoader);
imageLoader.prototype.loadStart = function ()
{
    this.loadPic();
};
imageLoader.prototype.loadPic = function ()
{
    var _l1 = this;
    var _l2 = path + "imgs/" + _l1.files[_l1.imagecount];
    ++_l1.depth;
    _l1.attachMovie("imageLoader_loadMC", "loadMC" + _l1.depth, _l1.depth);
    _l1.inst_loadMC = _l1["loadMC" + _l1.depth];
    _l1.loadpercent = 0;
    _l1.inst_loadMC.pic.loadMovie(_l2);
    _l1.onEnterFrame = _l1.loadLoop;
};
imageLoader.prototype.loadLoop = function ()
{
    var _l1 = this;
    _l1.total = _l1.inst_loadMC.pic.getBytesTotal();
    _l1.loaded = _l1.inst_loadMC.pic.getBytesLoaded();
    _l1.loadpercent = Math.round(_l1.loaded / _l1.total * 100);
    _l1.waitpercent = _l1.waitpercent + _l1.waitstep;
    if (_l1.mode == "button" && _l1.movemode == "finish")
    {
        _l1.displaypercent = _l1.loadpercent;
    }
    else
    {
        _l1.displaypercent = Math.min(_l1.loadpercent, _l1.waitpercent);
    } // end if
    if (_l1.total > 2000 && _l1.displaypercent >= 100 && _l1.inst_loadMC.pic._width > 100)
    {
        _l1.inst_loadMC.gotoAndPlay("show");
        _l1.movemode = "changing";
        _l1.waitpercent = 0;
        _l1.putCounter();
        ++_l1.imagecount;
        if (_l1.imagecount >= _l1.n)
        {
            _l1.imagecount = 0;
        } // end if
        _l1._parent.picNavi.gotoAndStop("disable");
        _l1.mode = "auto";
    } // end if
};
imageLoader.prototype.intro_finish = function ()
{
    var _l1 = this;
    if (_l1.n > 1)
    {
        _l1.gotoAndStop("loaded");
        if (_l1.inst_loadMC0 != undefined)
        {
            _l1.inst_loadMC0.removeMovieClip();
        } // end if
        _l1.inst_loadMC0 = _l1.inst_loadMC;
        _l1.loadPic();
        _l1.movemode = "finish";
        _l1._parent.picNavi.gotoAndStop("def");
    }
    else
    {
        delete _l1.onEnterFrame;
    } // end if
    if (_l1.FirstTime)
    {
        _l1.firstTime = false;
        _l1._parent.play();
    } // end if
};
imageLoader.prototype.putCounter = function ()
{
    var _l1 = this;
    _l1._parent.picNavi.total = _l1.n;
    _l1._parent.picNavi.count = _l1.imagecount + 1;
};
imageLoader.prototype.buttonaction = function (option)
{
    var _l1 = this;
    _l1.mode = "button";
    switch (option)
    {
        case "next":
        {
            break;
        }
        case "prev":
        {
            _l1.imagecount = (_l1.imagecount + _l1.n - 2) % _l1.n;
            _l1.loadPic();
            break;
        }
    } // End of switch
    _l1._parent.picNavi.gotoAndStop("loading");
};
function card_shadow()
{
    this.a = 2;
} // End of the function
card_shadow.prototype = new MovieClip();
Object.registerClass("card_shadow", card_shadow);
card_shadow.prototype.chase_start = function (instance)
{
    var _l1 = this;
    _l1.chase_target = instance;
    _l1.x = _l1.chase_target.x;
    _l1.y = _l1.chase_target.y;
    _l1.r = _l1.chase_target.r;
    _l1.draw();
    _l1.onEnterFrame = _l1.chase_loop;
};
card_shadow.prototype.chase_loop = function ()
{
    var _l1 = this;
    _l1.x = (_l1.x * (_l1.a - 1) + _l1.chase_target.x) / _l1.a;
    _l1.y = (_l1.y * (_l1.a - 1) + _l1.chase_target.y) / _l1.a;
    _l1.r = (_l1.r * (_l1.a - 1) + _l1.chase_target.r) / _l1.a;
    _l1.draw();
};
card_shadow.prototype.draw = function ()
{
    var _l1 = this;
    _l1._x = _l1.x;
    _l1._y = _l1.y;
    _l1._rotation = _l1.r;
};
function navi_button()
{
    var _l1 = this;
    _l1.a = 6;
    _l1.isFirstTime = true;
    _l1.radius = 800;
    _l1.randR = 180;
    _l1.randK = 50;
    _l1.randKm = 2;
    _l1.gosa = 0.500000;
} // End of the function
navi_button.prototype = new MovieClip();
Object.registerClass("navi_button", navi_button);
navi_button.prototype.clickAction = function (option)
{
    var _l1 = this;
    switch (option)
    {
        case "open":
        {
            _l1._parent.stateControl("lock", _l1.inst_card);
            _l1.loadXML();
            _l1._parent.resetFrame();
            break;
        }
        case "close":
        {
            _l1.inst_card.moveControl("close");
            break;
        }
    } // End of switch
};
navi_button.prototype.loadXML = function ()
{
    var _l1 = this;
    _l1.xmlObj = new XML();
    _l1.xmlObj.ignoreWhite = true;
    var _l2 = _l1.inst_card.serverId;
    _l1.xmlObj.load(path + _l2 + ".xml");
    _l1.xmlObj.referObj = _l1;
    _l1.xmlObj.onLoad = function ()
    {
        var _l1 = this;
        _l1.referObj.dataObj = _l1.makeObj().intentionallies.project;
        _l1.referObj.onLoadAction();
    };
};
navi_button.prototype.onLoadAction = function ()
{
    var _l1 = this;
    delete _l1.xmlObj;
    _l1.isLoadedXML = true;
    _l1.inst_card.convertDetailData(_l1.dataObj);
    delete _l1.dataObj;
};
navi_button.prototype.openAction = function ()
{
    this.inst_card.moveControl("expand");
};
navi_button.prototype.move_start = function (instance, option)
{
    var _l1 = this;
    if (instance != undefined)
    {
        _l1.inst_card = instance;
        if (_l1.isFirstTime || option == "close")
        {
            var _l3 = Math.random() * 360 / 6.283185;
            _l1.x = _l1.inst_card.x + Math.cos(_l3) * _l1.radius;
            _l1.y = _l1.inst_card.y + Math.sin(_l3) * _l1.radius;
            _l1.r = _l1.inst_card.r % 360 + (Math.random() * _l1.randR - _l1.rand / 2);
            _l1.r = _l1.r + 720 * (Math.round(Math.random() * 1) - 0.500000) * 2;
            _l1.draw();
            _l1.isFirstTime = false;
        } // end if
        var _l2 = new Object();
        _l2.x = _l1.inst_card.buttonPoint._x;
        _l2.y = _l1.inst_card.buttonPoint._y;
        _l1.inst_card.localToGlobal(_l2);
        _l1._parent.globalToLocal(_l2);
        _l1.tox = _l2.x;
        _l1.toy = _l2.y;
        _l1.katamuki = Math.random() * _l1.randK - _l1.randK / 2;
        _l1.tor = _l1.inst_card.r + _l1.katamuki;
        if (_l1.inst_card != _l1.inst_card0)
        {
            _l1.r = _l1.r + 360 * (Math.round(Math.random() * 1) - 0.500000) * 2;
        } // end if
        _l1.inst_card0 = _l1.inst_card;
        _l1.movemode = "normal";
        switch (option)
        {
            case "close":
            {
                _l1.all.gotoAndPlay("close");
                break;
            }
        } // End of switch
        _l1.onEnterFrame = _l1.move_loop;
    } // end if
};
navi_button.prototype.move_startUpdate = function ()
{
    var _l1 = this;
    _l1.move_update();
    _l1.movemode = "update";
    _l1.katamuki = Math.random() * _l1.randK - _l1.randK / 2;
    _l1.onEnterFrame = _l1.move_loop;
};
navi_button.prototype.move_keepUpdate = function ()
{
    var _l1 = this;
    _l1.movemode = "update";
    _l1.onEnterFrame = _l1.move_loop;
};
navi_button.prototype.move_update = function ()
{
    var _l1 = this;
    var _l2 = new Object();
    _l2.x = _l1.inst_card.buttonPoint._x;
    _l2.y = _l1.inst_card.buttonPoint._y;
    _l1.inst_card.localToGlobal(_l2);
    _l1._parent.globalToLocal(_l2);
    _l1.tox = _l2.x;
    _l1.toy = _l2.y;
    _l1.tor = _l1.inst_card.r + _l1.katamuki;
};
navi_button.prototype.move_loop = function ()
{
    var _l1 = this;
    if (_l1.movemode == "update")
    {
        _l1.move_update();
    } // end if
    _l1.x = (_l1.x * (_l1.a - 1) + _l1.tox) / _l1.a;
    _l1.y = (_l1.y * (_l1.a - 1) + _l1.toy) / _l1.a;
    _l1.r = (_l1.r * (_l1.a - 1) + _l1.tor) / _l1.a;
    _l1.draw();
    if (Math.abs(_l1.x - _l1.tox) < _l1.gosa && Math.abs(_l1.y - _l1.toy) < _l1.gosa && Math.abs(_l1.r - _l1.tor) < _l1.gosa)
    {
        if (_l1.inst_card.mode == "stop" || _l1.movemode != "update")
        {
            delete _l1.onEnterFrame;
            _l1.movemode = "stop";
        } // end if
    } // end if
};
navi_button.prototype.draw = function ()
{
    var _l1 = this;
    _l1._x = _l1.x;
    _l1._y = _l1.y;
    _l1._rotation = _l1.r;
};
navi_button.prototype.remove = function ()
{
    this.gotoAndPlay("remove");
};
function randomTypo()
{
    var _l1 = this;
    _l1.cMin = 33;
    _l1.cMax = 126;
    _l1.typotext = "";
} // End of the function
randomTypo.prototype = new MovieClip();
Object.registerClass("randomTypo", randomTypo);
Object.registerClass("randomTypo_small", randomTypo);
Object.registerClass("randomTypo_small2", randomTypo);
randomTypo.prototype.setText = function (instance, str, wait_char, charspeed, movefix, moverange, movetrigger, calloption, soundoption)
{
    var _l1 = this;
    if (charspeed != undefined)
    {
        _l1.soundoption = soundoption;
        _l1.calloption = calloption;
        _l1.wait_char = wait_char;
        _l1.charspeed = charspeed;
        _l1.movefix = movefix;
        _l1.moverange = moverange;
        _l1.movetrigger = movetrigger;
        var _l2;
        _l1.description = str;
        _l1.description_length = _l1.description.length;
        _l1.randomlist = [];
        _l2 = 0;
        while (_l2 <= str.length - 1)
        {
            var _l3 = _l1.description.charAt(_l2);
            if (_l3 != " ")
            {
                _l1.randomlist[_l2] = (_l1.movefix + Math.round(Math.random() * _l1.moverange)) * (Math.round(Math.random()) - 0.500000) * 2;
            }
            else
            {
                _l1.randomlist[_l2] = 0;
            } // end if
            ++_l2;
        } // end while
        _l1.waitcount = 0;
        _l1.textcount = 0;
        _l1.fixLength = 0;
        _l1.fixStr = "";
        _l1.state = "moving";
        _l1.onEnterFrame = _l1.randomMotion;
        _l1.previous_instance = instance;
        if (soundoption == "sound")
        {
            fx_textmotion_play(_l1);
        } // end if
    }
    else if (_l1.state != "moving")
    {
        _l1.description = str;
        _l1.typotext = _l1.description;
        _l1._parent.arrangeTitlePosition(_l1.textarea.textHeight);
        delete _l1.state;
        delete _l1.calloption;
        delete _l1.description;
        delete _l1.description_length;
        delete _l1.randomList;
        delete _l1.previous_instance;
        delete _l1.textcount;
        delete _l1.waitcount;
        delete _l1.soundoption;
        delete _l1.fixlength;
        delete _l1.fixStr;
        delete _l1.end_charmotion;
        delete _l1.end_textcount;
        delete _l1.wait_char;
        delete _l1.charspeed;
        delete _l1.movefix;
        delete _l1.moverange;
        delete _l1.movetrigger;
    } // end if
};
randomTypo.prototype.randomMotion = function ()
{
    var _l1 = this;
    _l1.typotext = _l1.fixStr;
    _l1.end_charmotion = true;
    var _l2;
    _l2 = _l1.fixLength;
    while (_l2 <= _l1.textcount)
    {
        if (_l1.randomList[_l2] != 0)
        {
            _l1.end_charmotion = false;
            var _l3 = _l1.randomList[_l2];
            if (Math.abs(_l3) <= _l1.movetrigger)
            {
                var charcode = Math.min(Math.max(_l1.description.charCodeAt(_l2) + _l3, _l1.cMin), _l1.cMax);
                _l1.typotext = _l1.typotext + String.fromCharCode(charcode);
            }
            else
            {
                _l1.typotext = _l1.typotext + _l1.wait_char;
            } // end if
            if (_l3 > 0)
            {
                _l1.randomList[_l2] = _l1.randomList[_l2] - 1;
            }
            else
            {
                _l1.randomList[_l2] = _l1.randomList[_l2] + 1;
            } // end if
        }
        else
        {
            if (_l1.fixlength == _l2 - 1)
            {
                _l1.fixlength = _l2;
                _l1.fixStr = _l1.description.substring(0, _l1.fixlength);
            } // end if
            _l1.typotext = _l1.typotext + _l1.description.charAt(_l2);
        } // end if
        ++_l2;
    } // end while
    if (_l1.textcount <= _l1.description_length)
    {
        _l1.textcount = _l1.textcount + _l1.charspeed;
    }
    else
    {
        _l1.end_textcount = true;
    } // end if
    if (_l1.end_charmotion && _l1.end_textcount)
    {
        _l1.state = "";
        delete _l1.onEnterFrame;
        delete _l1.state;
        delete _l1.calloption;
        delete _l1.description;
        delete _l1.description_length;
        delete _l1.randomList;
        delete _l1.previous_instance;
        delete _l1.textcount;
        delete _l1.waitcount;
        delete _l1.soundoption;
        delete _l1.fixlength;
        delete _l1.fixStr;
        delete _l1.end_charmotion;
        delete _l1.end_textcount;
        delete _l1.wait_char;
        delete _l1.charspeed;
        delete _l1.movefix;
        delete _l1.moverange;
        delete _l1.movetrigger;
    } // end if
};
randomTypo.prototype.clear = function ()
{
    var _l1 = this;
    delete _l1.onEnterFrame;
    delete _l1.previous_instance;
    _l1.typotext = "";
};
function selector()
{
    var _l1 = this;
    _l1.a = 100;
    _l1.b = 1.200000;
    _l1.ygrid = 16;
    _l1.xmargin = 3;
    _l1.waitcount = 10;
    _l1.mode = "hide";
    _l1.startmode = "def";
    _l1.pickInterval = 5;
    _l1.sortInterval = 5;
    _l1.resetInterval = 1;
    _l1.x = _l1._x;
    _l1.y = _l1._y;
} // End of the function
_global.pickRandGrid = 10;
_global.defsMargin = 10;
_global.sMargin = defsMargin;
_global.sortX0 = 0;
_global.sortY0 = 120;
selector.prototype = new MovieClip();
Object.registerClass("selector", selector);
selector.prototype.loadXML = function (url)
{
    var _l1 = this;
    _l1.xmlObj = new XML();
    _l1.xmlObj.ignoreWhite = true;
    _l1.xmlObj.referObj = _l1;
    _l1.xmlObj.load(url);
    _l1.xmlObj.onLoad = _l1.onLoadAction;
};
selector.prototype.onLoadAction = function ()
{
    var _l1 = this;
    _root.sound.ring(2);
    var _l2 = _l1.makeObj();
    _l1.referObj.dataObj = _l2.root.data;
    _l1.referObj.menuObj = _l2.root.menu;
    delete _l1.referObj.xmlObj;
    if (_l1.referObj.startmode == "def")
    {
        _l1.referObj.startChase();
    } // end if
};
selector.prototype.moveControl = function (option, instance)
{
    var _l1 = this;
    var _l2 = _root;
    switch (option)
    {
        case "openMenu":
        {
            _l1.startPoint.gotoAndPlay("open");
            _l1.mode = "open";
            _l1._x = Math.round(_l1._x);
            _l1._y = Math.round(_l1._y);
            delete _l1.onEnterFrame;
            _l1.openMenu(instance);
            _l2.helpMc.hideHelp();
            _l2.helpMc.helpOff("console");
            _l2.sound.ring(1);
            break;
        }
        case "closeMenu":
        {
            _l1.startPoint.gotoAndPlay("close");
            _l1.mode = "chasing";
            _l1.onEnterFrame = _l1.chaseLoop;
            _l2.sound.ring(4);
            break;
        }
        case "closeMenu_pick":
        {
            _l1.mode = "picking";
            _l1.startPoint.gotoAndPlay("close_pick");
            _l2.sound.ring(2);
            break;
        }
        case "restart_pick":
        {
            _l1.startPoint.gotoAndPlay("loop");
            _l1.mode = "chasing";
            _l1.onEnterFrame = _l1.chaseLoop;
            break;
        }
        case "closeMenu_sort":
        {
            _l1.startPoint.gotoAndPlay("close_sort");
            _l1.mode = "sorting";
            _l2.sound.ring(2);
            break;
        }
        case "closeMenu_reset":
        {
            _l1.startPoint.gotoAndPlay("close");
            _l1.mode = "chasing";
            _l1.onEnterFrame = _l1.chaseLoop;
            _l2.sound.ring(4);
            break;
        }
    } // End of switch
};
selector.prototype.openMenu = function (instance)
{
    _root.sound.ring(1);
    if (instance == undefined)
    {
        var _l3 = this.startPoint.directoryPoint;
        _l3.menuObj = this.menuObj;
        var xmargin = 0;
    }
    else
    {
        _l3 = instance;
        var xmargin = _l3.bgWidth + this.xmargin;
    } // end if
    var _l1;
    _l3.n_menu = _l3.menuObj.length;
    _l1 = 0;
    while (_l1 <= _l3.menuObj.length - 1)
    {
        _l3.attachMovie("selectMenu", "menu" + _l1, _l1);
        var _l2 = _l3["menu" + _l1];
        _l2.menuObj = _l3.menuObj[_l1].menu;
        _l2.title = _l3.menuObj[_l1].title.toUpperCase();
        _l2.command = _l3.menuObj[_l1].command;
        _l2._x = xmargin;
        _l2._y = this.ygrid * _l1;
        _l2.papa = this;
        ++_l1;
    } // end while
};
selector.prototype.setWidth = function (instance)
{
    var _l2 = instance;
    _l2._parent;
    var _l1;
    for (i = 0; i <= _l2._parent.n_menu - 1; i++)
    {
        _l1 = Math.max(_l2._parent["menu" + i].textarea.textWidth, _l1);
    } // end of for
    _l2.bgWidth = _l1 + 11;
};
selector.prototype.setColor = function (instance)
{
    var _l1 = instance;
    if (_l1._parent._parent.command == "pick")
    {
        if (_l1._parent.command == "category")
        {
            _l1.bg.category_colorId = listSearch(categoryList, _l1.command) + 1;
            _l1.bg.element.gotoAndStop("category");
        } // end if
        if (_l1._parent.command == "keyword")
        {
            var _l2 = listSearch(keywordList, _l1.command) + 1;
            _l1.bg.element.gotoAndStop("keyword");
            _l1.bg.element.color.gotoAndStop(_l2);
        } // end if
    } // end if
};
selector.prototype.deleteMenu = function (instance)
{
    var _l1 = instance;
    for (i = 0; i <= _l1.n_menu - 1; i++)
    {
        for (j = 0; j <= _l1["menu" + i].n_menu - 1; j++)
        {
            _l1["menu" + i]["menu" + j].removeMovieClip();
        } // end of for
        _l1["menu" + i].gotoAndStop("def");
    } // end of for
};
selector.prototype.menuClick = function (instance)
{
    var _l3 = instance;
    if (_l3.menuObj == undefined)
    {
        var _l2 = [_l3.command];
        var _l1 = _l3;
        while (true)
        {
            if (_l1._parent.command != undefined)
            {
                _l2.unshift(_l1._parent.command);
                _l1 = _l1._parent;
                continue;
            } // end if
            break;
        } // end while
        this.doCommand(_l2, _l3);
    }
    else
    {
        _l3.papa.deleteMenu(_l3._parent);
        _l3.gotoAndStop("select");
        this.openMenu(_l3);
    } // end if
};
selector.prototype.makeMenuObj = function (list)
{
    var _l2 = list;
    var _l1;
    var _l3 = [];
    _l1 = 0;
    while (_l1 <= _l2.length - 1)
    {
        _l3[_l1] = {};
        _l3[_l1].title = _l2[_l1].name + " (" + _l2[_l1].count + ")";
        _l3[_l1].command = _l2[_l1].name;
        ++_l1;
    } // end while
    return (_l3);
};
selector.prototype.startChase = function ()
{
    var _l1 = this;
    if (_l1.mode != "picking" && _l1.mode != "sorting")
    {
        if (_global.zoommode != "zoom")
        {
            _l1.mode = "hide";
            _l1.gotoAndStop("hide");
            _l1.count = 0;
            _l1.onEnterFrame = _l1.chaseLoop;
        } // end if
    } // end if
};
selector.prototype.stopChase = function ()
{
    var _l1 = this;
    if (_l1.mode != "picking" && _l1.mode != "sorting")
    {
        if (_l1.mode == "chasing")
        {
            _l1.gotoAndPlay("fadeout");
        }
        else
        {
            _l1.gotoAndStop("hide");
            delete _l1.onEnterFrame;
        } // end if
    } // end if
};
selector.prototype.chaseLoop = function ()
{
    var _l1 = this;
    switch (_l1.mode)
    {
        case "hide":
        {
            if (_l1.count < _l1.waitcount)
            {
                ++_l1.count;
            }
            else
            {
                _l1.mode = "chasing";
                _l1.gotoAndPlay("fadein");
            } // end if
            break;
        }
        case "chasing":
        {
            _l1.vx = (_l1.vx + (_root._xmouse - _l1.x) / _l1.a) / _l1.b;
            _l1.vy = (_l1.vy + (_root._ymouse - _l1.y) / _l1.a) / _l1.b;
            _l1.x = _l1.x + _l1.vx;
            _l1.y = _l1.y + _l1.vy;
            _l1._x = Math.round(_l1.x);
            _l1._y = Math.round(_l1.y);
            break;
        }
    } // End of switch
};
selector.prototype.doCommand = function (commandArray, instance)
{
    var _l1 = this;
    var _l2 = instance;
    var _l3 = commandArray;
    switch (_l3[0])
    {
        case "pick":
        {
            if (_l3[2] == undefined)
            {
                switch (_l3[1])
                {
                    case "category":
                    {
                        _l2.menuObj = _l1.makeMenuObj(categoryList);
                        _l1.menuClick(_l2);
                        break;
                    }
                    case "keyword":
                    {
                        _l2.menuObj = _l1.makeMenuObj(keywordList);
                        _l1.menuClick(_l2);
                        break;
                    }
                    case "date":
                    {
                        _l2.menuObj = _l1.makeMenuObj(yearList);
                        _l1.menuClick(_l2);
                        break;
                    }
                } // End of switch
                break;
            }
            else
            {
                _l1.moveControl("closeMenu_pick");
                _l1.startPick(_l3);
            } // end if
            break;
        }
        case "sort":
        {
            _l1.moveControl("closeMenu_sort");
            _l1.startSort(_l3);
            break;
        }
        case "reset":
        {
            _l1.moveControl("closeMenu_reset");
            _l1.startReset();
            break;
        }
    } // End of switch
};
selector.prototype.startPick = function (commandArray)
{
    var pickType = commandArray[1];
    var pickWord = commandArray[2];
    _global.pickList = [];
    switch (pickType)
    {
        case "category":
        {
            var _l2;
            _l2 = 0;
            while (_l2 <= dataList.length - 1)
            {
                if (dataList[_l2].category == pickWord)
                {
                    pickList.push(dataList[_l2].mc);
                } // end if
                ++_l2;
            } // end while
            break;
        }
        case "date":
        {
            _l2 = 0;
            while (_l2 <= dataList.length - 1)
            {
                if (dataList[_l2].date.substring(0, 4) == pickWord)
                {
                    pickList.push(dataList[_l2].mc);
                } // end if
                ++_l2;
            } // end while
            break;
        }
        case "keyword":
        {
            _l2 = 0;
            while (_l2 <= dataList.length - 1)
            {
                var _l1;
                var _l3 = false;
                _l1 = 0;
                while (_l1 <= dataList[_l2].keyword.length - 1)
                {
                    if (dataList[_l2].keyword[_l1] == pickWord)
                    {
                        _l3 = true;
                    } // end if
                    ++_l1;
                } // end while
                if (_l3)
                {
                    pickList.push(dataList[_l2].mc);
                } // end if
                ++_l2;
            } // end while
            break;
        }
    } // End of switch
    this.tick = 0;
    _global.n_pickList = pickList.length;
    this.onEnterFrame = this.pickLoop;
};
selector.prototype.pickLoop = function ()
{
    var _l1 = this;
    if (_l1.tick < _l1.pickInterval)
    {
        ++_l1.tick;
    }
    else
    {
        _l1.tick = 0;
        var _l2 = pickList.shift();
        _l2.moveControl("pickUp", n_pickList);
        if (_l2 == undefined)
        {
            delete _l1.onEnterFrame;
            _l1.moveControl("restart_pick");
        } // end if
    } // end if
};
selector.prototype.keywordLink = function (instance, pickWord, isExpand)
{
    this.mode = "picking";
    _global.pickList = [];
    var _l1;
    _l1 = 0;
    while (_l1 <= dataList.length - 1)
    {
        var _l2;
        var _l3 = false;
        _l2 = 0;
        while (_l2 <= dataList[_l1].keyword.length - 1)
        {
            if (dataList[_l1].keyword[_l2] == pickWord)
            {
                _l3 = true;
            } // end if
            ++_l2;
        } // end while
        if (_l3)
        {
            if (dataList[_l1].mc != instance)
            {
                pickList.push(dataList[_l1].mc);
            } // end if
        } // end if
        ++_l1;
    } // end while
    this.keyLinkX = instance._x;
    this.keyLinkY = instance._y;
    this.keyLink_isExpand = isExpand;
    this.tick = this.pickInterval - 5;
    _global.n_pickList = pickList.length;
    this.onEnterFrame = this.keyLinkLoop;
};
selector.prototype.keyLinkLoop = function ()
{
    var _l1 = this;
    if (_l1.tick < _l1.pickInterval)
    {
        ++_l1.tick;
    }
    else
    {
        _l1.tick = 0;
        var _l2 = pickList.shift();
        _l2.moveControl("pickUp_keyword", n_pickList, _l1.keyLinkX, _l1.keyLinkY, _l1.keyLink_isExpand);
        if (_l2 == undefined)
        {
            delete _l1.onEnterFrame;
            _l1.mode = "hide";
        } // end if
    } // end if
};
selector.prototype.startSort = function (commandArray)
{
    var _l3 = _global;
    var sortType = commandArray[1];
    if (sortType != "category")
    {
        dataList.sortOn(sortType);
    }
    else
    {
        dataList.sortMultiple("categorySortKey,name");
    } // end if
    if (sortType == "date")
    {
        dataList.reverse();
    } // end if
    var _l1 = scwidth - sortX0 - defsMargin;
    var _l2 = scheight - sortY0 - defsMargin;
    sMargin = defsMargin;
    while (true)
    {
        _l1 = scwidth - sortX0 - sMargin;
        _l2 = scheight - sortY0 - sMargin;
        _l3.sortNx = Math.floor(_l1 / (cw + sMargin));
        _l3.sortNy = Math.floor(_l2 / (ch + sMargin));
        if (sortNx * sortNy < dataList.length)
        {
            --sMargin;
            continue;
        } // end if
        break;
    } // end while
    _l3.sortGridX = _l1 / sortNx;
    _l3.sortGridY = _l2 / sortNy;
    this.sortIndex = 0;
    this.tick = 0;
    this.onEnterFrame = this.sortLoop;
};
selector.prototype.sortLoop = function ()
{
    var _l1 = this;
    if (_l1.tick < _l1.sortInterval)
    {
        ++_l1.tick;
    }
    else
    {
        _l1.tick = 0;
        var _l2 = dataList[_l1.sortIndex].mc;
        _l2.moveControl("sort", _l1.sortIndex);
        if (_l2 == undefined)
        {
            delete _l1.onEnterFrame;
            _l1.moveControl("restart_pick");
        } // end if
        ++_l1.sortIndex;
    } // end if
};
selector.prototype.startReset = function ()
{
    for (i = 0; i <= dataList.length - 1; i++)
    {
        var _l1 = dataList[i].mc;
        _l1.moveControl("reset");
    } // end of for
};
function help()
{
} // End of the function
help.prototype = new MovieClip();
Object.registerClass("help", help);
help.prototype.showHelp = function (option)
{
    var _l1 = this;
    var _l2 = _root;
    if (_l2.fixMenu.helpoff != true)
    {
        if (_l2.selectorMc.mode != "picking" && _l2.selectorMc.mode != "sorting")
        {
            switch (option)
            {
                case "card":
                {
                    if (_l1.off_card != true)
                    {
                        _l1.gotoAndPlay("show");
                        _l1.onEnterFrame = _l1.dragLoop;
                        _l1.message.gotoAndStop(2);
                    } // end if
                    break;
                }
                case "console":
                {
                    if (_l1.off_console != true)
                    {
                        _l1.gotoAndPlay("show");
                        _l1.onEnterFrame = _l1.dragLoop;
                        _l1.message.gotoAndStop(3);
                        break;
                    } // end if
                }
            } // End of switch
        } // end if
    } // end if
};
help.prototype.hideHelp = function (option)
{
    delete this.onEnterFrame;
    this.gotoAndPlay("off");
};
help.prototype.helpOff = function (option)
{
    var _l1 = this;
    var _l2 = _root;
    switch (option)
    {
        case "card":
        {
            _l1.off_card = true;
            break;
        }
        case "console":
        {
            _l1.off_console = true;
            break;
        }
    } // End of switch
    if (_l1.off_card && _l1.off_console)
    {
        _l2.fixmenu.randomTypo5.setText(_l1, "BALOON HELP: OFF", "_", ls1, ls2, ls3, ls4);
        _l2.fixmenu.helpOff = true;
        _l2.fixmenu.helpbutton._alpha = 50;
        _global.writeSO("help", false);
    } // end if
};
help.prototype.dragloop = function ()
{
    this._x = Math.round(_root._xmouse);
    this._y = Math.round(_root._ymouse);
};
help.prototype.resetHelp = function ()
{
    trace ("resetHelp");
    this.off_card = false;
    this.off_console = false;
};
回复 支持 反对

使用道具 举报

发表于 2006-6-13 08:53:00 | 显示全部楼层
原文件发上来可以吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-14 00:54:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2006-6-14 09:00:00 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2006-6-14 09:02:00 | 显示全部楼层
谢谢是FLA
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-14 10:24:00 | 显示全部楼层
随便找东西反译吧
回复 支持 反对

使用道具 举报

发表于 2006-6-14 10:43:00 | 显示全部楼层
什么软件 谢谢指点
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-15 13:07:00 | 显示全部楼层
从720行开始是 卡片移动算法部分
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-7-14 12:59 , Processed in 0.140267 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表