ࡱ> GJRoot Entryp|YrRASHp3rH@dContents]9Page 1[v Symbol 38 PLY  !"#$%&'()*+,-./012346789:;<=>?@ABCDEFSN ZO XTUVWndh[\]^_`abcxfigKklmopqrstuvwy~z{|}Root Entryp|YrRASH^/rHUContentsD9Page 1v Symbol 38 Y  !"#$%&'()*+,-./012346789:;<=>?@ABCDEFSZTUVWnh[\]^_`abcxiIklmopqrstuvwy~z{|}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSSymbol 23 Symbol 22Symbol 21 ESymbol 20EeR Symbol 253Symbol 3756#Media 1 RSymbol 39M6#e123458lpx}wXc44M3Ř511;VT,(({o" A{[z=-i[klI8<9s^k͚w{9#################################################################################################################8i}yC~##mmtw ;RhPʥDP " *__X?O߿?I}Xk+r!$ƩB<ܺu}) Oze0/K5.sK1.uM2:$,]m\H4.^Tؾ9=naS Fp#䒜[rL9nV~DGf{ǜ s5JH`kYqdƙVL7Ngck9)8|bqFq(c|qBi Qx\hH|!. 9"WܑCrIN-9&S5qR#:CZq@5F%)ƹF۩+-7c58}`}-05(:2a '޺/|ؙiM kgϟ,a#ccW7m;{meJߨ+9=mP[rL9jڠFsEG4AС6'ch:Rtىq;C 4C#]_y?s_w .^>G'/%Z399e&G8_]4nO䚜{jZ& jZf{}ÿ 0xg8'خ2k7z`SuxLk؎_6OO}ǿmouvCwv ;x9ͯ}_@\^9QWu>\7֞,(9jڀFjڹwϜ{9C&3FGlF}, d1+=D_8ؾ{>'v)i_s|_./k;/wQ Vn1_f{z1 $7_jy|Vy >u˾/ݲk|0* P AP+ [-xm0FoFe6# }/}b|w}͏Wa-gNz D$]%Oܖ!<XH.j{Ն ||?g朿ud#]| jVhmZ,\kVҥYF>#Waj-hS>OX}#&CS]M>t=,Ѝ#""F@qLm qFT^ <LG+ycb_F[(o[[{Sy$S Òb@-& jDhv!j7Ϧ{- 6MCMw0-[kjf;|;Q=BLojt;LXqgk>z=<\׊=sv~#M8pMDk%xoBÁ\׆{)b@<~31%ƾZ] 8ܐϽ׼W۫hWݢwt.4!VjZ{,z:܁FW'}|7g4 Թ_aǺk+^W(l;"zQhn#y"#󪝣vV0wU/}5힫nV!8.b۫R<{,bR|k f798G\-gh>-9^@[0$%bgHL{ mP# 5PCBKJY"Z_~oWj jZm>%up<}ڡgAAvޛ*glBr[͕|7WZ5k\mUssT ʩZAEayՎỪ"v"vU/D-Ec;qωTۋ #9J׺]_,k?m-8}K`Jk1&x]U!tU _ wsKpEpk'V8U}7WLؐ| jZfjZИ>G[&7<4iVщĚjz[]7s^EVL^|5\'춡bdž+S{oᳵokL-h+C샕[97x{|x cAȎ/b "kj;lgC8Zmx8߃!npX/`)0%XśW(|YW33|Cr)8'ׂ~Kv$Eo6MVC:C QKEQk3I3?x)9y/piZ`TS+M/BQ~{ug=6le#F;)벦llhj}dS<6OT1oS.p[] ;hQ9+ r6dsn՜UƼjE0}nys# r_Z6K->WZ$^[1# nG{x=k`.W49fr'8챞_]6<^lbae2vCǣ=s|,C QKQkܽ{3z|8e3-Y4Ƙ$kbM? 3?+X#=#د]^:1lbGf(,xǚne+䱡l7ᳩ|4) *"rϼ aܹcJE`fO$ozLBnʧ+73p/֖]eÜ2K-(V:h~Zo2?1o~SBL} @K-hZgϽ Ը,1z))y7$4iit{#W; 2f~`xGO-O yHxI9ɥ0,J+Q2bqVHұ877 x4M3w@vhga 3+`2~K@ȼ\ъƾ6 Qswl~K=}c*N7`H,`[G '3O^l=&/㺶tsv %C2Ԓ~%}$ta~7QCrhڢƠ5jڻ7Ϻג[}hDT)fN6Ӥyk͟NH55<^C 6?/̀ sY^V}8 Z^2)d٥4X>E14jm61 pY @m9{l6:]5jjh_iAuǴJk\'V3bG6pjN"߀c-jZ=jP8^Jض64i0o).a=pyz#;4$KaWFE;5!8{SV0-!CĂ^ 'R4!x!%p(zc\.][1u} ]7VNZb˶(ᾥᾥ}k֪)j`v_9^9s6T͍ >F}~vA'n D'V 'Uqk`.b9!7d"ܑâi/-9 LOgo<9Z&̯ti0̓֙{OM7whykT#-ut17ǚߙԕn·v?BS`R81hSzpK2qBxW-P>qwbe'!Ӽ۪fxTa"ɩͭAEC뗋$zϝŰ>|sd456n%& 63b; 9D. !G䊜\U4|q,(ܒ>skX> $ߟxs42&Zf,92ڢƨ5hڣ矁w_p]?r_xyy^S,7F[^Xs'̳=qxg|<;KXV0xQZ!f#gt*5dҵ%]וNtP>c*̋bMVȩ ]^e,w!vV հ؅crE]dgg7H|pv3cZ9'䂜rDJ&-ἦ׀! 9?uH%Ԁ56Dq1FZ^ZzojjKhZ=jZj;Xu9g05[ޟo"w&ǛߛʄYM'O6_b蘞?)#/֗L\tf緔A}sQێyXck Pu1Ǹz^CTݭƞ{k#low`֋9¬q׸~7 6خ[ ĖK+g8)K0*챹dFrXqLÖdtpFM}%>lBi`c*KIB3oOk\< 4mQcBkG RRR3p i2dntK)INJxwrB{SDsYIs&;Z,J5 vdG8gXF粶`FM\XTm}sʐS ̫bN.U]9/d4Ź\ V;FUa)@M,v8U##T- ~g_ը#bF!ZؓrAN 9"W|b[Gae. Fƾ§sS jDj&]EC0Zh ք=jZF^3I%3>5\TM-?Zgr~)fwlhV׼c) Ӯ vL r ӨY1ٖDM<7N\4{[4ߜʠ!{쩀OTB˕ "2GZuXvF0Wv#W-eD#51GJm WN}q^.Wq X ^ C`FL31'\rSf\3rs m6|ylpy׋+=HAX>-4Sm&tD-MOpZt1hAj6w}a1C6g\R͞y'ۥ,C='3]Z3{N+9'-iM}_\8H+1]4}'{o.⻵p_Ǹbܐ]eȥ˩S\ +#W.:X$ /w[~Q,XclԨvU8=v_G[Xgy,?Vg}K ```VC*أk`N '+rFatr?kkHM㗭Lji V? CG3{"-jLh Aj;gн 5ZV!¬YA3 uɺ<1uejgǺ+<6'ym4lLV0=`{!4Wl tAؾR\E(NYأpe7=;s%bgukՉ*U'k#dޫDT`_ݮ15*|V7|qQ܎h{4yeD[_Ew`E̬q$Xs=9ܐ҅#LgN귕MXuԀpj#4hIf~?,jFh>ڂƨ59hIjS9>U_̟5|kl˒\N#Y6bњN,]k8 :V~Dqy6\фyVˌ|[=Ÿ:F,]}\hc?`@^|O+t gО_}N`?p S"NQpq;]HQ׺!_O6CF}.=>FHI}N lg`N ':E"gڇ*2# l\:1nԆyZjځ 9dASk-1hAj6?ֹ6-o88Z7yl1u-8p¡ G`1sy+<] ~dߍWm6Nf2+$`n{;F,Y -)[xUzdx҇ސt/ O:Ǩ @p;0|e ըL:[H>[\7ʃVVէ˂g:Qx&GB֯s~VuH T,kp%{r ':)]{1 9,>l7%iیS\lj>8/hJpB;DMQ[Bc5GQ"5ImRԪ^>`zFvf7z~ss{n˟ඹ` \7pX8kcM}6[&l6NWL˶[Lvez`z2 ˳̍U r_EcC.+-[y}ՉrτS+ zʀd=\UP D0` j/M9`DE+ M9[_%) K9˶1Qt&BGBy/gXyXG `RHLX U9!7\%-9D. [ӬSz" D0|"Dxʰ+jRED楊r<*",2B|CDTƅRxMcQKΩTH"# |]}璟3ӧ2@AlX qLœ Cs`Oܐ#rE]cSˢ{M"w]w.lୗFJh'h"֠%j֨9jIj*3/A;7F\sOZ}\=)!`fb-w=0xjpn3 gFEb .|exq^.ӂ=fxFcܡ#EV'/\}'T4z< \y`  ȼX#pd#25YJ#3/F%𕆢8*h"xɟƼxy<^_, S]̈‡ؓrAN7\3rG%8=wȼp~p׈ȝpAm"gFO APCԒEQkG R$isuäooi1`u'u{hQ߮g^ tWXw\83[4xz؎b%1'`N.Ӝ˳Q;/ύue~nC>c%+,]uhYWҩRe~#ǀ>QHT~2ZfPˑk>WΣ|^sB ]s$V.E[RM茋JD (!W$[^IgZA\qXjC`< 9!75 pF=Oi#sr/40;j5Q`y廅VfFv!\1jAj6՜%5KyY,jR3B^6sz_Z{@ .]8;dg]^؅ώU2;vw̍m|e蝗cv]C㢸,.,K8ZxwߔSggcL[(sg=y jEK q;"vIL: _ȸsVe(ŤWZDrFS3f\(A }-QD\b[kbO8!7+rF!$%L+_qX;bD{jv!j.d4FQs5H-Rڜ{=Z}P5JV6u'_1~k_>?qqj\sỊfYls_!@т}{v_ W79:x`ꣅ^INj}O. H;[^jaЧsSu<㋊/pmB\/gc\*WQ{;p9k!؊mG_lF/i0.ߋ٘V>{/}BÖ;w(G?A8 N 9\+K=Me|spj(qH8 P;*G@c5GQ"5mU99m!(0FaqC1|yz=GsXsS4/bS<7vO<\;W0`SǤÅVBxūYI O,uׯ 70yr}QB ^+n1xp\-1 Bu"E!rAߨ W}~Ob# 8F,ˣ4k` IF pE9$ܒcrM=üp~jڠFjڡ%jR5Aj6Qjsr"ΝA+k}Cν{QX~ `h6t1}޾{-} fD+Bx~q{J@cҡ)GJKRP#[}wq+N Ln.y&+N9Yz?LIPFhEphԳl"jts@2029P(>!ChsJe}[}>^%he^Gu\99"WܑCrIN-#MK\sroDK-PKR@+ C QKE1{-jZ=jZ&MjZfc7cΣcQcw <݋=?Wk-_yqWp%<#։)sN;Zq%9Iwyq"|9#fh'd|# qz, 3cl]_U7j&35xĊ:ҧ5A. !G$8+O;M.ɩܚ\W$9f~jZ& Xڡ-5jڣE,[X9w78Nd1k|ж}Ã>2<Q8OƁE;(q\3`r ^K\Ҏf|Vu-DcfCW\#ܒ=Z7N. ΀od]( ˺XQb ̑m맘W܂`~DO+2/tFcizk"ۍ __}l5c(dZ|D~' PW+ 8[qphD[ue)m^2[d]d Ce3lW 'zGM(Xs,C&B "g˓73jAhP+ C QKEQkG R$IRz|uo!׈WZ1ᡎ toxW'^47|_"wg: qҴc"XucݩJ gʽ6`yv䞂|#;'ߙ"C1f:7ށ-EQ *0]@^}kk SKڶ܋I=&+4+'ŭ}1AŶZgfW:R;҃39'~Nn"g Vp,(9/Z{6ekZaڡ%jڢƨ5jڣE8MjZkdm֮ۿo24kD9N5QYx q\W iY<9 r~9 ԣee^l?T3>NC?Y}v"9n!rݢ̳E!wg^(@qKԚțKZ.\a Q竭[d`,:RcFESh(h/Ԟ3%+Z5[eLV[I\Cb* Ĝޱ"7%9%\sr_l6j)uN>J ar1jAj5Y5jY 7ǦDź }I֡ڽ 4<(]xo#|l]0Q7V$W|5g>U`o؛Um>[LZݳoOIFA@ xG0xGxy(hk5NQPuxg|"|X7sΘN0G%w~f98Gqkrڪ\L1 %Ÿb/|!W ܒcr q/}kijV\DMQ[FQ{ HMRԨv>755t7\ IiΥ57Pz}k. Oukx}M)S2+s)D2›Wo=Qϕ|֩~ OQu}#|q,ơw`L(BqImBΩډ9BܛVȱrm45̆ku"DaN>};5LCa/_='j%0VʸEj1&wrpq8o!<2|2N[rL9hd+$BP;DMQ[FQ{ Hߠ6YVY^cmtcpgK9NIKb_w.n4\ΰy'Oyos%#.\՟1 Ʊ|Yjj UabE 2SJy(+~^"$(˾u(.BCQ<|a vC֟SWQ_eE00 ,)qV0V0W9\ 9"WܑCrINɭ\srO P AP+eP;z)jkͳ2ߨ7C[ |:rב+"xDuk8^dBe[$ev!{-?Rx-tG*69Ga_܈zD#sյ/ ~umy}sm".9^ڪoE$lc}Kꪭ^ű9JꄭU [ʄ_8^OT$lND}%5c-F X+opp> 9"W p\srO P AP+ C QKԔ75jڣ}*FSڗp] 悬Ai7>fxCr;ߦ}'/yi&?G9+>P.*=kC?lp-p rm_wFoDF Z܈* OOgX;ݍ$8v}v%w V~΁չǯn'Ս9I۔Ix۷%]{[:]QUo,jp!n*^;bc_`M@pAN 9|;rH.)%Wϸ@j6jv!j1ߨ.RjO;-}sU jx?5<$SFwIm;ڼ |ͦEM^x̌+콫bfyG+%Zz3U_xK7q=DxW?ElH3 ۟b˱+~ibew?%/jb?%b?'b{o$[W𗤝}%N\R۱}븚kIxG{Pyo9ٺ?uI "qfN`($د.+rF!<+rJn1& jVjA-QS}Z8B vWSy;h }=ehYo<%~c8oxTp n{ͳiߛb.meM: ukqc_!S|T 9P5/X.)gzduhF/ O۾92۟1;=;?2OU~yW ]l9qн%fޥ/j\ǹf[/76ޫ\̲?ހK/}VJ``/J9'䂜rD#䒜۫竗! jVj)j֨9~Z&/j5O_ k|Cr=uھWwwjkxͳϵy7ǣ/8ۼ4 poqWWG6}e:|sү:dTB3U3TGv꒕&~Wş)`?nꗐ__¶|K"r˷Fmm_#bs88ï+o!J9~wJ䪭f%^?{+y}}W0X(xbGT%1%ĘXs`O܀#rE9$^u=A9~A-P5BP35D-QS5FQs5H-Z3{/^߸M6qh}5y D~:ikkx䍡ɆO7+YKɾ LT,jQ1#vP` L-1Xs`O9!7\3rG%9%\srO P AP+ԌZ̥<)EQk'k&Qwt ־!9+k:pݍS8z7yU 5eOG6{coNcZt _(#}xM2;VrjAءᇫ#\u>zuI̱kα]_wkV Op?u}"N=} p7:co oDwohgsnjq~ bBl vX L-0&ĜؓrAN 9;rH.)%䚜{jZ& jAP;1mXD;P$I6_s!5߿4ƍ}Qq5Xqw2ix\=*/X{6}H~;o渀ohxoy|}]&~oRP'6}jx"pzΌjv=gŴxVl^c5gX`+#"S/F ,1K܈ēcbM̉=9 ܐ#rE9$ܒcrMk=㵑ԄGV 5cSjJ<ٕZCm-j|Цjv}gJD@\k^;ҬXǓO#12pyQ9D}pQwtC4k|`˷'|gbpw'29l{JxS#`ZݧGcFtb.?츶ωkɜzǷtvxϼU_}'ʱRPVWͱY{'>xGkzG73c(!'Wķ=!/΅D+V\gZME$q^—cb-<3f*m: G䊜֯3<Y U/r͆kz(5EmQcԚfW1[joC8UXs^̫ȜCGy]?ca]#uo;#ez.ܣ;s2kA!J"焕iqPQ9R/~ѽ&x&㕗[>-,J-Q3ni?p C>0Q2Gs =x}blc`E_V3AԬԱ 帴fl"9Ĝ\?npʚ~7Ytzk,kqsO\0uiUo8F@wP9 ++0G&䂜rDș7_xKrJn1&^&R#Ԋ jH)19Bu 1jkh}C5Ohc}cCsߗG1"5R΍Tx;s;NXzB+qK1n0z n7}u8G7FQCMC|{XP!Eޝ|_9NCʘ:kC/x; Ĝ+Ƒ B #9%\;srO P 3ZfxLܿFM)]Ox_6'}~kP԰sc?# q֌Uj֝wwr7o#t08sF_=\<kyRr~Zs-4p !,ݛ:둽I!F{4ڧm-kuHڱVȝE u(#p`>{E)&l%ĜؓFK^;+$"&jڠF86fjZoQkԜ\A-b-1u3<;9\Tkx]6ǝwȼ:hx]o1V85J&/ XkGKv{\ីf7}GGz4HOx'.c2-iOKh\hKh8:4~mi>-1RBMHL-1&Z9!7\3r'y$Q%@MPԈJAϠ4559>kʩIkyh2s+r=O¼z98?&CY6x4jOlxkwI5ZrhBEM^πxm440Ҵ㐥'Uj[׆3A2ܛ1BD7F#>EƂ&/]~ 56}¦/_ m-70YGlqSWFGlQۗX1$S`+q $_nM^䒜[r<\srO P AP+ qo'CgQgPsԞW6D5no;uA^sB'eCIyWkt9'#?o^Z!6OwyUy z΄v6?ab'<ߋ1 M_쭍M_h1v}X[O.$/'rOKr:ܪ^ѕk2_P5!% 5CPCayiXϟHs; }Usѐw\9'#vGDZqq ]{:M.G`S&<ݍlmS~_,k~gP5sMꈿ1ngFY;mxo͓1xSy8'loM` Mԇ1[-0G䊜;rH.)UMrNj6jv!ږڢƴy:ZSӐw J7kJߗ9.vQ^)p=Xߑ܁ coQogPCm6mPyݚhm6OsjŁ}SXC8򸂻䀜H~9KrJn1&m_P# 5CPCԒ j9.5'=ZϗACJnuo^/Fہ \cʺ(!=Zy6ͣj16[k{o[~Cxi1mw'7\19$jS(~ jZfjH5A^~! jG=ȻI`:5S+h_܋P;\-uŠƤWi@V&y$ksQjB/ncPsݍ(C4a!֨sz#0ȠjRzyy>AUh!_T͑qVcw٢zk$Ce}:5xHFQz "u>N^ 8ařUSk BԌ jIZo?ɱlɻԁ!ל#2$"m0 @p$%y!}BWPE_Hs4'|5!"_dt&>$!N|b4o~4MN|4nf|4N4 d4d4  !Ibm4hc4%IaIc4%gnb4$I4!$n4޶m4ᗓSX4 w4SS4xX4Rh4Zh4 fV4އhCPicPage CPicLayer CPicFrame?gI" #initclip // This is from commands.as and should be updated in both places if it updated here. var CmdItemInvoked = "CmdItemInvoked"; function DisplayAttribute(attribute, value) { this.attrib_str = attribute; this.value = value; } function GenericButtonClass() { this.enabled = true; this.selected = false; this.userbutton_mc = this._parent.button_mc; this.userleft_mc = this._parent.left_mc; this.userright_mc = this._parent.right_mc; this.usericon_mc = this._parent.icon_mc; this.usertextfield_mc = this._parent.textfield_mc; if (this.usertextfield_mc.label_mc != undefined) { this.userlabel_txt = this.usertextfield_mc.label_mc.label_txt; } else { this.userlabel_txt = this._parent.label_txt; } this.attribute_array = new array(); this.bJustSelected = false; this.bJustPressed = false; this.bSelectedWhenPressed = false; this.lastState_str = ""; } GenericButtonClass.prototype = new MovieClip(); // Handles initialization of the button features GenericButtonClass.prototype.onLoad = function () { // Set special values for the fields this.userlabel_txt.autoSize = true; this._parent._focusrect = true; this._parent.focusEnabled = true; this._parent.tabChildren = false; // Goto the first frame because this represents the proper size of the button unless we // are in test mode. In that case, go to the "normal" state. if (this._parent == _level0) { this.GotoDefaultState(); } else { this.GotoAndStopFrame(1); } // Let the container know we are loaded this._parent._parent.ItemLoaded(this._parent); } /////////////////////////////////////////////////////////////////////////// // // Handle calls to set the state of the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.SetItemLabel = function (newlabel) { // First make sure there is a label to set if (this.userlabel_txt != undefined) { // Save the old widths of the label and button so we can scale the button appropriately var oldLabelX = this.userlabel_txt._x; var oldButtonX = this.userbutton_mc._x; var oldButtonWidth = this.userbutton_mc._width; var oldLabelTextWidth = this.userlabel_txt.textWidth; var oldIconCenterX = this.usericon_mc._x + (this.usericon_mc._width / 2); var coordButton = this.userbutton_mc.getBounds(this._parent); var oldRightOffset = coordButton.xMax - this.userright_mc._x; // Set the new label this.userlabel_txt.text = newlabel; // Get the new label width var newLabelTextWidth = this.userlabel_txt.textWidth; // Scale the button based on how much the label scaled var widthDiff = oldButtonWidth - oldLabelTextWidth; var newButtonWidth = newLabelTextWidth + widthDiff; this.userbutton_mc._width = newButtonWidth; // Move the right_mc the appropriate distance right coordButton = this.userbutton_mc.getBounds(this._parent); this.userright_mc._x = coordButton.xMax - oldRightOffset; // Move the icon_mc to the same position relative to the button_mc var oldIconPercent = (oldIconCenterX - oldButtonX) / oldButtonWidth; var newIconCenterX = coordButton.xMin + (newButtonWidth * oldIconPercent); this.usericon_mc._x = newIconCenterX - (this.usericon_mc._width / 2); } return; } GenericButtonClass.prototype.EnableItem = function () { this.enabled = true; this._parent.useHandCursor = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisableItem = function () { this.enabled = false; this._parent.useHandCursor = false; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SelectedWhenPressed = function () { this.bSelectedWhenPressed = true; return; } GenericButtonClass.prototype.DisplaySelected = function () { this.selected = true; this.bJustSelected = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisplayNormal = function () { this.bJustPressed = false; this.selected = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SetAttribute = function (attribute, value) { var newattrib = new DisplayAttribute(attribute, value); this.attribute_array.push(newattrib); } GenericButtonClass.prototype.GetAttribute = function (attribute) { var value = undefined; for (var iAttrib in this.attribute_array) { if (this.attribute_array[iAttrib].attrib_str == attribute) { value = this.attribute_array[iAttrib].value; break; } } return value; } GenericButtonClass.prototype.GotoAndStopFrame = function(frame) { this.userbutton_mc.gotoAndStop(frame); this.userleft_mc.gotoAndStop(frame); this.userright_mc.gotoAndStop(frame); this.usericon_mc.gotoAndStop(frame); } /////////////////////////////////////////////////////////////////////////// // // Handle all of the mouse movements from the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.GotoButtonState = function(state) { if ((this.bJustSelected) || (state != "selected")) { this.bJustSelected = false; // Only perform the action if this is a change of state if (state != this.lastState_str) { this.userbutton_mc.gotoAndPlay(state); this.userleft_mc.gotoAndPlay(state); this.userright_mc.gotoAndPlay(state); this.usericon_mc.gotoAndPlay(state); this.usertextfield_mc.gotoAndPlay(state); this.lastState_str = state; } } } GenericButtonClass.prototype.GotoDefaultState = function () { if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("normal"); } } else { this.GotoButtonState("disabled"); } return; } GenericButtonClass.prototype.onRollOver = function () { this._parent._parent.ItemRolledOver(this._parent); if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("over"); } } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onPress = function() { if ((this.enabled) && (!this.selected)) { this.GotoButtonState("down"); } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onRelease = function() { // Send notification to the owner if ((this.enabled == true) && (!this.selected)) { _parent.DoCommand(CmdItemInvoked, this._parent, 0); } // Return the button to the default state if it is not going // to be shown as selected. if (!this.bSelectedWhenPressed) { this.GotoDefaultState(); } else { // Note that we were just pressed in case we get the extra "RollOut" call (see onRollOut) this.bJustPressed = true; } } GenericButtonClass.prototype.onDragOut = function() { this.GotoDefaultState(); } GenericButtonClass.prototype.onDragOver = function() { this.onPress(); } GenericButtonClass.prototype.onRollOut = function() { // For some reason we get a onRollOut call when a button is pressed and // we don't want to go to the default state automatically in that case. // We will wait for the container to set our state. if (!this.bJustPressed) { this.GotoDefaultState(); } } /////////////////////////////////////////////////////////////////////////// // // Handle mouse messages for the movie // /////////////////////////////////////////////////////////////////////////// function onRollOver() { fhgeneric_comp.onRollOver(); } function onPress() { fhgeneric_comp.onPress(); } function onRelease() { fhgeneric_comp.onRelease(); } function onDragOut() { fhgeneric_comp.onDragOut(); } function onDragOver() { fhgeneric_comp.onDragOver(); } function onRollOut() { fhgeneric_comp.onRollOut(); } // Add effects for testing if (this == _level0) { left_mc.onRollOver = onRollOver; left_mc.onPress = onPress; left_mc.onRelease = onRelease; left_mc.onDragOut = onDragOut; left_mc.onDragOver = onDragOver; left_mc.onRollOut = onRollOut; button_mc.onRollOver = onRollOver; button_mc.onPress = onPress; button_mc.onRelease = onRelease; button_mc.onDragOut = onDragOut; button_mc.onDragOver = onDragOver; button_mc.onRollOut = onRollOut; right_mc.onRollOver = onRollOver; right_mc.onPress = onPress; right_mc.onRelease = onRelease; right_mc.onDragOut = onDragOut; right_mc.onDragOver = onDragOver; right_mc.onRollOut = onRollOut; icon_mc.onRollOver = onRollOver; icon_mc.onPress = onPress; icon_mc.onRelease = onRelease; icon_mc.onDragOut = onDragOut; icon_mc.onDragOver = onDragOver; icon_mc.onRollOut = onRollOut; textfield_mc.onRollOver = onRollOver; textfield_mc.onPress = onPress; textfield_mc.onRelease = onRelease; textfield_mc.onDragOut = onDragOut; textfield_mc.onDragOver = onDragOver; textfield_mc.onRollOut = onRollOut; } // Register the class Object.registerClass("FGenericFHButton", GenericButtonClass); #endinitclip  actionsOO4ᗓ4!Ibm?s Layer 1O  !"#$%&'()*+,-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_`abcdefghjklmnoprstuwxyz{}~CPicPage CPicLayer CPicFrame f3QM0000%?3 Layer 2OOCPicPage CPicLayer CPicFrame CPicSprite( (dXlabel_mcSymbol 3Symbol 2jSymbol 13% Symbol 1 Q  !"#$%&'()*+,-./06Symbol 3Symbol 2jSymbol 13% Symbol 1      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\]^_`abcdefghijklmnopqrstuvwxyz{|}~CPicPage CPicLayer CPicFrame?qI" #initclip // This is from commands.as and should be updated in both places if it updated here. var CmdItemInvoked = "CmdItemInvoked"; function DisplayAttribute(attribute, value) { this.attrib_str = attribute; this.value = value; } function GenericButtonClass() { this.enabled = true; this.selected = false; this.userbutton_mc = this._parent.button_mc; this.uSymbol 253Symbol 3756#Media 1 RSymbol 39M6#Symbol 40"6#Symbol 417'Symbol 42!#7'Symbol 43Symbol 34Symbol 33jSymbol 32Symbol 31?disabled$] LabelsO9 ?fstoCPicPage CPicLayer CPicFrameCPicText )2_sans(HINT: Toolbar buttons are made up of several pieces to allow loading of text dynamically and allow scaling without ugly distortion. Use the labeled frames  05_49r4r׀00+o1'?' Layer 1O LabelsO9 LabelsOCPicPage CPicLayer CPicFrame CPicSymbol,  P, d?s( (d label_mc ?6( (I\zdI\zrWlabel_mc ?{ LabelOO?stop(); ?Ipstop(); ?,istop(); ?Jstop(); ?~stop();?stop(); ActionsOO?h?normal< ?over ?down@ ?selected] ?disabled3 LabelsOCPicPage CPicLayer CPicFrame CPicSymbol ?s^,  P, d ?G,  P, &<2d ?sSymbol 19ESymbol 18Symbol 17 |{Symbol 14vserleft_mc = this._parent.left_mc; this.userright_mc = this._parent.right_mc; this.usericon_mc = this._parent.icon_mc; this.usertextfield_mc = this._parent.textfield_mc; if (this.usertextfield_mc.label_mc != undefined) { this.userlabel_txt = this.usertextfield_mc.label_mc.label_txt; } else { this.userlabel_txt = this._parent.label_txt; } this.attribute_array = new array(); this.bJustSelected = false; this.bJustPressed = false; this.bSelectedWhenPressed = false; this.lastState_str = ""; } GenericButtonClass.prototype = new MovieClip(); // Handles initialization of the button features GenericButtonClass.prototype.onLoad = function () { // Set special values for the fields this.userlabel_txt.autoSize = true; this._parent._focusrect = true; this._parent.focusEnabled = true; this._parent.tabChildren = false; // Goto the first frame because this represents the proper size of the button unless we // are in test mode. In that case, go to the "normal" state. if (this._parent == _level0) { this.GotoDefaultState(); } else { this.GotoAndStopFrame(1); } // Let the container know we are loaded this._parent._parent.ItemLoaded(this._parent); } /////////////////////////////////////////////////////////////////////////// // // Handle calls to set the state of the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.SetItemLabel = function (newlabel) { // First make sure there is a label to set if (this.userlabel_txt != undefined) { // Save the old widths of the label and button so we can scale the button appropriately var oldLabelX = this.userlabel_txt._x; var oldButtonX = this.userbutton_mc._x; var oldButtonWidth = this.userbutton_mc._width; var oldLabelTextWidth = this.userlabel_txt.textWidth; var oldIconCenterX = this.usericon_mc._x + (this.usericon_mc._width / 2); var coordButton = this.userbutton_mc.getBounds(this._parent); var oldRightOffset = coordButton.xMax - this.userright_mc._x; // Set the new label this.userlabel_txt.text = newlabel; // Get the new label width var newLabelTextWidth = this.userlabel_txt.textWidth; // Scale the button based on how much the label scaled var widthDiff = oldButtonWidth - oldLabelTextWidth; var newButtonWidth = newLabelTextWidth + widthDiff; this.userbutton_mc._width = newButtonWidth; // Move the right_mc the appropriate distance right coordButton = this.userbutton_mc.getBounds(this._parent); this.userright_mc._x = coordButton.xMax - oldRightOffset; // Move the icon_mc to the same position relative to the button_mc var oldIconPercent = (oldIconCenterX - oldButtonX) / oldButtonWidth; var newIconCenterX = coordButton.xMin + (newButtonWidth * oldIconPercent); this.usericon_mc._x = newIconCenterX - (this.usericon_mc._width / 2); } return; } GenericButtonClass.prototype.EnableItem = function () { this.enabled = true; this._parent.useHandCursor = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisableItem = function () { this.enabled = false; this._parent.useHandCursor = false; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SelectedWhenPressed = function () { this.bSelectedWhenPressed = true; return; } GenericButtonClass.prototype.DisplaySelected = function () { this.selected = true; this.bJustSelected = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisplayNormal = function () { this.bJustPressed = false; this.selected = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SetAttribute = function (attribute, value) { var newattrib = new DisplayAttribute(attribute, value); this.attribute_array.push(newattrib); } GenericButtonClass.prototype.GetAttribute = function (attribute) { var value = undefined; for (var iAttrib in this.attribute_array) { if (this.attribute_array[iAttrib].attrib_str == attribute) { value = this.attribute_array[iAttrib].value; break; } } return value; } GenericButtonClass.prototype.GotoAndStopFrame = function(frame) { this.userbutton_mc.gotoAndStop(frame); this.userleft_mc.gotoAndStop(frame); this.userright_mc.gotoAndStop(frame); this.usericon_mc.gotoAndStop(frame); } /////////////////////////////////////////////////////////////////////////// // // Handle all of the mouse movements from the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.GotoButtonState = function(state) { if ((this.bJustSelected) || (state != "selected")) { this.bJustSelected = false; // Only perform the action if this is a change of state if (state != this.lastState_str) { this.userbutton_mc.gotoAndPlay(state); this.userleft_mc.gotoAndPlay(state); this.userright_mc.gotoAndPlay(state); this.usericon_mc.gotoAndPlay(state); this.usertextfield_mc.gotoAndPlay(state); this.lastState_str = state; } } } GenericButtonClass.prototype.GotoDefaultState = function () { if (this.enabled == true) {  Layer 5O?= ="?/= = "CPicPage CPicLayer CPicFramem>O,0u X 4UQ_4rs0􀠀4ǎ4r!hJ [? Layer 1OtemLabel = function (newlabel) { // First make suCPicPage CPicLayer CPicFrame CPicSym?gM= ="?hY= ="#?J Layer 7O?,= ="1?J? Layer 6OSymbol 9q;Symbol 8iSymbol 6^Symbol 4. bol,  P, d?:5  5 dCPicPage CPicLayer CPicFramemK-0X?^\CPicPage CPicLayer CPicFrame CPicSymbolC  C d?C  C d ? iC  C &<3d ?A Layer 9O?e"   ?t~g g ?g g ?h$g g ?}Zg g ?G<g g  ?Xcd cd  ?D   ?M d  ?2 &d  ? d ?Z Icon PlaceholderOO? stop(); ?Ostop(); ?~nstop(); ?>stop(); ?_stop();??stop(); ActionsOO?0?normald ?overF ?down- ?selectedTz ?disabledP LabelsOyer CPicFrameCPicTexCPicPage CPicLayer CPicFrameU8Z4u60@8Z v'\!'vu " v  vu&"?/A BGO'8Tb"4㐬"8Tb4To"?0 FGOO7CPicPage CPicLayer CPicFrame ` (0` 0` ?? BGO?e FGOOFrame CPicShaCPicPage CPicLayer CPicFrame U4ŔŌ4t4U;4URu4U;;w4R4;v?0 BGOdCPicPage CPicLayer CPicFrameCPicText Y<<bVerdana"(Label label_txt?& Layer 1OCPicPage CPicLayer CPicFrame CPicShapeX(X( TgS!/=:s00 if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("normal"); } } else { this.GotoButtonState("disabled"); } return; } GenericButtonClass.prototype.onRollOver = function () { this._parent._parent.ItemRolledOver(this._parent); if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("over"); } } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onPress ?a Layer 2OOdCPicPage CPicLayer CPicFrame CPicShape TgEn000k00-0J0$? ? Layer 1OcPage CPicLayer CPicFrameCPicPage CPicLayer CPicFrame CPicShape$dt_(#hc4%IaIc4%gnb4$I4!$n4޶m4ᗓ4!Ibm w4SS4xX4Rh4Zh4 fV4އh4SX7!N|b4o~4MN|4nf|4N4 d4d4 ?7 Layer 1OCPicPage CPicLayer CPicFrame CPicShape$dt_(#hc4%IaIc4%gnb4$I4!$n4޶m4ᗓ4!Ibm w4SS4xX4Rh4Zh4 fV4އh4SX7!N|b4o~4MN|4nf|4N4 d4d4 ? Layer 1OCPicPage CPicLayer CPicFrame CPicShape$dt_(#hc4%IaIc4%gnb4$I4!$n4޶m4ᗓ4!Ibm w4SS4xX4Rh4Zh4 fV4އh4SX7!N|b4o~4MN|4nf|4N4 d4d4 ?T Layer 1O?CPicPage CPicLayer CPicFrame CPicSha= function() { if ((this.enabled) && (!this.selected)) { this.GotoButtonState("down"); } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onRelease = function() { // Send notification to the owner if ((this.enabled == true) && (!this.selected)) { _parent.DoCommand(CmdItemInvoked, this._parent, 0); } // Return the button to the default state if it is not going // to be shown as selected. if (!this.bSelectedWhenPressed) { this.GotoDefaultState(); } else { // Note that CPicPage CPicLayer CPicFrame CPicSymbolp p?;w ?r  ?%  d?  ?pb d?4 ? "?dP '?TM Layer 1O!?9 "?; '?L Layer 43?>Q?im?j "?O '?F\ Layer 5O?jHp p?0 ? Layer 2OO?s^p p?G ?s ?   ?/ ?gM Layer 3OO_parent.textfield_mc; if (this.usertextfield_mc.label_mc != undefined) { this.userlabel_txt = this.usertextfield_mc.label_mc.label_txt; } else { this.userlabel_txt = this._parent.label_txt; } this.attribute_array = new array(); this.bJustSelected = false; this.bJustPressed = false; this.bSelectedWhenPressed = false; this.lastState_str = ""; } Genepe Tgb&09000,0R00?F Layer 1Oieces to allow loading of text dynamically anCPicPage CPicLayer CPicFrame f3wFC00>00f?J? Layer 2OOCPicPage CPicLayer CPicFrame@@ԑ$q G)0q0q00z?@K Layer 1O?&CPicPage CPicLayer CPicFrame@*q jG0q0^0?r Layer 1OCPicPage CPicLayer CPicFrame@JGq000 ?& Layer 1Othe fields this.usCPicPage CPicLayer CPicFrame T0? Layer 1Ol" state. if (this._parent == _level0) { twe were just pressed in case we get the extra "RollOut" call (see onRollOut) this.bJustPressed = true; } } GenericButtonClass.prototype.onDragOut = function() { this.GotoDefaultState(); } GenericButtonClass.prototype.onDragOver = function() { this.onPress(); } GenericButtonClass.prototype.onRollOut = function() { // For some reason we get a onRollOut call when a button is pressed and // we don't want to go to the default state automatically in that case. // We will wait for the container to set our state. if (!this.bJustPressed) { this.GotoDefaultState(); } } /////////////////////////////////////////////////////////////////////////// // // Handle mouse messages for the movie // /////////////////////////////////////////////////////////////////////////// function onRollOver() { fhgeneric_comp.onRollOver(); } function onPress() { fhgeneric_comp.onPress(); } function onRelease() { fhgeneric_comp.onRelease(); } function onDragOut() { fhgeneric_comp.onDragOut(); } function onDragOver() { fhgeneric_comp.onDragOver(); } function onRollOut() { fhgeneric_comp.onRollOut(); } // Add effects for testing if (this == _level0) { left_mc.onRollOver = onRollOver; left_mc.onPress = onPress; left_mc.onRelease = onRelease; left_mc.onDragOut = onDragOut; left_mc.onDragOver = onDragOver; left_mc.onRollOut = onRollOut; button_mc.onRollOver = onRollOver; button_mc.onPress = onPress; button_mc.onRelease = onRelease; button_mc.onDragOut = onDragOut; button_mc.onDragOver = onDragOver; button_mc.onRollOut = onRollOut; right_mc.onRollOver = onRollOver; right_mc.onPress = onPress; right_mc.onRelease = onRelease; right_mc.onDragOut = onDragOut; right_mc.onDragOver = onDragOver; right_mc.onRollOut = onRollOut; icon_mc.onRollOver = onRollOver; icon_mc.onPress = onPress; icon_mc.onRelease = onRelease; icon_mc.onDragOut = onDragOut; icon_mc.onDragOver = onDragOver; icon_mc.onRollOut = onRollOut; textfield_mc.onRollOver = onRollOver; textfield_mc.onPress = onPress; textfield_mc.onRelease = onRelease; textfield_mc.onDragOut = onDragOut; textfield_mc.onDragOver = onDragOver; textfield_mc.onRollOut = onRollOut; } // Register the class Object.registerClass("FGenericFHButton", GenericButtonClass); #endinitclip  actionsOO®>Symbol 4Iconl'>!Symbol 4CŮ> Layer  ?5  5 &<2d ?fO Layer 5O?SqCPicPage CPicLayer CPicFrame?MJ& #initclip // This is from commands.as and should be updated in both places if it updated here. var CmdItemInvoked = "CmdItemInvoked"; function DisplayAttribute(attribute, value) { this.attrib_str = attribute; this.value = value; } function GenericButtonClass() { // Setup the mouse event handling if (this._parent != _level0) { this._parent.onRollOver = function (mc) { mc.fhgeneric_comp.onRollOver(); } this._parent.onRollOut = function (mc) { mc.fhgeneric_comp.onRollOut(); } this._parent.onPress = function () { this.fhgeneric_comp.onPress(); } this._parent.onRelease = function () { this.fhgeneric_comp.onRelease(); } this._parent.onDragOut = function () { this.fhgeneric_comp.onDragOut(); } this._parent.onDragOver = function () { this.fhgeneric_comp.onDragOver(); } } this.enabled = true; this.selected = false; this.userbutton_mc = this._parent.button_mc; this.userleft_mc = this._parent.left_mc; this.userright_mc = this._parent.right_mc; this.usericon_mc = this._parent.icon_mc; this.usertextfield_mc = this._parent.textfield_mc; if (this.usertextfield_mc.label_mc != undefined) { this.userlabel_txt = this.usertextfield_mc.label_mc.label_txt; } else { this.userlabel_txt = this._parent.label_txt; } this.attribute_array = new array(); this.bJustSelected = false; this.bJustPressed = false; this.bSelectedWhenPressed = false; this.lastState_str = ""; } GenericButtonClass.prototype = new MovieClip(); // Handles initialization of the button features GenericButtonClass.prototype.onLoad = function () { // Set special values for the fields this.userlabel_txt.autoSize = true; this._parent._focusrect = true; this._parent.focusEnabled = true; this._parent.tabChildren = false; // Goto the first frame because this represents the proper size of the button unless we // are in test mode. In that case, go to the "normal" state. if (this._parent == _level0) { this.GotoDefaultState(); } else { this.GotoAndStopFrame(1); } // Let the container know we are loaded this._parent._parent.ItemLoaded(this._parent); } /////////////////////////////////////////////////////////////////////////// // // Handle calls to set the state of the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.SetItemLabel = function (newlabel) { // First make sure there is a label to set if (this.userlabel_txt != undefined) { // Save the old widths of the label and button so we can scale the button appropriately var oldLabelX = this.userlabel_txt._x; var oldButtonX = this.userbutton_mc._x; var oldButtonWidth = this.userbutton_mc._width; var oldLabelTextWidth = this.userlabel_txt.textWidth; var oldIconCenterX = this.usericon_mc._x + (this.usericon_mc._width / 2); var coordButton = this.userbutton_mc.getBounds(this._parent); var oldRightOffset = coordButton.xMax - this.userright_mc._x; // Set the new label this.userlabel_txt.text = newlabel; // Get the new label width var newLabelTextWidth = this.userlabel_txt.textWidth; // Scale the button based on how much the label scaled var widthDiff = oldButtonWidth - oldLabelTextWidth; var newButtonWidth = newLabelTextWidth + widthDiff; this.userbutton_mc._width = newButtonWidth; // Move the right_mc the appropriate distance right coordButton = this.userbutton_mc.getBounds(this._parent); this.userright_mc._x = coordButton.xMax - oldRightOffset; // Move the icon_mc to the same position relative to the button_mc var oldIconPercent = (oldIconCenterX - oldButtonX) / oldButtonWidth; var newIconCenterX = coordButton.xMin + (newButtonWidth * oldIconPercent); this.usericon_mc._x = newIconCenterX - (this.usericon_mc._width / 2); } return; } GenericButtonClass.prototype.EnableItem = function () { this.enabled = true; this._parent.useHandCursor = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisableItem = function () { this.enabled = false; this._parent.useHandCursor = false; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SelectedWhenPressed = function () { this.bSelectedWhenPressed = true; return; } GenericButtonClass.prototype.DisplaySelected = function () { this.selected = true; this.bJustSelected = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisplayNormal = function () { this.bJustPressed = false; this.selected = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SetAttribute = function (attribute, value) { var newattrib = new DisplayAttribute(attribute, value); this.attribute_array.push(newattrib); } GenericButtonClass.prototype.GetAttribute = function (attribute) { var value = undefined; for (var iAttrib in this.attribute_array) { if (this.attribute_array[iAttrib].attrib_str == attribute) { value = this.attribute_array[iAttrib].value; break; } } return value; } GenericButtonClass.prototype.GotoAndStopFrame = function(frame) { this.userbutton_mc.gotoAndStop(frame); this.userleft_mc.gotoAndStop(frame); this.userright_mc.gotoAndStop(frame); this.usericon_mc.gotoAndStop(frame); } /////////////////////////////////////////////////////////////////////////// // // Handle all of the mouse movements from the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.GotoButtonState = function(state) { if ((this.bJustSelected) || (state != "selected")) { this.bJustSelected = false; // Only perform the action if this is a change of state if (state != this.lastState_str) { this.userbutton_mc.gotoAndPlay(state); this.userleft_mc.gotoAndPlay(state); this.userright_mc.gotoAndPlay(state); this.usericon_mc.gotoAndPlay(state); this.usertextfield_mc.gotoAndPlay(state); this.lastState_str = state; } } } GenericButtonClass.prototype.GotoDefaultState = function () { if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("normal"); } } else { this.GotoButtonState("disabled"); } return; } GenericButtonClass.prototype.onRollOver = function () { this._parent._parent.ItemRolledOver(this._parent); if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("over"); } } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onPress = function() { if ((this.enabled) && (!this.selected)) { this.GotoButtonState("down"); } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onRelease = function() { // Send notification to the owner if ((this.enabled == true) && (!this.selected)) { _parent.DoCommand(CmdItemInvoked, this._parent, 0); } // Return the button to the default state if it is not going // to be shown as selected. if (!this.bSelectedWhenPressed) { this.GotoDefaultState(); } else { // Note that we were just pressed in case we get the extra "RollOut" call (see onRollOut) this.bJustPressed = true; } } GenericButtonClass.prototype.onDragOut = function() { this.GotoDefaultState(); } GenericButtonClass.prototype.onDragOver = function() { this.onPress(); } GenericButtonClass.prototype.onRollOut = function() { // For some reason we get a onRollOut call when a button is pressed and // we don't want to go to the default state automatically in that case. // We will wait for the container to set our state. if (!this.bJustPressed) { this.GotoDefaultState(); } } // Add effects for testing if (this == _level0) { left_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } left_mc.onPress = function () { fhgeneric_comp.onPress(); } left_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; left_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; left_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; left_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; button_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } button_mc.onPress = function () { fhgeneric_comp.onPress(); } button_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; button_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; button_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; button_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; right_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } right_mc.onPress = function () { fhgeneric_comp.onPress(); } right_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; right_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; right_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; right_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; icon_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } icon_mc.onPress = function () { fhgeneric_comp.onPress(); } icon_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; icon_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; icon_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; icon_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; textfield_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } textfield_mc.onPress = function () { fhgeneric_comp.onPress(); } textfield_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; textfield_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; textfield_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; textfield_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; } // Register the class Object.registerClass("FGenericFHButton", GenericButtonClass); #endinitclip  actionsOO) CMediaBitsMedia 1bt.png.\jonathan\bt.pngC <> 2phhhh?%g g ?,g g ?6Cg g ?gg g& ?4Bg g+  ? 6 ?#j Layer 93v v&?Fv v& ?9Av v&I\zdI\z& ?,y Layer 15O?\stop(); ?<stop(); ?9stop(); ?ustop(); ?@Fstop();?.stop(); ActionsOO?2q?normalqT ?over ?down@ ?selectedd ?disabled# LabelsOading of text dynamically and allow scaling without ugly distortion. Use the labeled frames in each movie clip to define what happens in the various states of the button. button_mc: This is the movie clip used for the center of the button. If you have a label on the button, button_mc will scale to fit the text on the label. fhgeneric_mc: This i Layer 1OelTextWidth = this.userlabel_txt.textWidth; CPicPage CPicLayer CPicFrame CPicShapeffQ7*fn?Bx0U?8 Layer 2OO= ="?3x= = "?c= ="?R= ="#?T Layer 7O?^t= ="1?L: Layer 6O?ustop(); ?Ustop(); ?Lstop(); ?sQstop(); ?Hstop();?6stop(); ActionsOO?x?normal1E ?overJ ?downD ?selected  ?disabled2CPicPage CPicLayer CPicFramemPQ4*ss_ 05_49r4r׀00+o1'?' Layer 1O LabelsO9 LabelsOCPicPage CPicLayer CPicFrameCPicText )2_sans(HINT: Toolbar buttons are made up of several pieces to allow loading of text dynamically and allow scaling without ugly distortion. Use the labeled frames in each movie clip to define what happens in the various states of the button. button_mc: This is the movie clip used for the center of the button. If you have a label on the button, button_mc will scale to fit the text on the label. fhgeneric_mc: This is an instance of the generic button component and is required for the button to function properly. _sans([optional items below] left_mc, right_mc: These movie clips never scale, but they will move as button_mc scales. The purpose of these clips is to allow sides of the button that do not become distorted as the button scales. icon_mc: This movie will not scale, but will keep the same relative position within button_mc as the button scales. One way to use icon_mc is to center an icon above the text . label_txt: This text field is populCPicPage CPicLayer CPicFrame CPicSymbol   d?x   d ?cI   &<2d ?& Layer 5O?&F !?C C d!?)C Cd!?mgC Cd!?>C Cd!?b$C Cd!?dC C!d!?rC C$d! ?e .!?4_?N Layer 8O?9.stop(); ?mstop(); ??stop(); ?nstop(); ?^stop();?stop(); ActionsOO?mE?normal~ ?over ?downl  ?selected(C ?disabled6 LabelsO ?fstop(); ?Ggstop(); ?eCstop();ated with the proper text at runtime. - OR - textfield_mc: If you would l_sans(ike your text to react to button events, you may use the structure below. Use the labeled frames in the textfield_mc timeline to apply effects to label_mc. textfield_mc label_mc label_txt?W HintO CPicSprite   */fhgeneric_compLabelLABELlabelJsE (J?X ComponentO  ,dg button_mc?e ButtonOO u ,udright_mc? RightO  ,dwleft_mc?m Left3 z zd z textfield_mc?f LabelO?a Layer 8 7X>> Symbol 20Tween 4M>M>) CDocumentPagePage 1Scene 1&>\V? Symbol 38Tween 12&s ?4? Symbol 34Tween 11"M>? Symbol 33Tween 10!@K>c? Symbol 32Tween 9 @K>a? Symbol 31Tween 8I>7:J> Symbol 30l3H>  Symbol 30kS> Symbol 29l2H> Symbol 29 ? Symbol 28l1H> Symbol 28 ? Symbol 24Tween 7Z>> Symbol 23Tween 6>> Symbol 22blinker8> Symbol 22Ǐ> Symbol 21Tween 5>> Symbol 20Tween 4M>M> Symbol 19Tween 3>> Symbol 18Tween 2>> Symbol 17Tween 1>> Symbol 14Label> Symbol 14Q>Symbol 9Icon Placeholder > Y>Symbol 9 Ů>Symbol 8Button Placeholder> L>Symbol 8î>Symbol 6Left Placeholder> => Symbol 6®>Symbol 4Iconl'>!Symbol 4CŮ>Symbol 3Right>'Symbol 3?Symbol 2LeftH'>Symbol 2? Symbol 13 Textfield > Left copyU?Symbol 1Button&>Symbol 1XV? Symbol 25 Tween 006> Tween 006>>Ǐ> Symbol 42Generic FH button*Oy_>FGenericFHbuttonflashhelp_components.swf+C:\FlashComponents\FlashHelp_Components.flaGeneric FH buttonHT?Oy_>HT?LabelLABELlabelJsE (J+ CMediaBitsMedia 1bt.png.\jonathan\bt.pngC <> 2phhhhz%PublishFormatProperties::htmlFileNameBlankButton.html"PublishHtmlProperties::StartPaused0!PublishGifProperties::PaletteName PublishRNWKProperties::speed256K0PublishFormatProperties::jpeg0Vector::Debugging Permitted0PublishHtmlProperties::Loop1"PublishQTProperties::MatchMovieDim1 PublishQTProperties::AlphaOption PublishQTProperties::LayerOptionPublishHtmlProperties::Units0$PublishPNGProperties::OptimizeColors1PublishQTProperties::Width550&PublishRNWKProperties::singleRateAudio0&PublishRNWKProperties::speedSingleISDN0%PublishFormatProperties::projectorMac0&PublishFormatProperties::flashFileNameBlankButton.swfVector::Compress Movie1PublishGifProperties::Smooth1#PublishRNWKProperties::flashBitRate1200%PublishRNWKProperties::mediaCopyright(c) 2000PublishFormatProperties::html0$PublishFormatProperties::pngFileNameBlankButton.png(PublishHtmlProperties::VerticalAlignment1PublishHtmlProperties::Quality4"PublishGifProperties::DitherOption"PublishRNWKProperties::exportAudio1 PublishRNWKProperties::speed384K0!PublishRNWKProperties::exportSMIL1Vector::Override Sounds0!PublishHtmlProperties::DeviceFont0"PublishPNGProperties::FilterOption'PublishRNWKProperties::mediaDescriptionPublishFormatProperties::gif0*PublishFormatProperties::generatorFileNameBlankButton.swtVector::Template0Vector::Protect0Vector::Quality80*PublishHtmlProperties::HorizontalAlignment1"PublishHtmlProperties::DisplayMenu1PublishGifProperties::Interlace0"PublishGifProperties::DitherSolids0PublishPNGProperties::Smooth1PublishPNGProperties::BitDepth24-bit with AlphaPublishJpegProperties::DPI4718592PublishQTProperties::Flatten1#PublishFormatProperties::qtFileNameBlankButton.movPublishGifProperties::Width550PublishGifProperties::Loop1PublishRNWKProperties::speed28K1!PublishRNWKProperties::mediaTitle$PublishRNWKProperties::mediaKeywordsPublishFormatProperties::flash1#PublishGifProperties::MatchMovieDim1#PublishGifProperties::PaletteOption"PublishPNGProperties::DitherOptionPublishJpegProperties::Quality80$PublishRNWKProperties::realVideoRate100000$PublishRNWKProperties::speedDualISDN0-PublishFormatProperties::projectorWinFileNameBlankButton.exePublishHtmlProperties::Align0#PublishPNGProperties::MatchMovieDim1#PublishPNGProperties::PaletteOption$PublishJpegProperties::MatchMovieDim1%PublishFormatProperties::jpegFileNameBlankButton.jpgVector::Omit Trace Actions0Vector::Debugging PasswordPublishHtmlProperties::Width55?J stop(); ?^stop(); ?WNstop(); ?hOstop();Symbol 40!6#Symbol 41"7'Symbol 427'CPicPage CPicLayer CPicFrame?WAI" #initclip // This is from commands.as and should be updated in both places if it updated here. var CmdItemInvoked = "CmdItemInvoked"; function DisplayAttribute(attribute, value) { this.attrib_str = attribute; this.value = value; } function GenericButtonClass() { this.enabled = true; this.selected = false; this.userbutton_mc = this._parent.button_mc; this.userleft_mc = this._parent.left_mc; this.userright_mc = this._parent.right_mc; this.usericon_mc = this._parent.icon_mc; this.usertextfield_mc = this._parent.textfield_mc; if (this.usertextfield_mc.label_mc != undefined) { this.userlabel_txt = this.usertextfield_mc.label_mc.label_txt; } else { this.userlabel_txt = this._parent.label_txt; } this.attribute_array = new array(); this.bJustSelected = false; this.bJustPressed = false; this.bSelectedWhenPressed = false; this.lastState_str = ""; } GenericButtonClass.prototype = new MovieClip(); // Handles initialization of the button features GenericButtonClass.prototype.onLoad = function () { // Set special values for the fields this.userlabel_txt.autoSize = true; this._parent._focusrect = true; this._parent.focusEnabled = true; this._parent.tabChildren = false; // Goto the first frame because this represents the proper size of the button unless we // are in test mode. In that case, go to the "normal" state. if (this._parent == _level0) { this.GotoDefaultState(); } else { this.GotoAndStopFrame(1); } // Let the container know we are loaded this._parent._parent.ItemLoaded(this._parent); } /////////////////////////////////////////////////////////////////////////// // // Handle calls to set the state of the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.SetItemLabel = function (newlabel) { // First make sure there is a label to set if (this.userlabel_txt != undefined) { // Save the old widths of the label and button so we can scale the button appropriately var oldLabelX = this.userlabel_txt._x; var oldButtonX = this.userbutton_mc._x; var oldButtonWidth = this.userbutton_mc._width; var oldLabelTextWidth = this.userlabel_txt.textWidth; var oldIconCenterX = this.usericon_mc._x + (this.usericon_mc._width / 2); var coordButton = this.userbutton_mc.getBounds(this._parent); var oldRightOffset = coordButton.xMax - this.userright_mc._x; // Set the new label this.userlabel_txt.text = newlabel; // Get the new label width var newLabelTextWidth = this.userlabel_txt.textWidth; // Scale the button based on how much the label scaled var widthDiff = oldButtonWidth - oldLabelTextWidth; var newButtonWidth = newLabelTextWidth + widthDiff; this.userbutton_mc._width = newButtonWidth; // Move the right_mc the appropriate distance right coordButton = this.userbutton_mc.getBounds(this._parent); this.userright_mc._x = coordButton.xMax - oldRightOffset; // Move the icon_mc to the same position relative to the button_mc var oldIconPercent = (oldIconCenterX - oldButtonX) / oldButtonWidth; var newIconCenterX = coordButton.xMin + (newButtonWidth * oldIconPercent); this.usericon_mc._x = newIconCenterX - (this.usericon_mc._width / 2); } return; } GenericButtonClass.prototype.EnableItem = function () { this.enabled = true; this._parent.useHandCursor = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisableItem = function () { this.enabled = false; this._parent.useHandCursor = false; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SelectedWhenPressed = function () { this.bSelectedWhenPressed = true; return; } GenericButtonClass.prototype.DisplaySelected = function () { this.selected = true; this.bJustSelected = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisplayNormal = function () { this.bJustPressed = false; this.selected = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SetAttribute = function (attribute, value) { var newattrib = new DisplayAttribute(attribute, value); this.attribute_array.push(newattrib); } GenericButtonClass.prototype.GetAttribute = function (attribute) { var value = undefined; for (var iAttrib in this.attribute_array) { if (this.attribute_array[iAttrib].attrib_str == attribute) { value = this.attribute_array[iAttrib].value; break; } } return value; } GenericButtonClass.prototype.GotoAndStopFrame = function(frame) { this.userbutton_mc.gotoAndStop(frame); this.userleft_mc.gotoAndStop(frame); this.userright_mc.gotoAndStop(frame); this.usericon_mc.gotoAndStop(frame); } /////////////////////////////////////////////////////////////////////////// // // Handle all of the mouse movements from the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.GotoButtonState = function(state) { if ((this.bJustSelected) || (state != "selected")) { this.bJustSelected = false; // Only perform the action if this is a change of state if (state != this.lastState_str) { this.userbutton_mc.gotoAndPlay(state); this.userleft_mc.gotoAndPlay(state); this.userright_mc.gotoAndPlay(state); this.usericon_mc.gotoAndPlay(state); this.usertextfield_mc.gotoAndPlay(state); this.lastState_str = state; } } } GenericButtonClass.prototype.GotoDefaultState = function () { if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("normal"); } } else { this.GotoButtonState("disabled"); } return; } GenericButtonClass.prototype.onRollOver = function () { this._parent._parent.ItemRolledOver(this._parent); if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("over"); } } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onPress = function() { if ((this.enabled) && (!this.selected)) { this.GotoButtonState("down"); } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onRelease = function() { // Send notification to the owner if ((this.enabled == true) && (!this.selected)) { _parent.DoCommand(CmdItemInvoked, this._parent, 0); } // Return the button to the default state if it is not going // to be shown as selected. if (!this.bSelectedWhenPressed) { this.GotoDefaultState(); } else { // Note that we were just pressed in case we get the extra "RollOut" call (see onRollOut) this.bJustPressed = true; } } GenericButtonClass.prototype.onDragOut = function() { this.GotoDefaultState(); } GenericButtonClass.prototype.onDragOver = function() { this.onPress(); } GenericButtonClass.prototype.onRollOut = function() { // For some reason we get a onRollOut call when a button is pressed and // we don't want to go to the default state automatically in that case. // We will wait for the container to set our state. if (!this.bJustPressed) { this.GotoDefaultState(); } } /////////////////////////////////////////////////////////////////////////// // // Handle mouse messages for the movie // /////////////////////////////////////////////////////////////////////////// function onRollOver() { fhgeneric_comp.onRollOver(); } function onPress() { fhgeneric_comp.onPress(); } function onRelease() { fhgeneric_comp.onRelease(); } function onDragOut() { fhgeneric_comp.onDragOut(); } function onDragOver() { fhgeneric_comp.onDragOver(); } function onRollOut() { fhgeneric_comp.onRollOut(); } // Add effects for testing if (this == _level0) { left_mc.onRollOver = onRollOver; left_mc.onPress = onPress; left_mc.onRelease = onRelease; left_mc.onDragOut = onDragOut; left_mc.onDragOver = onDragOver; left_mc.onRollOut = onRollOut; button_mc.onRollOver = onRollOver; button_mc.onPress = onPress; button_mc.onRelease = onRelease; button_mc.onDragOut = onDragOut; button_mc.onDragOver = onDragOver; button_mc.onRollOut = onRollOut; right_mc.onRollOver = onRollOver; right_mc.onPress = onPress; right_mc.onRelease = onRelease; right_mc.onDragOut = onDragOut; right_mc.onDragOver = onDragOver; right_mc.onRollOut = onRollOut; icon_mc.onRollOver = onRollOver; icon_mc.onPress = onPress; icon_mc.onRelease = onRelease; icon_mc.onDragOut = onDragOut; icon_mc.onDragOver = onDragOver; icon_mc.onRollOut = onRollOut; textfield_mc.onRollOver = onRollOver; textfield_mc.onPress = onPress; textfield_mc.onRelease = onRelease0PublishHtmlProperties::Height400"PublishPNGProperties::DitherSolids0"PublishJpegProperties::Progressive0#PublishQTProperties::PlayEveryFrame0PublishFormatProperties::png0PublishFormatProperties::rnwk0-PublishFormatProperties::projectorMacFileNameBlankButton.hqxVector::TopDown0!PublishHtmlProperties::WindowMode0'PublishHtmlProperties::TemplateFileNameeC:\Documents and Settings\edigre\Application Data\Macromedia\Flash MX\Configuration\Html\Default.htmlPublishGifProperties::Height400PublishPNGProperties::Interlace0PublishJpegProperties::Size0"PublishFormatProperties::generator0Vector::Report0PublishGifProperties::LoopCount'PublishGifProperties::TransparentOptionPublishGifProperties::MaxColors255%PublishPNGProperties::RemoveGradients0PublishQTProperties::Height400PublishRNWKProperties::speed56K1PublishFormatProperties::qt0Vector::Stream Compress7Vector::Event Format0Vector::Version6$PublishGifProperties::OptimizeColors1"PublishRNWKProperties::audioFormat0Vector::Event Compress7PublishHtmlProperties::Scale0%PublishGifProperties::RemoveGradients0PublishPNGProperties::Width550PublishPNGProperties::Height400PublishJpegProperties::Height400 PublishRNWKProperties::speed512K0$PublishFormatProperties::gifFileNameBlankButton.gifVector::Stream Format0PublishGifProperties::Animated0&PublishGifProperties::TransparentAlpha128!PublishPNGProperties::Transparent0!PublishPNGProperties::PaletteNamePublishJpegProperties::Width550*PublishQTProperties::UseQTSoundCompression0PublishQTProperties::Looping0"PublishRNWKProperties::exportFlash1&PublishRNWKProperties::showBitrateDlog1(PublishRNWKProperties::speedCorporateLAN0"PublishRNWKProperties::mediaAuthorPropSheet::ActiveTab1599%PublishFormatProperties::defaultNames1%PublishFormatProperties::projectorWin0%PublishFormatProperties::rnwkFileNameBlankButton.smilPublishPNGProperties::MaxColors255%PublishQTProperties::ControllerOption0"PublishQTProperties::PausedAtStart0 CColorDef   3P fP0 PH P` Px 3 33( 3f<0 3CH 3F` 3Hx f0 f30 ff(0 f5H f<` f@x  3330  3 33x f3d0 3]H 3Z` 3Xx 33 3330 3f3PPH 33Px` 33Px 33P f3; textfield_mc.onDragOut = onDragOut; textfield_mc.onDragOver = onDragOver; textfield_mc.onRollOut = onRollOut; } // Register the class Object.registerClass("FGenericFHButton", GenericButtonClass); #endinitclip  actionsOO Symbol 25 Tween 006> Tween 006>>Ǐ>Symbol 34Symbol 33jSymbol 32Symbol 31Symbol 30 -Symbol 29-Symbol 28fSymbol 243CPicPage CPicLayer CPicFrame?CcJ& #initclip // This is from commands.as and should be updated in both places if it updated here. var CmdItemInvoked = "CmdItemInvoked"; function DisplayAttribute(attribute, value) { this.attrib_str = attribute; this.value = value; } function GenericButtonClass() { // Setup the mouse event handling if (this._parent != _level0) { this._parent.onRollOver = function (mc) { mc.fhgeneric_comp.onRollOver(); } this._parent.onRollOut = function (mc) { mc.fhgeneric_comp.onRollOut(); } this._parent.onPress = function () { this.fhgeneric_comp.onPress(); } this._parent.onRelease = function () { this.fhgeneric_comp.onRelease(); } this._parent.onDragOut = function () { this.fhgeneric_comp.onDragOut(); } this._parent.onDragOver = function () { this.fhgeneric_comp.onDragOver(); } } this.enabled = true; this.selected = false; this.userbutton_mc = this._parent.button_mc; this.userleft_mc = this._parent.left_mc; this.userright_mc = this._parent.right_mc; this.usericon_mc = this._parent.icon_mc; this.usertextfield_mc = this._parent.textfield_mc; if (this.usertextfield_mc.label_mc != undefined) { this.userlabel_txt = this.usertextfield_mc.label_mc.label_txt; } else { this.userlabel_txt = this._parent.label_txt; } this.attribute_array = new array(); this.bJustSelected = false; this.bJustPressed = false; this.bSelectedWhenPressed = false; this.lastState_str = ""; } GenericButtonClass.prototype = new MovieClip(); // Handles initialization of the button features GenericButtonClass.prototype.onLoad = function () { // Set special values for the fields this.userlabel_txt.autoSize = true; this._parent._focusrect = true; this._parent.focusEnabled = true; this._parent.tabChildren = false; // Goto the first frame because this represents the proper size of the button unless we // are in test mode. In that case, go to the "normal" state. if (this._parent == _level0) { this.GotoDefaultState(); } else { this.GotoAndStopFrame(1); } // Let the container know we are loaded this._parent._parent.ItemLoaded(this._parent); } /////////////////////////////////////////////////////////////////////////// // // Handle calls to set the state of the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.SetItemLabel = function (newlabel) { // First make sure there is a label to set if (this.userlabel_txt != undefined) { // Save the old widths of the label and button so we can scale the button appropriately var oldLabelX = this.userlabel_txt._x; var oldButtonX = this.userbutton_mc._x; var oldButtonWidth = this.userbutton_mc._width; var oldLabelTextWidth = this.userlabel_txt.textWidth; var oldIconCenterX = this.usericon_mc._x + (this.usericon_mc._width / 2); var coordButton = this.userbutton_mc.getBounds(this._parent); var oldRightOffset = coordButton.xMax - this.userright_mc._x; // Set the new label this.userlabel_txt.text = newlabel; // Get the new label width var newLabelTextWidth = this.userlabel_txt.textWidth; // Scale the button based on how much the label scaled var widthDiff = oldButtonWidth - oldLabelTextWidth; var newButtonWidth = newLabelTextWidth + widthDiff; this.userbutton_mc._width = newButtonWidth; // Move the right_mc the appropriate distance right coordButton = this.userbutton_mc.getBounds(this._parent); this.userright_mc._x = coordButton.xMax - oldRightOffset; // Move the icon_mc to the same position relative to the button_mc var oldIconPercent = (oldIconCenterX - oldButtonX) / oldButtonWidth; var newIconCenterX = coordButton.xMin + (newButtonWidth * oldIconPercent); this.usericon_mc._x = newIconCenterX - (this.usericon_mc._width / 2); } return; } GenericButtonClass.prototype.EnableItem = function () { this.enabled = true; this._parent.useHandCursor = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisableItem = function () { this.enabled = false; this._parent.useHandCursor = false; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SelectedWhenPressed = function () { this.bSelectedWhenPressed = true; return; } GenericButtonClass.prototype.DisplaySelected = function () { this.selected = true; this.bJustSelected = true; this.bJustPressed = false; this.GotoDefaultState(); } GenericButtonClass.prototype.DisplayNormal = function () { this.bJustPressed = false; this.selected = false; this.GotoDefaultState(); } GenericButtonClass.prototype.SetAttribute = function (attribute, value) { var newattrib = new DisplayAttribute(attribute, value); this.attribute_array.push(newattrib); } GenericButtonClass.prototype.GetAttribute = function (attribute) { var value = undefined; for (var iAttrib in this.attribute_array) { if (this.attribute_array[iAttrib].attrib_str == attribute) { value = this.attribute_array[iAttrib].value; break; } } return value; } GenericButtonClass.prototype.GotoAndStopFrame = function(frame) { this.userbutton_mc.gotoAndStop(frame); this.userleft_mc.gotoAndStop(frame); this.userright_mc.gotoAndStop(frame); this.usericon_mc.gotoAndStop(frame); } /////////////////////////////////////////////////////////////////////////// // // Handle all of the mouse movements from the button // /////////////////////////////////////////////////////////////////////////// GenericButtonClass.prototype.GotoButtonState = function(state) { if ((this.bJustSelected) || (state != "selected")) { this.bJustSelected = false; // Only perform the action if this is a change of state if (state != this.lastState_str) { this.userbutton_mc.gotoAndPlay(state); this.userleft_mc.gotoAndPlay(state); this.userright_mc.gotoAndPlay(state); this.usericon_mc.gotoAndPlay(state); this.usertextfield_mc.gotoAndPlay(state); this.lastState_str = state; } } } GenericButtonClass.prototype.GotoDefaultState = function () { if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("normal"); } } else { this.GotoButtonState("disabled"); } return; } GenericButtonClass.prototype.onRollOver = function () { this._parent._parent.ItemRolledOver(this._parent); if (this.enabled == true) { if (this.selected == true) { this.GotoButtonState("selected"); } else { this.GotoButtonState("over"); } } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onPress = function() { if ((this.enabled) && (!this.selected)) { this.GotoButtonState("down"); } else { this.GotoDefaultState(); } } GenericButtonClass.prototype.onRelease = function() { // Send notification to the owner if ((this.enabled == true) && (!this.selected)) { _parent.DoCommand(CmdItemInvoked, this._parent, 0); } // Return the button to the default state if it is not going // to be shown as selected. if (!this.bSelectedWhenPressed) { this.GotoDefaultState(); } else { // Note that we were just pressed in case we get the extra "RollOut" call (see onRollOut) this.bJustPressed = true; } } GenericButtonClass.prototype.onDragOut = function() { this.GotoDefaultState(); } GenericButtonClass.prototype.onDragOver = function() { this.onPress(); } GenericButtonClass.prototype.onRollOut = function() { // For some reason we get a onRollOut call when a button is pressed and // we don't want to go to the default state automatically in that case. // We will wait for the container to set our state. if (!this.bJustPressed) { this.GotoDefaultState(); } } // Add effects for testing if (this == _level0) { left_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } left_mc.onPress = function () { fhgeneric_comp.onPress(); } left_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; left_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; left_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; left_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; button_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } button_mc.onPress = function () { fhgeneric_comp.onPress(); } button_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; button_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; button_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; button_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; right_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } right_mc.on0 f33PH ff3(PH f3<x` f3Cx f3F  fff`  f0 3f0 ffx0 fkH fd` f`x 3f0 33fPH 3ffxPH 3fdx` 3f]x 3fZ ff0 f3fPH fff` ffP0x ffPx ffP    H 3H fH xH ̙Press = function () { fhgeneric_comp.onPress(); } right_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; right_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; right_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; right_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; icon_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } icon_mc.onPress = function () { fhgeneric_comp.onPress(); } icon_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; icon_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; icon_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; icon_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; textfield_mc.onRollOver = function () { fhgeneric_comp.onRollOver(); } textfield_mc.onPress = function () { fhgeneric_comp.onPress(); } textfield_mc.onRelease = function () { fhgeneric_comp.onRelease(); }; textfield_mc.onDragOut = function () { fhgeneric_comp.onDragOut(); }; textfield_mc.onDragOver = function () { fhgeneric_comp.onDragOver(); }; textfield_mc.onRollOut = function () { fhgeneric_comp.onRollOut(); }; } // Register the class Object.registerClass("FGenericFHButton", GenericButtonClass); #endinitclip  actionsOOs::projectorMac0!PublishRNWKProperties::exportSMIL1 PublishRNWKProperties::speed384K0"PublishRNWKProperties::exportAudio1"PublishGifProperties::DitherOptionPublishHtmlProperties::Quality4(Publis ?vXstop();?fstop(); ActionsOO??normalI ?overo ?downt ?selectedN in each movie clip to define what happens in the various states of the button. button_mc: This is the movie clip used for the center of the button. If you have a label on the button, button_mc will scale to fit the text on the label. fhgeneric_mc: This is an instance of the generic button component and is required for the button to function properly. _sans([optional items below] left_mc, right_mc: These movie clips never scale, but they will move as button_mc scales. The purpose of these clips is to allow sides of the button that do not become distorted as the button scales. icon_mc: This movie will not scale, but will keep the same relative position within button_mc as the button scales. One way to use icon_mc is to center an icon above the text . label_txt: This text field is populated with the proper text at runtime. - OR - textfield_mc: If you would l_sans(ike your text to react to button events, you may use the structure below. Use the labeled frames in the textfield_mc timeline to apply effects to label_mc. textfield_mc label_mc label_txt? HintO CPicSprite   *]fhgeneric_compLabelLABELlabelJsE (J?@ ComponentO  ,d+H button_mc?# ButtonOO u ,udHright_mc?^ RightO  ,d_left_mc?L Left3 z zd  textfield_mc?: LabelO?j Layer 8 7X&>T? Symbol 38Tween 12&s ?4? Symbol 34Tween 11"M>?) CDocumentPagePage 1Scene 1&>V? Symbol 38Tween 12&s ?4? Symbol 34Tween 11"M>? Symbol 33Tween 10!@K>c? Symbol 32Tween 9 @K>a? Symbol 31Tween 8I>7:J> Symbol 30l3H>  Symbol 30kS> Symbol 29l2H> Symbol 29 ? Symbol 28l1H> Symbol 28 ? Symbol 24Tween 7Z>> Symbol 23Tween 6>> Symbol 22blinker8> Symbol 22Ǐ> Symbol 21Tween 5>> Symbol 20Tween 4M>M> Symbol 19Tween 3>> Symbol 18Tween 2>> Symbol 17Tween 1>n` hx 3H 33x` 3fx` 3xx` 3̙kx 3d fH f3x` ff0x fx0x f̙dx f]    ` 3` f` ` x` px 3` 33x 3fx 3x 3xx 3n f` f3x ffx fx fxx fk    x 3x fx x x xx 3x 33 3f 3 3 3x fx f3 ff f f fx  x  H 3 H fH (H 2` 8x ` 3 ` f` ̙> Symbol 14Label> Symbol 14Q>Symbol 9Icon Placeholder > Y>Symbol 9 Ů>Symbol 8Button Placeholder> L>Symbol 8î>Symbol 6Left Placeholder> => Symbol 6®>Symbol 4Iconl'>!Symbol 4CŮ>Symbol 3Right>'Symbol 3?Symbol 2LeftH'>Symbol 2? Symbol 13 Textfield > Left copyU? Symbol 25 Tween 006> Tween 006>>Ǐ> Symbol 42Generic FH button*Oy_>FGenericFHbuttonflashhelp_components.swf+C:\FlashComponents\FlashHelp_Components.flaGeneric FH buttonHT?Oy_>HT?LabelLABELlabelJsE (J Symbol 43Button+&>.\skin_button_tb_index.flaButton V?&> V?, CMediaBitsMedia 1bt.png.\jonathan\bt.pngC <> 2phhhhz PublishRNWKProperties::speed256K0!PublishGifProperties::PaletteName"PublishHtmlProperties::StartPaused0%PublishFormatProperties::htmlFileNameBlankButton.html PublishQTProperties::LayerOption PublishQTProperties::AlphaOption"PublishQTProperties::MatchMovieDim1PublishHtmlProperties::Loop1Vector::Debugging Permitted0PublishFormatProperties::jpeg0&PublishRNWKProperties::speedSingleISDN0&PublishRNWKProperties::singleRateAudio0PublishQTProperties::Width550$PublishPNGProperties::OptimizeColors1PublishHtmlProperties::Units0%PublishRNWKProperties::mediaCopyright(c) 2000#PublishRNWKProperties::flashBitRate1200PublishGifProperties::Smooth1Vector::Compress Movie1&PublishFormatProperties::flashFileNameBlankButton.swf%PublishFormatProperties::projectorMac0!PublishRNWKProperties::exportSMIL1 PublishRNWKProperties::speed384K0"PublishRNWKProperties::exportAudio1"PublishGifProperties::DitherOptionPublishHtmlProperties::Quality4(PublishHtmlProperties::VerticalAlignment1$PublishFormatProperties::pngFileNameBlankButton.pngPublishFormatProperties::html0'PublishRNWKProperties::mediaDescription"PublishPNGProperties::FilterOption!PublishHtmlProperties::DeviceFont0Vector::Override Sounds0PublishQTProperties::Flatten1PublishJpegProperties::DPI4718592PublishPNGProperties::BitDepth24-bit with AlphaPublishPNGProperties::Smooth1"PublishGifProperties::DitherSolids0PublishGifProperties::Interlace0"PublishHtmlProperties::DisplayMenu1*PublishHtmlProperties::HorizontalAlignment1Vector::Quality80Vector::Protect0Vector::Template0*PublishFormatProperties::generatorFileNameBlankButton.swtPublishFormatProperties::gif0$PublishRNWKProperties::mediaKeywords!PublishRNWKProperties::mediaTitlePublishRNWKProperties::speed28K1PublishGifProperties::Loop1PublishGifProperties::Width550#PublishFormatProperties::qtFileNameBlankButton.mov$PublishRNWKProperties::speedDualISDN0$PublishRNWKProperties::realVideoRate100000PublishJpegProperties::Quality80"PublishPNGProperties::DitherOption#PublishGifProperties::PaletteOption#PublishGifProperties::MatchMovieDim1PublishFormatProperties::flash1$PublishJpegProperties::MatchMovieDim1#PublishPNGProperties::PaletteOption#PublishPNGProperties::MatchMovieDim1PublishHtmlProperties::Align0-PublishFormatProperties::projectorWinFileNameBlankButton.exe#PublishQTProperties::PlayEveryFrame0"PublishJpegProperties::Progressive0"PublishPNGProperties::DitherSolids0PublishHtmlProperties::Height400PublishHtmlProperties::Width550Vector::Debugging PasswordVector::Omit Trace Actions0%PublishFormatProperties::jpegFileNameBlankButton.jpgPublishJpegProperties::Size0PublishPNGProperties::Interlace0PublishGifProperties::Height400'PublishHtmlProperties::TemplateFileNameeC:\Documents and Settings\edigre\Application Data\Macromedia\Flash MX\Configuration\Html\Default.html!PublishHtmlProperties::WindowMode0Vector::TopDown0-PublishFormatProperties::projectorMacFileNameBlankButton.hqxPublishFormatProperties::rnwk0PublishFormatProperties::png0PublishRNWKProperties::speed56K1PublishQTProperties::Height400%PublishPNGProperties::RemoveGradients0PublishGifProperties::MaxColors255'PublishGifProperties::TransparentOptionPublishGifProperties::LoopCountVector::Report0"PublishFormatProperties::generator0"PublishRNWKProperties::audioFormat0$PublishGifProperties::OptimizeColors1Vector::Version6Vector::Event Format0Vector::Stream Compress7PublishFormatProperties::qt0 PublishRNWKProperties::speed512K0PublishJpegProperties::Height400PublishPNGProperties::Height400PublishPNGProperties::Width550%PublishGifProperties::RemoveGradients0PublishHtmlProperties::Scale0Vector::Event Compress7"PublishRNWKProperties::mediaAuthor(PublishRNWKProperties::speedCorporateLAN0&PublishRNWKProperties::showBitrateDlog1"PublishRNWKProperties::exportFlash1PublishQTProperties::Looping0*PublishQTProperties::UseQTSoundCompression0PublishJpegProperties::Width550!PublishPNGProperties::PaletteName!PublishPNGProperties::Transparent0&PublishGifProperties::TransparentAlpha128PublishGifProperties::Animated0Vector::Stream Format0$PublishFormatProperties::gifFileNameBlankButton.gif"PublishQTProperties::PausedAtStart0%PublishQTProperties::ControllerOption0PublishPNGProperties::MaxColors255%PublishFormatProperties::rnwkFileNameBlankButton.smil%PublishFormatProperties::projectorWin0%PublishFormatProperties::defaultNames1PropSheet::ActiveTab1599 CColorDef   3P fP0 PH P` Px 3 33( 3f<0 3CH 3F` 3Hx f0 f30 ff(0 f5H f<` f@x  3330  3 33x f3d0 3]H 3Z` 3Xx 33 3330 3f3PPH 33Px` 33Px 33P f30 f33PH ff3(PH f3<x` f3Cx f3F  fff`  f0 3f0 ffx0 fkH fd` f`x 3f0 33fPH 3ffxPH 3fdx` 3f]x 3fZ ff0 f3fPH fff` ffP0x ffPx ffP    H 3H fH xH ̙n` hx 3H 33x` 3fx` 3xx` 3̙kx 3d fH f3x` ff0x fx0x f̙dx f]    ` 3` f` ` x` px 3` 33x 3fx 3x 3xx 3n f` f3x ffx fx fxx fk    x 3x fx x x xx 3x 33 3f 3 3 3x fx f3 ff f f fx  x  H 3 H fH (H 2` 8x ` 3 ` f` ̙` (` 0x x 3x fx x  x (x  Px  3H 33x` f3x` 3(x` 35x 3< 3` 33x f3 x ̙3x 3(x 32 3x 33 f3 3 3 3(  x  fH 3fx` ff0x f(0x f<x fC f` 3fx ffx ̙fx f(x f5 fx 3f ff f f f(  (x  H 3x` f0x  ̙PP P ` 3x fx ̙P ̙(P < x 3 f  ̙ (  xx  ` 3x fx P xP d ` 3x fx ̙P  P x 3 f   (  x  x 3 f   x x 3 f ̙  x x 3 f          f`zf` (` 0x x 3x fx x  x (x  Px  3H 33x` f3x` 3(x` 35x 3< 3` 33x f3 x ̙3x 3(x 32 3x 33 f3 3 3 3(  x  fH 3fx` ff0x f(0x f<x fC f` 3fx ffx ̙fx f(x f5 fx 3f ff f f f(  (x  H 3x` f0x  ̙PP P ` 3x fx ̙P ̙(P < x 3 f  ̙ (  xx  ` 3x fx P xP d ` 3x fx ̙P  P x 3 f   (  x  x 3 f   x x 3 f ̙  x x 3 f          f`zf *]g,:Placeholder Graphics> "PublishQTProperties::QTSndSettingsCQTAudioSettings *]T2Placeholder Graphics> "PublishQTProperties::QTSndSettingsCQTAudioSettings