home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2003 October / cmycha200310.iso / NHL2004 / NHL2004Demo.exe / fe / COMMON / htc / button / EAHTML_button.htc < prev   
Text File  |  2003-08-20  |  9KB  |  314 lines

  1. <html>
  2. <head>
  3. <PUBLIC:COMPONENT URN='EAHTML_Button' tagName='EAHTML_Button'>
  4.  
  5.  <PUBLIC:PROPERTY NAME='btnName'/>
  6.  <PUBLIC:PROPERTY NAME='btnText'/>
  7.  <PUBLIC:PROPERTY NAME='btnPositionType'/>
  8.  <PUBLIC:PROPERTY NAME='btnX'/>
  9.  <PUBLIC:PROPERTY NAME='btnY'/>
  10.  <PUBLIC:PROPERTY NAME='btnZ'/>
  11.  <PUBLIC:PROPERTY NAME='btnWidth'/>
  12.  <PUBLIC:PROPERTY NAME='btnNrmColour'/>
  13.  <PUBLIC:PROPERTY NAME='btnHovColour'/>
  14.  <PUBLIC:PROPERTY NAME='btnDwnColour'/>
  15.  <PUBLIC:PROPERTY NAME='btnNrmText'/>
  16.  <PUBLIC:PROPERTY NAME='btnHovText'/>
  17.  <PUBLIC:PROPERTY NAME='btnDwnText'/>
  18.  <PUBLIC:PROPERTY NAME='btnImgPath'/>
  19.  
  20.   <PUBLIC:ATTACH EVENT='ondocumentready'    HANDLER='DoInit'    />
  21.   <PUBLIC:ATTACH EVENT='onpropertychange'    HANDLER='DoPropChange' />
  22.  
  23.   <PUBLIC:ATTACH EVENT='onclick'                HANDLER='DoBtnClick'    />
  24.   <PUBLIC:ATTACH EVENT='onmouseenter'            HANDLER='DoBtnOver'    />
  25.   <PUBLIC:ATTACH EVENT='onmouseleave'            HANDLER='DoBtnOut'    />
  26.   <PUBLIC:ATTACH EVENT='onmousedown'            HANDLER='DoBtnDown'    />
  27.   <PUBLIC:ATTACH EVENT='onmouseup'              HANDLER='DoBtnUp'    />
  28.  
  29.   <PUBLIC:EVENT NAME='btnEvent'        ID='btnEvent'/>
  30.  
  31.   <PUBLIC:METHOD NAME='show'/>
  32.   <PUBLIC:METHOD NAME='hide'/>
  33.   <PUBLIC:METHOD NAME='disable'/>
  34.   <PUBLIC:METHOD NAME='enable'/>
  35.   <PUBLIC:METHOD NAME='setText'/>
  36.   <PUBLIC:METHOD NAME='setFunction'/>
  37.   <PUBLIC:METHOD NAME='clearFunction'/>
  38.  
  39.  
  40. </PUBLIC:COMPONENT>
  41. <script>
  42. var oAudioInterface    = oGameFace.AudioInterface;
  43.  
  44.  var oBtn;
  45.  var oBtnFrame;
  46.  var oBtnLeft;
  47.  var oBtnRight;
  48.  var oBtnBody;
  49.  
  50.  var isOver = false;
  51.  var enabled = true;
  52.  
  53.  var overCursor = "hand";
  54.  var outCursor  = "default";
  55.  
  56.  var normArray  =  new Array(3);
  57.  var hovArray   =  new Array(3);
  58.  var dwnArray   =  new Array(3);
  59.  
  60.  var blueArray        = new Array("med_button_l.gif","med_button_m.gif","med_button_r.gif");
  61.  var darkBlueArray    = new Array("btn_dark_blue_l.gif","btn_dark_blue_m.gif","btn_dark_blue_r.gif");
  62.  var yellowArray      = new Array("btn_yellow_l.gif","btn_yellow_m.gif","btn_yellow_r.gif");
  63.  var greyArray        = new Array("btn_grey_l.gif","btn_grey_m.gif","btn_grey_r.gif");
  64.  var redArray         = new Array("btn_red_l.gif","btn_red_m.gif","btn_red_r.gif");
  65.  
  66.  var nrmcolor                  = "#ffffff";
  67.  var nrmfontSize            = "10px";
  68.  var nrmfontFamily        = "Verdana";
  69.  var nrmfontWeight      = "bold"
  70.  
  71.  var hovcolor                  = "#000080";
  72.  var hovfontSize            = "10px";
  73.  var hovfontFamily        = "Verdana";
  74.  var hovfontWeight      = "bold"
  75.  
  76.  var dwncolor                  = "#ffffff";
  77.  var dwnfontSize            = "10px";
  78.  var dwnfontFamily        = "Verdana";
  79.  var dwnfontWeight      = "bold"
  80.  
  81.  var root = System.getInstallFolder();
  82.  
  83. function DoInit() {
  84.  
  85.     imageFolder     = (btnImgPath) ? btnImgPath : root + "fe/nhl/images2/widgets/";
  86.  
  87.     defaults.viewLink                = document;
  88.         defaults.viewInheritStyle    = true;
  89.  
  90.     oBtn                  = document.body.childNodes(0);
  91.     oBtnFrame              = oBtn.childNodes(0);
  92.     oBtnLeft        = oBtnFrame.childNodes(0).childNodes(0).childNodes(0).childNodes(0);
  93.     oBtnRight       = oBtnFrame.childNodes(0).childNodes(0).childNodes(2).childNodes(0);
  94.     oBtnBody        = oBtnFrame.childNodes(0).childNodes(0).childNodes(1);
  95.  
  96.     nrmArray   = (btnNrmColour) ? eval(btnNrmColour+"Array") : blueArray;
  97.     hovArray   = (btnHovColour) ? eval(btnHovColour+"Array") : blueArray;
  98.     dwnArray   = (btnDwnColour) ? eval(btnDwnColour+"Array") : blueArray;
  99.  
  100.     nrmcolor                = (btnNrmText) ? btnNrmText.split(":")[2] : 'black';
  101.     nrmfontSize            = (btnNrmText) ? btnNrmText.split(":")[0] : nrmfontSize;
  102.     nrmfontFamily        = (btnNrmText) ? btnNrmText.split(":")[1] : nrmfontFamily;
  103.     nrmfontWeight      = (btnNrmText) ? btnNrmText.split(":")[3] : nrmfontWeight;
  104.  
  105.     hovcolor                = (btnHovText) ? btnHovText.split(":")[2] : 'gold';
  106.     hovfontSize            = (btnHovText) ? btnHovText.split(":")[0] : hovfontSize;
  107.     hovfontFamily        = (btnHovText) ? btnHovText.split(":")[1] : hovfontFamily;
  108.     hovfontWeight      = (btnHovText) ? btnHovText.split(":")[3] : hovfontWeight;
  109.  
  110.     dwncolor                = (btnDwnText) ? btnDwnText.split(":")[2] : 'gold';
  111.     dwnfontSize            = (btnDwnText) ? btnDwnText.split(":")[0] : dwnfontSize;
  112.     dwnfontFamily        = (btnDwnText) ? btnDwnText.split(":")[1] : dwnfontFamily;
  113.     dwnfontWeight      = (btnDwnText) ? btnDwnText.split(":")[3] : dwnfontWeight;
  114.  
  115.     SetProps();
  116. };
  117.  
  118.  
  119.  
  120. function SetProps(){
  121.  
  122.    with (element) {
  123.       id            = btnName;
  124.           type        = "EAHTML_Button";
  125.    };
  126.    with (element.style) {
  127.         position            = (btnPositionType) ?  btnPositionType : "relative";
  128.               left                    = (btnX) ?  btnX+"px" : "0px";
  129.               top                  = (btnY) ?  btnY+"px" : "0px";
  130.         zIndex                = (btnZ) ?  btnZ      : 1;
  131.         cursor        = overCursor;
  132.    };
  133.  
  134.    with (oBtn) {
  135.         id  = name+"_btn";
  136.    };
  137.    with (oBtn.style) {overflow='hidden';};
  138.  
  139.    with (oBtnLeft) {
  140.         src = imageFolder+nrmArray[0];
  141.    };
  142.    with (oBtnLeft.style) {};
  143.  
  144.    with (oBtnRight) {
  145.         src = imageFolder+nrmArray[2];
  146.    };
  147.    with (oBtnRight.style) {};
  148.  
  149.    with (oBtnBody) {
  150.         background = imageFolder+nrmArray[1];
  151.         innerText  = (btnText) ?  scMsg(btnText,true) : "";
  152.    };
  153.    with (oBtnFrame) {
  154.         width = (btnWidth) ?  btnWidth : "";
  155.    };
  156.    document.body.style.pixelWidth  = oBtn.offsetWidth;
  157.    document.body.style.overflow    = 'hidden';
  158.    document.body.scroll             = 'no';
  159.    element.style.pixelWidth         = oBtn.offsetWidth;
  160.    element.style.overflow         = 'hidden';
  161.    with (oBtnFrame.style)  {};
  162.    with (oBtnBody.style) {
  163.       color                    = nrmcolor;
  164.             fontSize          = nrmfontSize;
  165.             fontFamily        = nrmfontFamily;
  166.       fontWeight        = nrmfontWeight;
  167.    };
  168.  
  169. };
  170.  
  171. /*************************
  172.   EVENTS
  173. ************************/
  174.  
  175. function DoBtnOver(){
  176.    if(enabled == false) return;
  177.    isOver = true;
  178.  
  179.      with (oBtnLeft) {
  180.         src = imageFolder+hovArray[0];
  181.    };
  182.    with (oBtnRight) {
  183.         src = imageFolder+hovArray[2];
  184.    };
  185.    with (oBtnBody) {
  186.         background = imageFolder+hovArray[1];
  187.    };
  188.    with (oBtnBody.style) {
  189.       color                    = hovcolor;
  190.             fontSize          = hovfontSize;
  191.             fontFamily        = hovfontFamily;
  192.       fontWeight        = hovfontWeight;
  193.    };
  194. };
  195.  
  196. function DoBtnOut(){
  197.     if(enabled == false) return;
  198.     isOver = false;
  199.  
  200.      with (oBtnLeft) {
  201.         src = imageFolder+nrmArray[0];
  202.    };
  203.    with (oBtnRight) {
  204.         src = imageFolder+nrmArray[2];
  205.    };
  206.    with (oBtnBody) {
  207.         background = imageFolder+nrmArray[1];
  208.    };
  209.    with (oBtnBody.style) {
  210.       color                    = nrmcolor;
  211.             fontSize          = nrmfontSize;
  212.             fontFamily        = nrmfontFamily;
  213.       fontWeight        = nrmfontWeight;
  214.    };
  215. };
  216.  
  217. function DoBtnDown(){
  218.    if(enabled == false) return;
  219.    System.GUI.playSFX("ok");
  220.      with (oBtnLeft) {
  221.         src = imageFolder+dwnArray[0];
  222.    };
  223.    with (oBtnRight) {
  224.         src = imageFolder+dwnArray[2];
  225.    };
  226.    with (oBtnBody) {
  227.         background = imageFolder+dwnArray[1];
  228.    };
  229.    with (oBtnBody.style) {
  230.       color                    = dwncolor;
  231.             fontSize          = dwnfontSize;
  232.             fontFamily        = dwnfontFamily;
  233.       fontWeight        = dwnfontWeight;
  234.    };
  235. };
  236.  
  237. function DoBtnUp(){
  238.     if(enabled == false) return;
  239.         (isOver) ? DoBtnOver() : "";
  240. };
  241.  
  242. function DoBtnClick(){
  243.     if(enabled ==  false) return;
  244.         clickEvent();
  245. };
  246.  
  247. function clickEvent(){
  248.     oAudioInterface.PlaySFX(1099);
  249.         var oEvent    = createEventObject();
  250.     btnEvent.fire(oEvent);
  251. };
  252.  
  253. /*************************
  254.   MEATHODS
  255. ************************/
  256. function setFunction(func){
  257.     clickEvent = func;
  258. };
  259. function clearFunction(){
  260.     clickEvent = function(){return false};
  261. };
  262.  
  263. function show(){
  264.   element.style.visibility = "inherit";
  265. };
  266. function hide(){
  267.   element.style.visibility = "hidden";
  268. };
  269.  
  270. function setText(text){
  271.   oBtnBody.innerText = text;
  272. };
  273.  
  274. function disable(){
  275.  oBtnLeft.src = imageFolder+greyArray[0];
  276.  oBtnRight.src = imageFolder+greyArray[2];
  277.  oBtnBody.background = imageFolder+greyArray[1];
  278.  enabled = false;
  279.  element.style.cursor = outCursor;
  280. };
  281. function enable(){
  282.  enabled = true;
  283.  DoBtnOut();
  284.  element.style.cursor = overCursor;
  285. };
  286.  
  287.  
  288.  
  289. </script>
  290. </head>
  291. <body style="background:transparent;overflow:hidden;">
  292.   <span>
  293.     <table cellpadding="0" cellspacing="0" border="0"><tr>
  294.           <td width=3><img src="" ></td>
  295.           <td width=100% align="center" valign="middle" background="" nowrap></td>
  296.           <td width=3><img src=""  ></td>
  297.   </tr></table>
  298.   </span>
  299.   <script>
  300.       oBtn                  = document.body.childNodes(0);
  301.     oBtnFrame              = oBtn.childNodes(0);
  302.   oBtnBody        = oBtnFrame.childNodes(0).childNodes(0).childNodes(1);
  303.   function DoPropChange()
  304.     {
  305.         switch (event.propertyName)
  306.         {
  307.             case "btnText":
  308.                 oBtnBody.innerText    = element.btnText;
  309.             break;
  310.         };
  311.     };
  312. </script>
  313. </body>
  314. </html>