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

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

搜索
查看: 2022|回复: 1

最近在研究的一个Flash,能帮忙的就指点一下

[复制链接]
发表于 2006-6-16 13:34:00 | 显示全部楼层 |阅读模式
  www.intentionallies.co.jp

  因为本人力量有限,请大家多帮忙,一起讨论学习!

  这个是Yugo Nakamura同志03年的一作品,最近需要相似的效果所以拿来研究模仿。还好Yugo Nakamura 乃日本Flash教父,起点很高,就算模拟的不伦不类也还有个借口。不过手下还是佩服一下这个作品的创意与效果,约3000行的AS非一般人能搞定的。

  首先分析一下Intentionallies这个flash的技术亮点和可能会遇到的困难:

  1. 卡片拖动旋转。
  需要判断鼠标移动值(单位时间)也就是鼠标速度,以及旋转座标的定位。

  2. 卡片丢弃物理程式。
  抛物线以及阻力的算法模型。

  3. 卡片的阴影效果。
  和第2点原因一样。

  4. 动态文字实现上面效果。
  这个Flash因为使用的是英文,嵌入了整个字体也影响不大,但是中文会是大问题。

  5. 数据传递方式。
  Yugo使用了44个Xml来保存数据,选择性的传递数据应该有更好的办法。

  6. 全场旋转。
  使用一个MC为场景中心座标也旋转其他的所有MC。

  7. 定义排序。
  创意亮点,技术很简单。


--------------------------------------------------------------------------------


  我的解决方案:

  1. 未考虑

  2. 未考虑

  3. 未考虑

  4. 生成一个GBK的Flash字体库。
  用Load的方式导入字体。但是卡片字体超过100个应该占系统资源很多了(未验证)。

  5. 未考虑

  6. 未考虑

  7. 未考虑


--------------------------------------------------------------------------------


  问题 4的解决:
  为每个字体创建一个Flash,使用字源码方式命名,通过字符映射表我们很容易获得中文范围。
  呵呵当然不是用手工创建0xffff个swf文件,偶也是第一次使用JSFL:


var str = 0x0021;
var end = 0xff5e;
var swfpath =0,cnt=0x0020;
for(var i = str ; i <= end ; ++i){
if(cnt >= 4096){
cnt=0;
swfpath ++; }

  fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0].setTextString(String.fromCharCode(i));
  if (i<=0x00ff){      
  fl.getDocumentDOM().exportSWF("file:///D|/font/"+swfpath+"/00" + new Number(i).toString(16) + ".swf",true);
  }else if (i<=0x0fff){
  fl.getDocumentDOM().exportSWF("file:///D|/font/"+swfpath+"/0" + new Number(i).toString(16) + ".swf",true);
  }else{
  fl.getDocumentDOM().exportSWF("file:///D|/font/"+swfpath+ "/"+new Number(i).toString(16) + ".swf",true);}
  cnt++;
}






--------------------------------------------------------------------------------


附:源文件的外部调用AS 核心代码

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-19 11:20:00 | 显示全部楼层
再拜
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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