| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972 | 
							
- <!DOCTYPE html>
 
- <html class="SG-game-show" style="background:none;background-color:transparent; width:100%;" >
 
- <head>
 
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
- <meta charset="UTF-8">
 
- <meta http-equiv="Content-Type" content="text/html"><meta name="apple-mobile-web-app-capable" content="yes"> 
 
- <meta name="robots" content="index,follow"> 
 
- <meta name="apple-touch-fullscreen" content="yes">
 
- <meta property="og:title" content="麻将连连看">
 
- <meta property="og:description" content="麻将连连看,超好玩的消除类游戏">
 
- <meta property="og:type" content="game">
 
- <meta property="fb:app_id" content="">
 
- <meta name="description" content="麻将连连看,超好玩的消除类游戏">		
 
- <title>麻将连连看</title>		
 
- <meta name="viewport" content="width=device-width,maximum-scale=1.0, initial-scale=1.0, user-scalable=no"><meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;">
 
- <script type="text/javascript" async src="js/ga.js"></script>
 
- <!--Google Analytics-->
 
- </head>
 
- <body style="margin:0px;padding:0px;-webkit-user-select: none;background: #000;" class="game-show">
 
- <div id="play68-root"><iframe id="play68-iframe" style="display: none; "></iframe></div>
 
- <script type="text/javascript" charset="UTF-8">
 
-     //<![CDATA[
 
-     (function () {
 
-         FZ = {
 
-             newClass: function (a, b) {
 
-                 a === undefined && (a = {});
 
-                 var c = function () {};
 
-                 typeof b == "function" && b.hasOwnProperty("prototype") ? c.prototype = b.prototype : typeof b == "object" && (c.prototype = b);
 
-                 var d = function () {};
 
-                 if (a.hasOwnProperty("init") || "init" in c.prototype) d = function () {
 
-                     this.init.apply(this, arguments)
 
-                 };
 
-                 d.prototype = new c, d.prototype.constructor = d;
 
-                 for (var e in a) d.prototype[e] = a[e];
 
-                 return d
 
-             },
 
-             $: function (a) {
 
-                 return document.getElementById(a)
 
-             },
 
-             Tools: {
 
-                 splat: function (a) {
 
-                     if (!a) return [];
 
-                     return a instanceof Array || typeof a == "object" && typeof a.length == "number" && a.callee ? a : [a]
 
-                 },
 
-                 bind: function (a, b, c) {
 
-                     return function () {
 
-                         return b.apply(a, FZ.Tools.splat(c))
 
-                     }
 
-                 },
 
-                 bindWithEvent: function (a, b, c) {
 
-                     return function (d) {
 
-                         var e = [d];
 
-                         Array.prototype.push.apply(e, FZ.Tools.splat(c));
 
-                         return b.apply(a, e)
 
-                     }
 
-                 },
 
-                 trim: function (a) {
 
-                     return a.replace(/^\s+|\s+$/g, "")
 
-                 },
 
-                 extend: function (a, b) {
 
-                     for (var c in b) a[c] = b[c]
 
-                 }
 
-             },
 
-             EngineOptions: {
 
-                 DebugLevel: "error"
 
-             },
 
-             _trace: function (a) {
 
-                 FZ.EngineOptions.DebugLevel === "info" && console.log(a)
 
-             },
 
-             _assert: function (a, b) {
 
-                 (FZ.EngineOptions.DebugLevel === "error" || FZ.EngineOptions.DebugLevel === "info") && !a && alert(b)
 
-             }
 
-         }
 
-     })(),
 
-     function () {
 
-         FZ.ResourceManager = {
 
-             __ResourceCount: 0,
 
-             __ResourceLoaded: 0,
 
-             __GeneralCallback: null,
 
-             __GeneralCallbackObj: null,
 
-             ResourceLib: {},
 
-             isResourceLoaded: function () {
 
-                 return this.__ResourceCount === this.__ResourceLoaded
 
-             },
 
-             addResource: function (a) {
 
-                 if (this.ResourceFactory.hasOwnProperty(a.Type)) {
 
-                     this.__ResourceCount++;
 
-                     var b = {
 
-                         Resource: null,
 
-                         Loaded: !1
 
-                     };
 
-                     this.ResourceLib[a.Name] = b, FZ._trace("Add/load resource[" + a.Name + "] : " + a.URL);
 
-                     var c = new this.ResourceFactory[a.Type](a.URL, b);
 
-                     c.setCallback(function () {
 
-                         b.Loaded = !0, FZ.ResourceManager.__ResourceLoaded++, a.callback && a.callback(b.Resource), FZ.ResourceManager.__GeneralCallback && FZ.ResourceManager.__GeneralCallback.call()
 
-                     }), c.load()
 
-                 } else Throw("Error: Do not suppport Resourcetype:" + a.Type)
 
-             },
 
-             setCallback: function (a) {
 
-                 this.__GeneralCallback = a
 
-             },
 
-             getLoadingRatio: function () {
 
-                 if (this.__ResourceCount === 0) return 1;
 
-                 return this.__ResourceLoaded / this.__ResourceCount
 
-             },
 
-             ResourceFactory: {},
 
-             registerResourceType: function (a, b) {
 
-                 this.ResourceFactory[a] = b
 
-             }
 
-         }, FZ.Class_Resource = {
 
-             callback: function () {},
 
-             init: function (a, b) {
 
-                 this.URL = a, this.target = b
 
-             },
 
-             setCallback: function (a) {
 
-                 this.callback = a
 
-             }
 
-         }
 
-     }(),
 
-     function () {
 
-         var a = FZ.newClass({
 
-             load: function () {
 
-                 var a = new Audio;
 
-                 a.src = this.URL, a.load(), a.play(), a.pause(), this.callback(), this.target.Resource = a
 
-             }
 
-         }, FZ.Class_Resource);
 
-         FZ.ResourceManager.registerResourceType("Audio", a)
 
-     }(),
 
-     function () {
 
-         var a = FZ.newClass({
 
-             load: function () {
 
-                 this.target.Resource = document.createElement("script"), this.target.Resource.addEventListener("load", this.callback, !1), this.target.Resource.src = this.URL, document.body.appendChild(this.target.Resource)
 
-             }
 
-         }, FZ.Class_Resource);
 
-         FZ.ResourceManager.registerResourceType("Js", a)
 
-     }(),
 
-     function () {
 
-         var a = FZ.newClass({
 
-             load: function () {
 
-                 this.target.Resource = new Image, this.target.Resource.addEventListener("load", this.callback, !1), this.target.Resource.addEventListener("error", function () {
 
-                     //alert(this.URL)
 
-                 }, !1), this.target.Resource.src = this.URL
 
-             }
 
-         }, FZ.Class_Resource);
 
-         FZ.ResourceManager.registerResourceType("Image", a)
 
-     }(),
 
-     function () {
 
-         FZ.stateStatus = {}, FZ.stateStatus.INIT = 0, FZ.stateStatus.NORMAL = 5, FZ.stateStatus.HIDENOTIFY = 15, FZ.stateStatus.HIDELOGIC = 20, FZ.stateStatus.DONOTHING = 30, FZ.GameStateBase = FZ.newClass({
 
-             StateName: "GameStateBase",
 
-             m_status: FZ.stateStatus.NORMAL,
 
-             init: function () {
 
-                 FZ.GameBase.registerState(this.StateName, this)
 
-             },
 
-             pause: function () {
 
-                 this.m_status = FZ.stateStatus.HIDENOTIFY
 
-             },
 
-             resume: function () {
 
-                 this.m_status = FZ.stateStatus.NORMAL
 
-             },
 
-             preProcess: function () {},
 
-             postProcess: function () {},
 
-             AIUpdate: function (a) {},
 
-             visualUpdate: function () {}
 
-         }), FZ.GameBase = {
 
-             Time: (new Date).getTime(),
 
-             FrameNum: 0,
 
-             Fps: 0,
 
-             Fps_lastTime: 0,
 
-             Fps_lastFrame: 0,
 
-             DefaultFPS: 30,
 
-             CurrentState: null,
 
-             __StateLib: {},
 
-             __stateStack: [],
 
-             Width: 640,
 
-             Height: 480,
 
-             MainCanvas: null,
 
-             MainContext: null,
 
-             Name: "",
 
-             SaveObject: {},
 
-             init: function (a) {
 
-                 this.MainCanvas = document.createElement("canvas"), this.MainCanvas.width = this.Width, this.MainCanvas.height = this.Height, this.MainContext = this.MainCanvas.getContext("2d"), this.MainCanvas.addEventListener("mousemove", FZ.Tools.bindWithEvent(FZ.ControlManager, FZ.ControlManager.MouseMove), !1), this.MainCanvas.addEventListener("mousedown", FZ.Tools.bindWithEvent(FZ.ControlManager, FZ.ControlManager.MouseDown), !1), this.MainCanvas.addEventListener("mouseup", FZ.Tools.bindWithEvent(FZ.ControlManager, FZ.ControlManager.MouseUp), !1), this.theInterval = setInterval(FZ.Tools.bind(this, this.update), 1e3 / this.DefaultFPS), a.appendChild(this.MainCanvas)
 
-             },
 
-             update: function () {
 
-                 var a = 0,
 
-                     b = null;
 
-                 this.FrameNum++;
 
-                 var c = (new Date).getTime(),
 
-                     d = (c - this.Time) / 1e3;
 
-                 this.Time = c, this.time - this.Fps_lastTime > 1e3 && (this.Fps = Math.round(10 * (this.FrameNum - this.Fps_lastFrame) / ((this.Time - this.Fps_lastTime) / 1e3)) / 10, this.Fps_lastTime = this.Time, this.Fps_lastFrame = this.FrameNum);
 
-                 for (a = 0; a < this.__stateStack.length; a++) b = this.__stateStack[a], b && b !== this.CurrentState && (FZ.stateStatus.NORMAL === b.m_status ? (b.AIUpdate(d), b.visualUpdate()) : FZ.stateStatus.HIDENOTIFY === b.m_status ? b.visualUpdate() : FZ.stateStatus.HIDELOGIC === b.m_status ? b.AIUpdate(d) : FZ.stateStatus.DONOTHING !== b.m_status);
 
-                 null !== this.CurrentState && (this.CurrentState.AIUpdate(d), this.CurrentState.visualUpdate())
 
-             },
 
-             saveGame: function () {
 
-                 FZ._assert(this.Name != "", "Please set the name of the game first"), localStorage["FZ.Game." + this.Name] = FZ.JSON.stringify(this.SaveObject)
 
-             },
 
-             loadGame: function () {
 
-                 FZ._assert(this.Name != "", "Please set the name of the game first");
 
-                 if (this.Name == "") return !1;
 
-                 if (!localStorage.hasOwnProperty("FZ.Game." + this.Name)) {
 
-                     this.SaveObject = {};
 
-                     return !1
 
-                 }
 
-                 this.SaveObject = FZ.JSON.parse(localStorage["FZ.Game." + this.Name]);
 
-                 return !0
 
-             },
 
-             registerState: function (a, b) {
 
-                 this.__StateLib[a] = b
 
-             },
 
-             getState: function (a) {
 
-                 return this.__StateLib[a]
 
-             },
 
-             switchToState: function (a) {
 
-                 var b = this.CurrentState.StateName,
 
-                     c = [b];
 
-                 Array.prototype.push.apply(c, arguments), this.CurrentState.postProcess(), this.CurrentState = this.__StateLib[a], this.CurrentState.preProcess.apply(this.CurrentState, c), FZ.PrintLog("switchToState")
 
-             },
 
-             resetAllState: function () {
 
-                 var a = 0;
 
-                 a = this.__stateStack.length, this.__stateStack.splice(0, a)
 
-             },
 
-             pushState: function (a) {
 
-                 this.__stateStack.push(this.__StateLib[a])
 
-             },
 
-             popState: function () {
 
-                 this.CurrentState = this.__stateStack.pop(), undefined !== this.CurrentState && null !== this.CurrentState && this.CurrentState.resume && this.CurrentState.resume.apply(this.CurrentState, arguments)
 
-             }
 
-         }, FZ.GameBase.CurrentState = new FZ.GameStateBase
 
-     }(),
 
-     function () {
 
-         FZ.Sprite = FZ.newClass({
 
-             __currentIdx: 0,
 
-             __currentFrameTime: 0,
 
-             __matrixDirty: !0,
 
-             __inverseMatrixDirty: !0,
 
-             init: function (a, b) {
 
-                 this.__theImages = [], this.__children = [], this.__localMatrix = new FZ.Math.Matrix3, this.__worldMatrix = new FZ.Math.Matrix3, this.__inverseMatrix = new FZ.Math.Matrix3, this.__parentSprite = undefined, this.__playing = Boolean(b);
 
-                 if (!a || a.length === 0) this.__currentIdx = -1;
 
-                 else
 
-                     for (var c = 0, d = a.length; c < d; ++c) a[c] instanceof Array ? this.__theImages.push([a[c][0], a[c][1] ? a[c][1] : .033]) : this.__theImages.push([a[c], .033])
 
-             },
 
-             clone: function () {
 
-                 var a = new FZ.Sprite;
 
-                 a.__theImages = this.__theImages, a.__localMatrix = this.__localMatrix.clone(), a.__currentIdx = this.__theImages.length === 0 ? -1 : 0;
 
-                 for (var b = 0, c = this.__children.length; b < c; ++b) a.addChild(this.__children[b].clone());
 
-                 return a
 
-             },
 
-             setFrameTime: function (a) {
 
-                 if (typeof a == "number")
 
-                     for (var b = 0, c = this.__theImages.length; b < c; ++b) this.__theImages[b][1] = a;
 
-                 else
 
-                     for (var b = 0; b < a.length && b < __theImages.length; ++b) this.__theImages[b][1] = a[b]
 
-             },
 
-             addChild: function (a) {
 
-                 this.__children.push(a), a.__parentSprite = this
 
-             },
 
-             update: function (a) {
 
-                 if ( !! this.__playing) {
 
-                     for (var b = 0, c = this.__children.length; b < c; ++b) this.__children[b].update(a);
 
-                     if (this.__currentIdx === -1) return;
 
-                     this.__currentFrameTime += a;
 
-                     while (this.__currentFrameTime > this.__theImages[this.__currentIdx][1]) this.__currentFrameTime -= this.__theImages[this.__currentIdx][1], this.__currentIdx++, this.__currentIdx === this.__theImages.length && (this.__currentIdx = 0)
 
-                 }
 
-             },
 
-             setFrame: function (a) {
 
-                 this.__currentIdx = FZ.Math.clamp(a, 0, this.__theImages.length - 1)
 
-             },
 
-             stop: function () {
 
-                 this.__playing = !1
 
-             },
 
-             play: function () {
 
-                 this.__playing = !0
 
-             },
 
-             getPosition: function () {
 
-                 this.__DirtyMatrixProcess();
 
-                 var a = new FZ.Math.Vector2(0, 0);
 
-                 return a.applyTransform(this.__worldMatrix, a)
 
-             },
 
-             localToWorld: function (a) {
 
-                 this.__DirtyMatrixProcess();
 
-                 return a.applyTransform(this.__worldMatrix)
 
-             },
 
-             worldToLocal: function (a) {
 
-                 this.__DirtyInverseMatrixProcess();
 
-                 return a.applyTransform(this.__inverseMatrix)
 
-             },
 
-             __markMatrixDirty: function () {
 
-                 if (!this.__matrixDirty) {
 
-                     this.__matrixDirty = !0, this.__inverseMatrixDirty = !0;
 
-                     for (var a = 0, b = this.__children.length; a < b; ++a) this.__children[a].__markMatrixDirty()
 
-                 }
 
-             },
 
-             __DirtyInverseMatrixProcess: function () {
 
-                 this.__DirtyMatrixProcess(), this.__inverseMatrixDirty && (this.__worldMatrix.inverseAffine(this.__inverseMatrix), this.__inverseMatrixDirty = !1)
 
-             },
 
-             __DirtyMatrixProcess: function () {
 
-                 this.__matrixDirty && (this.__parentSprite ? this.__parentSprite.__worldMatrix.mul(this.__localMatrix, this.__worldMatrix) : this.__worldMatrix = this.__localMatrix, this.__matrixDirty = !1)
 
-             },
 
-             draw: function (a) {
 
-                 this.__DirtyMatrixProcess();
 
-                 for (var b = 0, c = this.__children.length; b < c; ++b) this.__children[b].draw(a);
 
-                 this.__currentIdx !== -1 && (a.setTransform(this.__worldMatrix.m11, this.__worldMatrix.m12, this.__worldMatrix.m21, this.__worldMatrix.m22, this.__worldMatrix.dx, this.__worldMatrix.dy), a.drawImage(this.__theImages[this.__currentIdx][0], 0, 0))
 
-             },
 
-             translate: function (a, b) {
 
-                 this.__localMatrix.translate(a, b), this.__markMatrixDirty()
 
-             },
 
-             rotate: function (a) {
 
-                 this.__localMatrix.rotate(a), this.__markMatrixDirty()
 
-             },
 
-             scale1: function (a) {
 
-                 this.__localMatrix.scale1(a), this.__markMatrixDirty()
 
-             },
 
-             scale2: function (a, b) {
 
-                 this.__localMatrix.scale2(a, b), this.__markMatrixDirty()
 
-             },
 
-             makeTranslate: function (a, b) {
 
-                 this.__localMatrix.makeTranslate(a, b), this.__markMatrixDirty()
 
-             },
 
-             makeRotate: function (a) {
 
-                 this.__localMatrix.makeRotate(a), this.__markMatrixDirty()
 
-             },
 
-             makeScale1: function (a) {
 
-                 this.__localMatrix.makeScale1(a), this.__markMatrixDirty()
 
-             },
 
-             makeScale2: function (a, b) {
 
-                 this.__localMatrix.makeScale2(a, b), this.__markMatrixDirty()
 
-             },
 
-             resetMatrix: function () {
 
-                 this.__localMatrix.identity(), this.__markMatrixDirty()
 
-             }
 
-         }), FZ.spriteManager = {
 
-             __sprites: {},
 
-             addResource: function (a, b, c, d, e, f) {
 
-                 FZ.ResourceManager.addResource({
 
-                     Name: a,
 
-                     Type: "Image",
 
-                     URL: c,
 
-                     callback: function (b) {
 
-                         if (f === 1) FZ.spriteManager.__sprites[a] = new FZ.Sprite([b]);
 
-                         else {
 
-                             var c = [];
 
-                             for (var g = 0; g < f; ++g) {
 
-                                 var h = document.createElement("canvas");
 
-                                 h.width = b.width / f, h.height = b.height, h.getContext("2d").drawImage(b, b.width / f * g, 0, b.width / f, b.height, 0, 0, b.width / f, b.height), c.push([h])
 
-                             }
 
-                             FZ.spriteManager.__sprites[a] = new FZ.Sprite(c)
 
-                         }
 
-                         FZ.spriteManager.__sprites[a].makeTranslate(d, e)
 
-                     }
 
-                 })
 
-             },
 
-             getSprite: function (a) {
 
-                 return this.__sprites[a]
 
-             }
 
-         }
 
-     }(),
 
-     function () {
 
-         FZ.Math = {
 
-             lerp: function (a, b, c) {
 
-                 a = a < 0 ? 0 : a > 1 ? 1 : a;
 
-                 return c * a + (1 - a) * b
 
-             },
 
-             random: function (a, b) {
 
-                 return FZ.Math.lerp(Math.random(), a, b)
 
-             },
 
-             clamp: function (a, b, c) {
 
-                 return a < b ? b : a > c ? c : a
 
-             },
 
-             round: function (a, b) {
 
-                 b = Math.pow(10, b || 0);
 
-                 return Math.round(a * b) / b
 
-             },
 
-             Vector2: FZ.newClass({
 
-                 x: 0,
 
-                 y: 0,
 
-                 init: function (a, b) {
 
-                     b !== undefined && (this.x = a ? a : 0, this.y = b ? b : 0)
 
-                 },
 
-                 clone: function () {
 
-                     return new FZ.Math.Vector2(this.x, this.y)
 
-                 },
 
-                 add: function (a, b) {
 
-                     b === undefined && (b = new FZ.Math.Vector2), b.x = this.x + a.x, b.y = this.y + a.y;
 
-                     return b
 
-                 },
 
-                 sub: function (a, b) {
 
-                     b === undefined && (b = new FZ.Math.Vector2), b.x = this.x - a.x, b.y = this.y - a.y;
 
-                     return b
 
-                 },
 
-                 normalize: function (a) {
 
-                     a === undefined && (a = new FZ.Math.Vector2);
 
-                     var b = 1 / this.length();
 
-                     a.x = this.x * b, a.y = this.y * b;
 
-                     return a
 
-                 },
 
-                 scale: function (a, b) {
 
-                     b === undefined && (b = new FZ.Math.Vector2), b.x = this.x * a, b.y = this.y * a;
 
-                     return b
 
-                 },
 
-                 applyTransform: function (a, b) {
 
-                     b === undefined && (b = new FZ.Math.Vector2), tx = a.m11 * this.x + a.m21 * this.y + a.dx, ty = a.m12 * this.x + a.m22 * this.y + a.dy, b.x = tx, b.y = ty;
 
-                     return b
 
-                 },
 
-                 dot: function (a) {
 
-                     return this.x * a.x + this.y * a.y
 
-                 },
 
-                 length: function () {
 
-                     return Math.sqrt(this.x * this.x + this.y * this.y)
 
-                 },
 
-                 lengthSquared: function () {
 
-                     return this.x * this.x + this.y * this.y
 
-                 }
 
-             }),
 
-             Matrix3: FZ.newClass({
 
-                 m11: 1,
 
-                 m21: 0,
 
-                 dx: 0,
 
-                 m12: 0,
 
-                 m22: 1,
 
-                 dy: 0,
 
-                 set: function (a, b, c, d, e, f) {
 
-                     this.m11 = a, this.m21 = c, this.dx = e, this.m12 = b, this.m22 = d, this.dy = f;
 
-                     return this
 
-                 },
 
-                 clone: function () {
 
-                     var a = new FZ.Math.Matrix3;
 
-                     a.m11 = this.m11, a.m21 = this.m21, a.m12 = this.m12, a.m22 = this.m22, a.dx = this.dx, a.dy = this.dy;
 
-                     return a
 
-                 },
 
-                 identity: function () {
 
-                     this.m11 = 1, this.m21 = 0, this.dx = 0, this.m12 = 0, this.m22 = 1, this.dy = 0;
 
-                     return this
 
-                 },
 
-                 mul: function (a, b) {
 
-                     b === undefined && (b = new FZ.Math.Matrix3);
 
-                     var c = this.m11 * a.m11 + this.m21 * a.m12,
 
-                         d = this.m11 * a.m21 + this.m21 * a.m22,
 
-                         e = this.m12 * a.m11 + this.m22 * a.m12,
 
-                         f = this.m12 * a.m21 + this.m22 * a.m22,
 
-                         g = this.dx + this.m11 * a.dx + this.m21 * a.dx,
 
-                         h = this.dy + this.m12 * a.dx + this.m22 * a.dy;
 
-                     b.m11 = c, b.m21 = d, b.m12 = e, b.m22 = f, b.dx = g, b.dy = h;
 
-                     return b
 
-                 },
 
-                 makeRotate: function (a) {
 
-                     var b = Math.sin(a),
 
-                         c = Math.cos(a);
 
-                     this.m11 = c, this.m21 = -b, this.m12 = b, this.m22 = c;
 
-                     return this
 
-                 },
 
-                 rotate: function (a) {
 
-                     var b = Math.sin(a),
 
-                         c = Math.cos(a),
 
-                         d = this.m11 * c + this.m21 * b,
 
-                         e = -this.m11 * b + this.m21 * c,
 
-                         f = this.m12 * c + this.m22 * b,
 
-                         g = -this.m12 * b + this.m22 * c;
 
-                     this.m11 = d, this.m21 = e, this.m12 = f, this.m22 = g;
 
-                     return this
 
-                 },
 
-                 makeScale1: function (a) {
 
-                     return this.makeScale2(a, a)
 
-                 },
 
-                 scale1: function (a) {
 
-                     return this.scale2(a, a)
 
-                 },
 
-                 makeScale2: function (a, b) {
 
-                     this.m11 = a, this.m22 = b, this.m12 = 0, this.m21 = 0;
 
-                     return this
 
-                 },
 
-                 scale2: function (a, b) {
 
-                     this.m11 *= a, this.m21 *= b, this.m12 *= a, this.m22 *= b;
 
-                     return this
 
-                 },
 
-                 makeTranslate: function (a, b) {
 
-                     this.dx = a, this.dy = b;
 
-                     return this
 
-                 },
 
-                 translate: function (a, b) {
 
-                     this.dx += this.m11 * a + this.m21 * b, this.dy += this.m12 * a + this.m22 * b;
 
-                     return this
 
-                 },
 
-                 inverseAffine: function (a) {
 
-                     a === undefined && (a = new FZ.Math.Matrix3);
 
-                     var b = 1 / (this.m11 * this.m22 - this.m21 * this.m12),
 
-                         c = this.m22 * b,
 
-                         d = this.m12 * b,
 
-                         e = this.m21 * b,
 
-                         f = this.m11 * b,
 
-                         g = -(c * this.dx + d * this.dy),
 
-                         h = -(e * this.dx + f * this.dy);
 
-                     a.m11 = c, a.m21 = d, a.m12 = e, a.m22 = f, a.dx = g, a.dy = h;
 
-                     return a
 
-                 }
 
-             })
 
-         }
 
-     }(),
 
-     function () {
 
-         function f(a) {
 
-             return a < 10 ? "0" + a : a
 
-         }
 
-         function str(a, b) {
 
-             var c, d, e, f, g = gap,
 
-                 h, i = b[a];
 
-             i && typeof i == "object" && typeof i.toJSON == "function" && (i = i.toJSON(a)), typeof rep == "function" && (i = rep.call(b, a, i));
 
-             switch (typeof i) {
 
-             case "string":
 
-                 return quote(i);
 
-             case "number":
 
-                 return isFinite(i) ? String(i) : "null";
 
-             case "boolean":
 
-             case "null":
 
-                 return String(i);
 
-             case "object":
 
-                 if (!i) return "null";
 
-                 gap += indent, h = [];
 
-                 if (Object.prototype.toString.apply(i) === "[object Array]") {
 
-                     f = i.length;
 
-                     for (c = 0; c < f; c += 1) h[c] = str(c, i) || "null";
 
-                     e = h.length === 0 ? "[]" : gap ? "[\n" + gap + h.join(",\n" + gap) + "\n" + g + "]" : "[" + h.join(",") + "]", gap = g;
 
-                     return e
 
-                 }
 
-                 if (rep && typeof rep == "object") {
 
-                     f = rep.length;
 
-                     for (c = 0; c < f; c += 1) d = rep[c], typeof d == "string" && (e = str(d, i), e && h.push(quote(d) + (gap ? ": " : ":") + e))
 
-                 } else
 
-                     for (d in i) Object.hasOwnProperty.call(i, d) && (e = str(d, i), e && h.push(quote(d) + (gap ? ": " : ":") + e));
 
-                 e = h.length === 0 ? "{}" : gap ? "{\n" + gap + h.join(",\n" + gap) + "\n" + g + "}" : "{" + h.join(",") + "}", gap = g;
 
-                 return e
 
-             }
 
-         }
 
-         function quote(a) {
 
-             escapable.lastIndex = 0;
 
-             return escapable.test(a) ? '"' + a.replace(escapable, function (a) {
 
-                 var b = meta[a];
 
-                 return typeof b == "string" ? b : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
 
-             }) + '"' : '"' + a + '"'
 
-         }
 
-         FZ.JSON = {
 
-             parse: function (text, reviver) {
 
-                 function walk(a, b) {
 
-                     var c, d, e = a[b];
 
-                     if (e && typeof e == "object")
 
-                         for (c in e) Object.hasOwnProperty.call(e, c) && (d = walk(e, c), d !== undefined ? e[c] = d : delete e[c]);
 
-                     return reviver.call(a, b, e)
 
-                 }
 
-                 var j;
 
-                 text = String(text), cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function (a) {
 
-                     return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
 
-                 }));
 
-                 if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
 
-                     j = eval("(" + text + ")");
 
-                     return typeof reviver == "function" ? walk({
 
-                         "": j
 
-                     }, "") : j
 
-                 }
 
-                 throw new SyntaxError("JSON.parse")
 
-             },
 
-             stringify: function (a, b, c) {
 
-                 var d;
 
-                 gap = "", indent = "";
 
-                 if (typeof c == "number")
 
-                     for (d = 0; d < c; d += 1) indent += " ";
 
-                 else typeof c == "string" && (indent = c);
 
-                 rep = b;
 
-                 if (b && typeof b != "function" && (typeof b != "object" || typeof b.length != "number")) throw new Error("JSON.stringify");
 
-                 return str("", {
 
-                     "": a
 
-                 })
 
-             }
 
-         };
 
-         var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
 
-             escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
 
-             gap, indent, meta = {
 
-                 "\b": "\\b",
 
-                 "\t": "\\t",
 
-                 "\n": "\\n",
 
-                 "\f": "\\f",
 
-                 "\r": "\\r",
 
-                 '"': '\\"',
 
-                 "\\": "\\\\"
 
-             }, rep;
 
-         typeof Date.prototype.toJSON != "function" && (Date.prototype.toJSON = function (a) {
 
-             return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + f(this.getUTCMonth() + 1) + "-" + f(this.getUTCDate()) + "T" + f(this.getUTCHours()) + ":" + f(this.getUTCMinutes()) + ":" + f(this.getUTCSeconds()) + "Z" : null
 
-         }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function (a) {
 
-             return this.valueOf()
 
-         })
 
-     }(),
 
-     function () {
 
-         FZ.ArrayIndexof = function (a, b) {
 
-             var c = 0;
 
-             for (c = 0; c < a.length; c++)
 
-                 if (b === a[c]) return c;
 
-             return -1
 
-         }, FZ.ControlManager = {
 
-             m_monitor_list: [],
 
-             Mouse: {
 
-                 x: 0,
 
-                 y: 0,
 
-                 leftKey: !1,
 
-                 middleKey: !1,
 
-                 rightKey: !1
 
-             },
 
-             MouseMove: function (a) {
 
-                 a.offsetX ? (this.Mouse.x = a.offsetX, this.Mouse.y = a.offsetY) : a.layerX && (this.Mouse.x = a.layerX - FZ.GameBase.MainCanvas.offsetLeft, this.Mouse.y = a.layerY - FZ.GameBase.MainCanvas.offsetTop)
 
-             },
 
-             MouseUp: function (a) {
 
-                 if (a.button === 0) {
 
-                     this.Mouse.leftKey = !1;
 
-                     for (var b = 0; b < this.m_monitor_list.length; b++) {
 
-                         var c = this.m_monitor_list[b];
 
-                         c && c.CustomMouseUp && c.CustomMouseUp(this.Mouse)
 
-                     }
 
-                 }
 
-             },
 
-             MouseDown: function (a) {
 
-                 if (a.button === 0) {
 
-                     this.Mouse.leftKey = !0;
 
-                     for (var b = 0; b < this.m_monitor_list.length; b++) {
 
-                         var c = this.m_monitor_list[b];
 
-                         c && c.CustomMouseDown && c.CustomMouseDown(this.Mouse)
 
-                     }
 
-                 }
 
-             },
 
-             addMonitor: function (a) {
 
-                 var b = FZ.ArrayIndexof(this.m_monitor_list, a); - 1 === b && this.m_monitor_list.push(a)
 
-             },
 
-             removeMonitor: function (a) {
 
-                 var b = FZ.ArrayIndexof(this.m_monitor_list, a); - 1 !== b && this.m_monitor_list.splice(b, 1)
 
-             },
 
-             clearMonitor: function () {
 
-                 while (this.m_monitor_list.length > 0) this.m_monitor_list.pop()
 
-             }
 
-         }
 
-     }(),
 
-     function () {
 
-         FZ.Music = {
 
-             theAudio: null,
 
-             theIntervalId: 0,
 
-             isMute: !1,
 
-             set: function (a, b) {
 
-                 this.loop = Boolean(b), this.theAudio = a, a.loop = b
 
-             },
 
-             setMute: function (a) {
 
-                 this.isMute = a, this.isMute ? this.stop() : this.play()
 
-             },
 
-             play: function () {
 
-                 this.isMute || (this.stop(), this.theAudio.play(), this.theAudio.duration && (this.loop ? this.theIntervalId = window.setInterval(this.replay, Math.floor(this.theAudio.duration * 1e3) - 1e3) : window.setTimeout(function () {
 
-                     this.theAudio.pause();
 
-                     try {
 
-                         this.theAudio.currentTime = 0
 
-                     } catch (a) {}
 
-                 }, Math.floor(this.theAudio.duration * 1e3) - 1e3)))
 
-             },
 
-             stop: function () {
 
-                 if ( !! this.theAudio) {
 
-                     this.theAudio.pause();
 
-                     try {
 
-                         this.theAudio.currentTime = 0
 
-                     } catch (a) {}
 
-                     window.clearInterval(this.theIntervalId)
 
-                 }
 
-             },
 
-             replay: function () {
 
-                 FZ.Music.stop(), FZ.Music.play()
 
-             },
 
-             pageHide: function (a) {
 
-                 FZ.Music.theAudio && FZ.Music.stop()
 
-             },
 
-             pageShow: function (a) {
 
-                 FZ.Music.theAudio && FZ.Music.play()
 
-             }
 
-         }, window.addEventListener("pagehide", FZ.Music.pageHide, !1), window.addEventListener("pageshow", FZ.Music.pageShow, !1)
 
-     }(),
 
-     function () {
 
-         FZ.StateDefs = {
 
-             STATE_UNKNOW: -1,
 
-             STATE_INIT: 5,
 
-             STATE_LOAD: 10,
 
-             STATE_NORMAL: 15,
 
-             STATE_HIDE: 20,
 
-             STATE_SHOW_NO_LOGIC: 25,
 
-             STATE_UNLOAD: 30,
 
-             STATE_DESTROY: 35,
 
-             GAME_STATE_UNKNOW: "",
 
-             GAME_STATE_PRELOADING: "gamepreloading",
 
-             GAME_STATE_LOADING: "gameloading",
 
-             GAME_STATE_LOGO: "gamelogo",
 
-             GAME_STATE_MAINMEN: "gamemainmenu",
 
-             GAME_STATE_GAME_IN: "gamein",
 
-             GAME_STATE_GAME_CLEAR: "gameclear",
 
-             GAME_STATE_OVER: "gameover",
 
-             GAME_STATE_RESET: "gamereset",
 
-             GAME_STATE_NEXT_LEVEL: "gamenextlevel",
 
-             GAME_STATE_GAME_WIN: "gamewin",
 
-             GAME_STATE_CREDITS: "gamecredits",
 
-             GAME_STATE_HELP: "gamehelp"
 
-         }
 
-     }(),
 
-     function () {
 
-         FZ.IphoneMusic = ["res/music/htmlMahjong.mp3"], FZ.IphoneUI = [{
 
-             name: "ARROW_CENTER",
 
-             zOrder: 3,
 
-             fileURL: "ARROW_CENTER.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 149,
 
-             h: 156,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "ARROW_DOWN",
 
-             zOrder: 3,
 
-             fileURL: "ARROW_DOWN.png",
 
-             x: 137,
 
-             y: 112,
 
-             w: 43,
 
-             h: 258,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "ARROW_LEFT",
 
-             zOrder: 3,
 
-             fileURL: "ARROW_LEFT.png",
 
-             x: 64,
 
-             y: 214,
 
-             w: 188,
 
-             h: 43,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "ARROW_LEFT_RIGHT",
 
-             zOrder: 3,
 
-             fileURL: "ARROW_LEFT_RIGHT.png",
 
-             x: 64,
 
-             y: 213,
 
-             w: 191,
 
-             h: 43,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "ARROW_RIGHT",
 
-             zOrder: 3,
 
-             fileURL: "ARROW_RIGHT.png",
 
-             x: 68,
 
-             y: 214,
 
-             w: 188,
 
-             h: 43,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "ARROW_UP",
 
-             zOrder: 3,
 
-             fileURL: "ARROW_UP.png",
 
-             x: 136,
 
-             y: 113,
 
-             w: 44,
 
-             h: 258,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "ARROW_UP_DOWN",
 
-             zOrder: 3,
 
-             fileURL: "ARROW_UP_DOWN.png",
 
-             x: 137,
 
-             y: 121,
 
-             w: 43,
 
-             h: 241,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_NO",
 
-             zOrder: 4,
 
-             fileURL: "BTN_GAME_NO.png",
 
-             x: 84,
 
-             y: 258,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["quit"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_CLEAR_GAME_NO",
 
-             zOrder: 4,
 
-             fileURL: "BTN_GAME_NO.png",
 
-             x: 84,
 
-             y: 331,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["ClearGame"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_NO_TOUCH",
 
-             zOrder: 4,
 
-             fileURL: "BTN_GAME_NO_TOUCH.png",
 
-             x: 84,
 
-             y: 258,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["quit"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_CLEAR_GAME_NO_TOUCH",
 
-             zOrder: 4,
 
-             fileURL: "BTN_GAME_NO_TOUCH.png",
 
-             x: 84,
 
-             y: 331,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["ClearGame"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_YES",
 
-             zOrder: 4,
 
-             fileURL: "BTN_GAME_YES.png",
 
-             x: 84,
 
-             y: 208,
 
-             w: 158,
 
-             h: 46,
 
-             tags: ["quit"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_CLEAR_GAME_YES",
 
-             zOrder: 4,
 
-             fileURL: "BTN_GAME_YES.png",
 
-             x: 84,
 
-             y: 281,
 
-             w: 158,
 
-             h: 46,
 
-             tags: ["ClearGame"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_YES_TOUCH",
 
-             zOrder: 0,
 
-             fileURL: "BTN_GAME_YES_TOUCH.png",
 
-             x: 84,
 
-             y: 208,
 
-             w: 158,
 
-             h: 46,
 
-             tags: ["quit"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_CLEAR_GAME_YES_TOUCH",
 
-             zOrder: 4,
 
-             fileURL: "BTN_GAME_YES_TOUCH.png",
 
-             x: 83,
 
-             y: 281,
 
-             w: 158,
 
-             h: 46,
 
-             tags: ["ClearGame"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_HINT",
 
-             zOrder: 3,
 
-             fileURL: "BTN_HINT.png",
 
-             x: 218,
 
-             y: 31,
 
-             w: 39,
 
-             h: 40,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_HINT_GREY",
 
-             zOrder: 2,
 
-             fileURL: "BTN_HINT_GREY.png",
 
-             x: 218,
 
-             y: 31,
 
-             w: 39,
 
-             h: 40,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_HINT_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_HINT_TOUCH.png",
 
-             x: 218,
 
-             y: 31,
 
-             w: 39,
 
-             h: 40,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MAIN_MENU",
 
-             zOrder: 4,
 
-             fileURL: "BTN_MAIN_MENU.png",
 
-             x: 85,
 
-             y: 360,
 
-             w: 160,
 
-             h: 45,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MAIN_MENU_ICON",
 
-             zOrder: 2,
 
-             fileURL: "BTN_MAIN_MENU_ICON.png",
 
-             x: 212,
 
-             y: 34,
 
-             w: 41,
 
-             h: 38,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MAIN_MENU_TOUCH",
 
-             zOrder: 4,
 
-             fileURL: "BTN_MAIN_MENU_TOUCH.png",
 
-             x: 85,
 
-             y: 360,
 
-             w: 160,
 
-             h: 45,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MAIN_MENU_ICON_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_MAIN_MENU_ICON_TOUCH.png",
 
-             x: 212,
 
-             y: 34,
 
-             w: 41,
 
-             h: 38,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_NEXT_LEVEL",
 
-             zOrder: 4,
 
-             fileURL: "BTN_NEXT_LEVEL.png",
 
-             x: 79,
 
-             y: 272,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_NEXT_LEVEL_TOUCH",
 
-             zOrder: 4,
 
-             fileURL: "BTN_NEXT_LEVEL_TOUCH.png",
 
-             x: 79,
 
-             y: 272,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_PAUSE",
 
-             zOrder: 2,
 
-             fileURL: "BTN_PAUSE.png",
 
-             x: 268,
 
-             y: 33,
 
-             w: 39,
 
-             h: 39,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_START",
 
-             zOrder: 2,
 
-             fileURL: "BTN_PAUSE_START.png",
 
-             x: 268,
 
-             y: 33,
 
-             w: 39,
 
-             h: 39,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_START_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_PAUSE_START_TOUCH.png",
 
-             x: 268,
 
-             y: 33,
 
-             w: 39,
 
-             h: 39,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_PAUSE_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_PAUSE_TOUCH.png",
 
-             x: 268,
 
-             y: 33,
 
-             w: 39,
 
-             h: 39,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_RETRY",
 
-             zOrder: 4,
 
-             fileURL: "BTN_RETRY.png",
 
-             x: 90,
 
-             y: 267,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_RETRY_TOUCH",
 
-             zOrder: 4,
 
-             fileURL: "BTN_RETRY_TOUCH.png",
 
-             x: 90,
 
-             y: 267,
 
-             w: 158,
 
-             h: 45,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_SOUND",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND.png",
 
-             x: 177,
 
-             y: 33,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MENU_SOUND",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND.png",
 
-             x: 259,
 
-             y: 22,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_SOUND_OFF",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND_OFF.png",
 
-             x: 177,
 
-             y: 33,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MENU_SOUND_OFF",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND_OFF.png",
 
-             x: 259,
 
-             y: 22,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_SOUND_OFF_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND_OFF_TOUCH.png",
 
-             x: 177,
 
-             y: 33,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MENU_SOUND_OFF_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND_OFF_TOUCH.png",
 
-             x: 259,
 
-             y: 22,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_SOUND_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND_TOUCH.png",
 
-             x: 177,
 
-             y: 33,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_MENU_SOUND_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_SOUND_TOUCH.png",
 
-             x: 259,
 
-             y: 22,
 
-             w: 42,
 
-             h: 35,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_START",
 
-             zOrder: 2,
 
-             fileURL: "BTN_START.png",
 
-             x: 93,
 
-             y: 264,
 
-             w: 149,
 
-             h: 63,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_START_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_START_TOUCH.png",
 
-             x: 93,
 
-             y: 264,
 
-             w: 149,
 
-             h: 63,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_CONTINUE",
 
-             zOrder: 2,
 
-             fileURL: "BTN_CONTINUE.png",
 
-             x: 95,
 
-             y: 330,
 
-             w: 149,
 
-             h: 63,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "BTN_GAME_CONTINUE_TOUCH",
 
-             zOrder: 2,
 
-             fileURL: "BTN_CONTINUE_TOUCH.png",
 
-             x: 95,
 
-             y: 330,
 
-             w: 149,
 
-             h: 63,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "game_in_BG",
 
-             zOrder: 1,
 
-             fileURL: "game_in_BG.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 321,
 
-             h: 479,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "loading_empty",
 
-             zOrder: 2,
 
-             fileURL: "loading_empty.png",
 
-             x: 26,
 
-             y: 286,
 
-             w: 270,
 
-             h: 46,
 
-             tags: ["Loading"],
 
-             cols: 1
 
-         }, {
 
-             name: "loading_full",
 
-             zOrder: 3,
 
-             fileURL: "loading_full.png",
 
-             x: 26,
 
-             y: 286,
 
-             w: 270,
 
-             h: 46,
 
-             tags: ["Loading"],
 
-             cols: 1
 
-         }, {
 
-             name: "LOADING_BG",
 
-             zOrder: 2,
 
-             fileURL: "MAIN_MENU_AND_LOADING_BG.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 318,
 
-             h: 426,
 
-             tags: ["Loading"],
 
-             cols: 1
 
-         }, {
 
-             name: "MAIN_MENU_BG",
 
-             zOrder: 1,
 
-             fileURL: "MAIN_MENU_AND_LOADING_BG.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 318,
 
-             h: 426,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_BG",
 
-             zOrder: 0,
 
-             fileURL: "majong_BG.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 320,
 
-             h: 480,
 
-             tags: ["Loading"],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_BG_GAME",
 
-             zOrder: 0,
 
-             fileURL: "majong_BG.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 320,
 
-             h: 480,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_BG_MAINMENU",
 
-             zOrder: 0,
 
-             fileURL: "majong_BG.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 320,
 
-             h: 480,
 
-             tags: ["MainMenu"],
 
-             cols: 1
 
-         }, {
 
-             name: "NEXT_LEVEL_BG",
 
-             zOrder: 3,
 
-             fileURL: "NEXT_LEVEL_BG.png",
 
-             x: 3,
 
-             y: 107,
 
-             w: 314,
 
-             h: 228,
 
-             tags: ["NextLevel", "over", "quit"],
 
-             cols: 1
 
-         }, {
 
-             name: "DIALOG_BG_CLEAR_GAME",
 
-             zOrder: 3,
 
-             fileURL: "NEXT_LEVEL_BG.png",
 
-             x: 3,
 
-             y: 170,
 
-             w: 314,
 
-             h: 228,
 
-             tags: ["ClearGame"],
 
-             cols: 1
 
-         }, {
 
-             name: "NO_MORE_MATCHS",
 
-             zOrder: 5,
 
-             fileURL: "NO_MORE_MATCHS.png",
 
-             x: 27,
 
-             y: 188,
 
-             w: 272,
 
-             h: 99,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_1",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 138,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_1",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 138,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_2",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 149,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_2",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 149,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_3",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 160,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_3",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 160,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_4",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 171,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_4",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 171,
 
-             y: 206,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_TOTAL_1",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 132,
 
-             y: 254,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_OVER_TOTAL_1",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 132,
 
-             y: 234,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_TOTAL_1",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 132,
 
-             y: 257,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_TOTAL_2",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 143,
 
-             y: 254,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_OVER_TOTAL_2",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 143,
 
-             y: 234,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_TOTAL_2",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 143,
 
-             y: 257,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_TOTAL_3",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 154,
 
-             y: 254,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_OVER_TOTAL_3",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 154,
 
-             y: 234,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_TOTAL_3",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 154,
 
-             y: 257,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_TOTAL_4",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 165,
 
-             y: 254,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_TOTAL_4",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 165,
 
-             y: 257,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_OVER_TOTAL_4",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 165,
 
-             y: 234,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_TOTAL_5",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 176,
 
-             y: 254,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_WIN_TOTAL_5",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 176,
 
-             y: 257,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_STAGE_OVER_TOTAL_5",
 
-             zOrder: 4,
 
-             fileURL: "NUM_0.png",
 
-             x: 176,
 
-             y: 234,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_1",
 
-             zOrder: 4,
 
-             fileURL: "NUM_1.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_2",
 
-             zOrder: 4,
 
-             fileURL: "NUM_2.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_3",
 
-             zOrder: 4,
 
-             fileURL: "NUM_3.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_4",
 
-             zOrder: 4,
 
-             fileURL: "NUM_4.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_5",
 
-             zOrder: 4,
 
-             fileURL: "NUM_5.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_6",
 
-             zOrder: 4,
 
-             fileURL: "NUM_6.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_7",
 
-             zOrder: 4,
 
-             fileURL: "NUM_7.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_8",
 
-             zOrder: 4,
 
-             fileURL: "NUM_8.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_9",
 
-             zOrder: 4,
 
-             fileURL: "NUM_9.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 18,
 
-             h: 22,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_0",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 73,
 
-             y: 32,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_score_1",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 110,
 
-             y: 31,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_score_2",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 121,
 
-             y: 31,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_score_3",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 132,
 
-             y: 31,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_score_4",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 143,
 
-             y: 31,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_score_5",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 154,
 
-             y: 31,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_0",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_1",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_1.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_2",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_2.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_3",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_3.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_4",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_4.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_5",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_5.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_6",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_6.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_7",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_7.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_8",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_8.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_9",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_9.png",
 
-             x: 256,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_0",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_0.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_1",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_1.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_2",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_2.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_3",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_3.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_4",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_4.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_5",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_5.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_6",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_6.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_7",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_7.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_8",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_8.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "number_hint_clone_9",
 
-             zOrder: 3,
 
-             fileURL: "NUM_LEVEL_9.png",
 
-             x: 246,
 
-             y: 57,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_1",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_1.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_2",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_2.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_3",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_3.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_4",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_4.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_5",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_5.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_6",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_6.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_7",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_7.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_8",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_8.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "NUM_LEVEL_9",
 
-             zOrder: 0,
 
-             fileURL: "NUM_LEVEL_9.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 13,
 
-             h: 14,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "OrientationWarning",
 
-             zOrder: 0,
 
-             fileURL: "OrientationWarning.png",
 
-             x: 0,
 
-             y: 3,
 
-             w: 250,
 
-             h: 250,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "PAUSE_BG",
 
-             zOrder: 3,
 
-             fileURL: "PAUSE_BG.png",
 
-             x: 13,
 
-             y: 78,
 
-             w: 290,
 
-             h: 354,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "splash",
 
-             zOrder: 0,
 
-             fileURL: "splash.png",
 
-             x: 0,
 
-             y: 48,
 
-             w: 320,
 
-             h: 320,
 
-             tags: ["Logo"],
 
-             cols: 1
 
-         }, {
 
-             name: "TIME_EMPTY",
 
-             zOrder: 2,
 
-             fileURL: "TIME_EMPTY.png",
 
-             x: 35,
 
-             y: 53,
 
-             w: 137,
 
-             h: 18,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "TIME__FULL",
 
-             zOrder: 2,
 
-             fileURL: "TIME__FULL.png",
 
-             x: 35,
 
-             y: 53,
 
-             w: 137,
 
-             h: 18,
 
-             tags: ["GameIn"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_ARE_YOU_SURE",
 
-             zOrder: 4,
 
-             fileURL: "TXT_ARE_YOU_SURE.png",
 
-             x: 46,
 
-             y: 142,
 
-             w: 229,
 
-             h: 57,
 
-             tags: ["quit"],
 
-             cols: 1
 
-         }, {
 
-             name: "STR_SURE_CLEAR_GAME",
 
-             zOrder: 3,
 
-             fileURL: "TXT_CLEAR_THE_DATE.png",
 
-             x: 37,
 
-             y: 198,
 
-             w: 246,
 
-             h: 77,
 
-             tags: ["ClearGame"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_GAME_OVER",
 
-             zOrder: 4,
 
-             fileURL: "TXT_GAME_OVER.png",
 
-             x: 62,
 
-             y: 150,
 
-             w: 196,
 
-             h: 33,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_LEVEL_CLEAR",
 
-             zOrder: 4,
 
-             fileURL: "TXT_LEVEL_CLEAR.png",
 
-             x: 52,
 
-             y: 141,
 
-             w: 220,
 
-             h: 33,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_STAGE_SCORE",
 
-             zOrder: 4,
 
-             fileURL: "TXT_STAGE_SCORE.png",
 
-             x: 82,
 
-             y: 179,
 
-             w: 150,
 
-             h: 26,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_TOTAL_SCORE",
 
-             zOrder: 4,
 
-             fileURL: "TXT_TOTAL_SCORE.png",
 
-             x: 83,
 
-             y: 229,
 
-             w: 149,
 
-             h: 26,
 
-             tags: ["NextLevel"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_WIN_STAGE_SCORE",
 
-             zOrder: 4,
 
-             fileURL: "TXT_STAGE_SCORE.png",
 
-             x: 82,
 
-             y: 179,
 
-             w: 150,
 
-             h: 26,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_WIN_TOTAL_SCORE",
 
-             zOrder: 4,
 
-             fileURL: "TXT_TOTAL_SCORE.png",
 
-             x: 83,
 
-             y: 229,
 
-             w: 149,
 
-             h: 26,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_TOTAL_OVER_SCORE",
 
-             zOrder: 4,
 
-             fileURL: "TXT_TOTAL_SCORE.png",
 
-             x: 88,
 
-             y: 196,
 
-             w: 149,
 
-             h: 26,
 
-             tags: ["over"],
 
-             cols: 1
 
-         }, {
 
-             name: "TXT_YOUR_TOTAL_SCORE",
 
-             zOrder: 0,
 
-             fileURL: "TXT_YOUR_TOTAL_SCORE.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 200,
 
-             h: 26,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "YOU_WIN_BG",
 
-             zOrder: 3,
 
-             fileURL: "YOU_WIN_BG.png",
 
-             x: 5,
 
-             y: 82,
 
-             w: 310,
 
-             h: 249,
 
-             tags: ["win"],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_1",
 
-             zOrder: 0,
 
-             fileURL: "majong/1.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 44,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_10",
 
-             zOrder: 0,
 
-             fileURL: "majong/10.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_11",
 
-             zOrder: 0,
 
-             fileURL: "majong/11.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_12",
 
-             zOrder: 0,
 
-             fileURL: "majong/12.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_13",
 
-             zOrder: 0,
 
-             fileURL: "majong/13.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_14",
 
-             zOrder: 0,
 
-             fileURL: "majong/14.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_15",
 
-             zOrder: 0,
 
-             fileURL: "majong/15.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_16",
 
-             zOrder: 0,
 
-             fileURL: "majong/16.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_17",
 
-             zOrder: 0,
 
-             fileURL: "majong/17.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_18",
 
-             zOrder: 0,
 
-             fileURL: "majong/18.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_19",
 
-             zOrder: 0,
 
-             fileURL: "majong/19.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_2",
 
-             zOrder: 0,
 
-             fileURL: "majong/2.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_20",
 
-             zOrder: 0,
 
-             fileURL: "majong/20.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_21",
 
-             zOrder: 0,
 
-             fileURL: "majong/21.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_22",
 
-             zOrder: 0,
 
-             fileURL: "majong/22.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_23",
 
-             zOrder: 0,
 
-             fileURL: "majong/23.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_24",
 
-             zOrder: 0,
 
-             fileURL: "majong/24.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_25",
 
-             zOrder: 0,
 
-             fileURL: "majong/25.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_26",
 
-             zOrder: 0,
 
-             fileURL: "majong/26.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_27",
 
-             zOrder: 0,
 
-             fileURL: "majong/27.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_28",
 
-             zOrder: 0,
 
-             fileURL: "majong/28.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_29",
 
-             zOrder: 0,
 
-             fileURL: "majong/29.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_3",
 
-             zOrder: 0,
 
-             fileURL: "majong/3.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_30",
 
-             zOrder: 0,
 
-             fileURL: "majong/30.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_31",
 
-             zOrder: 0,
 
-             fileURL: "majong/31.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_4",
 
-             zOrder: 0,
 
-             fileURL: "majong/4.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_5",
 
-             zOrder: 0,
 
-             fileURL: "majong/5.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_6",
 
-             zOrder: 0,
 
-             fileURL: "majong/6.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_7",
 
-             zOrder: 0,
 
-             fileURL: "majong/7.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_8",
 
-             zOrder: 0,
 
-             fileURL: "majong/8.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "majong_9",
 
-             zOrder: 0,
 
-             fileURL: "majong/9.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 38,
 
-             h: 46,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "PET_FOCUS",
 
-             zOrder: 0,
 
-             fileURL: "MAJONG_FOCUS.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 34,
 
-             h: 42,
 
-             tags: [],
 
-             cols: 1
 
-         }, {
 
-             name: "PET_FOCUS_HINT",
 
-             zOrder: 0,
 
-             fileURL: "MAJONG_FOCUS_HINT.png",
 
-             x: 0,
 
-             y: 0,
 
-             w: 34,
 
-             h: 42,
 
-             tags: [],
 
-             cols: 1
 
-         }], FZ.getImgInfo = function (a) {
 
-             var b = 0,
 
-                 c = null;
 
-             for (b = 0; b < FZ.IphoneUI.length; b++) {
 
-                 c = FZ.IphoneUI[b];
 
-                 if (a === c.name) return c
 
-             }
 
-             return null
 
-         }
 
-     }(),
 
-     function () {
 
-         FZ.GameDefs = {
 
-             STATS_FONT_SIZE: 16,
 
-             SCREEN_W: 320,
 
-             SCREEN_H: 480,
 
-             SCREEN_BOTTOM_H: 44,
 
-             SCREEN_TOP_H: 20,
 
-             TIME_RATE: 8,
 
-             HALF_ACCELERATION_OF_GRAVITY: 5,
 
-             FLASH_COUNT: 0,
 
-             FLASH_FOCUS_COUNT: 1,
 
-             DIAMOND_SPEED_X: 6,
 
-             DIAMOND_SPEED_Y: 6,
 
-             FALLING_SPEED_X: 4,
 
-             FALLING_SPEED_Y: -4,
 
-             DIAMOND_RORATE_NONE: 0,
 
-             DIAMOND_RORATE_LEFT: 1,
 
-             DIAMOND_RORATE_RIGHT: 2,
 
-             DIAMOND_RORATE_RATE: 20,
 
-             GAME_STATE_UNKNOW: -1,
 
-             GAME_STATE_LOADING: 0,
 
-             GAME_STATE_INIT: 1,
 
-             GAME_STATE_GAME: 2,
 
-             PET_FLICKER_TIME: 100,
 
-             PET_FLICKER_FOCUS_TIME: 50,
 
-             PET_TYPE_0: 0,
 
-             PET_TYPE_1: 1,
 
-             PET_TYPE_2: 2,
 
-             PET_TYPE_3: 3,
 
-             PET_TYPE_4: 4,
 
-             PET_TYPE_5: 5,
 
-             PET_TYPE_6: 6,
 
-             PET_TYPE_7: 7,
 
-             PET_TYPE_8: 8,
 
-             PET_TYPE_9: 9,
 
-             PET_TYPE_10: 10,
 
-             PET_TYPE_11: 11,
 
-             PET_TYPE_12: 12,
 
-             PET_TYPE_13: 13,
 
-             PET_TYPE_14: 14,
 
-             PET_TYPE_15: 15,
 
-             PET_TYPE_16: 16,
 
-             PET_TYPE_17: 17,
 
-             PET_TYPE_18: 18,
 
-             PET_TYPE_19: 19,
 
-             PET_TYPE_20: 20,
 
-             PET_TYPE_21: 21,
 
-             PET_TYPE_22: 22,
 
-             PET_TYPE_23: 23,
 
-             PET_TYPE_24: 24,
 
-             PET_TYPE_25: 25,
 
-             PET_TYPE_26: 26,
 
-             PET_TYPE_27: 27,
 
-             PET_TYPE_28: 28,
 
-             PET_TYPE_29: 29,
 
-             PET_TYPE_30: 30,
 
-             PET_TYPE_31: 31,
 
-             PET_TYPE_32: 32,
 
-             PET_TYPE_33: 33,
 
-             PET_TYPE_34: 34,
 
-             PET_TYPE_35: 35,
 
-             PET_TYPE_36: 36,
 
-             PET_TYPE_37: 37,
 
-             PET_TYPE_38: 38,
 
-             PET_TYPE_39: 39,
 
-             DIAMOND_TYPES: 31,
 
-             DREAMPET_NUM_LINE_HALF: 4,
 
-             DREAMPET_NUM_COL_HALF: 4,
 
-             DREAMPET_NUM_COL: 8,
 
-             DREAMPET_NUM_LINE: 8,
 
-             ALL_PET_NUM: 64,
 
-             ALL_GENERAL: 100,
 
-             ALL_GENERAL_HALF: 50,
 
-             DRAW_LINE_TIME: 6,
 
-             PET_FLASH_TIME: 20,
 
-             GRID_WIDTH: 36,
 
-             GRID_WIDTH_HALF: 18,
 
-             GRID_HEIGHT: 44,
 
-             GRID_HEIGHT_HALF: 22,
 
-             OFFSET_X: 16,
 
-             OFFSET_Y: 80,
 
-             DREAMPET_OFFSET_X: -20,
 
-             DREAMPET_OFFSET_Y: 36,
 
-             SEARCH_NONE: 0,
 
-             SEARCH_INIT: 1,
 
-             SEARCH_ING: 2,
 
-             SEARCH_FINISHED: 3,
 
-             GAME_CLEAR_TIME: 1500,
 
-             DREAMPET_REMOVE: -1,
 
-             DREAMPET_INIT: 0,
 
-             DREAMPET_FOCUS: 1,
 
-             DREAMPET_FLASH: 2,
 
-             DREAMPET_FLASH_HINT: 3,
 
-             DREAMPET_MOVING: 4,
 
-             LEVEL_HINT_NUMBER: [0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6],
 
-             MAX_LEVEL_RANK: 9,
 
-             LEVEL_TIME: [0, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180],
 
-             LEVEL_PET_KIND: [5, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
 
-             PET_1: 0,
 
-             PET_2: 1,
 
-             PET_3: 2,
 
-             PET_4: 3,
 
-             PET_5: 4,
 
-             PET_6: 5,
 
-             PET_7: 6,
 
-             PET_8: 7,
 
-             PET_9: 8,
 
-             PET_10: 9,
 
-             PET_11: 10,
 
-             PET_12: 11,
 
-             PET_13: 12,
 
-             PET_14: 13,
 
-             PET_15: 14,
 
-             PET_16: 15,
 
-             PET_17: 16,
 
-             PET_18: 17,
 
-             PET_19: 18,
 
-             PET_20: 19,
 
-             PET_21: 20,
 
-             PET_22: 21,
 
-             PET_23: 22,
 
-             PET_24: 23,
 
-             PET_25: 24,
 
-             PET_26: 25,
 
-             PET_27: 26,
 
-             PET_28: 27,
 
-             PET_29: 28,
 
-             PET_30: 29,
 
-             PET_31: 30,
 
-             PET_32: 31,
 
-             PET_33: 32,
 
-             PET_34: 33,
 
-             PET_35: 34,
 
-             PET_36: 35,
 
-             PET_37: 36,
 
-             PET_38: 37,
 
-             PET_39: 38,
 
-             PET_40: 39
 
-         }
 
-     }(),
 
-     function () {
 
-         var a = -1,
 
-             b = 0,
 
-             c = 1,
 
-             d = 0,
 
-             e = 0,
 
-             f = null,
 
-             g = null,
 
-             h = function () {
 
-                 if (null === g) g = g || [];
 
-                 else
 
-                     while (g.length > 0) g.pop()
 
-             }, i = function (a, b, c, d) {
 
-                 var e = 0;
 
-                 e = Math.abs(a - c) + Math.abs(b - d);
 
-                 return e
 
-             }, j = function (a, b, c, d) {
 
-                 var g = null,
 
-                     h = b * e + a;
 
-                 if (a !== c && b !== d) return !1;
 
-                 var i = 0,
 
-                     j = 0,
 
-                     k = 0,
 
-                     l = 0;
 
-                 if (a === c) {
 
-                     i = a, j = b, k = c, l = d, b > d && (j = d, l = b);
 
-                     for (h = (j + 1) * e + i; h < l * e + k; h += e) {
 
-                         g = f[h];
 
-                         if (FZ.GameDefs.DREAMPET_REMOVE !== g.m_state) return !1
 
-                     }
 
-                 } else if (b === d) {
 
-                     i = a, j = b, k = c, l = d, a > c && (i = c, k = a);
 
-                     for (h = j * e + i + 1; h < l * e + k; h++) {
 
-                         g = f[h];
 
-                         if (FZ.GameDefs.DREAMPET_REMOVE !== g.m_state) return !1
 
-                     }
 
-                 }
 
-                 return !0
 
-             }, k = function (a, b, c, d) {
 
-                 var h = 0,
 
-                     i = 0,
 
-                     k = 0,
 
-                     l = !1,
 
-                     m = null;
 
-                 h = c, i = b, m = f[i * e + h];
 
-                 if (FZ.GameDefs.DREAMPET_REMOVE === m.m_state) {
 
-                     l = j(a, b, h, i);
 
-                     if (l) {
 
-                         l = j(h, i, c, d);
 
-                         if (l) {
 
-                             g.push([h, i]);
 
-                             return !0
 
-                         }
 
-                     }
 
-                 }
 
-                 h = a, i = d, m = f[i * e + h];
 
-                 if (FZ.GameDefs.DREAMPET_REMOVE === m.m_state) {
 
-                     l = j(a, b, h, i);
 
-                     if (l) {
 
-                         l = j(h, i, c, d);
 
-                         if (l) {
 
-                             g.push([h, i]);
 
-                             return !0
 
-                         }
 
-                     }
 
-                 }
 
-                 return !1
 
-             }, l = function (a, b, c, i) {
 
-                 var j = 0,
 
-                     l = 0,
 
-                     m = 0,
 
-                     n = 0,
 
-                     o = 0,
 
-                     p = 0,
 
-                     q = 0,
 
-                     r = 0,
 
-                     s = null;
 
-                 a < c ? (l = a, m = b, p = c, q = i) : (l = c, m = i, p = a, q = b), n = l, o = m;
 
-                 for (n = n + 1; n < e; n++) {
 
-                     s = f[o * e + n];
 
-                     if (FZ.GameDefs.DREAMPET_REMOVE !== s.m_state) break;
 
-                     h(), g.push([l, m]), g.push([n, o]);
 
-                     if (k(n, o, p, q)) {
 
-                         g.push([p, q]);
 
-                         return !0
 
-                     }
 
-                 }
 
-                 b < i ? (l = a, m = b, p = c, q = i) : (l = c, m = i, p = a, q = b), n = l, o = m;
 
-                 for (o = o + 1; o < d; o++) {
 
-                     s = f[o * e + n];
 
-                     if (FZ.GameDefs.DREAMPET_REMOVE !== s.m_state) break;
 
-                     h(), g.push([l, m]), g.push([n, o]);
 
-                     if (k(n, o, p, q)) {
 
-                         g.push([p, q]);
 
-                         return !0
 
-                     }
 
-                 }
 
-                 a < c ? (l = a, m = b, p = c, q = i) : (l = c, m = i, p = a, q = b), n = l, o = m;
 
-                 for (n = n - 1; n >= 0; n--) {
 
-                     s = f[o * e + n];
 
-                     if (FZ.GameDefs.DREAMPET_REMOVE !== s.m_state) break;
 
-                     h(), g.push([l, m]), g.push([n, o]);
 
-                     if (k(n, o, p, q)) {
 
-                         g.push([p, q]);
 
-                         return !0
 
-                     }
 
-                 }
 
-                 b < i ? (l = a, m = b, p = c, q = i) : (l = c, m = i, p = a, q = b), n = l, o = m;
 
-                 for (o = o - 1; o >= 0; o--) {
 
-                     s = f[o * e + n];
 
-                     if (FZ.GameDefs.DREAMPET_REMOVE !== s.m_state) break;
 
-                     h(), g.push([l, m]), g.push([n, o]);
 
-                     if (k(n, o, p, q)) {
 
-                         g.push([p, q]);
 
-                         return !0
 
-                     }
 
-                 }
 
-             };
 
-         FZ.AG = {}, FZ.AG.SearchSpecialPath = {
 
-             getPath: function (a, b, c, i, m, n, o) {
 
-                 if (undefined === a) return null;
 
-                 if (a.length < b * c) return null;
 
-                 var p = 0;
 
-                 f = a, d = b, e = c, h(), g.push([i, m]);
 
-                 if (j(i, m, n, o)) {
 
-                     g.push([n, o]);
 
-                     return g
 
-                 }
 
-                 h(), g.push([i, m]);
 
-                 if (k(i, m, n, o)) {
 
-                     g.push([n, o]);
 
-                     return g
 
-                 }
 
-                 h();
 
-                 if (l(i, m, n, o)) return g;
 
-                 return null
 
-             },
 
-             drawNum: function (a, b, c, d, e) {
 
-                 var f = b,
 
-                     g = 0;
 
-                 if (f === 0) a.setFrame(0), a.draw(FZ.GameBase.MainContext);
 
-                 else {
 
-                     a.resetMatrix(), a.makeTranslate(c, d);
 
-                     for (var h = 0; f !== 0; h++) g = Math.floor(f % 10), a.setFrame(g), a.draw(FZ.GameBase.MainContext), a.translate(-e, 0), f = Math.floor(f / 10);
 
-                     a.setFrame(0), a.makeTranslate(c, d)
 
-                 }
 
-             },
 
-             setNumDiv: function (a, b) {
 
-                 var c = b,
 
-                     d = 0,
 
-                     e = null,
 
-                     f = 0,
 
-                     g = null;
 
-                 if (c === 0) {
 
-                     a[0] = document.createElement("div"), a[0].style.zIndex = 202, e = FZ.getImgInfo("number_hint_0"), FZ.GameBase.setCss(a[0], e);
 
-                     return 1
 
-                 }
 
-                 if (c > 10) {
 
-                     d = Math.floor(c % 10), g = document.createElement("div"), g.style.zIndex = 202, e = FZ.getImgInfo("number_hint_" + d), FZ.GameBase.setCss(g, e), a.push(g), d = Math.floor(c / 10), g = document.createElement("div"), g.style.zIndex = 205, e = FZ.getImgInfo("number_hint_clone_" + d), FZ.GameBase.setCss(g, e), a.push(g);
 
-                     return 2
 
-                 }
 
-                 d = Math.floor(c % 10), g = document.createElement("div"), g.style.zIndex = 202, e = FZ.getImgInfo("number_hint_" + d), FZ.GameBase.setCss(g, e), a.push(g), d = Math.floor(c / 10), g = document.createElement("div"), g.style.zIndex = 205, e = FZ.getImgInfo("number_hint_clone_" + d), FZ.GameBase.setCss(g, e), g.style.visibility = "hidden", a.push(g);
 
-                 return 2
 
-             },
 
-             setScoreNum: function (a) {
 
-                 var b = a,
 
-                     c = 0,
 
-                     d = [];
 
-                 while (b > 0) c = Math.floor(b % 10), d.push(c), b = Math.floor(b / 10);
 
-                 return d
 
-             },
 
-             getPolygonVertex: function (a, b, c, d) {
 
-                 if (d < 3) return null;
 
-                 var e = [],
 
-                     f = 0,
 
-                     g = 2 * Math.PI / d;
 
-                 for (var h = 0; h < d; h++) {
 
-                     var i = [];
 
-                     i.push(a + Math.floor(c * Math.sin(f))), i.push(b + Math.floor(c * Math.cos(f))), f += g, e.push(i)
 
-                 }
 
-                 return e
 
-             }
 
-         }
 
-     }(),
 
-     function () {
 
-         var a = function (a, b) {
 
-             var c = 0;
 
-             for (c = 0; c < a.length; c++)
 
-                 if (b === a[c]) return c;
 
-             return -1
 
-         };
 
-         FZ.DivManager = {
 
-             m_init: !1,
 
-             m_parentContainer: null,
 
-             m_display_list: null,
 
-             offsetLeft: 0,
 
-             offsetTop: 0,
 
-             init: function () {
 
-                 this.m_init || (this.m_init = !0, this.m_parentContainer = null, this.m_display_list = this.m_display_list || [])
 
-             },
 
-             setSize: function (a, b) {
 
-                 null !== this.m_parentContainer && (this.m_parentContainer.style.width = a + "px", this.m_parentContainer.style.height = b + "px")
 
-             },
 
-             setParent: function (a) {
 
-                 this.m_parentContainer = a, this.m_parentContainer.style.position = "absolute", this.m_parentContainer.style.overflow = "hidden", this.offsetLeft = this.m_parentContainer.offsetLeft, this.offsetTop = this.m_parentContainer.offsetTop
 
-             },
 
-             setOffset: function (a, b) {
 
-                 this.offsetLeft = a, this.offsetTop = b
 
-             },
 
-             getOffsetX: function () {
 
-                 this.offsetLeft = this.m_parentContainer.offsetLeft;
 
-                 return this.offsetLeft
 
-             },
 
-             getOffsetY: function () {
 
-                 this.offsetTop = this.m_parentContainer.offsetTop;
 
-                 return this.offsetTop
 
-             },
 
-             setOverflow: function (a) {
 
-                 this.m_parentContainer && (this.m_parentContainer.style.overflow = a)
 
-             },
 
-             onmousemove: function (a) {
 
-                 var b = 0;
 
-                 b = 5
 
-             },
 
-             addChild: function (a) {
 
-                 this.m_parentContainer.appendChild(a), this.m_display_list.push(a)
 
-             },
 
-             removeChild: function (b) {
 
-                 var c = -1;
 
-                 for (c = 0; c < this.m_parentContainer.childNodes.length; c++)
 
-                     if (b == this.m_parentContainer.childNodes[c]) {
 
-                         this.m_parentContainer.removeChild(b);
 
-                         break
 
-                     }
 
-                 c = a(this.m_display_list, b), -1 !== c && this.m_display_list.splice(c, 1)
 
-             },
 
-             removeAllChild: function () {
 
-                 var a = null;
 
-                 while (this.m_display_list.length > 0) a = this.m_display_list.pop(), this.m_parentContainer.contains(a) && this.m_parentContainer.removeChild(a)
 
-             }
 
-         }
 
-     }(),
 
-     function () {
 
-         FZ.stateStatus = {}, FZ.stateStatus.INIT = 0, FZ.stateStatus.NORMAL = 5, FZ.stateStatus.HIDENOTIFY = 15, FZ.stateStatus.HIDELOGIC = 20, FZ.stateStatus.DONOTHING = 30, FZ.BaseState = FZ.newClass({
 
-             StateName: "GameStateBase",
 
-             m_status: FZ.stateStatus.NORMAL,
 
-             m_timer: null,
 
-             m_main_div: null,
 
-             m_main_div_clone: null,
 
-             m_ui_list: null,
 
-             m_btn_list: null,
 
-             init: function () {
 
-                 FZ.GameBase.registerState(this.StateName, this), this.m_main_div = document.createElement("div"), this.m_main_div_clone = document.createElement("div"), this.m_ui_list = [], this.m_btn_list = []
 
-             },
 
-             pause: function () {},
 
-             resume: function () {},
 
-             createUIs: function (a) {
 
-                 var b = 0,
 
-                     c = null,
 
-                     d = null;
 
-                 for (b = 0; b < a.length; b++) c = FZ.getImgInfo(a[b]), d = document.createElement("div"), FZ.GameBase.setCss(d, c), this.m_ui_list.push(d), this.m_main_div.appendChild(d)
 
-             },
 
-             createBtns: function (a, b) {
 
-                 var c = 0,
 
-                     d = null,
 
-                     e = null;
 
-                 for (c = 0; c < a.length; c++) d = FZ.getImgInfo(a[c][0]), e = FZ.getImgInfo(a[c][1]), btn = new FZ.UIButton(d.w, d.h, d.cols, d.fileURL, e.fileURL), btn.setPos(d.x, d.y), btn.addMonitor(this), this.m_btn_list.push(btn), b && this.m_main_div.appendChild(btn.m_div)
 
-             },
 
-             resetTranslate: function (a) {
 
-                 this.m_remove_div = !1, this.m_main_div.style.display = "inline", this.m_main_div.style.zIndex = 0, this.m_main_div.style.webkitTransitionDuration = "0s", this.m_main_div.style.opacity = a, this.m_main_div.style.webkitTransform = "translate(0px, 0px) rotate(0deg)"
 
-             },
 
-             fade_in: function (a, b) {
 
-                 var c = this;
 
-                 this.m_remove_div = !1, this.m_main_div.style.webkitTransitionDuration = a + "ms", this.m_main_div.style.opacity = b, this.m_main_div.style.webkitTransform = "translate(0px, 0px) rotate(0deg)"
 
-             },
 
-             fade_out: function (a, b, c) {
 
-                 var d = this,
 
-                     e = FZ.GameDefs.SCREEN_W,
 
-                     f = 0;
 
-                 this.m_remove_div = !0, this.m_main_div.style.webkitTransitionDuration = a + "ms", setTimeout(function () {
 
-                     d.m_main_div.style.opacity = b, d.m_main_div.style.webkitTransform = "translate(" + e + "px, " + f + "0px) rotate(" + c + "deg)"
 
-                 }, 1), setTimeout(function () {
 
-                     d.m_remove_div && (d.m_main_div.style.display = "none")
 
-                 }, a)
 
-             },
 
-             preProcess: function () {},
 
-             postProcess: function () {},
 
-             AIUpdate: function (a) {},
 
-             pushState: function (a) {
 
-                 this.__stateStack.push(this.__StateLib[a])
 
-             },
 
-             popState: function () {
 
-                 this.CurrentState = this.__stateStack.pop(), undefined !== this.CurrentState && null !== this.CurrentState && this.CurrentState.resume && this.CurrentState.resume.apply(this.CurrentState, arguments)
 
-             }
 
-         })
 
-     }(),
 
-     function () {
 
-         FZ.Game = {}, FZ.Game.checkButtun = function (a) {
 
-             var b = a.getPosition();
 
-             if (FZ.ControlManager.Mouse.x > b.x && FZ.ControlManager.Mouse.y > b.y && FZ.ControlManager.Mouse.x < b.x + a.__theImages[0][0].width && FZ.ControlManager.Mouse.y < b.y + a.__theImages[0][0].height) {
 
-                 a.setFrame(1 + (FZ.ControlManager.Mouse.leftKey ? 1 : 0));
 
-                 return !0
 
-             }
 
-             a.setFrame(0);
 
-             return !1
 
-         }, FZ.Game.PreLoadingState = new(FZ.newClass({
 
-             StateName: FZ.StateDefs.GAME_STATE_PRELOADING,
 
-             m_test_timer: 0,
 
-             preProcess: function () {
 
-                 FZ.spriteManager.addResource("LOADING_BG", 0, "res/images/MAIN_MENU_AND_LOADING_BG.png", 0, 0, 1), FZ.spriteManager.addResource("majong_BG", 0, "res/images/majong_BG.png", 0, 0, 1), FZ.spriteManager.addResource("loading_empty", 0, "res/images/loading_empty.png", 0, 0, 1), FZ.spriteManager.addResource("loading_full", 0, "res/images/loading_full.png", 0, 0, 1), FZ.spriteManager.addResource("splash", 0, "res/images/splash.png", 0, 0, 1), this.m_timer = setTimeout(FZ.Tools.bind(this, this.AIUpdate), 500)
 
-             },
 
-             postProcess: function () {},
 
-             AIUpdate: function () {
 
-                 FZ.PrintLog("" + this.m_test_timer), FZ.ResourceManager.isResourceLoaded() ? FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_LOGO) : this.m_timer = setTimeout(FZ.Tools.bind(this, this.AIUpdate), 200)
 
-             }
 
-         }, FZ.BaseState))
 
-     }(), FZ.Diamond = FZ.newClass({
 
-         BLOCK_SPR_LIST: ["majong_1", "majong_2", "majong_3", "majong_4", "majong_5", "majong_6", "majong_7", "majong_8", "majong_9", "majong_10", "majong_11", "majong_12", "majong_13", "majong_14", "majong_15", "majong_16", "majong_17", "majong_18", "majong_19", "majong_20", "majong_21", "majong_22", "majong_23", "majong_24", "majong_25", "majong_26", "majong_27", "majong_28", "majong_29", "majong_30", "majong_31"],
 
-         m_state: FZ.GameDefs.DREAMPET_INIT,
 
-         m_search_flag: FZ.GameDefs.SEARCH_NONE,
 
-         m_style: -1,
 
-         m_module: -1,
 
-         m_line: 0,
 
-         m_col: 0,
 
-         m_x: 0,
 
-         m_y: 0,
 
-         m_dest_x: 0,
 
-         m_dest_y: 0,
 
-         m_fall_time: 0,
 
-         m_fall_speed_x: 0,
 
-         m_fall_speed_y: 0,
 
-         m_fall_x: 0,
 
-         m_fall_y: 0,
 
-         m_turn: FZ.GameDefs.DIAMOND_RORATE_NONE,
 
-         m_angle: 0,
 
-         m_spr: null,
 
-         m_flashTime: 0,
 
-         m_worldMatrix: null,
 
-         m_back_list: null,
 
-         m_div: null,
 
-         m_div_focus: null,
 
-         m_div_hint: null,
 
-         m_callback: null,
 
-         m_anim_callback: null,
 
-         m_flash_count: FZ.GameDefs.FLASH_COUNT,
 
-         init: function (a, b, c, d) {
 
-             this.m_search_flag = FZ.GameDefs.SEARCH_NONE, this.m_line = a, this.m_col = b, this.m_x = this.m_col * FZ.GameDefs.GRID_WIDTH + FZ.GameDefs.DREAMPET_OFFSET_X, this.m_y = this.m_line * FZ.GameDefs.GRID_HEIGHT + FZ.GameDefs.DREAMPET_OFFSET_Y, this.m_dest_x = this.m_x, this.m_dest_y = this.m_y, this.m_fall_time = 0, this.m_fall_speed_x = 0, this.m_fall_speed_y = 0, this.m_fall_x = this.m_x, this.m_fall_y = this.m_y, this.m_turn = FZ.GameDefs.DIAMOND_RORATE_NONE, this.m_style = Math.floor(c), this.m_state = Math.floor(d), this.m_flashTime = 0, this.m_worldMatrix = new FZ.Math.Matrix3, this.m_worldMatrix.identity();
 
-             switch (this.m_style) {
 
-             case FZ.GameDefs.PET_TYPE_0:
 
-                 this.m_module = FZ.GameDefs.PET_1;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_1:
 
-                 this.m_module = FZ.GameDefs.PET_2;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_2:
 
-                 this.m_module = FZ.GameDefs.PET_3;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_3:
 
-                 this.m_module = FZ.GameDefs.PET_4;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_4:
 
-                 this.m_module = FZ.GameDefs.PET_5;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_5:
 
-                 this.m_module = FZ.GameDefs.PET_6;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_6:
 
-                 this.m_module = FZ.GameDefs.PET_7;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_7:
 
-                 this.m_module = FZ.GameDefs.PET_8;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_8:
 
-                 this.m_module = FZ.GameDefs.PET_9;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_9:
 
-                 this.m_module = FZ.GameDefs.PET_10;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_10:
 
-                 this.m_module = FZ.GameDefs.PET_11;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_11:
 
-                 this.m_module = FZ.GameDefs.PET_12;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_12:
 
-                 this.m_module = FZ.GameDefs.PET_13;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_13:
 
-                 this.m_module = FZ.GameDefs.PET_14;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_14:
 
-                 this.m_module = FZ.GameDefs.PET_15;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_15:
 
-                 this.m_module = FZ.GameDefs.PET_16;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_16:
 
-                 this.m_module = FZ.GameDefs.PET_17;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_17:
 
-                 this.m_module = FZ.GameDefs.PET_18;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_18:
 
-                 this.m_module = FZ.GameDefs.PET_19;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_19:
 
-                 this.m_module = FZ.GameDefs.PET_20;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_20:
 
-                 this.m_module = FZ.GameDefs.PET_21;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_21:
 
-                 this.m_module = FZ.GameDefs.PET_22;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_22:
 
-                 this.m_module = FZ.GameDefs.PET_23;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_23:
 
-                 this.m_module = FZ.GameDefs.PET_24;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_24:
 
-                 this.m_module = FZ.GameDefs.PET_25;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_25:
 
-                 this.m_module = FZ.GameDefs.PET_26;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_26:
 
-                 this.m_module = FZ.GameDefs.PET_27;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_27:
 
-                 this.m_module = FZ.GameDefs.PET_28;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_28:
 
-                 this.m_module = FZ.GameDefs.PET_29;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_29:
 
-                 this.m_module = FZ.GameDefs.PET_30;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_30:
 
-                 this.m_module = FZ.GameDefs.PET_31;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_31:
 
-                 this.m_module = FZ.GameDefs.PET_32;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_32:
 
-                 this.m_module = FZ.GameDefs.PET_33;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_33:
 
-                 this.m_module = FZ.GameDefs.PET_34;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_34:
 
-                 this.m_module = FZ.GameDefs.PET_35;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_35:
 
-                 this.m_module = FZ.GameDefs.PET_36;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_36:
 
-                 this.m_module = FZ.GameDefs.PET_37;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_37:
 
-                 this.m_module = FZ.GameDefs.PET_38;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_38:
 
-                 this.m_module = FZ.GameDefs.PET_39;
 
-                 break;
 
-             case FZ.GameDefs.PET_TYPE_39:
 
-                 this.m_module = FZ.GameDefs.PET_40;
 
-                 break;
 
-             default:
 
-                 this.m_module = FZ.GameDefs.PET_1
 
-             }
 
-             var e = null,
 
-                 f = null;
 
-             this.m_back_list = [], f = FZ.getImgInfo(this.BLOCK_SPR_LIST[this.m_module]), e = "url(res/images/" + f.fileURL + ")", this.m_back_list.push(e), this.m_callback = null;
 
-             FZ.GameDefs.DREAMPET_REMOVE === d ? (this.m_div = document.createElement("div"), this.m_div_focus = document.createElement("div"), this.m_div_hint = document.createElement("div")) : (this.setCss(), this.m_div_focus = document.createElement("div"), this.m_div_focus.style.width = FZ.GameDefs.GRID_WIDTH + "px", this.m_div_focus.style.height = FZ.GameDefs.GRID_HEIGHT + "px", this.m_div_focus.style.position = "absolute", this.m_div_focus.style.backgroundRepeat = "no-repeat", this.m_div_focus.style.backgroundImage = "url(res/images/MAJONG_FOCUS.png)", this.hidden(), this.m_div_focus.style.webkitTransition = "opacity, translate", this.m_div.appendChild(this.m_div_focus), this.m_div_hint = document.createElement("div"), this.m_div_hint.style.width = FZ.GameDefs.GRID_WIDTH + "px", this.m_div_hint.style.height = FZ.GameDefs.GRID_HEIGHT + "px", this.m_div_hint.style.position = "absolute", this.m_div_hint.style.backgroundRepeat = "no-repeat", this.m_div_hint.style.backgroundImage = "url(res/images/MAJONG_FOCUS_HINT.png)", this.hiddenHint(), this.m_div_hint.style.webkitTransition = "opacity, translate", this.m_div.appendChild(this.m_div_hint), this.setPetFocus())
 
-         },
 
-         setCss: function () {
 
-             this.m_div = document.createElement("div"), this.m_div.style.width = FZ.GameDefs.GRID_WIDTH + 2 + "px", this.m_div.style.height = FZ.GameDefs.GRID_HEIGHT + 2 + "px", this.m_div.style.position = "absolute", this.m_div.style.webkitTransition = "opacity, left, top, translate", this.m_div.style.webkitTransition = "opacity, translate", this.m_div.style.backgroundRepeat = "no-repeat", this.m_div.style.left = this.m_x + "px", this.m_div.style.top = this.m_y + "px"
 
-         },
 
-         fade_in: function () {
 
-             this.m_div.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_TIME + "ms", this.m_div.style.opacity = 1, this.m_timer = setTimeout(FZ.Tools.bind(this, this.fade_out), FZ.GameDefs.PET_FLICKER_TIME)
 
-         },
 
-         flash: function () {
 
-             this.m_flash_count > 0 && (this.m_div_focus.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_FOCUS_TIME + "ms", this.m_div_focus.style.opacity = 0, this.m_flash_count--, this.m_timer = setTimeout(FZ.Tools.bind(this, this.flash_again), FZ.GameDefs.PET_FLICKER_FOCUS_TIME))
 
-         },
 
-         flash_again: function () {
 
-             this.m_div_focus.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_FOCUS_TIME + "ms", this.m_div_focus.style.opacity = 1, this.m_timer = setTimeout(FZ.Tools.bind(this, this.flash), FZ.GameDefs.PET_FLICKER_FOCUS_TIME)
 
-         },
 
-         fade_out: function () {
 
-             this.m_flash_count > 0 ? (this.m_div.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_TIME + "ms", this.m_div.style.opacity = 0, this.m_flash_count--, this.m_timer = setTimeout(FZ.Tools.bind(this, this.fade_in), FZ.GameDefs.PET_FLICKER_TIME)) : FZ.GameDefs.DREAMPET_FLASH_HINT === this.m_state && (this.setState(FZ.GameDefs.DREAMPET_INIT), this.hiddenHint())
 
-         },
 
-         fadeOut: function () {
 
-             this.m_div.style.webkitTransitionDuration = "500ms", this.m_div.style.opacity = 0, this.m_timer = setTimeout(FZ.Tools.bind(this, this.fadeEnd), 500)
 
-         },
 
-         fadeEnd: function () {
 
-             this.setState(FZ.GameDefs.DREAMPET_REMOVE), this.m_div.style.visibility = "hidden"
 
-         },
 
-         setPetFocus: function () {
 
-             FZ.GameDefs.DREAMPET_FLASH === this.m_state ? (this.m_div.style.backgroundImage = this.m_back_list[0], this.m_div.style.opacity = 1, this.fadeOut()) : FZ.GameDefs.DREAMPET_FLASH_HINT === this.m_state ? (this.m_div.style.backgroundImage = this.m_back_list[0], this.showHint(), this.m_timer = setTimeout(FZ.Tools.bind(this, function () {
 
-                 FZ.GameDefs.DREAMPET_FLASH_HINT === this.m_state ? (this.setState(FZ.GameDefs.DREAMPET_INIT), this.hiddenHint()) : this.m_state === FZ.GameDefs.DREAMPET_FOCUS && this.hiddenHint()
 
-             }), 1500)) : this.m_state === FZ.GameDefs.DREAMPET_INIT ? this.m_div.style.backgroundImage = this.m_back_list[0] : this.m_state === FZ.GameDefs.DREAMPET_FOCUS ? (this.m_div.style.backgroundImage = this.m_back_list[0], this.m_div_focus.style.visibility = "visible", this.m_div_focus.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_FOCUS_TIME + "ms", this.m_div_focus.style.opacity = 1, this.m_flash_count = FZ.GameDefs.FLASH_FOCUS_COUNT) : this.m_state === FZ.GameDefs.DREAMPET_REMOVE && (this.m_div.style.visibility = "hidden")
 
-         },
 
-         show: function () {
 
-             this.m_div_focus.style.visibility = "visible"
 
-         },
 
-         hidden: function () {
 
-             this.m_div_focus.style.visibility = "hidden"
 
-         },
 
-         showHint: function () {
 
-             this.m_div_hint.style.visibility = "visible"
 
-         },
 
-         hiddenHint: function () {
 
-             this.m_div_hint.style.visibility = "hidden"
 
-         },
 
-         destroy: function () {
 
-             this.m_div && this.m_div.parentNode && this.m_div.parentNode.removeChild(this.m_div)
 
-         },
 
-         getLine: function () {
 
-             return this.m_line
 
-         },
 
-         getCol: function () {
 
-             return this.m_col
 
-         },
 
-         setLine: function (a) {
 
-             this.m_line = a
 
-         },
 
-         setCol: function (a) {
 
-             this.m_col = a
 
-         },
 
-         getStyle: function () {
 
-             return this.m_style
 
-         },
 
-         getState: function () {
 
-             return this.m_state
 
-         },
 
-         setStyle: function (a) {
 
-             this.m_style = a
 
-         },
 
-         setState: function (a) {
 
-             this.m_state = a
 
-         },
 
-         getSearchFlag: function () {
 
-             return this.m_search_flag
 
-         },
 
-         setSearchFlag: function (a) {
 
-             this.m_search_flag = a
 
-         },
 
-         updatePos: function () {
 
-             !this.m_div || (this.m_x = FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_col, this.m_y = FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_line, this.m_div.style.backgroundImage = this.m_back_list[0], this.m_div.style.left = this.m_x + "px", this.m_div.style.top = this.m_y + "px")
 
-         }
 
-     }), FZ.GRID_COOR = FZ.newClass({
 
-         line: 0,
 
-         col: 0,
 
-         init: function () {
 
-             this.line = 0, this.col = 0
 
-         }
 
-     }), FZ.DiamondManager = FZ.newClass({
 
-         EVT_MOUSE_OVER: "mouseover",
 
-         EVT_MOUSE_MOVE: "mousemove",
 
-         EVT_MOUSE_OUT: "mouseout",
 
-         EVT_MOUSE_CLICK: "click",
 
-         m_hintX: 0,
 
-         m_hintY: 0,
 
-         m_hintScore: null,
 
-         m_last_selected: -1,
 
-         m_dialog: !1,
 
-         m_leftNum: -1,
 
-         m_allPets: null,
 
-         m_missDiamonds: null,
 
-         m_hintCount: 0,
 
-         m_bonus_time: 0,
 
-         m_firstPet: null,
 
-         m_secondPet: null,
 
-         m_PetFirstIndex: 0,
 
-         m_PetSecondIndex: 0,
 
-         m_drawLineTime: 0,
 
-         m_left_pet: 0,
 
-         m_ctx: null,
 
-         m_level: 0,
 
-         m_displayPetsIndex: null,
 
-         m_reset_finished: !0,
 
-         m_parent: null,
 
-         m_observer: null,
 
-         m_stop_bubble: !1,
 
-         m_call_mOver: null,
 
-         m_call_mOut: null,
 
-         m_call_mMove: null,
 
-         m_call_mClick: null,
 
-         m_call_tStart: null,
 
-         m_call_tMove: null,
 
-         m_call_tEnd: null,
 
-         m_div_line: [],
 
-         isDebug: !1,
 
-         m_debug_div: null,
 
-         init: function () {
 
-             this.m_hintX = 0, this.m_hintY = 0, this.m_hintScore = "", this.m_last_selected = -1, this.m_dialog = !1, this.m_leftNum = -1, this.m_allPets = this.m_allPets || [], this.m_missDiamonds = this.m_missDiamonds || [], this.m_hintCount = 0, this.m_firstPet = null, this.m_secondPet = null, this.m_PetFirstIndex = 0, this.m_PetSecondIndex = 0, this.m_drawLineTime = 0, this.m_left_pet = FZ.GameDefs.ALL_PET_NUM;
 
-             for (var a = 0; a < 3; ++a) this.m_div_line[a] = document.createElement("div"), this.m_div_line[a].style.position = "absolute", this.m_div_line[a].style.backgroundRepeat = "no-repeat", this.m_div_line[a].style.backgroundColor = "#ffff00", this.m_div_line[a].style.visibility = "hidden", FZ.DivManager.addChild(this.m_div_line[a]);
 
-             this.isDebug && (this.m_debug_div = document.createElement("div"), this.m_debug_div.style.zIndex = 500, this.m_debug_div.style.width = "320px", this.m_debug_div.style.height = "40px", this.m_debug_div.style.left = "0px", this.m_debug_div.style.top = "438px", this.m_debug_div.style.position = "absolute", this.m_debug_div.style.color = "#ff0", this.m_debug_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px", this.m_debug_div.style.fontFamily = "Arial", this.m_debug_div.style.lineHeight = "40px", this.m_debug_div.style.textAlign = "center", this.m_debug_div.style.innerHTML = "", FZ.DivManager.addChild(this.m_debug_div))
 
-         },
 
-         removeEvent: function () {
 
-             !this.m_parent || (FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? (FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.T_START, this.m_call_tStart), this.m_call_tStart = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.T_MOVE, this.m_call_tMove), this.m_call_tMove = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.T_END, this.m_call_tEnd), this.m_call_tEnd = null) : (FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_OVER, this.m_call_mOver), this.m_call_mOver = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_OUT, this.m_call_mOut), this.m_call_mOut = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_MOVE, this.m_call_mMove), this.m_call_mMove = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_CLICK, this.m_call_mClick), this.m_call_mClick = null))
 
-         },
 
-         setParent: function (a) {
 
-             a ? (this.m_parent = a, FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? (FZ.EventHandler(this, this.m_parent, FZ.EVENT_DEF.T_START, this.mouseHandler), FZ.EventHandler(this, this.m_parent, FZ.EVENT_DEF.T_MOVE, this.mouseHandler), FZ.EventHandler(this, this.m_parent, FZ.EVENT_DEF.T_END, this.mouseHandler)) : (FZ.EventHandler(this, this.m_parent, FZ.EVENT_DEF.M_OVER, this.mouseHandler), FZ.EventHandler(this, this.m_parent, FZ.EVENT_DEF.M_MOVE, this.mouseHandler), FZ.EventHandler(this, this.m_parent, FZ.EVENT_DEF.M_OUT, this.mouseHandler), FZ.EventHandler(this, this.m_parent, FZ.EVENT_DEF.M_CLICK, this.mouseHandler))) : this.m_parent && (FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? (FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.T_START, this.m_call_tStart), this.m_call_tStart = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.T_MOVE, this.m_call_tMove), this.m_call_tMove = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.T_END, this.m_call_tEnd), this.m_call_tEnd = null) : (FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_OVER, this.m_call_mOver), this.m_call_mOver = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_OUT, this.m_call_mOut), this.m_call_mOut = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_MOVE, this.m_call_mMove), this.m_call_mMove = null, FZ.EventRemove(this, this.m_parent, FZ.EVENT_DEF.M_CLICK, this.m_call_mClick), this.m_call_mClick = null))
 
-         },
 
-         setBubble: function (a) {
 
-             this.m_stop_bubble = a
 
-         },
 
-         setObserver: function (a) {
 
-             this.m_observer = a
 
-         },
 
-         setCtx: function (a) {
 
-             this.m_ctx = a
 
-         },
 
-         setASprite: function (a) {
 
-             this.m_spr = a
 
-         },
 
-         clearAllPets: function () {
 
-             var a = null;
 
-             while (this.m_allPets.length > 0) a = this.m_allPets.pop(), a && a.destroy()
 
-         },
 
-         getTouchPetIndex: function (a, b) {
 
-             var c = 0;
 
-             if (a < FZ.GameDefs.DREAMPET_OFFSET_X || a > FZ.GameDefs.DREAMPET_OFFSET_X + (FZ.GameDefs.DREAMPET_NUM_COL + 1) * FZ.GameDefs.GRID_WIDTH || b < FZ.GameDefs.DREAMPET_OFFSET_Y || b > FZ.GameDefs.DREAMPET_OFFSET_Y + (FZ.GameDefs.DREAMPET_NUM_LINE + 1) * FZ.GameDefs.GRID_HEIGHT) return -1;
 
-             var d = (b - FZ.GameDefs.DREAMPET_OFFSET_Y) / FZ.GameDefs.GRID_HEIGHT,
 
-                 e = (a - FZ.GameDefs.DREAMPET_OFFSET_X) / FZ.GameDefs.GRID_WIDTH;
 
-             c = d * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + e, c >= (FZ.GameDefs.DREAMPET_NUM_LINE + 2) * (FZ.GameDefs.DREAMPET_NUM_COL + 2) && (c = -1);
 
-             return c
 
-         },
 
-         checkFocus: function () {
 
-             var a = 0;
 
-             for (a = 0; a < FZ.GameDefs.ALL_GENERAL; a++) {
 
-                 var b = this.m_allPets[a].getState();
 
-                 if (b === FZ.GameDefs.DREAMPET_FOCUS) return !0
 
-             }
 
-             return !1
 
-         },
 
-         searchHint: function () {
 
-             var a = new FZ.GRID_COOR,
 
-                 b = new FZ.GRID_COOR,
 
-                 c = Math.floor(FZ.Math.random(0, FZ.GameDefs.ALL_GENERAL - 1));
 
-             for (var d = c; d < FZ.GameDefs.ALL_GENERAL; d++) {
 
-                 if (this.m_allPets[d].getState() === FZ.GameDefs.DREAMPET_REMOVE) continue;
 
-                 a.col = this.m_allPets[d].getCol(), a.line = this.m_allPets[d].getLine();
 
-                 for (var e = d + 1; e < FZ.GameDefs.ALL_GENERAL; e++) {
 
-                     if (this.m_allPets[e].getState() === FZ.GameDefs.DREAMPET_REMOVE) continue;
 
-                     if (this.m_allPets[d].getStyle() !== this.m_allPets[e].getStyle()) continue;
 
-                     b.col = this.m_allPets[e].getCol(), b.line = this.m_allPets[e].getLine();
 
-                     if (FZ.AG.SearchSpecialPath.getPath(this.m_allPets, FZ.GameDefs.DREAMPET_NUM_LINE + 2, FZ.GameDefs.DREAMPET_NUM_COL + 2, a.col, a.line, b.col, b.line) !== null) {
 
-                         this.m_allPets[d].setState(FZ.GameDefs.DREAMPET_FLASH_HINT), this.m_allPets[d].setPetFocus(), this.m_allPets[e].setState(FZ.GameDefs.DREAMPET_FLASH_HINT), this.m_allPets[e].setPetFocus(), this.m_hintCount--;
 
-                         return !0
 
-                     }
 
-                 }
 
-             }
 
-             for (var d = 0; d < c; d++) {
 
-                 if (this.m_allPets[d].getState() === FZ.GameDefs.DREAMPET_REMOVE) continue;
 
-                 a.col = this.m_allPets[d].getCol(), a.line = this.m_allPets[d].getLine();
 
-                 for (var e = d + 1; e < FZ.GameDefs.ALL_GENERAL; e++) {
 
-                     if (this.m_allPets[e].getState() === FZ.GameDefs.DREAMPET_REMOVE) continue;
 
-                     if (this.m_allPets[d].getStyle() !== this.m_allPets[e].getStyle()) continue;
 
-                     b.col = this.m_allPets[e].getCol(), b.line = this.m_allPets[e].getLine();
 
-                     if (FZ.AG.SearchSpecialPath.getPath(this.m_allPets, FZ.GameDefs.DREAMPET_NUM_LINE + 2, FZ.GameDefs.DREAMPET_NUM_COL + 2, a.col, a.line, b.col, b.line) !== null) {
 
-                         this.m_allPets[d].setState(FZ.GameDefs.DREAMPET_FLASH_HINT), this.m_allPets[d].setPetFocus(), this.m_allPets[e].setState(FZ.GameDefs.DREAMPET_FLASH_HINT), this.m_allPets[e].setPetFocus(), this.m_hintCount--;
 
-                         return !0
 
-                     }
 
-                 }
 
-             }
 
-             return !1
 
-         },
 
-         searchHasMatch: function () {
 
-             var a = new FZ.GRID_COOR,
 
-                 b = new FZ.GRID_COOR,
 
-                 c = this.m_PointPath;
 
-             for (var d = 0; d < FZ.GameDefs.ALL_GENERAL; d++) {
 
-                 if (this.m_allPets[d].getState() === FZ.GameDefs.DREAMPET_REMOVE) continue;
 
-                 a.col = this.m_allPets[d].getCol();
 
-                 if (a.col < 0) continue;
 
-                 a.line = this.m_allPets[d].getLine();
 
-                 if (a.line < 0) continue;
 
-                 for (var e = d + 1; e < FZ.GameDefs.ALL_GENERAL; e++) {
 
-                     if (this.m_allPets[e].getState() === FZ.GameDefs.DREAMPET_REMOVE) continue;
 
-                     if (this.m_allPets[d].getStyle() !== this.m_allPets[e].getStyle()) continue;
 
-                     b.col = this.m_allPets[e].getCol();
 
-                     if (b.col < 0) continue;
 
-                     b.line = this.m_allPets[e].getLine();
 
-                     if (b.line < 0) continue;
 
-                     if (FZ.AG.SearchSpecialPath.getPath(this.m_allPets, FZ.GameDefs.DREAMPET_NUM_LINE + 2, FZ.GameDefs.DREAMPET_NUM_COL + 2, a.col, a.line, b.col, b.line) !== null) {
 
-                         this.m_PointPath = c;
 
-                         return !0
 
-                     }
 
-                 }
 
-             }
 
-             this.isDebug && (this.m_debug_div.style.backgroundColor = "#000"), this.m_PointPath = c;
 
-             return !1
 
-         },
 
-         ResetPosition: function () {
 
-             var a, b, c = null;
 
-             this.getDisplayPet(), c = this.m_displayPetsIndex;
 
-             var d = c.length,
 
-                 e = 0;
 
-             if (d === 4) this.exchagePet(c[0], c[1]);
 
-             else {
 
-                 e = Math.floor(FZ.Math.random(1, d - 2));
 
-                 for (var f = 0; f < e - 1; f++) a = c[f], b = c[f + 1], this.exchagePet(a, b);
 
-                 for (var f = e; f < d - 2; f++) a = c[f], b = c[f + 1], this.exchagePet(a, b)
 
-             }
 
-         },
 
-         ResetTwoPosition: function () {
 
-             var a, b, c = null;
 
-             this.getDisplayPet(), c = this.m_displayPetsIndex;
 
-             var d = c.length;
 
-             a = c[0];
 
-             for (var e = 1; e < d - 1; e++) {
 
-                 b = c[e];
 
-                 if (this.m_allPets[a].getStyle() !== this.m_allPets[b].getStyle()) continue;
 
-                 this.exchagePet(c[1], b);
 
-                 break
 
-             }
 
-         },
 
-         resetPetPosEffect: function () {
 
-             if (this.m_PetFirstIndex > 0) {
 
-                 var a = FZ.GameBase.SaveObject.m_cur_level;
 
-                 switch (a) {
 
-                 case 1:
 
-                     break;
 
-                 case 2:
 
-                     break;
 
-                 case 3:
 
-                     this.updownReset(this.m_PetFirstIndex, this.m_PetSecondIndex);
 
-                     break;
 
-                 case 4:
 
-                     break;
 
-                 case 5:
 
-                     this.leftrightReset(this.m_PetFirstIndex, this.m_PetSecondIndex);
 
-                     break;
 
-                 case 6:
 
-                     this.downReset(this.m_PetFirstIndex, this.m_PetSecondIndex);
 
-                     break;
 
-                 case 7:
 
-                     this.rightReset(this.m_PetFirstIndex, this.m_PetSecondIndex);
 
-                     break;
 
-                 case 8:
 
-                     this.leftReset(this.m_PetFirstIndex, this.m_PetSecondIndex);
 
-                     break;
 
-                 case 9:
 
-                     this.upReset(this.m_PetFirstIndex, this.m_PetSecondIndex);
 
-                     break;
 
-                 default:
 
-                 }
 
-                 this.m_PetFirstIndex = 0
 
-             }
 
-         },
 
-         getDisplayPet: function () {
 
-             var a = 0;
 
-             this.m_displayPetsIndex = [];
 
-             for (var b = 0; b < FZ.GameDefs.ALL_GENERAL; b++) {
 
-                 var c = this.m_allPets[b].getState();
 
-                 c !== FZ.GameDefs.DREAMPET_REMOVE && (a++, this.m_displayPetsIndex.push(b))
 
-             }
 
-             return a
 
-         },
 
-         isGreat: function (a, b) {
 
-             return a >= b ? !0 : !1
 
-         },
 
-         setPetDisappear: function (a, b) {
 
-             var c = 0,
 
-                 d = [];
 
-             if (a < FZ.GameDefs.DREAMPET_OFFSET_X || a > FZ.GameDefs.DREAMPET_OFFSET_X + (FZ.GameDefs.DREAMPET_NUM_COL + 1) * FZ.GameDefs.GRID_WIDTH || b < FZ.GameDefs.DREAMPET_OFFSET_Y || b > FZ.GameDefs.DREAMPET_OFFSET_Y + (FZ.GameDefs.DREAMPET_NUM_LINE + 1) * FZ.GameDefs.GRID_HEIGHT) return !1;
 
-             var e = Math.floor((b - FZ.GameDefs.DREAMPET_OFFSET_Y) / FZ.GameDefs.GRID_HEIGHT),
 
-                 f = Math.floor((a - FZ.GameDefs.DREAMPET_OFFSET_X) / FZ.GameDefs.GRID_WIDTH);
 
-             c = e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + f, c >= (FZ.GameDefs.DREAMPET_NUM_LINE + 2) * (FZ.GameDefs.DREAMPET_NUM_COL + 2) && (c = -1);
 
-             if (c < 0) return !1;
 
-             var g = this.m_allPets[c];
 
-             if (null === g || undefined ===
 
-                 g) return !1;
 
-             if (g.getState() === FZ.GameDefs.DREAMPET_FOCUS || g.getState() === FZ.GameDefs.DREAMPET_REMOVE) return !1;
 
-             if (!1 === this.checkFocus()) {
 
-                 this.m_allPets[c].setState(FZ.GameDefs.DREAMPET_FOCUS), this.m_allPets[c].show(), this.m_firstPet = this.m_allPets[c];
 
-                 return !1
 
-             }
 
-             this.m_secondPet = g, p1 = new FZ.GRID_COOR, p1.line = this.m_firstPet.getLine(), p1.col = this.m_firstPet.getCol(), p2 = new FZ.GRID_COOR, p2.line = this.m_secondPet.getLine(), p2.col = this.m_secondPet.getCol();
 
-             if (this.m_firstPet.getStyle() !== this.m_secondPet.getStyle()) {
 
-                 this.m_allPets[c].setState(FZ.GameDefs.DREAMPET_FOCUS), this.m_allPets[c].show(), this.m_firstPet.setState(FZ.GameDefs.DREAMPET_INIT), this.m_firstPet.hidden(), this.m_firstPet = this.m_secondPet;
 
-                 return !1
 
-             }
 
-             if ((d = FZ.AG.SearchSpecialPath.getPath(this.m_allPets, FZ.GameDefs.DREAMPET_NUM_LINE + 2, FZ.GameDefs.DREAMPET_NUM_COL + 2, p1.col, p1.line, p2.col, p2.line)) !== null) {
 
-                 this.m_PointPath = d, this.m_allPets[(FZ.GameDefs.DREAMPET_NUM_COL + 2) * p1.line + p1.col].setState(FZ.GameDefs.DREAMPET_FLASH), this.m_allPets[(FZ.GameDefs.DREAMPET_NUM_COL + 2) * p2.line + p2.col].setState(FZ.GameDefs.DREAMPET_FLASH), this.m_PetFirstIndex = (FZ.GameDefs.DREAMPET_NUM_COL + 2) * p1.line + p1.col, this.m_allPets[this.m_PetFirstIndex].hidden(), this.m_PetSecondIndex = (FZ.GameDefs.DREAMPET_NUM_COL + 2) * p2.line + p2.col, this.m_allPets[this.m_PetFirstIndex].setPetFocus(), this.m_allPets[this.m_PetSecondIndex].setPetFocus(), this.m_score += 100, this.m_bonus_time += 5;
 
-                 var h = this.m_PointPath.length,
 
-                     i = [];
 
-                 for (var j = 0; j < h - 1; ++j) {
 
-                     i[1] = this.m_PointPath[j + 1][1], i[0] = this.m_PointPath[j + 1][0];
 
-                     var k, l, m = this.ABS(FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * i[0] + FZ.GameDefs.GRID_WIDTH_HALF, FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_PointPath[j][0] + FZ.GameDefs.GRID_WIDTH_HALF),
 
-                         n = this.ABS(FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * i[1] + FZ.GameDefs.GRID_HEIGHT_HALF, FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_PointPath[j][1] + FZ.GameDefs.GRID_HEIGHT_HALF),
 
-                         o, p;
 
-                     0 === Math.floor(m) && (m = 3), 0 === Math.floor(n) && (n = 3), m === 3 && (k = this.isGreat(FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * i[1] + FZ.GameDefs.GRID_HEIGHT_HALF, FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_PointPath[j][1] + FZ.GameDefs.GRID_HEIGHT_HALF), k ? (o = FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_PointPath[j][0] + FZ.GameDefs.GRID_WIDTH_HALF, p = FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_PointPath[j][1] + FZ.GameDefs.GRID_HEIGHT_HALF) : (o = FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_PointPath[j][0] + FZ.GameDefs.GRID_WIDTH_HALF, p = FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * i[1] + FZ.GameDefs.GRID_HEIGHT_HALF, n += 3)), n === 3 && (l = this.isGreat(FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * i[0] + FZ.GameDefs.GRID_WIDTH_HALF, FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_PointPath[j][0] + FZ.GameDefs.GRID_WIDTH_HALF), l ? (o = FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_PointPath[j][0] + FZ.GameDefs.GRID_WIDTH_HALF, p = FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_PointPath[j][1] + FZ.GameDefs.GRID_HEIGHT_HALF) : (o = FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * i[0] + FZ.GameDefs.GRID_WIDTH_HALF, p = FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_PointPath[j][1] + FZ.GameDefs.GRID_HEIGHT_HALF, m += 3)), o < FZ.GameDefs.OFFSET_X ? (this.m_div_line[j].style.left = "5px", m > 3 && (m -= 24)) : o + m > FZ.GameDefs.SCREEN_W && m > 3 ? (m = 315 - o, this.m_div_line[j].style.left = o + "px") : o > FZ.GameDefs.SCREEN_W ? this.m_div_line[j].style.left = "312px" : this.m_div_line[j].style.left = o + "px", p < FZ.GameDefs.OFFSET_Y ? this.m_div_line[j].style.top = "70px" : p + n > FZ.GameDefs.SCREEN_H - FZ.GameDefs.SCREEN_BOTTOM_H && n > 3 ? (n = FZ.GameDefs.SCREEN_H - FZ.GameDefs.SCREEN_BOTTOM_H - 5 - p, this.m_div_line[j].style.top = p + "px") : p > FZ.GameDefs.SCREEN_H - FZ.GameDefs.SCREEN_BOTTOM_H ? (this.m_div_line[j].style.top = FZ.GameDefs.SCREEN_H - FZ.GameDefs.SCREEN_BOTTOM_H - 5 + "px", l === !0 && (m += 3)) : this.m_div_line[j].style.top = p + "px", this.m_div_line[j].style.width = m + "px", this.m_div_line[j].style.height = n + "px", this.m_div_line[j].style.zIndex = 100, this.m_div_line[j].style.visibility = "visible"
 
-                 }
 
-                 var q = this;
 
-                 q.m_reset_finished = !1, setTimeout(function () {
 
-                     for (var a = 0; a < h - 1; ++a) q.m_div_line[a].style.visibility = "hidden"
 
-                 }, 400), setTimeout(function () {
 
-                     q.resetPetPosEffect(), q.getLeftPet() !== 0 && q.searchHasMatch() === !1 && (FZ.Game.GameState.m_isNoMatch = !0, FZ.Game.GameState.levelCurrentTime = (new Date).getTime()), q.m_reset_finished = !0
 
-                 }, 600), this.m_left_pet -= 2;
 
-                 return !0
 
-             }
 
-             this.m_allPets[c].setState(FZ.GameDefs.DREAMPET_FOCUS), this.m_firstPet && (this.m_firstPet.setState(FZ.GameDefs.DREAMPET_INIT), this.m_firstPet.hidden(), this.m_secondPet && (this.m_secondPet.setState(FZ.GameDefs.DREAMPET_FOCUS), this.m_secondPet.show(), this.m_firstPet = this.m_secondPet));
 
-             return !1
 
-         },
 
-         ABS: function (a, b) {
 
-             return a > b ? a - b : b - a
 
-         },
 
-         updownReset: function (a, b) {
 
-             var c = 0,
 
-                 d = 0;
 
-             a > b ? (c = a, d = b) : (c = b, d = a);
 
-             if (d > (FZ.GameDefs.DREAMPET_NUM_LINE_HALF + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2)) {
 
-                 for (var e = d; e > (FZ.GameDefs.DREAMPET_NUM_LINE_HALF + 2) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); e = e - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(e, e - (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                 for (var e = c; e > (FZ.GameDefs.DREAMPET_NUM_LINE_HALF + 2) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); e = e - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(e, e - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-             } else if (c > (FZ.GameDefs.DREAMPET_NUM_LINE_HALF + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2) && d < (FZ.GameDefs.DREAMPET_NUM_LINE_HALF + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2)) {
 
-                 for (var e = d; e < FZ.GameDefs.DREAMPET_NUM_LINE_HALF * (FZ.GameDefs.DREAMPET_NUM_COL + 2); e = e + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(e, e + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                 for (var e = c; e > (FZ.GameDefs.DREAMPET_NUM_LINE_HALF + 2) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); e = e - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(e, e - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-             } else {
 
-                 for (var e = c; e < FZ.GameDefs.DREAMPET_NUM_LINE_HALF * (FZ.GameDefs.DREAMPET_NUM_COL + 2); e = e + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(e, e + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                 for (var e = d; e < FZ.GameDefs.DREAMPET_NUM_LINE_HALF * (FZ.GameDefs.DREAMPET_NUM_COL + 2); e = e + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(e, e + (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-             }
 
-         },
 
-         leftrightReset: function (a, b) {
 
-             var c = 0,
 
-                 d = 0;
 
-             a > b ? (c = a, d = b) : (c = b, d = a);
 
-             var e = this.m_allPets[c].getLine(),
 
-                 f = this.m_allPets[c].getCol(),
 
-                 g = this.m_allPets[d].getLine(),
 
-                 h = this.m_allPets[d].getCol();
 
-             if (f <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && h <= FZ.GameDefs.DREAMPET_NUM_COL_HALF) {
 
-                 for (var i = f; i < FZ.GameDefs.DREAMPET_NUM_COL_HALF; i++) this.exchagePet(e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i + 1);
 
-                 for (var i = h; i < FZ.GameDefs.DREAMPET_NUM_COL_HALF; i++) this.exchagePet(g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i + 1)
 
-             } else if (h > FZ.GameDefs.DREAMPET_NUM_COL_HALF && f > FZ.GameDefs.DREAMPET_NUM_COL_HALF) {
 
-                 for (var i = h; i > FZ.GameDefs.DREAMPET_NUM_COL_HALF + 1; i--) this.exchagePet(g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i - 1);
 
-                 for (var i = f; i > FZ.GameDefs.DREAMPET_NUM_COL_HALF + 1; i--) this.exchagePet(e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i - 1)
 
-             } else if (h <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && f > FZ.GameDefs.DREAMPET_NUM_COL_HALF) {
 
-                 for (var i = h; i < FZ.GameDefs.DREAMPET_NUM_COL_HALF; i++) this.exchagePet(g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i + 1);
 
-                 for (var i = f; i > FZ.GameDefs.DREAMPET_NUM_COL_HALF + 1; i--) this.exchagePet(e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i - 1)
 
-             } else {
 
-                 for (var i = h; i > FZ.GameDefs.DREAMPET_NUM_COL_HALF + 1; i--) this.exchagePet(g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i - 1);
 
-                 for (var i = f; i < FZ.GameDefs.DREAMPET_NUM_COL_HALF; i++) this.exchagePet(e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i + 1)
 
-             }
 
-         },
 
-         leftReset: function (a, b) {
 
-             var c = 0,
 
-                 d = 0;
 
-             b > a ? (c = a, d = b) : (c = b, d = a);
 
-             var e = this.m_allPets[c].getLine(),
 
-                 f = this.m_allPets[c].getCol(),
 
-                 g = this.m_allPets[d].getLine(),
 
-                 h = this.m_allPets[d].getCol();
 
-             for (var i = h; i < FZ.GameDefs.DREAMPET_NUM_COL; i++) this.exchagePet(g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i + 1);
 
-             for (var i = f; i < FZ.GameDefs.DREAMPET_NUM_COL; i++) this.exchagePet(e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i + 1)
 
-         },
 
-         rightReset: function (a, b) {
 
-             var c = 0,
 
-                 d = 0;
 
-             a > b ? (c = a, d = b) : (c = b, d = a);
 
-             var e = this.m_allPets[c].getLine(),
 
-                 f = this.m_allPets[c].getCol(),
 
-                 g = this.m_allPets[d].getLine(),
 
-                 h = this.m_allPets[d].getCol();
 
-             for (var i = h; i > 0; i--) {
 
-                 if (i === 1) break;
 
-                 this.exchagePet(g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, g * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i - 1)
 
-             }
 
-             for (var i = f; i > 0; i--) {
 
-                 if (i === 1) break;
 
-                 this.exchagePet(e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i, e * (FZ.GameDefs.DREAMPET_NUM_COL + 2) + i - 1)
 
-             }
 
-         },
 
-         downReset: function (a, b) {
 
-             var c = 0,
 
-                 d = 0,
 
-                 e = 0;
 
-             a > b ? (d = a, e = b) : (d = b, e = a);
 
-             if (!(d - (FZ.GameDefs.DREAMPET_NUM_COL + 2) < FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 if (e - (FZ.GameDefs.DREAMPET_NUM_COL + 2) > FZ.GameDefs.DREAMPET_NUM_COL + 2 && (e - d) % (FZ.GameDefs.DREAMPET_NUM_COL + 2) == 0) {
 
-                     for (var f = e - (FZ.GameDefs.DREAMPET_NUM_COL + 2); f > FZ.GameDefs.DREAMPET_NUM_COL + 2; f = f - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(f + (FZ.GameDefs.DREAMPET_NUM_COL + 2), f), c = f;
 
-                     for (var f = d - (FZ.GameDefs.DREAMPET_NUM_COL + 2); f >= c; f = f - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(f + (FZ.GameDefs.DREAMPET_NUM_COL + 2), f)
 
-                 } else {
 
-                     for (var f = d - (FZ.GameDefs.DREAMPET_NUM_COL + 2); f > FZ.GameDefs.DREAMPET_NUM_COL + 2; f = f - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(f + (FZ.GameDefs.DREAMPET_NUM_COL + 2), f);
 
-                     for (var f = e - (FZ.GameDefs.DREAMPET_NUM_COL + 2); f > FZ.GameDefs.DREAMPET_NUM_COL + 2; f = f - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(f + (FZ.GameDefs.DREAMPET_NUM_COL + 2), f)
 
-                 }
 
-         },
 
-         upReset: function (a, b) {
 
-             var c = 0,
 
-                 d, e;
 
-             a > b ? (d = a, e = b) : (d = b, e = a);
 
-             if (!(FZ.GameDefs.ALL_GENERAL - e - (FZ.GameDefs.DREAMPET_NUM_COL + 2) < FZ.GameDefs.DREAMPET_NUM_COL + 2)) {
 
-                 for (var f = d; f + (FZ.GameDefs.DREAMPET_NUM_COL + 2) < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); f = f + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(f, f + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                 for (var f = e; f + (FZ.GameDefs.DREAMPET_NUM_COL + 2) < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); f = f + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(f + (FZ.GameDefs.DREAMPET_NUM_COL + 2), f)
 
-             }
 
-         },
 
-         centerReset: function (a, b) {
 
-             var c = 0,
 
-                 d, e;
 
-             b > a ? (d = a, e = b) : (d = b, e = a);
 
-             var f = this.m_allPets[d].getLine(),
 
-                 g = this.m_allPets[d].getCol(),
 
-                 h = this.m_allPets[e].getLine(),
 
-                 i = this.m_allPets[e].getCol();
 
-             if (g <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && f > FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                 if (i <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && h > FZ.GameDefs.DREAMPET_NUM_LINE_HALF && Math.floor((e - d) % (FZ.GameDefs.DREAMPET_NUM_COL + 2)) === 0) {
 
-                     c = e;
 
-                     for (var j = e; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                     c = d;
 
-                     for (var j = d; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                     return
 
-                 }
 
-                 if (i <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && h > FZ.GameDefs.DREAMPET_NUM_LINE_HALF && Math.floor((e - d) % (FZ.GameDefs.DREAMPET_NUM_COL + 2)) === 0) {
 
-                     c = e;
 
-                     for (var j = e; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                     c = d;
 
-                     for (var j = d; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                     return
 
-                 }
 
-             }
 
-             if (g > FZ.GameDefs.DREAMPET_NUM_COL_HALF && f <= FZ.GameDefs.DREAMPET_NUM_LINE_HALF && i > FZ.GameDefs.DREAMPET_NUM_COL_HALF && h <= FZ.GameDefs.DREAMPET_NUM_LINE_HALF && e - d < FZ.GameDefs.DREAMPET_NUM_COL_HALF) {
 
-                 c = e;
 
-                 for (var j = e; j < (h + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                     if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                         c = j;
 
-                         break
 
-                     }
 
-                     this.exchagePet(j, j + 1)
 
-                 }
 
-                 for (var j = c; j > FZ.GameDefs.DREAMPET_NUM_COL + 2; j = j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) {
 
-                     if (this.m_allPets[j].getState() === FZ.GameDefs.DREAMPET_REMOVE && this.m_allPets[j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                         c = j;
 
-                         break
 
-                     }
 
-                     this.exchagePet(j, j - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 }
 
-                 c = d;
 
-                 for (var j = d; j < (f + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                     if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                         c = j;
 
-                         break
 
-                     }
 
-                     this.exchagePet(j, j + 1)
 
-                 }
 
-                 for (var j = c; j > FZ.GameDefs.DREAMPET_NUM_COL + 2; j = j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) {
 
-                     if (this.m_allPets[j].getState() === FZ.GameDefs.DREAMPET_REMOVE && this.m_allPets[j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                         c = j;
 
-                         break
 
-                     }
 
-                     this.exchagePet(j, j - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 }
 
-             } else {
 
-                 if (g > FZ.GameDefs.DREAMPET_NUM_COL_HALF && f > FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     if (i > FZ.GameDefs.DREAMPET_NUM_COL_HALF && h > FZ.GameDefs.DREAMPET_NUM_LINE_HALF && (Math.floor((e - d) % (FZ.GameDefs.DREAMPET_NUM_COL + 2)) === 0 || e - d < FZ.GameDefs.DREAMPET_NUM_COL_HALF)) {
 
-                         c = e;
 
-                         for (var j = e; j < (h + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                             if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                                 c = j;
 
-                                 break
 
-                             }
 
-                             this.exchagePet(j, j + 1)
 
-                         }
 
-                         for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                         c = d;
 
-                         for (var j = d; j < (f + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                             if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                                 c = j;
 
-                                 break
 
-                             }
 
-                             this.exchagePet(j, j + 1)
 
-                         }
 
-                         for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                         return
 
-                     }
 
-                     if (i > FZ.GameDefs.DREAMPET_NUM_COL_HALF && h > FZ.GameDefs.DREAMPET_NUM_LINE_HALF && Math.floor((e - d) % (FZ.GameDefs.DREAMPET_NUM_COL + 2)) !== 0) {
 
-                         c = d;
 
-                         for (var j = d; j < (f + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                             if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                                 c = j;
 
-                                 break
 
-                             }
 
-                             this.exchagePet(j, j + 1)
 
-                         }
 
-                         for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                         c = e;
 
-                         for (var j = e; j < (h + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                             if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                                 c = j;
 
-                                 break
 
-                             }
 
-                             this.exchagePet(j, j + 1)
 
-                         }
 
-                         for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2));
 
-                         return
 
-                     }
 
-                 }
 
-                 c = d;
 
-                 if (g <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && f <= FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = d; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j > FZ.GameDefs.DREAMPET_NUM_COL + 2; j = j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) {
 
-                         if (this.m_allPets[j].getState() === FZ.GameDefs.DREAMPET_REMOVE && this.m_allPets[j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                     }
 
-                 } else if (g <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && f > FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = d; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 } else if (g > FZ.GameDefs.DREAMPET_NUM_COL_HALF && f > FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = d; j < (f + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                         if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j + 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 } else if (g > FZ.GameDefs.DREAMPET_NUM_COL_HALF && f <= FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = d; j < (f + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                         if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j + 1)
 
-                     }
 
-                     for (var j = c; j > FZ.GameDefs.DREAMPET_NUM_COL + 2; j = j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 }
 
-                 c = e;
 
-                 if (i <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && h <= FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = e; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j > FZ.GameDefs.DREAMPET_NUM_COL + 2; j = j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 } else if (i <= FZ.GameDefs.DREAMPET_NUM_COL_HALF && h > FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = e; j > 0; j--) {
 
-                         if (this.m_allPets[j - 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j - 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 } else if (i > FZ.GameDefs.DREAMPET_NUM_COL_HALF && h > FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = e; j < (h + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                         if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j + 1)
 
-                     }
 
-                     for (var j = c; j < FZ.GameDefs.ALL_GENERAL - (FZ.GameDefs.DREAMPET_NUM_COL + 2); j = j + (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j + (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 } else if (i > FZ.GameDefs.DREAMPET_NUM_COL_HALF && h <= FZ.GameDefs.DREAMPET_NUM_LINE_HALF) {
 
-                     for (var j = e; j < (h + 1) * (FZ.GameDefs.DREAMPET_NUM_COL + 2); j++) {
 
-                         if (this.m_allPets[j + 1].getState() === FZ.GameDefs.DREAMPET_REMOVE) {
 
-                             c = j;
 
-                             break
 
-                         }
 
-                         this.exchagePet(j, j + 1)
 
-                     }
 
-                     for (var j = c; j > FZ.GameDefs.DREAMPET_NUM_COL + 2; j = j - (FZ.GameDefs.DREAMPET_NUM_COL + 2)) this.exchagePet(j, j - (FZ.GameDefs.DREAMPET_NUM_COL + 2))
 
-                 }
 
-             }
 
-         },
 
-         exchagePet: function (a, b) {
 
-             var c = this.m_allPets[a].getCol(),
 
-                 d = this.m_allPets[a].getLine(),
 
-                 e = this.m_allPets[b].getCol(),
 
-                 f = this.m_allPets[b].getLine(),
 
-                 g = null;
 
-             g = this.m_allPets[a], this.m_allPets[a] = this.m_allPets[b], this.m_allPets[a].setCol(c), this.m_allPets[a].setLine(d), this.m_allPets[a].updatePos(), this.m_allPets[b] = g, this.m_allPets[b].setCol(e), this.m_allPets[b].setLine(f), this.m_allPets[b].updatePos(), this.m_allPets[a].setPetFocus(), this.m_allPets[b].setPetFocus()
 
-         },
 
-         getLeftPet: function () {
 
-             return this.m_left_pet
 
-         },
 
-         getScore: function () {
 
-             return this.m_score
 
-         },
 
-         setScore: function (a) {
 
-             this.m_score = a
 
-         },
 
-         getBonusTime: function () {
 
-             return this.m_bonus_time
 
-         },
 
-         setBonusTime: function (a) {
 
-             this.m_bonus_time = a
 
-         },
 
-         onDrawPathLine: function () {
 
-             FZ.GameBase.MainContext.strokeStyle = "#ff0", FZ.GameBase.MainContext.lineWidth = 3;
 
-             var a = 0,
 
-                 b = [];
 
-             for (var c = 0; c < this.m_PointPath.length - 1; ++c) b[1] = this.m_PointPath[c + 1][1], b[0] = this.m_PointPath[c + 1][0], FZ.GameBase.MainContext.setTransform(this.m_worldMatrix.m11, this.m_worldMatrix.m12, this.m_worldMatrix.m21, this.m_worldMatrix.m22, this.m_worldMatrix.dx, this.m_worldMatrix.dy), FZ.GameBase.MainContext.beginPath(), FZ.GameBase.MainContext.moveTo(FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_PointPath[c][0] + FZ.GameDefs.GRID_WIDTH_HALF, FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_PointPath[c][1] + FZ.GameDefs.GRID_HEIGHT_HALF), FZ.GameBase.MainContext.lineTo(FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * b[0] + FZ.GameDefs.GRID_WIDTH_HALF, FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * b[1] + FZ.GameDefs.GRID_HEIGHT_HALF), FZ.GameBase.MainContext.closePath(), FZ.GameBase.MainContext.stroke()
 
-         },
 
-         showPets: function () {
 
-             var a = null;
 
-             for (var b = 0; b < FZ.GameDefs.ALL_GENERAL; b++) a = this.m_allPets[b], a.m_div && (a.m_div.style.visibility = "visible")
 
-         },
 
-         hidePets: function () {
 
-             var a = null;
 
-             for (var b = 0; b < FZ.GameDefs.ALL_GENERAL; b++) a = this.m_allPets[b], a.m_div && (a.m_div.style.visibility = "hidden")
 
-         },
 
-         resumeLevel: function () {
 
-             this.m_score = FZ.GameBase.SaveObject.m_cur_score, this.m_hintCount = FZ.GameBase.SaveObject.m_cur_hintCount, this.m_left_pet = FZ.GameBase.SaveObject.m_cur_left_pet, this.m_level = FZ.GameBase.SaveObject.m_cur_level;
 
-             var a, b = null,
 
-                 c = null;
 
-             c = [];
 
-             var d = 0,
 
-                 e = 0,
 
-                 f = 0,
 
-                 g = FZ.GameDefs.DREAMPET_INIT;
 
-             this.clearAllPets();
 
-             for (a = 0; a < FZ.GameDefs.ALL_GENERAL; a++) g = FZ.GameBase.SaveObject.m_data[a].state, f = FZ.GameBase.SaveObject.m_data[a].style, d = Math.floor(a / (FZ.GameDefs.DREAMPET_NUM_COL + 2)), e = a % (FZ.GameDefs.DREAMPET_NUM_COL + 2), b = null, b = new FZ.Diamond(d, e, f, g), this.m_allPets.push(b), FZ.GameDefs.DREAMPET_REMOVE !== g && this.m_parent.appendChild(b.m_div), FZ.GameDefs.DREAMPET_FOCUS === g && (this.m_firstPet = b)
 
-         },
 
-         saveLevel: function () {
 
-             FZ.GameBase.SaveObject.m_gamein = !0, FZ.GameBase.SaveObject.m_cur_score = this.m_score, FZ.GameBase.SaveObject.m_cur_hintCount = this.m_hintCount, FZ.GameBase.SaveObject.m_cur_left_pet = this.m_left_pet, FZ.GameBase.SaveObject.m_level_usedTime = FZ.Game.GameState.m_level_usedTime, FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (FZ.GameBase.SaveObject.m_sound = FZ.Game.GameState.m_sound);
 
-             var a, b = null,
 
-                 c = null;
 
-             c = FZ.GameBase.SaveObject.m_data;
 
-             for (a = 0; a < FZ.GameDefs.ALL_GENERAL; a++) c[a].style = this.m_allPets[a].m_style, c[a].state = this.m_allPets[a].m_state;
 
-             FZ.GameBase.saveGame()
 
-         },
 
-         initAllPets: function (a) {
 
-             var b = 0,
 
-                 c = 0,
 
-                 d = 0,
 
-                 e = FZ.GameDefs.DREAMPET_INIT,
 
-                 f = 0,
 
-                 g = null,
 
-                 h = null;
 
-             h = h || [], this.m_bonus_time = 0, this.m_score = 0, this.m_hintCount = FZ.GameDefs.LEVEL_HINT_NUMBER[this.getLevel()], this.clearAllPets(), this.m_left_pet = FZ.GameDefs.ALL_PET_NUM;
 
-             var i = 0,
 
-                 j = 0;
 
-             i = FZ.Math.random(0, FZ.GameDefs.DIAMOND_TYPES - FZ.GameDefs.LEVEL_PET_KIND[FZ.GameBase.SaveObject.m_cur_level]), i < 0 && (i = 0), j = i + FZ.GameDefs.LEVEL_PET_KIND[FZ.GameBase.SaveObject.m_cur_level];
 
-             for (f = 0; f < FZ.GameDefs.ALL_GENERAL_HALF; f++) {
 
-                 d = FZ.Math.random(i, j), e = FZ.GameDefs.DREAMPET_INIT, b = Math.floor(f / (FZ.GameDefs.DREAMPET_NUM_COL + 2)), c = f % (FZ.GameDefs.DREAMPET_NUM_COL + 2);
 
-                 if (b === 0 || b === FZ.GameDefs.DREAMPET_NUM_LINE + 1 || c === 0 || c === FZ.GameDefs.DREAMPET_NUM_COL + 1) e = FZ.GameDefs.DREAMPET_REMOVE, d = -1;
 
-                 g = null, g = new FZ.Diamond(b, c, d, e), this.m_allPets.push(g), FZ.GameDefs.DREAMPET_REMOVE !== e && this.m_parent.appendChild(g.m_div), h.push(g)
 
-             }
 
-             var k = null,
 
-                 l;
 
-             for (f = FZ.GameDefs.ALL_GENERAL_HALF; f < FZ.GameDefs.ALL_GENERAL; f++) {
 
-                 l = Math.floor(FZ.Math.random(0, h.length)), e = FZ.GameDefs.DREAMPET_INIT, d = h[l].getStyle(), b = Math.floor(f / (FZ.GameDefs.DREAMPET_NUM_COL + 2)), c = f % (FZ.GameDefs.DREAMPET_NUM_COL + 2);
 
-                 if (-1 === d)
 
-                     if (b !== 0 && b !== FZ.GameDefs.DREAMPET_NUM_LINE + 1 && c !== 0 && c !== FZ.GameDefs.DREAMPET_NUM_COL + 1) {
 
-                         l = Math.floor(FZ.Math.random(0, h.length)), d = h[l].getStyle();
 
-                         while (-1 === d) l = Math.floor(FZ.Math.random(0, h.length)), d = h[l].getStyle()
 
-                     } else e = FZ.GameDefs.DREAMPET_REMOVE, d = -1;
 
-                     else if (b === 0 || b === FZ.GameDefs.DREAMPET_NUM_LINE + 1 || c === 0 || c === FZ.GameDefs.DREAMPET_NUM_COL + 1) {
 
-                     l = Math.floor(FZ.Math.random(0, h.length)), d = h[l].getStyle();
 
-                     while (-1 !== d) l = Math.floor(FZ.Math.random(0, h.length)), d = h[l].getStyle();
 
-                     e = FZ.GameDefs.DREAMPET_REMOVE
 
-                 }
 
-                 h.splice(l, 1), g = null, g = new FZ.Diamond(b, c, d, e), this.m_allPets.push(g), FZ.GameDefs.DREAMPET_REMOVE !== e && this.m_parent.appendChild(g.m_div)
 
-             }
 
-             this.m_leftNum = -1, this.m_dialog = !1
 
-         },
 
-         debugAllPetsType: function () {
 
-             var a = 0;
 
-             debug_data = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 2, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
 
-             for (a = 0; a < FZ.GameDefs.ALL_GENERAL; a++) - 1 !== debug_data[a] && (this.m_allPets[a].m_module = debug_data[a], this.m_allPets[a].m_style = debug_data[a]), this.m_allPets[a].setModule(), -1 === debug_data[a] ? this.m_allPets[a].m_state = -1 : this.m_allPets[a].m_state = 0
 
-         },
 
-         getDiamondNumber: function (a) {
 
-             var b = 0,
 
-                 c = 0,
 
-                 d = null;
 
-             for (c = a; c < FZ.GameDefs.ALL_GENERAL; c += FZ.GameDefs.DIAMOND_COL_NUM) d = this.m_allPets[c], null !== d && b++;
 
-             return b
 
-         },
 
-         getLeftDiamonds: function () {
 
-             var a = null,
 
-                 b = 0,
 
-                 c = 0;
 
-             for (b = 0; b < FZ.GameDefs.ALL_GENERAL; b++) {
 
-                 a = this.m_allPets[b];
 
-                 if (!a) continue;
 
-                 c++
 
-             }
 
-             return c
 
-         },
 
-         getLevel: function () {
 
-             return this.m_level
 
-         },
 
-         setLevel: function (a) {
 
-             this.m_level = a
 
-         },
 
-         getHintCount: function () {
 
-             return this.m_hintCount
 
-         },
 
-         setHintCount: function (a) {
 
-             this.m_hintCount = a;
 
-         },
 
-         mouseHandler: function (a) {
 
-             //a.preventDefault();
 
-             var b = !1,
 
-                 c = "",
 
-                 d = 0,
 
-                 e = 0;
 
-             if ( !! this.m_reset_finished) {
 
-                 FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? FZ.EVENT_DEF.T_START === a.type ? (c = FZ.EVENT_DEF.M_MOVE, d = a.touches[0].pageX - FZ.DivManager.getOffsetX(), e = a.touches[0].pageY - FZ.DivManager.getOffsetY(), this.m_last_x = d, this.m_last_y = e) : FZ.EVENT_DEF.T_MOVE === a.type ? (c = FZ.EVENT_DEF.M_MOVE, d = a.touches[0].pageX - FZ.DivManager.getOffsetX(), e = a.touches[0].pageY - FZ.DivManager.getOffsetY(), this.m_last_x = d, this.m_last_y = e) : FZ.EVENT_DEF.T_END === a.type && (c = FZ.EVENT_DEF.M_CLICK, d = this.m_last_x, e = this.m_last_y, this.m_last_x = 0, this.m_last_y = 0) : (d = a.pageX - FZ.DivManager.getOffsetX(), e = a.pageY - FZ.DivManager.getOffsetY(), c = a.type);
 
-                 if (FZ.EVENT_DEF.M_MOVE !== c && FZ.EVENT_DEF.M_CLICK === c) {
 
-                     b = this.setPetDisappear(d, e);
 
-                     if (b === !1) return;
 
-                     this.m_observer && this.m_observer.checkWin && this.m_observer.checkWin()
 
-                 }
 
-                 return !1
 
-             }
 
-         }
 
-     }),
 
-     function () {
 
-         FZ.UIButton = FZ.newClass({
 
-             SWITCH_ON: 0,
 
-             SWITCH_OFF: 1,
 
-             m_w: 0,
 
-             m_h: 0,
 
-             m_col: 1,
 
-             m_div: null,
 
-             m_img_list: null,
 
-             m_call_mOver: null,
 
-             m_call_mOut: null,
 
-             m_call_mMove: null,
 
-             m_call_mClick: null,
 
-             m_call_tStart: null,
 
-             m_call_tMove: null,
 
-             m_call_tEnd: null,
 
-             m_is_switch: !1,
 
-             m_btn_state: 0,
 
-             m_observer: null,
 
-             m_enable: !0,
 
-             init: function (a, b, c, d, e) {
 
-                 this.m_col = c, this.m_w = a, this.m_h = b, this.m_div = document.createElement("div"), this.m_div.style.position = "absolute", this.m_div.style.width = this.m_w + "px", this.m_div.style.height = this.m_h + "px", this.m_img_list = [], this.m_img_list.push(d), this.m_img_list.push(e), this.m_div.style.backgroundRepeat = "no-repeat", this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[0] + ")", this.m_div.style.backgroundPosition = "0px 0px", this.m_enable = !0, this.m_is_switch = !1, this.setEnable(this.m_enable)
 
-             },
 
-             setSwitchButton: function (a, b) {
 
-                 this.m_is_switch = !0, this.m_btn_state = this.SWITCH_ON, this.m_img_list.push(a), this.m_img_list.push(b)
 
-             },
 
-             setSwitchState: function (a) {
 
-                 var b = 0;
 
-                 this.m_btn_state = a, this.SWITCH_OFF === this.m_btn_state && (b = 2), this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[b + 0] + ")"
 
-             },
 
-             setEnable: function (a) {
 
-                 this.m_enable = a, this.m_enable ? this.addEvent() : this.removeEvent()
 
-             },
 
-             setPos: function (a, b) {
 
-                 this.m_div.style.left = a + "px", this.m_div.style.top = b + "px"
 
-             },
 
-             addEvent: function () {
 
-                 this.removeEvent(), FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? (FZ.EventHandler(this, this.m_div, FZ.EVENT_DEF.T_START, this.mouseHandler), FZ.EventHandler(this, this.m_div, FZ.EVENT_DEF.T_MOVE, this.mouseHandler), FZ.EventHandler(this, this.m_div, FZ.EVENT_DEF.T_END, this.mouseHandler)) : (FZ.EventHandler(this, this.m_div, FZ.EVENT_DEF.M_OVER, this.mouseHandler), FZ.EventHandler(this, this.m_div, FZ.EVENT_DEF.M_MOVE, this.mouseHandler), FZ.EventHandler(this, this.m_div, FZ.EVENT_DEF.M_OUT, this.mouseHandler), FZ.EventHandler(this, this.m_div, FZ.EVENT_DEF.M_CLICK, this.mouseHandler))
 
-             },
 
-             removeEvent: function () {
 
-                 FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? (FZ.EventRemove(this, this.m_div, FZ.EVENT_DEF.T_START, this.m_call_tStart), this.m_call_tStart = null, FZ.EventRemove(this, this.m_div, FZ.EVENT_DEF.T_MOVE, this.m_call_tMove), this.m_call_tMove = null, FZ.EventRemove(this, this.m_div, FZ.EVENT_DEF.T_END, this.m_call_tEnd), this.m_call_tEnd = null) : (FZ.EventRemove(this, this.m_div, FZ.EVENT_DEF.M_OVER, this.m_call_mOver), this.m_call_mOver = null, FZ.EventRemove(this, this.m_div, FZ.EVENT_DEF.M_OUT, this.m_call_mOut), this.m_call_mOut = null, FZ.EventRemove(this, this.m_div, FZ.EVENT_DEF.M_MOVE, this.m_call_mMove), this.m_call_mMove = null, FZ.EventRemove(this, this.m_div, FZ.EVENT_DEF.M_CLICK, this.m_call_mClick), this.m_call_mClick = null)
 
-             },
 
-             addMonitor: function (a) {
 
-                 this.m_observer = a
 
-             },
 
-             removeMonitor: function () {
 
-                 this.m_observer = null
 
-             },
 
-             mouseHandler: function (a) {
 
-                 var b = "",
 
-                     c = 0;
 
-                 a.stopPropagation(), null, this.m_is_switch && this.SWITCH_OFF === this.m_btn_state && (c = 2), FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? (FZ.EVENT_DEF.T_START === a.type && (b = FZ.EVENT_DEF.M_OVER), FZ.EVENT_DEF.T_END === a.type && (b = FZ.EVENT_DEF.M_CLICK)) : b = a.type, FZ.EVENT_DEF.M_OVER === b ? FZ.Game.GameState.m_gamePause === !0 ? this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_HOME_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/BTN_MAIN_MENU_ICON_TOUCH.png)" : this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_HINT_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/BTN_HINT_GREY.png)" : this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_PAUSE_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[c + 1] + ")" : FZ.Game.GameState.BTN_SOUND_INDEX !== undefined && (this.SWITCH_OFF === this.m_btn_state && this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX] && (this.m_div.style.backgroundImage = "url(res/images/BTN_SOUND_OFF_GREY.png)"), this.SWITCH_ON === this.m_btn_state && this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX] && (this.m_div.style.backgroundImage = "url(res/images/BTN_SOUND_GREY.png)")) : this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[c + 1] + ")" : FZ.EVENT_DEF.M_OUT === b ? FZ.Game.GameState.m_gamePause === !0 ? this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_HOME_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/BTN_MAIN_MENU_ICON.png)" : this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_HINT_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/BTN_HINT_GREY.png)" : this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_PAUSE_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[c + 0] + ")" : FZ.Game.GameState.BTN_SOUND_INDEX !== undefined && (this.SWITCH_OFF === this.m_btn_state && this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX] && (this.m_div.style.backgroundImage = "url(res/images/BTN_SOUND_OFF_GREY.png)"), this.SWITCH_ON === this.m_btn_state && this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX] && (this.m_div.style.backgroundImage = "url(res/images/BTN_SOUND_GREY.png)")) : this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[c + 0] + ")" : FZ.EVENT_DEF.M_CLICK === b && (FZ.Game.GameState.m_gamePause === !0 ? this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_HOME_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/BTN_MAIN_MENU_ICON.png)" : this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_HINT_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/BTN_HINT_GREY.png)" : this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_PAUSE_INDEX] ? this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[c + 0] + ")" : FZ.Game.GameState.BTN_SOUND_INDEX !== undefined && (this.SWITCH_OFF === this.m_btn_state && this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX] && (this.m_div.style.backgroundImage = "url(res/images/BTN_SOUND_OFF_GREY.png)"), this.SWITCH_ON === this.m_btn_state && this === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX] && (this.m_div.style.backgroundImage = "url(res/images/BTN_SOUND_GREY.png)")) : this.m_div.style.backgroundImage = "url(res/images/" + this.m_img_list[c + 0] + ")", null !== this.m_observer && this.m_observer.buttonClick && this.m_observer.buttonClick(this));
 
-                 return !1
 
-             }
 
-         })
 
-     }(),
 
-     function () {
 
-         FZ.UIMenu = FZ.newClass({
 
-             MENU_SHOW: 0,
 
-             MENU_HIDE: 1,
 
-             m_div: null,
 
-             m_back_div: null,
 
-             m_btn_list: null,
 
-             m_back_w: 0,
 
-             m_back_h: 0,
 
-             m_observer: null,
 
-             m_state: 0,
 
-             m_show_x: 0,
 
-             m_show_y: 0,
 
-             m_hide_x: 0,
 
-             m_hide_y: 0,
 
-             m_btn_enable: null,
 
-             init: function () {
 
-                 this.m_div = document.createElement("div"), this.m_div.style.position = "absolute", this.m_div.style.webkitTransition = "translate", this.m_btn_list = [], this.m_back_div = document.createElement("div"), this.setState(this.MENU_SHOW, 0)
 
-             },
 
-             setBackImage: function (a, b, c) {
 
-                 var d = null;
 
-                 undefined !== b && (this.m_back_w = b), undefined !== c && (this.m_back_h = c), this.m_div.style.width = this.m_back_w + "px", this.m_div.style.height = this.m_back_h + "px", this.m_back_div.style.width = this.m_back_w + "px", this.m_back_div.style.height = this.m_back_h + "px", this.m_back_div.style.position = "absolute", this.m_back_div.style.backgroundRepeat = "no-repeat", this.m_back_div.style.backgroundImage = "url(res/images/" + a + ")", this.m_back_div.style.backgroundPosition = "0px; 0px", this.m_div.appendChild(this.m_back_div)
 
-             },
 
-             setzIndex: function (a) {
 
-                 this.m_div.style.zIndex = a
 
-             },
 
-             setPos: function (a, b) {
 
-                 this.m_div.style.webkitTransitionDuration = "0.2s", this.m_div.style.webkitTransform = "translate(" + a + "px, " + b + "px)"
 
-             },
 
-             setShowPos: function (a, b) {
 
-                 this.m_show_x = a, this.m_show_y = b
 
-             },
 
-             setHidePos: function (a, b) {
 
-                 this.m_hide_x = a, this.m_hide_y = b
 
-             },
 
-             addMonitor: function (a) {
 
-                 this.m_observer = a
 
-             },
 
-             removeMonitor: function () {
 
-                 this.m_observer = null
 
-             },
 
-             setEnableBtn: function (a) {
 
-                 this.m_btn_enable = a, a.m_div.style.zIndex = 1
 
-             },
 
-             addButton: function (a) {
 
-                 this.m_div.appendChild(a.m_div), this.m_btn_list.push(a)
 
-             },
 
-             addEnableBtn: function () {
 
-                 switch (this.m_state) {
 
-                 case this.MENU_SHOW:
 
-                     this.m_btn_enable && this.m_btn_enable.setSwitchState(this.m_btn_enable.SWITCH_OFF);
 
-                     break;
 
-                 case this.MENU_HIDE:
 
-                     this.m_btn_enable && this.m_btn_enable.setSwitchState(this.m_btn_enable.SWITCH_ON);
 
-                     break;
 
-                 default:
 
-                 }
 
-             },
 
-             setState: function (a, b) {
 
-                 this.m_state = a;
 
-                 switch (this.m_state) {
 
-                 case this.MENU_SHOW:
 
-                     this.setPos(this.m_show_x, this.m_show_y);
 
-                     break;
 
-                 case this.MENU_HIDE:
 
-                     this.setPos(this.m_hide_x, this.m_hide_y);
 
-                     break;
 
-                 default:
 
-                 }
 
-                 this.addEnableBtn()
 
-             },
 
-             removeButton: function (a) {
 
-                 var b = -1,
 
-                     c = 0;
 
-                 for (c = 0; c < this.m_btn_list.length; c++)
 
-                     if (a === this.m_btn_list[c]) {
 
-                         b = c;
 
-                         break
 
-                     } - 1 !== b && (a.removeEvent(), a.removeMonitor(), this.m_btn_list.splice(b, 1))
 
-             },
 
-             addEvent: function () {
 
-                 var a = 0,
 
-                     b = null;
 
-                 for (a = 0; a < this.m_btn_list.length; a++) b = this.m_btn_list[a], b.addMonitor(this), b.setEnable(!0)
 
-             },
 
-             removeEvent: function (a) {
 
-                 var b = 0,
 
-                     c = null;
 
-                 for (b = 0; b < this.m_btn_list.length; b++) c = this.m_btn_list[b], c.removeMonitor(), c.setEnable(!1)
 
-             },
 
-             buttonClick: function (a) {
 
-                 null !== this.m_observer && this.m_observer.menuItemClick && this.m_observer.menuItemClick(a)
 
-             }
 
-         })
 
-     }(), FZ.Game.LogoState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_LOGO,
 
-         CUR_UI_DEFS: ["splash"],
 
-         m_test_timer: 0,
 
-         preProcess: function () {
 
-             this.m_main_div.style.webkitTransition = "opacity", this.m_main_div.style.backgroundColor = "#fff", this.m_main_div.style.width = FZ.GameDefs.SCREEN_W + "px", this.m_main_div.style.height = FZ.GameDefs.SCREEN_H + "px", this.m_main_div.style.webkitTransitionDuration = "0s", this.m_main_div.style.opacity = 0, FZ.DivManager.addChild(this.m_main_div), this.m_timer = setTimeout(FZ.Tools.bind(this, this.fade_in), 10)
 
-         },
 
-         postProcess: function () {
 
-             FZ.DivManager.removeChild(this.m_main_div), clearTimeout(this.m_timer)
 
-         },
 
-         fade_in: function () {
 
-             this.m_main_div.style.webkitTransitionDuration = "10ms", this.m_main_div.style.opacity = 1, this.m_timer = setTimeout(FZ.Tools.bind(this, this.fade_out), 10)
 
-         },
 
-         fade_out: function () {
 
-             this.m_main_div.style.webkitTransitionDuration = "10ms", this.m_main_div.style.opacity = 0, this.m_timer = setTimeout(FZ.Tools.bind(this, this.fade_end), 10)
 
-         },
 
-         fade_end: function () {
 
-             FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_LOADING)
 
-         },
 
-         AIUpdate: function (a) {}
 
-     }, FZ.BaseState)), FZ.Game.LoadingState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_LOADING,
 
-         CUR_UI_DEFS: ["majong_BG", "LOADING_BG", "loading_empty", "loading_full"],
 
-         m_test_timer: 0,
 
-         m_bar_w: 0,
 
-         m_bar_div: null,
 
-         preProcess: function () {
 
-             var a = null,
 
-                 b = this,
 
-                 c = 0,
 
-                 d = null;
 
-             this.createUIs(this.CUR_UI_DEFS), d = FZ.getImgInfo(this.CUR_UI_DEFS[3]), this.m_bar_w = d.w, this.m_bar_div = this.m_ui_list[3], this.m_bar_div.style.overflow = "hidden", this.m_bar_div.style.display = "none";
 
-             for (c = 0; c < FZ.IphoneUI.length; c++) d = FZ.IphoneUI[c], FZ.spriteManager.addResource(d.name, d.zOrder, "res/images/" + d.fileURL, d.x, d.y, d.cols);
 
-             FZ.ResourceManager.addResource({
 
-                 Name: "BGMusic",
 
-                 Type: "Audio",
 
-                 URL: FZ.IphoneMusic[0]
 
-             }), FZ.DivManager.addChild(this.m_main_div), this.resetTranslate(0), setTimeout(function () {
 
-                 b.fade_in.call(b, 2e3, 1)
 
-             }, 10), this.m_timer = setTimeout(FZ.Tools.bind(this, this.AIUpdate), 100)
 
-         },
 
-         postProcess: function () {
 
-             FZ.DivManager.removeChild(this.m_main_div), clearTimeout(this.m_timer)
 
-         },
 
-         AIUpdate: function (a) {
 
-             var b = 0;
 
-             this.m_timer = setTimeout(FZ.Tools.bind(this, this.AIUpdate), 200), 0 !== FZ.ResourceManager.__ResourceCount && (b = this.m_bar_w * FZ.ResourceManager.__ResourceLoaded / FZ.ResourceManager.__ResourceCount), this.m_bar_div.style.width = "" + b + "px", this.m_bar_div.style.display = "inline";
 
-             if (FZ.ResourceManager.isResourceLoaded()) {
 
-                 var c = FZ.ResourceManager.ResourceLib.BGMusic.Resource;
 
-                 FZ.Music.set(c, !0), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_MAINMEN)
 
-             }
 
-         }
 
-     }, FZ.BaseState)), FZ.Game.MainmenuState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_MAINMEN,
 
-         CUR_UI_DEFS: ["majong_BG_MAINMENU", "MAIN_MENU_BG"],
 
-         BTN_PLAY_INDEX: 0,
 
-         CUR_BTN_ANDROID_DEFS: [
 
-             ["BTN_GAME_START", "BTN_GAME_START_TOUCH"],
 
-             ["BTN_GAME_CONTINUE", "BTN_GAME_CONTINUE_TOUCH"]
 
-         ],
 
-         CUR_BTN_DEFS: [
 
-             ["BTN_GAME_START", "BTN_GAME_START_TOUCH"],
 
-             ["BTN_GAME_CONTINUE", "BTN_GAME_CONTINUE_TOUCH"],
 
-             ["BTN_MENU_SOUND", "BTN_MENU_SOUND_TOUCH"]
 
-         ],
 
-         SOUND_SWITCH_DEFS: ["BTN_MENU_SOUND_OFF", "BTN_MENU_SOUND_OFF_TOUCH"],
 
-         BTN_NEW_GAME_INDEX: 0,
 
-         BTN_SOUND_INDEX: 2,
 
-         BTN_CONTINUE_INDEX: 1,
 
-         m_load_ui: !1,
 
-         m_next_state: "",
 
-         preProcess: function () {
 
-             var a = 0,
 
-                 b = null,
 
-                 c = null,
 
-                 d = null,
 
-                 e = null,
 
-                 f = this;
 
- 			//屏蔽音乐按钮
 
-             this.m_load_ui || (this.createUIs(this.CUR_UI_DEFS), FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD ? this.createBtns(this.CUR_BTN_DEFS, !0) : this.createBtns(this.CUR_BTN_ANDROID_DEFS, !0), FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (c = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[0]), cloneInfo = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[1]), this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchButton(c.fileURL, cloneInfo.fileURL)), FZ.DivManager.addChild(this.m_main_div), FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (this.m_sound = FZ.GameBase.SaveObject.m_sound, FZ.Music.setMute(!this.m_sound)), this.m_load_ui = !0);
 
- 			//this.m_load_ui || (this.createUIs(this.CUR_UI_DEFS), FZ.TargetMobile == null ? this.createBtns(this.CUR_BTN_DEFS, !0) : this.createBtns(this.CUR_BTN_ANDROID_DEFS, !0), FZ.TargetMobile == null && (c = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[0]), cloneInfo = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[1]), this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchButton(c.fileURL, cloneInfo.fileURL)), FZ.DivManager.addChild(this.m_main_div), FZ.TargetMobile == null && (this.m_sound = FZ.GameBase.SaveObject.m_sound, FZ.Music.setMute(!this.m_sound)), this.m_load_ui = !0);
 
- 			
 
- 			if (FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD) {
 
-                 this.m_sound = FZ.GameBase.SaveObject.m_sound;
 
-                 var b = this.m_btn_list[this.BTN_SOUND_INDEX];
 
-                 this.m_sound === !0 ? b.setSwitchState(b.SWITCH_ON) : b.setSwitchState(b.SWITCH_OFF)
 
-             }
 
- 			
 
-             FZ.GameBase.SaveObject.m_cur_level === 0 ? (this.m_btn_list[this.BTN_PLAY_INDEX].setEnable(!0), this.m_btn_list[this.BTN_PLAY_INDEX].m_div.style.display = "inline", this.m_btn_list[this.BTN_CONTINUE_INDEX].setEnable(!1), this.m_btn_list[this.BTN_CONTINUE_INDEX].m_div.style.display = "none") : FZ.GameBase.SaveObject.pass ? (this.m_btn_list[this.BTN_PLAY_INDEX].setEnable(!0), this.m_btn_list[this.BTN_PLAY_INDEX].m_div.style.display = "inline", this.m_btn_list[this.BTN_CONTINUE_INDEX].setEnable(!1), this.m_btn_list[this.BTN_CONTINUE_INDEX].m_div.style.display = "none", FZ.GameBase.SaveObject.m_cur_level = 0, FZ.GameBase.SaveObject.pass = !1, FZ.GameBase.SaveObject.score = 0, FZ.GameBase.SaveObject.m_hint = FZ.GameDefs.LEVEL_HINT_NUMBER[1], FZ.GameBase.SaveObject.m_gamein = !1, FZ.GameBase.saveGame()) : (this.m_btn_list[this.BTN_PLAY_INDEX].setEnable(!0), this.m_btn_list[this.BTN_PLAY_INDEX].m_div.style.display = "inline", this.m_btn_list[this.BTN_CONTINUE_INDEX].setEnable(!0), this.m_btn_list[this.BTN_CONTINUE_INDEX].m_div.style.display = "inline"), this.m_main_div.style.display = "inline", this.resetTranslate(.5), setTimeout(function () {
 
-                 f.fade_in.call(f, 2e3, 1)
 
-             }, 10)
 
-         },
 
-         postProcess: function () {
 
-             this.m_next_state !== FZ.StateDefs.GAME_STATE_GAME_CLEAR && this.fade_out(2e3, 0, 0)
 
-         },
 
-         pause: function () {
 
-             clearTimeout(this.m_timer)
 
-         },
 
-         resume: function () {
 
-             arguments.length > 0 && (statename = arguments[0]);
 
-             if (arguments.length > 1) {
 
-                 if (arguments[1] === "yes") {
 
-                     FZ.GameBase.SaveObject.m_cur_level = 0, FZ.GameBase.SaveObject.pass = !1, FZ.GameBase.SaveObject.score = 0, FZ.GameBase.SaveObject.m_hint = FZ.GameDefs.LEVEL_HINT_NUMBER[1], FZ.GameBase.SaveObject.m_gamein = !1, FZ.GameBase.saveGame(), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_IN);
 
-                     return
 
-                 }
 
-                 this.m_next_state = FZ.StateDefs.GAME_STATE_MAINMEN
 
-             }
 
-         },
 
-         buttonClick: function (a) {
 
-             this.m_btn_list[this.BTN_PLAY_INDEX] === a ? FZ.GameBase.SaveObject.m_cur_level === 0 ? FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_IN) : (this.m_next_state = FZ.StateDefs.GAME_STATE_GAME_CLEAR, this.pause(), FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_CLEAR)) : this.m_btn_list[this.BTN_SOUND_INDEX] === a ? (this.m_sound = !this.m_sound, FZ.Music.setMute(!this.m_sound), this.m_sound ? a.setSwitchState(a.SWITCH_ON) : a.setSwitchState(a.SWITCH_OFF), FZ.GameBase.SaveObject.m_sound = this.m_sound, FZ.GameBase.saveGame()) : this.m_btn_list[this.BTN_CONTINUE_INDEX] === a && FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_IN)
 
-         }
 
-     }, FZ.BaseState)), FZ.Game.ResetState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_RESET,
 
-         CUR_UI_DEFS: ["NEXT_LEVEL_BG", "TXT_ARE_YOU_SURE"],
 
-         BTN_YES_INDEX: 0,
 
-         BTN_NO_INDEX: 1,
 
-         CUR_BTN_DEFS: [
 
-             ["BTN_GAME_YES", "BTN_GAME_YES_TOUCH"],
 
-             ["BTN_GAME_NO", "BTN_GAME_NO_TOUCH"]
 
-         ],
 
-         m_ui_list: null,
 
-         m_btn_list: null,
 
-         popState: !1,
 
-         m_load_ui: !1,
 
-         preProcess: function () {
 
-             var a = null,
 
-                 b = null,
 
-                 c = null,
 
-                 d = 0,
 
-                 e = this;
 
-             this.m_load_ui ? this.m_main_div.style.display = "inline" : (this.createUIs(this.CUR_UI_DEFS), this.createBtns(this.CUR_BTN_DEFS, !0), FZ.DivManager.addChild(this.m_main_div), this.m_load_ui = !0), this.popState = !1, setTimeout(function () {
 
-                 e.fade_in.call(e, 2e3, 1)
 
-             }, 10)
 
-         },
 
-         postProcess: function () {
 
-             this.m_main_div.style.display = "none"
 
-         },
 
-         buttonClick: function (a) {
 
-             if (!this.popState) {
 
-                 var b = null;
 
-                 this.m_btn_list[this.BTN_YES_INDEX] === a ? (this.postProcess(), this.popState = !0, FZ.GameBase.popState(this.StateName, "yes")) : this.m_btn_list[this.BTN_NO_INDEX] === a && (this.postProcess(), this.popState = !0, FZ.GameBase.popState(this.StateName, "no"))
 
-             }
 
-         }
 
-     }, FZ.BaseState)),
 
-     function () {
 
-         var a = !1,
 
-             b = null;
 
-         FZ.Game.GameState = new(FZ.newClass({
 
-             StateName: FZ.StateDefs.GAME_STATE_GAME_IN,
 
-             CUR_UI_DEFS: ["majong_BG_GAME", "game_in_BG", "TIME_EMPTY", "TIME__FULL", "NUM_LEVEL_0", "ARROW_UP_DOWN", "ARROW_LEFT_RIGHT", "ARROW_DOWN", "ARROW_RIGHT", "ARROW_LEFT", "ARROW_UP", "number_score_1", "number_score_2", "number_score_3", "number_score_4", "number_score_5"],
 
-             UI_ARROW_START_INDEX: 5,
 
-             UI_ARROW_KINDS: 6,
 
-             UI_SCORE_START_INDEX: 11,
 
-             UI_TIME_BAR_INDEX: 3,
 
-             UI_LEVEL_NUM_INDEX: 4,
 
-             BTN_HOME_INDEX: 0,
 
-             BTN_HINT_INDEX: 1,
 
-             BTN_PAUSE_INDEX: 2,
 
-             BTN_START_INDEX: 3,
 
-             BTN_SOUND_INDEX: 3,
 
-             CUR_BTN_DEFS: [
 
-                 ["BTN_MAIN_MENU_ICON", "BTN_MAIN_MENU_ICON_TOUCH"],
 
-                 ["BTN_HINT", "BTN_HINT_TOUCH"],
 
-                 ["BTN_PAUSE", "BTN_PAUSE_TOUCH"],
 
-                 ["BTN_SOUND", "BTN_SOUND_TOUCH"]
 
-             ],
 
-             CUR_BTN_ANDROID_DEFS: [
 
-                 ["BTN_MAIN_MENU_ICON", "BTN_MAIN_MENU_ICON_TOUCH"],
 
-                 ["BTN_HINT", "BTN_HINT_TOUCH"],
 
-                 ["BTN_PAUSE", "BTN_PAUSE_TOUCH"]
 
-             ],
 
-             CUR_SWITCH_DEFS: ["BTN_START", "BTN_START_TOUCH"],
 
-             SOUND_SWITCH_DEFS: ["BTN_SOUND_OFF", "BTN_SOUND_OFF_TOUCH"],
 
-             m_isNoMatch: !1,
 
-             m_label_list: null,
 
-             m_levelStart: !1,
 
-             m_diamondMgr: null,
 
-             m_load_ui: !1,
 
-             m_curLevel_div: null,
 
-             m_next_state: "",
 
-             m_slide_menu: null,
 
-             m_hint_num_div: null,
 
-             m_pause_div: null,
 
-             m_str_nomatch_div: null,
 
-             m_time_bar_div: null,
 
-             m_time_bar_w: 0,
 
-             m_call_tStart: null,
 
-             m_call_mClick: null,
 
-             m_call_time: null,
 
-             m_level_usedTime: 0,
 
-             levelStartTime: 0,
 
-             levelCurrentTime: 0,
 
-             levelPauseStartTime: 0,
 
-             levelPauseEndTime: 0,
 
-             levelPauseTime: 0,
 
-             curLevelUsedTime: 0,
 
-             m_gamePause: !1,
 
-             pageHiddin: !1,
 
-             STR_SCORE_RECT: [120, 28, 50, 20],
 
-             STR_TIME_RECT: [120, 48, 50, 20],
 
-             createStrDiv: function (a) {
 
-                 var b = document.createElement("div");
 
-                 b.style.position = "absolute", b.style.width = a[2] + "px", b.style.height = a[3] + "px", b.style.left = a[0] + "px", b.style.top = a[1] + "px", b.style.color = "#fff", b.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px", b.style.fontFamily = "Arial", b.style.lineHeight = a[3] + "px", b.style.textAlign = "left", this.m_main_div.appendChild(b);
 
-                 return b
 
-             },
 
-             pause: function () {
 
-                 clearTimeout(this.m_timer)
 
-             },
 
-             resume: function () {
 
-                 var a = null;
 
-                 arguments.length > 0 && (a = arguments[0]);
 
-                 if (null !== this.m_diamondMgr) {
 
-                     this.m_time_bar_div.style.display = "inline";
 
-                     if (FZ.StateDefs.GAME_STATE_OVER == a) {
 
-                         this.m_time_bar_div.style.width = this.m_time_bar_w + "px", this.m_btn_list[this.BTN_HINT_INDEX].setEnable(!0), this.m_diamondMgr.initAllPets(!0), this.m_diamondMgr.showPets(), this.levelStartTime = (new Date).getTime(), this.levelCurrentTime = this.levelStartTime, this.levelPauseStartTime = this.levelStartTime, this.levelPauseEndTime = this.levelStartTime, this.levelPauseTime = 0, this.curLevelUsedTime = 0, this.m_btn_list[this.BTN_HINT_INDEX].m_div.style.backgroundImage = "url(res/images/" + this.m_btn_list[this.BTN_HINT_INDEX].m_img_list[0] + ")", this.m_game_bg_div = this.m_ui_list[1], this.m_diamondMgr.setHintCount(FZ.GameBase.SaveObject.m_hint), this.m_diamondMgr.setLevel(FZ.GameBase.SaveObject.m_cur_level);
 
-                         var b = this.m_diamondMgr.getHintCount();
 
-                         this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "visible";
 
-                         if (b >= 10) {
 
-                             var c = Math.floor(b % 10);
 
-                             this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + c + ".png )", c = Math.floor(b / 10), this.m_hint_num_div[1].style.backgroundImage = "url(res/images/NUM_LEVEL_" + c + ".png )"
 
-                         } else b === 0 ? (this.m_hint_num_div[0].style.visibility = "hidden", this.m_hint_num_div[1].style.visibility = "hidden") : (this.m_hint_num_div[1].style.visibility = "hidden", this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + b + ".png )");
 
-                         var d = this.m_diamondMgr.getLevel(),
 
-                             e = null;
 
-                         e = FZ.getImgInfo("NUM_LEVEL_" + d), this.m_curLevel_div.style.backgroundImage = "url(res/images/" + e.fileURL + ")", this.m_diamondMgr.setParent(this.m_main_div)
 
-                     } else if (FZ.StateDefs.GAME_STATE_NEXT_LEVEL == a) {
 
-                         this.m_btn_list[this.BTN_HINT_INDEX].m_div.style.backgroundImage = "url(res/images/" + this.m_btn_list[this.BTN_HINT_INDEX].m_img_list[0] + ")", this.m_time_bar_div.style.width = this.m_time_bar_w + "px", this.m_btn_list[this.BTN_HINT_INDEX].setEnable(!0), this.m_diamondMgr.initAllPets(!0), this.m_diamondMgr.hidePets(), this.levelStartTime = (new Date).getTime(), this.levelCurrentTime = this.levelStartTime, this.levelPauseStartTime = this.levelStartTime, this.levelPauseEndTime = this.levelStartTime, this.levelPauseTime = 0, this.curLevelUsedTime = 0, this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "visible";
 
-                         var b = FZ.GameBase.SaveObject.m_hint;
 
-                         if (b >= 10) {
 
-                             var c = Math.floor(b % 10);
 
-                             this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + c + ".png )", c = Math.floor(b / 10), this.m_hint_num_div[1].style.backgroundImage = "url(res/images/NUM_LEVEL_" + c + ".png )"
 
-                         } else b === 0 ? (this.m_hint_num_div[0].style.visibility = "hidden", this.m_hint_num_div[1].style.visibility = "hidden") : (this.m_hint_num_div[1].style.visibility = "hidden", this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + b + ".png )");
 
-                         this.m_diamondMgr.setLevel(FZ.GameBase.SaveObject.m_cur_level), this.m_diamondMgr.setHintCount(FZ.GameBase.SaveObject.m_hint);
 
-                         var d = this.m_diamondMgr.getLevel();
 
-                         switch (d) {
 
-                         case 1:
 
-                         case 2:
 
-                         case 4:
 
-                             this.m_levelStart = !0, this.m_diamondMgr.showPets();
 
-                             for (var f = 0; f < this.UI_ARROW_KINDS; f++) this.m_ui_list[this.UI_ARROW_START_INDEX + f].style.display = "none";
 
-                             this.m_diamondMgr.setParent(this.m_main_div);
 
-                             break;
 
-                         case 3:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX].style.display = "inline";
 
-                             break;
 
-                         case 5:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 1].style.display = "inline";
 
-                             break;
 
-                         case 6:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 2].style.display = "inline";
 
-                             break;
 
-                         case 7:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 3].style.display = "inline";
 
-                             break;
 
-                         case 8:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 4].style.display = "inline";
 
-                             break;
 
-                         case 9:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 5].style.display = "inline";
 
-                             break;
 
-                         default:
 
-                         }
 
-                         var e = null;
 
-                         e = FZ.getImgInfo("NUM_LEVEL_" + d), this.m_curLevel_div.style.backgroundImage = "url(res/images/" + e.fileURL + ")", this.m_curLevel_div.style.display = "inline"
 
-                     } else if (FZ.StateDefs.GAME_STATE_RESET == a && arguments.length > 1) {
 
-                         if (arguments[1] === "yes") {
 
-                             this.m_next_state = FZ.StateDefs.GAME_STATE_MAINMEN, this.m_diamondMgr.saveLevel(), setTimeout(function () {
 
-                                 FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_MAINMEN)
 
-                             }, 100);
 
-                             return
 
-                         }
 
-                         this.levelPauseEndTime = (new Date).getTime(), this.levelPauseTime += this.levelPauseEndTime - this.levelPauseStartTime, this.m_diamondMgr.setParent(this.m_main_div)
 
-                     }
 
-                 }
 
-                 this.m_status = FZ.stateStatus.NORMAL, this.m_timer = setTimeout(FZ.Tools.bind(this, this.checkOver), 0)
 
-             },
 
-             setText: function (a, b) {
 
-                 a.innerHTML = "" + b
 
-             },
 
-             preProcess: function (b) {
 
-                 j = this;
 
-                 var c = 0,
 
-                     d = null,
 
-                     e = null,
 
-                     f = null,
 
-                     g = null,
 
-                     h = null,
 
-                     i = FZ.GameBase.SaveObject.m_cur_level,
 
-                     j = this;
 
-                 if (i === undefined || 0 === i) FZ.GameBase.SaveObject.m_cur_level = 1, FZ.GameBase.saveGame();
 
-                 if (!this.m_load_ui) {
 
-                     this.m_pause_div = document.createElement("div"), this.m_pause_div.style.zIndex = 200, f = FZ.getImgInfo("PAUSE_BG"), FZ.GameBase.setCss(this.m_pause_div, f), this.m_main_div.appendChild(this.m_pause_div), this.m_pause_div.style.display = "none", this.m_str_nomatch_div = document.createElement("div"), this.m_str_nomatch_div.style.zIndex = 202, f = FZ.getImgInfo("NO_MORE_MATCHS"), FZ.GameBase.setCss(this.m_str_nomatch_div, f), this.m_main_div.appendChild(this.m_str_nomatch_div), this.m_str_nomatch_div.style.display = "none";
 
-                     var k = FZ.GameBase.SaveObject.m_hint;
 
-                     this.m_hint_num_div = [];
 
-                     var l = FZ.AG.SearchSpecialPath.setNumDiv(this.m_hint_num_div, k);
 
-                     while (l > 0) this.m_main_div.appendChild(this.m_hint_num_div[l - 1]), l--;
 
-                     this.createUIs(this.CUR_UI_DEFS);
 
-                     for (var c = 0; c < this.UI_ARROW_KINDS; c++) this.m_ui_list[this.UI_ARROW_START_INDEX + c].style.display = "none";
 
-                     FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD ? this.createBtns(this.CUR_BTN_DEFS, !0) : this.createBtns(this.CUR_BTN_ANDROID_DEFS, !0), f = FZ.getImgInfo(this.CUR_SWITCH_DEFS[0]), g = FZ.getImgInfo(this.CUR_SWITCH_DEFS[1]), this.m_btn_list[this.BTN_PAUSE_INDEX].setSwitchButton(f.fileURL, g.fileURL), FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (f = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[0]), g = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[1]), this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchButton(f.fileURL, g.fileURL)), this.m_diamondMgr = new FZ.DiamondManager, this.m_diamondMgr.m_parent = this.m_main_div, this.m_diamondMgr.setBubble(!1), FZ.DivManager.addChild(this.m_main_div), this.m_load_ui = !0
 
- 					//FZ.TargetMobile == null ? this.createBtns(this.CUR_BTN_DEFS, !0) : this.createBtns(this.CUR_BTN_ANDROID_DEFS, !0), f = FZ.getImgInfo(this.CUR_SWITCH_DEFS[0]), g = FZ.getImgInfo(this.CUR_SWITCH_DEFS[1]), this.m_btn_list[this.BTN_PAUSE_INDEX].setSwitchButton(f.fileURL, g.fileURL), FZ.TargetMobile == null && (f = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[0]), g = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[1]), this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchButton(f.fileURL, g.fileURL)), this.m_diamondMgr = new FZ.DiamondManager, this.m_diamondMgr.m_parent = this.m_main_div, this.m_diamondMgr.setBubble(!1), FZ.DivManager.addChild(this.m_main_div), this.m_load_ui = !0
 
-                 } else this.m_diamondMgr.setBubble(!1), this.m_main_div.style.display = "inline";
 
-                 this.m_curLevel_div = this.m_ui_list[this.UI_LEVEL_NUM_INDEX], this.m_time_bar_div = this.m_ui_list[this.UI_TIME_BAR_INDEX], f = FZ.getImgInfo(this.CUR_UI_DEFS[this.UI_TIME_BAR_INDEX]), this.m_time_bar_w = f.w, this.m_time_bar_div.style.width = this.m_time_bar_w + "px", this.m_diamondMgr.setObserver(this);
 
-                 if (FZ.StateDefs.GAME_STATE_MAINMEN === b || FZ.StateDefs.GAME_STATE_OVER === b || FZ.StateDefs.GAME_STATE_HELP === b) {
 
-                     if (FZ.GameBase.SaveObject.m_gamein === !0) {
 
-                         this.m_diamondMgr.resumeLevel();
 
-                         var m = FZ.GameBase.SaveObject.m_cur_hintCount
 
-                     } else {
 
-                         this.m_diamondMgr.initAllPets(!0);
 
-                         var m = FZ.GameBase.SaveObject.m_hint
 
-                     }
 
-                     this.m_diamondMgr.setHintCount(m), this.m_btn_list[this.BTN_HINT_INDEX].setEnable(!0), this.m_btn_list[this.BTN_HINT_INDEX].m_div.style.backgroundImage = "url(res/images/BTN_HINT.png )", this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "visible";
 
-                     if (m >= 10) {
 
-                         var n = Math.floor(m % 10);
 
-                         this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + n + ".png )", n = Math.floor(m / 10), this.m_hint_num_div[1].style.backgroundImage = "url(res/images/NUM_LEVEL_" + n + ".png )"
 
-                     } else m === 0 ? (this.m_btn_list[this.BTN_HINT_INDEX].m_div.style.backgroundImage = "url(res/images/BTN_HINT_GREY.png )", this.m_btn_list[this.BTN_HINT_INDEX].setEnable(!1), this.m_hint_num_div[0].style.visibility = "hidden", this.m_hint_num_div[1].style.visibility = "hidden") : (this.m_hint_num_div[1].style.visibility = "hidden", this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + m + ".png )");
 
-                     this.m_diamondMgr.hidePets()
 
-                 }
 
-                 f = FZ.getImgInfo("NUM_LEVEL_" + FZ.GameBase.SaveObject.m_cur_level), this.m_curLevel_div.style.backgroundImage = "url(res/images/" + f.fileURL + ")";
 
-                 if (FZ.GameBase.SaveObject.m_gamein === !0) {
 
-                     this.m_levelStart = !0, this.curLevelUsedTime = FZ.GameBase.SaveObject.m_level_usedTime, this.m_diamondMgr.showPets();
 
-                     for (var c = 0; c < this.UI_ARROW_KINDS; c++) this.m_ui_list[this.UI_ARROW_START_INDEX + c].style.display = "none";
 
-                     this.m_diamondMgr.setParent(this.m_main_div)
 
-                 } else {
 
-                     this.curLevelUsedTime = 0, this.m_diamondMgr.setLevel(FZ.GameBase.SaveObject.m_cur_level), i = this.m_diamondMgr.getLevel();
 
-                     switch (i) {
 
-                     case 1:
 
-                     case 2:
 
-                     case 4:
 
-                         this.m_levelStart = !0, this.m_diamondMgr.showPets();
 
-                         for (var c = 0; c < this.UI_ARROW_KINDS; c++) this.m_ui_list[this.UI_ARROW_START_INDEX + c].style.display = "none";
 
-                         this.m_diamondMgr.setParent(this.m_main_div);
 
-                         break;
 
-                     case 3:
 
-                         this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX].style.display = "inline";
 
-                         break;
 
-                     case 5:
 
-                         this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 1].style.display = "inline";
 
-                         break;
 
-                     case 6:
 
-                         this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 2].style.display = "inline";
 
-                         break;
 
-                     case 7:
 
-                         this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 3].style.display = "inline";
 
-                         break;
 
-                     case 8:
 
-                         this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 4].style.display = "inline";
 
-                         break;
 
-                     case 9:
 
-                         this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 5].style.display = "inline";
 
-                         break;
 
-                     default:
 
-                     }
 
-                 }
 
-                 this.levelStartTime = (new Date).getTime(), this.levelCurrentTime = this.levelStartTime, this.levelPauseStartTime = this.levelStartTime, this.levelPauseEndTime = this.levelStartTime, this.levelPauseTime = 0, this.resetTranslate(0), FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (this.m_sound = FZ.GameBase.SaveObject.m_sound, this.m_sound === !0 ? this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchState(this.m_btn_list[this.BTN_SOUND_INDEX].SWITCH_ON) : this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchState(this.m_btn_list[this.BTN_SOUND_INDEX].SWITCH_OFF)), this.m_btn_list[this.BTN_HOME_INDEX].m_div.style.display = "none", this.m_diamondMgr.setBonusTime(0), a && document.addEventListener("keyup", FZ.Tools.bindWithEvent(this, this.debugLevel), !1), setTimeout(function () {
 
- 				//this.levelStartTime = (new Date).getTime(), this.levelCurrentTime = this.levelStartTime, this.levelPauseStartTime = this.levelStartTime, this.levelPauseEndTime = this.levelStartTime, this.levelPauseTime = 0, this.resetTranslate(0), FZ.TargetMobile == null && (this.m_sound = FZ.GameBase.SaveObject.m_sound, this.m_sound === !0 ? this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchState(this.m_btn_list[this.BTN_SOUND_INDEX].SWITCH_ON) : this.m_btn_list[this.BTN_SOUND_INDEX].setSwitchState(this.m_btn_list[this.BTN_SOUND_INDEX].SWITCH_OFF)), this.m_btn_list[this.BTN_HOME_INDEX].m_div.style.display = "none", this.m_diamondMgr.setBonusTime(0), a && document.addEventListener("keyup", FZ.Tools.bindWithEvent(this, this.debugLevel), !1), setTimeout(function () {
 
-                     j.fade_in.call(j, 2e3, 1)
 
-                 }, 10), this.m_timer = setTimeout(FZ.Tools.bind(this, this.checkOver), 0), this.m_call_time = FZ.Tools.bind(this, this.checkOver)
 
-             },
 
-             postProcess: function () {
 
-                 this.m_diamondMgr.removeEvent(), this.m_next_state === FZ.StateDefs.GAME_STATE_OVER || this.m_next_state === FZ.StateDefs.GAME_STATE_RESET || this.m_next_state === FZ.StateDefs.GAME_STATE_NEXT_LEVEL || this.m_next_state === FZ.StateDefs.GAME_STATE_GAME_WIN ? this.m_main_div.style.display = "inline" : (this.m_main_div.style.display = "none", this.fade_out(2e3, 0, 0))
 
-             },
 
-             mouseHandler: function (a) {
 
-                 null, FZ.EventRemove(this, this.m_main_div, FZ.EVENT_DEF.T_START, this.m_call_tStart), FZ.EventRemove(this, this.m_main_div, FZ.EVENT_DEF.M_CLICK, this.m_call_mClick), this.m_levelStart = !0, this.m_diamondMgr.showPets();
 
-                 for (var b = 0; b < this.UI_ARROW_KINDS; b++) this.m_ui_list[this.UI_ARROW_START_INDEX + b].style.display = "none";
 
-                 this.levelStartTime = (new Date).getTime(), this.levelCurrentTime = this.levelStartTime, this.levelPauseStartTime = this.levelStartTime, this.levelPauseEndTime = this.levelStartTime, this.levelPauseTime = 0, this.m_levelLeftTime = 0, this.m_diamondMgr.setParent(this.m_main_div)
 
-             },
 
-             checkOver: function () {
 
-                 var a = this;
 
-                 if (undefined !== FZ.GameBase.CurrentState) {
 
-                     if (FZ.StateDefs.GAME_STATE_GAME_IN !== FZ.GameBase.CurrentState.StateName) {
 
-                         clearTimeout(this.m_timer);
 
-                         return
 
-                     }
 
-                     var b = 0,
 
-                         c = this.m_diamondMgr.getLevel();
 
-                     if (!this.m_levelStart) {
 
-                         var d = Math.floor((new Date).getTime() - this.levelCurrentTime) / 1e3,
 
-                             e = !1,
 
-                             f = FZ.AG.SearchSpecialPath.setScoreNum(FZ.GameBase.SaveObject.score + this.m_diamondMgr.getScore());
 
-                         for (var b = 0; b < f.length; b++) this.m_ui_list[this.UI_SCORE_START_INDEX + 5 - f.length + b].style.backgroundImage = "url(res/images/NUM_LEVEL_" + f[f.length - 1 - b] + ".png)";
 
-                         if (f.length < 5)
 
-                             for (var b = 0; b < 5 - f.length; b++) this.m_ui_list[this.UI_SCORE_START_INDEX + b].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-                         switch (c) {
 
-                         case 3:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX].style.display = "inline";
 
-                             break;
 
-                         case 5:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 1].style.display = "inline";
 
-                             break;
 
-                         case 6:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 2].style.display = "inline";
 
-                             break;
 
-                         case 7:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 3].style.display = "inline";
 
-                             break;
 
-                         case 8:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 4].style.display = "inline";
 
-                             break;
 
-                         case 9:
 
-                             this.m_levelStart = !1, this.m_diamondMgr.hidePets(), this.m_ui_list[this.UI_ARROW_START_INDEX + 5].style.display = "inline";
 
-                             break;
 
-                         default:
 
-                         }
 
-                         FZ.TARGET_DEF.MOBILE === FZ.TargetPort ? null === this.m_call_tStart && FZ.EventHandler(this, this.m_main_div, FZ.EVENT_DEF.T_START, this.mouseHandler) : null === this.m_call_mClick && FZ.EventHandler(this, this.m_main_div, FZ.EVENT_DEF.M_CLICK, this.mouseHandler);
 
-                         if (d > 3) {
 
-                             this.m_levelStart = !0, this.m_diamondMgr.showPets();
 
-                             for (var b = 0; b < this.UI_ARROW_KINDS; b++) this.m_ui_list[this.UI_ARROW_START_INDEX + b].style.display = "none";
 
-                             this.levelStartTime = (new Date).getTime(), this.levelCurrentTime = this.levelStartTime, this.levelPauseStartTime = this.levelStartTime, this.levelPauseEndTime = this.levelStartTime, this.levelPauseTime = 0, this.m_levelLeftTime = 0, this.m_diamondMgr.setParent(this.m_main_div)
 
-                         }
 
-                         this.m_timer = setTimeout(a.m_call_time, 200), this.m_diamondMgr.setBubble(!0);
 
-                         return
 
-                     }
 
-                     if (this.m_isNoMatch === !0) {
 
-                         this.m_str_nomatch_div.style.display = "inline", (new Date).getTime() - this.levelCurrentTime > 2e3 && (this.m_diamondMgr.ResetPosition(), this.m_diamondMgr.searchHasMatch() || this.m_diamondMgr.ResetTwoPosition(), this.m_isNoMatch = !1, this.levelPauseTime += 2200, this.m_str_nomatch_div.style.display = "none"), this.m_timer = setTimeout(a.m_call_time, 200);
 
-                         return
 
-                     }
 
-                     if (this.m_gamePause || this.pageHiddin) {
 
-                         this.m_timer = setTimeout(FZ.Tools.bind(this, this.checkOver), 100);
 
-                         return
 
-                     }
 
-                     c = FZ.GameBase.SaveObject.m_cur_level;
 
-                     var d = Math.floor(((new Date).getTime() - this.levelPauseTime - this.levelStartTime) / 1e3 + this.curLevelUsedTime),
 
-                         g = this.m_time_bar_w / FZ.GameDefs.LEVEL_TIME[FZ.GameBase.SaveObject.m_cur_level];
 
-                     d -= this.m_diamondMgr.getBonusTime(), d >= FZ.GameDefs.LEVEL_TIME[FZ.GameBase.SaveObject.m_cur_level] ? d = FZ.GameDefs.LEVEL_TIME[FZ.GameBase.SaveObject.m_cur_level] : d < 0 && (d = 0);
 
-                     var h = (FZ.GameDefs.LEVEL_TIME[c] - d) * g;
 
-                     this.m_time_bar_div.style.width = h + "px", !(FZ.GameDefs.LEVEL_TIME[c] - d > 0);
 
-                     var f = FZ.AG.SearchSpecialPath.setScoreNum(FZ.GameBase.SaveObject.score + this.m_diamondMgr.getScore());
 
-                     for (var b = f.length - 1; b >= 0; b--) this.m_ui_list[this.UI_SCORE_START_INDEX + 5 - f.length + b].style.backgroundImage = "url(res/images/NUM_LEVEL_" + f[f.length - 1 - b] + ".png)";
 
-                     if (f.length < 5)
 
-                         for (var b = 0; b < 5 - f.length; b++) this.m_ui_list[this.UI_SCORE_START_INDEX + b].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-                     this.m_level_usedTime = d;
 
-                     if (FZ.GameDefs.LEVEL_TIME[c] <= d) {
 
-                         this.m_timer = setTimeout(FZ.Tools.bind(this, this.setGameOver), 0), this.m_diamondMgr.setBubble(!0);
 
-                         return
 
-                     }
 
-                     this.m_timer = setTimeout(a.m_call_time, 1500), this.m_diamondMgr.saveLevel()
 
-                 }
 
-             },
 
-             checkWin: function () {
 
-                 var a = this.m_diamondMgr.getLevel(),
 
-                     b = ((new Date).getTime() - this.levelPauseTime - this.levelStartTime) / 1e3 + this.curLevelUsedTime;
 
-                 if (this.m_diamondMgr.getLeftPet() === 0) {
 
-                     var c = FZ.GameBase.SaveObject.score,
 
-                         d = this.m_diamondMgr.getScore() + (FZ.GameDefs.LEVEL_TIME[a] - this.m_level_usedTime) * 30,
 
-                         e = FZ.AG.SearchSpecialPath.setScoreNum(FZ.GameBase.SaveObject.score + d);
 
-                     for (var f = e.length - 1; f >= 0; f--) this.m_ui_list[this.UI_SCORE_START_INDEX + 5 - e.length + f].style.backgroundImage = "url(res/images/NUM_LEVEL_" + e[e.length - 1 - f] + ".png)";
 
-                     if (e.length < 5)
 
-                         for (var f = 0; f < 5 - e.length; f++) this.m_ui_list[this.UI_SCORE_START_INDEX + f].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-                     if (a === FZ.GameDefs.MAX_LEVEL_RANK) {
 
-                         clearTimeout(this.m_timer), this.m_diamondMgr.setBubble(!1), this.m_next_state = FZ.StateDefs.GAME_STATE_GAME_WIN, this.pause(), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_WIN, d + c, d), FZ.GameBase.SaveObject.pass = !0, FZ.GameBase.SaveObject.score += d, FZ.GameBase.SaveObject.m_hint = this.m_diamondMgr.getHintCount() + FZ.GameDefs.LEVEL_HINT_NUMBER[a], FZ.GameBase.saveGame();
 
-                         return
 
-                     }
 
-                     clearTimeout(this.m_timer), this.m_diamondMgr.setBubble(!1), this.m_next_state = FZ.StateDefs.GAME_STATE_NEXT_LEVEL, this.pause(), FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_NEXT_LEVEL, d + c, d), FZ.GameBase.SaveObject.score += d, FZ.GameBase.SaveObject.m_cur_level = a + 1, FZ.GameBase.SaveObject.m_hint = this.m_diamondMgr.getHintCount() + FZ.GameDefs.LEVEL_HINT_NUMBER[a + 1], FZ.GameBase.saveGame()
 
- 					play68_submitScore(FZ.GameBase.SaveObject.score);Play68.setRankingScoreDesc(FZ.GameBase.SaveObject.score);
 
-                 }
 
-             },
 
-             checkNoMatch: function () {
 
-                 this.m_diamondMgr.searchHasMatch() || (this.m_isNoMatch = !0), this.m_isNoMatch && (this.levelCurrentTime = (new Date).getTime())
 
-             },
 
-             setGameOver: function () {
 
-                 this.m_diamondMgr.setBubble(!1), clearTimeout(this.m_timer), this.m_next_state = FZ.StateDefs.GAME_STATE_OVER, this.pause();
 
-                 var a = this.m_diamondMgr.getScore(),
 
-                     b = FZ.GameBase.SaveObject.score;
 
-                 FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_OVER, a + b), FZ.GameBase.SaveObject.score = 0, FZ.GameBase.SaveObject.m_cur_level = 1, FZ.GameBase.SaveObject.m_hint = FZ.GameDefs.LEVEL_HINT_NUMBER[1], FZ.GameBase.SaveObject.m_gamein = !1, FZ.GameBase.SaveObject.m_cur_score = 0, FZ.GameBase.SaveObject.m_cur_hintCount = FZ.GameDefs.LEVEL_HINT_NUMBER[1], FZ.GameBase.SaveObject.m_cur_left_pet = FZ.GameDefs.ALL_PET_NUM, FZ.GameBase.SaveObject.m_level_usedTime = 0, FZ.GameBase.saveGame()
 
- 				
 
- 				play68_submitScore(FZ.GameBase.SaveObject.score);
 
-             },
 
-             setNextLevel: function (a, b) {
 
-                 clearTimeout(this.m_timer), this.m_diamondMgr.setBubble(!1), this.m_next_state = FZ.StateDefs.GAME_STATE_NEXT_LEVEL, this.pause(), FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_NEXT_LEVEL, a, b)
 
-             },
 
-             setGameWin: function (a, b) {
 
-                 clearTimeout(this.m_timer), this.m_diamondMgr.setBubble(!1), this.m_next_state = FZ.StateDefs.GAME_STATE_GAME_WIN, this.pause(), FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_WIN, a, b)
 
-             },
 
-             buttonClick: function (a) {
 
-                 if (undefined !== FZ.GameBase.CurrentState) {
 
-                     if (FZ.StateDefs.GAME_STATE_GAME_IN !== FZ.GameBase.CurrentState.StateName) return;
 
-                     if (this.m_isNoMatch === !0) return;
 
-                     if (this.m_btn_list[this.BTN_HOME_INDEX] === a) {
 
-                         this.m_gamePause = !this.m_gamePause, this.m_btn_list[this.BTN_HOME_INDEX].m_div.style.display = "none", this.m_btn_list[this.BTN_HINT_INDEX].m_div.style.display = "inline";
 
-                         var b = this.m_diamondMgr.getHintCount();
 
-                         b > 10 ? (this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "visible") : b === 0 ? (this.m_hint_num_div[0].style.visibility = "hidden", this.m_hint_num_div[1].style.visibility = "hidden") : (this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "hidden"), FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (this.m_btn_list[this.BTN_SOUND_INDEX].m_div.style.display = "inline"), this.m_pause_div.style.display = "none", this.m_diamondMgr.m_reset_finished = !0, FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].SWITCH_OFF === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_btn_state && (FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_div.style.backgroundImage = "url(res/images/BTN_SOUND_OFF.png)"), FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].SWITCH_ON === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_btn_state && (FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_div.style.backgroundImage = "url(res/images/BTN_SOUND.png)")), this.m_btn_list[this.BTN_PAUSE_INDEX].setSwitchState(this.m_btn_list[this.BTN_PAUSE_INDEX].SWITCH_ON), this.levelPauseEndTime = (new Date).getTime(), this.levelPauseTime += this.levelPauseEndTime - this.levelPauseStartTime, this.m_next_state = FZ.StateDefs.GAME_STATE_RESET, this.m_diamondMgr.setBubble(!1), this.levelPauseStartTime = (new Date).getTime(), this.pause(), FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_RESET)
 
-                     } else if (this.m_btn_list[this.BTN_HINT_INDEX] === a) {
 
-                         this.m_diamondMgr.setBubble(!1);
 
-                         if (this.m_gamePause) return;
 
-                         if (this.m_diamondMgr.getHintCount() > 0 && !1 !== this.m_diamondMgr.searchHint()) {
 
-                             var c = this.m_diamondMgr.getHintCount();
 
-                             this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "visible";
 
-                             if (c >= 10) {
 
-                                 var d = Math.floor(c % 10);
 
-                                 this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + d + ".png )";
 
-                                 var d = Math.floor(c / 10);
 
-                                 this.m_hint_num_div[1].style.backgroundImage = "url(res/images/NUM_LEVEL_" + d + ".png )"
 
-                             } else this.m_hint_num_div[1].style.visibility = "hidden", this.m_hint_num_div[0].style.backgroundImage = "url(res/images/NUM_LEVEL_" + c + ".png )"
 
-                         }
 
-                         this.m_diamondMgr.getHintCount() === 0 && (a.setEnable(!1), a.m_div.style.backgroundImage = "url(res/images/BTN_HINT_GREY.png )", this.m_hint_num_div[0].style.visibility = "hidden", this.m_hint_num_div[1].style.visibility = "hidden")
 
-                     } else if (this.m_btn_list[this.BTN_PAUSE_INDEX] === a) {
 
-                         this.m_gamePause = !this.m_gamePause;
 
-                         if (this.m_gamePause === !0) this.m_btn_list[this.BTN_HOME_INDEX].m_div.style.display = "inline", this.m_btn_list[this.BTN_HINT_INDEX].m_div.style.display = "none", this.m_hint_num_div[0].style.visibility = "hidden", this.m_hint_num_div[1].style.visibility = "hidden", FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (this.m_btn_list[this.BTN_SOUND_INDEX].m_div.style.display = "none"), this.levelPauseStartTime = (new Date).getTime(), this.m_pause_div.style.display = "inline", a.setSwitchState(a.SWITCH_OFF), this.m_diamondMgr.m_reset_finished = !1, this.m_diamondMgr.setBubble(!1);
 
-                         else {
 
-                             this.m_btn_list[this.BTN_HOME_INDEX].m_div.style.display = "none", this.m_btn_list[this.BTN_HINT_INDEX].m_div.style.display = "inline";
 
-                             var b = this.m_diamondMgr.getHintCount();
 
-                             b > 10 ? (this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "visible") : b === 0 ? (this.m_hint_num_div[0].style.visibility = "hidden", this.m_hint_num_div[1].style.visibility = "hidden") : (this.m_hint_num_div[0].style.visibility = "visible", this.m_hint_num_div[1].style.visibility = "hidden"), FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (this.m_btn_list[this.BTN_SOUND_INDEX].m_div.style.display = "inline"), this.m_pause_div.style.display = "none", this.m_diamondMgr.m_reset_finished = !0, this.m_diamondMgr.getHintCount() !== 0 && (FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_HINT_INDEX].m_div.style.backgroundImage = "url(res/images/BTN_HINT.png)"), FZ.Game.GameState.BTN_SOUND_INDEX !== undefined && (FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].SWITCH_OFF === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_btn_state && (FZ.Game.GameState
 
-                                 .m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_div.style.backgroundImage = "url(res/images/BTN_SOUND_OFF.png)"), FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].SWITCH_ON === FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_btn_state && (FZ.Game.GameState.m_btn_list[FZ.Game.GameState.BTN_SOUND_INDEX].m_div.style.backgroundImage = "url(res/images/BTN_SOUND.png)")), a.setSwitchState(a.SWITCH_ON), this.levelPauseEndTime = (new Date).getTime(), this.levelPauseTime += this.levelPauseEndTime - this.levelPauseStartTime
 
-                         }
 
-                         this.m_diamondMgr.saveLevel()
 
-                     } else if (this.m_btn_list[this.BTN_SOUND_INDEX] !== undefined && this.m_btn_list[this.BTN_SOUND_INDEX] === a) {
 
-                         if (this.m_gamePause) return;
 
-                         this.m_sound = !this.m_sound, this.m_sound ? (a.setSwitchState(a.SWITCH_ON), FZ.Music.setMute(!1)) : (a.setSwitchState(a.SWITCH_OFF), FZ.Music.setMute(!0)), FZ.GameBase.SaveObject.m_sound = this.m_sound, FZ.GameBase.saveGame()
 
-                     }
 
-                 }
 
-             },
 
-             debugLevel: function () {
 
-                 var a = this.m_diamondMgr.getLevel(),
 
-                     b = this.m_diamondMgr.getScore() + this.m_levelLeftTime * 20;
 
-                 a < 9 && (FZ.GameBase.SaveObject.m_cur_level = a + 1);
 
-                 if (a === 9) clearTimeout(this.m_timer), this.m_diamondMgr.setBubble(!1), this.m_next_state = FZ.StateDefs.GAME_STATE_GAME_WIN, this.pause(), FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_WIN, this.m_levelLeftTime, b);
 
-                 else {
 
-                     clearTimeout(this.m_timer), this.m_diamondMgr.setBubble(!1), this.m_next_state = FZ.StateDefs.GAME_STATE_NEXT_LEVEL, this.pause(), FZ.GameBase.pushState(this.StateName), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_NEXT_LEVEL, this.m_levelLeftTime, b);
 
-                     return
 
-                 }
 
-             },
 
-             pageHide: function (a) {
 
-                 FZ.Game.GameState.m_diamondMgr !== null && (FZ.Game.GameState.m_diamondMgr.m_reset_finished = !1, FZ.Game.GameState.m_diamondMgr.setBubble(!1), FZ.Game.GameState.levelPauseStartTime = (new Date).getTime(), FZ.Game.GameState.pageHiddin = !0)
 
-             },
 
-             pageShow: function (a) {
 
-                 FZ.Game.GameState.m_diamondMgr !== null && (FZ.Game.GameState.m_diamondMgr.m_reset_finished = !0, FZ.Game.GameState.levelPauseEndTime = (new Date).getTime(), FZ.Game.GameState.levelPauseTime += FZ.Game.GameState.levelPauseEndTime - FZ.Game.GameState.levelPauseStartTime, FZ.Game.GameState.pageHiddin = !1)
 
-             }
 
-         }, FZ.BaseState)), window.addEventListener("pagehide", FZ.Game.GameState.pageHide, !1), window.addEventListener("pageshow", FZ.Game.GameState.pageShow, !1)
 
-     }(), FZ.Game.GameOverState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_OVER,
 
-         CUR_UI_DEFS: ["NEXT_LEVEL_BG", "TXT_GAME_OVER", "TXT_TOTAL_OVER_SCORE", "NUM_STAGE_OVER_TOTAL_1", "NUM_STAGE_OVER_TOTAL_2", "NUM_STAGE_OVER_TOTAL_3", "NUM_STAGE_OVER_TOTAL_4", "NUM_STAGE_OVER_TOTAL_5"],
 
-         UI_SCORE_START_INDEX: 3,
 
-         TOTAL_SCORE: 5,
 
-         BTN_REPLAY_INDEX: 0,
 
-         CUR_BTN_DEFS: [
 
-             ["BTN_RETRY", "BTN_RETRY_TOUCH"]
 
-         ],
 
-         STR_RECT: [173, 280, 138, 36],
 
-         m_load_ui: !1,
 
-         popState: !1,
 
-         preProcess: function (a, b, c) {
 
-             var d = 0,
 
-                 e = null,
 
-                 f = null,
 
-                 g = null,
 
-                 h = null;
 
-             this.m_load_ui ? this.m_main_div.style.display = "inline" : (this.createUIs(this.CUR_UI_DEFS), this.createBtns(this.CUR_BTN_DEFS, !0), FZ.DivManager.addChild(this.m_main_div), this.m_load_ui = !0);
 
-             var i = FZ.AG.SearchSpecialPath.setScoreNum(c);
 
-             for (var d = 0; d < i.length; d++) this.m_ui_list[this.UI_SCORE_START_INDEX + this.TOTAL_SCORE - i.length + d].style.backgroundImage = "url(res/images/NUM_LEVEL_" + i[i.length - 1 - d] + ".png)";
 
-             if (i.length < this.TOTAL_SCORE)
 
-                 for (var d = 0; d < this.TOTAL_SCORE - i.length; d++) this.m_ui_list[this.UI_SCORE_START_INDEX + d].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-             this.popState = !1
 
-         },
 
-         postProcess: function () {
 
-             this.m_main_div.style.display = "none"
 
-         },
 
-         createStrScoreDiv: function () {
 
-             this.m_last_score_div = document.createElement("div"), this.m_last_score_div.style.position = "absolute", this.m_last_score_div.style.width = this.STR_RECT[2] + "px", this.m_last_score_div.style.height = this.STR_RECT[3] + "px", this.m_last_score_div.style.left = this.STR_RECT[0] + "px", this.m_last_score_div.style.top = this.STR_RECT[1] + "px", this.m_last_score_div.style.color = "#fff", this.m_last_score_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px", this.m_last_score_div.style.fontFamily = "Arial", this.m_last_score_div.style.lineHeight = this.STR_RECT[3] + "px", this.m_last_score_div.style.textAlign = "left", this.m_main_div.appendChild(this.m_last_score_div)
 
-         },
 
-         buttonClick: function (a) {
 
-             if (!this.popState) {
 
-                 var b = null;
 
-                 this.m_btn_list[this.BTN_REPLAY_INDEX] === a && (this.postProcess(), this.popState = !0, FZ.GameBase.popState(this.StateName))
 
-             }
 
-         }
 
-     }, FZ.BaseState)), FZ.Game.nextLevelState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_NEXT_LEVEL,
 
-         CUR_UI_DEFS: ["NEXT_LEVEL_BG", "TXT_LEVEL_CLEAR", "TXT_STAGE_SCORE", "TXT_TOTAL_SCORE", "NUM_STAGE_TOTAL_1", "NUM_STAGE_TOTAL_2", "NUM_STAGE_TOTAL_3", "NUM_STAGE_TOTAL_4", "NUM_STAGE_TOTAL_5", "NUM_STAGE_1", "NUM_STAGE_2", "NUM_STAGE_3", "NUM_STAGE_4"],
 
-         UI_TOTAL_SCORE_START_INDEX: 4,
 
-         UI_STAGE_SCORE_START_INDEX: 9,
 
-         BTN_NEXT_LEVEL_INDEX: 0,
 
-         TOTAL_SCORE: 5,
 
-         STAGE_SCORE: 4,
 
-         CUR_BTN_DEFS: [
 
-             ["BTN_NEXT_LEVEL", "BTN_NEXT_LEVEL_TOUCH"]
 
-         ],
 
-         m_load_ui: !1,
 
-         popState: !1,
 
-         preProcess: function (a, b, c, d) {
 
-             var e = 0,
 
-                 f = null,
 
-                 g = null,
 
-                 h = null,
 
-                 i = this,
 
-                 j = null;
 
-             this.m_load_ui ? this.m_main_div.style.display = "inline" : (this.createUIs(this.CUR_UI_DEFS), this.createBtns(this.CUR_BTN_DEFS, !0), FZ.DivManager.addChild(this.m_main_div), this.m_load_ui = !0);
 
-             var k = FZ.AG.SearchSpecialPath.setScoreNum(c);
 
-             for (var e = 0; e < k.length; e++) this.m_ui_list[this.UI_TOTAL_SCORE_START_INDEX + this.TOTAL_SCORE - k.length + e].style.backgroundImage = "url(res/images/NUM_LEVEL_" + k[k.length - 1 - e] + ".png)";
 
-             if (k.length < this.TOTAL_SCORE)
 
-                 for (var e = 0; e < this.TOTAL_SCORE - k.length; e++) this.m_ui_list[this.UI_TOTAL_SCORE_START_INDEX + e].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-             k = FZ.AG.SearchSpecialPath.setScoreNum(d);
 
-             for (var e = 0; e < k.length; e++) this.m_ui_list[this.UI_STAGE_SCORE_START_INDEX + this.STAGE_SCORE - k.length + e].style.backgroundImage = "url(res/images/NUM_LEVEL_" + k[k.length - 1 - e] + ".png)";
 
-             if (k.length < this.STAGE_SCORE)
 
-                 for (var e = 0; e < this.STAGE_SCORE - k.length; e++) this.m_ui_list[this.UI_STAGE_SCORE_START_INDEX + e].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-             this.popState = !1, setTimeout(function () {
 
-                 i.fade_in.call(i, 2e3, 1)
 
-             }, 10), FZ.GameBase.SaveObject.m_gamein = !1, FZ.GameBase.saveGame()
 
-         },
 
-         createStrLeftTimeDiv: function () {
 
-             this.m_last_left_time_div = document.createElement("div"), this.m_last_left_time_div.style.position = "absolute", this.m_last_left_time_div.style.width = this.STR_LEFT_TIME_RECT[2] + "px", this.m_last_left_time_div.style.height = this.STR_LEFT_TIME_RECT[3] + "px", this.m_last_left_time_div.style.left = this.STR_LEFT_TIME_RECT[0] + "px", this.m_last_left_time_div.style.top = this.STR_LEFT_TIME_RECT[1] + "px", this.m_last_left_time_div.style.color = "#fff", this.m_last_left_time_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px", this.m_last_left_time_div.style.fontFamily = "Arial", this.m_last_left_time_div.style.lineHeight = this.STR_LEFT_TIME_RECT[3] + "px", this.m_last_left_time_div.style.textAlign = "left", this.m_main_div.appendChild(this.m_last_left_time_div)
 
-         },
 
-         createStrScoreDiv: function () {
 
-             this.m_last_score_div = document.createElement("div"), this.m_last_score_div.style.position = "absolute", this.m_last_score_div.style.width = this.STR_SCORE_RECT[2] + "px", this.m_last_score_div.style.height = this.STR_SCORE_RECT[3] + "px", this.m_last_score_div.style.left = this.STR_SCORE_RECT[0] + "px", this.m_last_score_div.style.top = this.STR_SCORE_RECT[1] + "px", this.m_last_score_div.style.color = "#fff", this.m_last_score_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px", this.m_last_score_div.style.fontFamily = "Arial", this.m_last_score_div.style.lineHeight = this.STR_SCORE_RECT[3] + "px", this.m_last_score_div.style.textAlign = "left", this.m_main_div.appendChild(this.m_last_score_div)
 
-         },
 
-         postProcess: function () {
 
-             this.fade_out(2e3, 0, 0)
 
-         },
 
-         buttonClick: function (a) {
 
-             if (!this.popState) {
 
-                 var b = null;
 
-                 this.m_btn_list[this.BTN_NEXT_LEVEL_INDEX] === a && (this.postProcess(), this.popState = !0, FZ.GameBase.popState(this.StateName))
 
-             }
 
-         }
 
-     }, FZ.BaseState)), FZ.Game.winState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_GAME_WIN,
 
-         CUR_UI_DEFS: ["YOU_WIN_BG", "TXT_WIN_STAGE_SCORE", "TXT_WIN_TOTAL_SCORE", "NUM_STAGE_WIN_TOTAL_1", "NUM_STAGE_WIN_TOTAL_2", "NUM_STAGE_WIN_TOTAL_3", "NUM_STAGE_WIN_TOTAL_4", "NUM_STAGE_WIN_TOTAL_5", "NUM_STAGE_WIN_1", "NUM_STAGE_WIN_2", "NUM_STAGE_WIN_3", "NUM_STAGE_WIN_4"],
 
-         UI_TOTAL_SCORE_START_INDEX: 3,
 
-         UI_STAGE_SCORE_START_INDEX: 8,
 
-         TOTAL_SCORE: 5,
 
-         STAGE_SCORE: 4,
 
-         BTN_MAIN_MENU_IDNEX: 0,
 
-         CUR_BTN_DEFS: [
 
-             ["BTN_MAIN_MENU", "BTN_MAIN_MENU_TOUCH"]
 
-         ],
 
-         STR_LEFT_TIME_RECT: [100, 215, 50, 36],
 
-         STR_LEFT_TIME_BONUS_RECT: [203, 215, 30, 36],
 
-         STR_SCORE_RECT: [160, 277, 138, 36],
 
-         m_load_ui: !1,
 
-         preProcess: function (a, b, c, d) {
 
-             var e = 0,
 
-                 f = null,
 
-                 g = null,
 
-                 h = null,
 
-                 i = null,
 
-                 j = this;
 
-             this.m_load_ui ? this.m_main_div.style.display = "inline" : (this.createUIs(this.CUR_UI_DEFS), this.createBtns(this.CUR_BTN_DEFS, !0), FZ.DivManager.addChild(this.m_main_div), this.m_load_ui = !0);
 
-             var k = FZ.AG.SearchSpecialPath.setScoreNum(c);
 
-             for (var e = 0; e < k.length; e++) this.m_ui_list[this.UI_TOTAL_SCORE_START_INDEX + this.TOTAL_SCORE - k.length + e].style.backgroundImage = "url(res/images/NUM_LEVEL_" + k[k.length - 1 - e] + ".png)";
 
-             if (k.length < this.TOTAL_SCORE)
 
-                 for (var e = 0; e < this.TOTAL_SCORE - k.length; e++) this.m_ui_list[this.UI_TOTAL_SCORE_START_INDEX + e].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-             k = FZ.AG.SearchSpecialPath.setScoreNum(d);
 
-             for (var e = 0; e < k.length; e++) this.m_ui_list[this.UI_STAGE_SCORE_START_INDEX + this.STAGE_SCORE - k.length + e].style.backgroundImage = "url(res/images/NUM_LEVEL_" + k[k.length - 1 - e] + ".png)";
 
-             if (k.length < this.STAGE_SCORE)
 
-                 for (var e = 0; e < this.STAGE_SCORE - k.length; e++) this.m_ui_list[this.UI_STAGE_SCORE_START_INDEX + e].style.backgroundImage = "url(res/images/NUM_LEVEL_0.png)";
 
-             setTimeout(function () {
 
-                 j.fade_in.call(j, 2e3, 1)
 
-             }, 10), FZ.GameBase.SaveObject.m_gamein = !1, FZ.GameBase.saveGame()
 
-         },
 
-         createStrLeftTimeDiv: function () {
 
-             this.m_last_left_time_div = document.createElement("div"), this.m_last_left_time_div.style.position = "absolute", this.m_last_left_time_div.style.width = this.STR_LEFT_TIME_RECT[2] + "px", this.m_last_left_time_div.style.height = this.STR_LEFT_TIME_RECT[3] + "px", this.m_last_left_time_div.style.left = this.STR_LEFT_TIME_RECT[0] + "px", this.m_last_left_time_div.style.top = this.STR_LEFT_TIME_RECT[1] + "px", this.m_last_left_time_div.style.color = "#fff", this.m_last_left_time_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px", this.m_last_left_time_div.style.fontFamily = "Arial", this.m_last_left_time_div.style.lineHeight = this.STR_LEFT_TIME_RECT[3] + "px", this.m_last_left_time_div.style.textAlign = "left", this.m_main_div.appendChild(this.m_last_left_time_div)
 
-         },
 
-         createStrScoreDiv: function () {
 
-             this.m_last_score_div = document.createElement("div"), this.m_last_score_div.style.position = "absolute", this.m_last_score_div.style.width = this.STR_SCORE_RECT[2] + "px", this.m_last_score_div.style.height = this.STR_SCORE_RECT[3] + "px", this.m_last_score_div.style.left = this.STR_SCORE_RECT[0] + "px", this.m_last_score_div.style.top = this.STR_SCORE_RECT[1] + "px", this.m_last_score_div.style.color = "#fff", this.m_last_score_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px", this.m_last_score_div.style.fontFamily = "Arial", this.m_last_score_div.style.lineHeight = this.STR_SCORE_RECT[3] + "px", this.m_last_score_div.style.textAlign = "left", this.m_main_div.appendChild(this.m_last_score_div)
 
-         },
 
-         postProcess: function () {
 
-             this.fade_out(2e3, 0, 0)
 
-         },
 
-         buttonClick: function (a) {
 
-             this.m_btn_list[this.BTN_MAIN_MENU_IDNEX] === a && (FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_MAINMEN), FZ.Game.GameState.m_main_div.style.display = "none", FZ.Game.GameState.fade_out(2e3, 0, 0))
 
-         }
 
-     }, FZ.BaseState)), FZ.Game.ClearState = new(FZ.newClass({
 
-         StateName: FZ.StateDefs.GAME_STATE_GAME_CLEAR,
 
-         CUR_UI_DEFS: ["DIALOG_BG_CLEAR_GAME", "STR_SURE_CLEAR_GAME"],
 
-         BTN_YES_INDEX: 0,
 
-         BTN_NO_INDEX: 1,
 
-         CUR_BTN_DEFS: [
 
-             ["BTN_CLEAR_GAME_YES", "BTN_CLEAR_GAME_YES_TOUCH"],
 
-             ["BTN_CLEAR_GAME_NO", "BTN_CLEAR_GAME_NO_TOUCH"]
 
-         ],
 
-         m_ui_list: null,
 
-         m_btn_list: null,
 
-         popState: !1,
 
-         m_load_ui: !1,
 
-         preProcess: function () {
 
-             var a = null,
 
-                 b = null,
 
-                 c = null,
 
-                 d = 0,
 
-                 e = this;
 
-             this.m_load_ui ? this.m_main_div.style.display = "inline" : (this.createUIs(this.CUR_UI_DEFS), this.createBtns(this.CUR_BTN_DEFS, !0), FZ.DivManager.addChild(this.m_main_div), this.m_load_ui = !0), this.popState = !1, setTimeout(function () {
 
-                 e.fade_in.call(e, 2e3, 1)
 
-             }, 10)
 
-         },
 
-         postProcess: function () {
 
-             this.m_main_div.style.display = "none"
 
-         },
 
-         buttonClick: function (a) {
 
-             if (!this.popState) {
 
-                 var b = null;
 
-                 this.m_btn_list[this.BTN_YES_INDEX] === a ? (this.postProcess(), this.popState = !0, FZ.GameBase.popState(this.StateName, "yes")) : this.m_btn_list[this.BTN_NO_INDEX] === a && (this.postProcess(), this.popState = !0, FZ.GameBase.popState(this.StateName, "no"))
 
-             }
 
-         }
 
-     }, FZ.BaseState)),
 
-     function () {
 
-         var a = !1,
 
-             b = null,
 
-             c = null,
 
-             d = null;
 
-         FZ.GameBase.MOBILE_IPAD = 10, FZ.GameBase.MOBILE_IPHONE = 20, FZ.GameBase.Width = 700, FZ.GameBase.Height = 500, FZ.GameBase.Name = "DreamPetLinkHtml5", FZ.TARGET_DEF = {}, FZ.TARGET_DEF.PC = "pc", FZ.TARGET_DEF.MOBILE = "mobile", FZ.TARGET_DEF.IPHONE = "iPhone", FZ.TARGET_DEF.IPAD = "iPad", FZ.TARGET_DEF.ANDRIOD = "Android", FZ.TargetPort = FZ.TARGET_DEF.PC, FZ.TargetMobile = FZ.TARGET_DEF.IPHONE, FZ.EVENT_DEF = {}, FZ.EVENT_DEF.M_OVER = "mouseover", FZ.EVENT_DEF.M_OUT = "mouseout", FZ.EVENT_DEF.M_MOVE = "mousemove", FZ.EVENT_DEF.M_CLICK = "click", FZ.EVENT_DEF.T_START = "touchstart", FZ.EVENT_DEF.T_MOVE = "touchmove", FZ.EVENT_DEF.T_END = "touchend", FZ.GameBase.setCss = function (a, b) {
 
-             a.style.width = b.w + "px", a.style.height = b.h + "px", a.style.left = b.x + "px", a.style.top = b.y + "px", a.style.position = "absolute", a.style.backgroundRepeat = "no-repeat", a.style.backgroundImage = "url(res/images/" + b.fileURL + ")"
 
-         }, FZ.PrintLog = function (a) {};
 
-         var e = function () {
 
-             var d = null;
 
-             if (a) return !0;
 
-             d = FZ.ResourceManager.ResourceLib.OrientationWarning;
 
-             if (!d) return !1;
 
-             b = FZ.getImgInfo("OrientationWarning"), c.style.backgroundRepeat = "no-repeat", c.style.backgroundImage = "url(res/images/" + b.fileURL + ")", c.style.backgroundPositionX = "50%", c.style.backgroundColor = "#fff", a = !0;
 
-             return !0
 
-         }, f = function () {
 
-                 90 === window.orientation || -90 === window.orientation ? (d.style.display = "none", c.style.display = "inline", FZ.Game.GameState.pageHide()) : 0 === window.orientation && (d.style.display = "inline", c.style.display = "none", FZ.Game.GameState.pageShow());
 
-                 var a = 0,
 
-                     b = 0;
 
-                 FZ.TARGET_DEF.ANDRIOD === FZ.TargetMobile && (b = 1), setTimeout(function () {
 
-                     window.scrollTo(a, b)
 
-                 }, 10)
 
-             }, g = function () {
 
-                 var a = 0,
 
-                     b = 0;
 
-                 FZ.TARGET_DEF.ANDRIOD === FZ.TargetMobile && (b = 1), setTimeout(function () {
 
-                     window.scrollTo(a, b)
 
-                 }, 1e3)
 
-             }, h = function (a) {
 
-                 a.stopPropagation();
 
-                 return !1
 
-             }, i = function () {
 
-                 var a = null,
 
-                     b = null;
 
-                 FZ.GameBase.loadGame();
 
-                 if (undefined === FZ.GameBase.SaveObject.m_cur_level) {
 
-                     FZ.GameBase.SaveObject.m_cur_level = 0, FZ.GameBase.SaveObject.pass = !1, FZ.GameBase.SaveObject.score = 0, FZ.GameBase.SaveObject.m_hint = FZ.GameDefs.LEVEL_HINT_NUMBER[1], FZ.GameBase.SaveObject.m_gamein = !1, FZ.GameBase.SaveObject.m_cur_score = 0, FZ.GameBase.SaveObject.m_cur_hintCount = FZ.GameDefs.LEVEL_HINT_NUMBER[1], FZ.GameBase.SaveObject.m_cur_left_pet = FZ.GameDefs.ALL_PET_NUM, FZ.GameBase.SaveObject.m_level_usedTime = 0, FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD && (FZ.GameBase.SaveObject.m_sound = !0);
 
-                     var e = 0,
 
-                         i = null,
 
-                         j = null;
 
-                     j = [];
 
-                     for (e = 0; e < FZ.GameDefs.ALL_GENERAL; e++) i = {}, i.style = -1, i.state = FZ.GameDefs.DREAMPET_INIT, j.push(i);
 
-                     FZ.GameBase.SaveObject.m_data = j, FZ.GameBase.saveGame()
 
-                 }
 
-                 d = FZ.$("mainDiv"), c = FZ.$("orientationDiv"), FZ.GameBase.animDiv = FZ.$("animDiv"), c.style.display = "none", /(iPhone|iPad|iPod|Android)/i.test(window.navigator.appVersion) && (FZ.TargetPort = FZ.TARGET_DEF.MOBILE, FZ.TargetMobile = FZ.TARGET_DEF.IPHONE, -1 !== navigator.userAgent.indexOf("iPad") ? FZ.TargetMobile = FZ.TARGET_DEF.IPAD : -1 !== navigator.userAgent.indexOf("Android") && (FZ.TargetMobile = FZ.TARGET_DEF.ANDRIOD)), a = document.createElement("meta"), b = document.getElementsByTagName("head"), FZ.TARGET_DEF.IPAD === FZ.TargetMobile ? (a.setAttribute("name", "viewport"), a.setAttribute("content", "width=320; initial-scale=2.0; maximum-scale=2.0; user-scalable=no;"), b[0].appendChild(a)) : (a.setAttribute("name", "viewport"), a.setAttribute("content", "width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;"), b[0].appendChild(a)), window.scrollTo(0, 0), FZ.DivManager.init(), FZ.DivManager.setParent(d), FZ.DivManager.setSize(FZ.GameDefs.SCREEN_W, FZ.GameDefs.SCREEN_H), FZ.DivManager.setOffset(d.offsetLeft, d.offsetTop), FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_PRELOADING), FZ.TARGET_DEF.MOBILE === FZ.TargetPort && (window.onscroll = g, window.addEventListener("orientationchange", f, !1)), document.addEventListener("touchstart", h, !1), f(), FZ.PrintLog("test log")
 
-             };
 
-         FZ.GameBase.ArrayIndexof = function (a, b) {
 
-             var c = 0;
 
-             for (c = 0; c < a.length; c++)
 
-                 if (b === a[c]) return c;
 
-             return -1
 
-         }, window.addEventListener("load", i, !1), FZ.EventHandler = function (a, b, c, d) {
 
-             if ( !! b) switch (c) {
 
-             case FZ.EVENT_DEF.M_OVER:
 
-                 b.addEventListener(FZ.EVENT_DEF.M_OVER, a.m_call_mOver = function (b) {
 
-                     d.call(a, b)
 
-                 }, !1);
 
-                 break;
 
-             case FZ.EVENT_DEF.M_OUT:
 
-                 b.addEventListener(FZ.EVENT_DEF.M_OUT, a.m_call_mOut = function (b) {
 
-                     d.call(a, b)
 
-                 }, !1);
 
-                 break;
 
-             case FZ.EVENT_DEF.M_MOVE:
 
-                 b.addEventListener(FZ.EVENT_DEF.M_MOVE, a.m_call_mMove = function (b) {
 
-                     d.call(a, b)
 
-                 }, !1);
 
-                 break;
 
-             case FZ.EVENT_DEF.M_CLICK:
 
-                 b.addEventListener(FZ.EVENT_DEF.M_CLICK, a.m_call_mClick = function (b) {
 
-                     d.call(a, b)
 
-                 }, !1);
 
-                 break;
 
-             case FZ.EVENT_DEF.T_START:
 
-                 b.addEventListener(FZ.EVENT_DEF.T_START, a.m_call_tStart = function (b) {
 
-                     d.call(a, b)
 
-                 }, !1);
 
-                 break;
 
-             case FZ.EVENT_DEF.T_MOVE:
 
-                 b.addEventListener(FZ.EVENT_DEF.T_MOVE, a.m_call_tMove = function (b) {
 
-                     d.call(a, b)
 
-                 }, !1);
 
-                 break;
 
-             case FZ.EVENT_DEF.T_END:
 
-                 b.addEventListener(FZ.EVENT_DEF.T_END, a.m_call_tEnd = function (b) {
 
-                     d.call(a, b)
 
-                 }, !1);
 
-                 break;
 
-             default:
 
-             }
 
-         }, FZ.EventRemove = function (a, b, c, d) {
 
-             if ( !! b && !! d) switch (c) {
 
-             case FZ.EVENT_DEF.M_OVER:
 
-                 b.removeEventListener(FZ.EVENT_DEF.M_OVER, d, !1), a.m_call_mOver = null;
 
-                 break;
 
-             case FZ.EVENT_DEF.M_OUT:
 
-                 b.removeEventListener(FZ.EVENT_DEF.M_OUT, d, !1), a.m_call_mOut = null;
 
-                 break;
 
-             case FZ.EVENT_DEF.M_MOVE:
 
-                 b.removeEventListener(FZ.EVENT_DEF.M_MOVE, d, !1), a.m_call_mMove = null;
 
-                 break;
 
-             case FZ.EVENT_DEF.M_CLICK:
 
-                 b.removeEventListener(FZ.EVENT_DEF.M_CLICK, d, !1), a.m_call_mClick = null;
 
-                 break;
 
-             case FZ.EVENT_DEF.T_START:
 
-                 b.removeEventListener(FZ.EVENT_DEF.T_START, d, !1), a.m_call_tStart = null;
 
-                 break;
 
-             case FZ.EVENT_DEF.T_MOVE:
 
-                 b.removeEventListener(FZ.EVENT_DEF.T_MOVE, d, !1), a.m_call_tMove = null;
 
-                 break;
 
-             case FZ.EVENT_DEF.T_END:
 
-                 b.removeEventListener(FZ.EVENT_DEF.T_END, d, !1), a.m_call_tEnd = null;
 
-                 break;
 
-             default:
 
-             }
 
-         }
 
-     }() //]]>
 
- </script>
 
- <script type="text/javascript">
 
- 		setTimeout(function(){var a=document,b=a.getElementsByTagName("head")[0],c=a.createElement("meta"),d=b.getElementsByTagName('meta'),e=d.length;while(e--){if(d[e].name=="viewport"){
 
- 		return true;}
 
- 		}
 
- 		c.name="viewport";
 
- 		var density = '';
 
- 		if(play68.Settings.get('currentGameInfo') && play68.Settings.get('currentGameInfo').targetdensity  == 1){	
 
- 		    density = ", target-densityDpi=device-dpi";	
 
- 		}c.content="width=device-width,maximum-scale=1.0, initial-scale=1.0, user-scalable=no"+density;b.appendChild(c);},25); 
 
- 		function insertGameplay(){if(play68.Auth.getAuthState()=="AUTHENTICATED"){play68.Gameplay.insert({onsuccess:function(a){},onfailure:function(a){}})}play68._Gameplay.insert({gameInfo:play68.Settings.get("currentGameInfo")})};
 
- </script>
 
- <script type="text/javascript">
 
-                            (function() {
 
-     window._gaPageType = window._gaPageType || 'homepage';
 
-     window._ttIdle = 600000;
 
-     window._unbounceIntervalTime = 300000;
 
-     window._gaq = window._gaq || [];
 
-     window.spilAjaxPageView = function(pageType) {
 
-         window._gaPageType = pageType || 'homepage';
 
-         sendPageviewToAllTrackers();
 
-     }
 
-     window.spilLocationEvent = function(category, action, label, value, location){ spilLocationEvent(category, action, label, value, location);}
 
-     
 
-     var gaTrackers = [];
 
-     
 
-     function readCookie(name) {
 
-     	var nameEQ = name + "=";
 
-     	var ca = document.cookie.split(';');
 
-     	var caLength = ca.length;
 
-     	for ( var i = caLength; i--;) {
 
-     		var c = ca[i];
 
-     		while (c.charAt(0) == ' ')
 
-     			c = c.substring(1, c.length);
 
-     		if (c.indexOf(nameEQ) == 0)
 
-     			return c.substring(nameEQ.length, c.length);
 
-     	}
 
-     	return null;
 
-     }
 
-     
 
-     function contains(a, obj) {
 
-         for (var i = 0; i < a.length; i++) {
 
-             if (a[i] === obj) {
 
-                 return true;
 
-             }
 
-         }
 
-         return false;
 
-     }
 
-     
 
-     function spilTracker(name, ua, domain) {
 
-         
 
-     	if (name != "") {
 
-     		name = name + ".";
 
-     	}
 
-     
 
-     	if(!contains(gaTrackers,name))
 
-     	    gaTrackers.push(name);
 
-     	
 
-     	_gaq.push(
 
-     		[name + '_setAccount', ua],
 
-     		[name + '_setAllowAnchor', true],
 
-     		[name + '_setAllowLinker', true],
 
-     		[name + '_setDomainName', domain],
 
-     		[name + '_setSiteSpeedSampleRate', 10]
 
-     	);
 
-     	
 
-     	var customVarCookie = readCookie('_spilGacv');
 
-     	if ('string' === typeof (customVarCookie)) {
 
-     		var customVarData = unescape(customVarCookie).split('|');
 
-     	}
 
-     	
 
-     	var Profile = (customVarData ? 'true' : 'false');
 
-     	var Username = (customVarData && 'Registered' !== customVarData[0] ? true : false);
 
-     	
 
-     	_gaq.push([name + '_setCustomVar', 1, "Registered", Profile, 1]);
 
-     	_gaq.push([name + '_setCustomVar', 2, "Login", Username, 1]);
 
-     
 
-     	_gaq.push( [ name + '_setCustomVar', 5, "Page", window._gaPageType, 3]);
 
-         if (window.location.pathname.substr(-4) != 'html' && window._gaPageType != 'homepage') {
 
-             if (window._gaPageType.substring(0, 1) != 'http://game.play68.com/') {
 
-                 _gaq.push( [ name + '_trackPageview', '/' + window._gaPageType ]);
 
-             } else {
 
-                 _gaq.push( [ name + '_trackPageview', window._gaPageType ]);
 
-             }
 
-         } else {
 
-             _gaq.push( [ name + '_trackPageview']);
 
-         }
 
-         
 
-     }
 
-     
 
-     function spilEvent(category, action, label, value) {
 
-     	var totalTrackers = gaTrackers.length;
 
-     	for ( var i = totalTrackers; i--;) {
 
-     		_gaq.push( [ gaTrackers[i] + '_trackEvent', category, action, label,
 
-     				value ]);
 
-     	}
 
-     }
 
-     
 
-     function spilEcommerceTrans(ID, aff, total, tax, shipping)
 
-     {
 
-       for (var i = 0; i < gaTrackers.length; i++)
 
-       {
 
-          _gaq.push([gaTrackers[i] + '_addTrans', ID, aff, total, tax, shipping, '',  '', '']);
 
-       }
 
-     } 
 
-     function spilEcommerceItem(ID, SKU, product, category, price, quantity)
 
-     {
 
-       for (var i = 0; i < gaTrackers.length; i++)
 
-       {
 
-          _gaq.push([gaTrackers[i] + '_addItem', ID, SKU, product, category, price, quantity]);
 
-       }
 
-     }   
 
-     function spilEcommerceTrackTrans()
 
-     {
 
-       for (var i = 0; i < gaTrackers.length; i++)
 
-       {
 
-          _gaq.push([gaTrackers[i] + '_trackTrans']);
 
-       }
 
-     }
 
-     
 
-     function spilLocationEvent(category, action, label, value, location) {
 
-         var totalTrackers = gaTrackers.length;
 
-         for ( var i = totalTrackers; i--;) {
 
-             _gaq.push( [ gaTrackers[i] + '_trackEvent', category, action, label, value]);
 
-         }
 
-         setTimeout('document.location = "' + location + '"', 100);
 
-     }
 
-     function sendPageviewToAllTrackers() {
 
-     	spilTracker('', 'UA-18031455-1', '.gamesgames.com');
 
-     	spilTracker('aggregated', 'UA-8223336-1', '.gamesgames.com'); // aggregated account should match the domain name
 
-     }
 
-     
 
-     sendPageviewToAllTrackers();
 
-     
 
-     (function() {
 
-     	 
 
-     })();
 
-     
 
-     //
 
-     // new 
 
-     //
 
-     var PageMonitor = (function() {
 
-         var idleSince =  (+new Date()),
 
-             timeForNewPageView = 30*60*1000, /* 30 minutes */
 
-             keepAliveCounter = 0,
 
-             keepAliveTimerId = -1,
 
-             keepAliveInterval = 60*1000,
 
-             maximumKeepAlive = 3*60*1000;
 
-             
 
-         var notIdleAnymore = function() {
 
-             newPageView();
 
-             idleSince = (+new Date());
 
-             keepAliveTimerId < 0 && active();
 
-         }
 
-             
 
-         document.addEventListener('click', notIdleAnymore);
 
-         document.addEventListener('touchstart', notIdleAnymore);  
 
-             
 
-         var idle = function() {
 
-     		idleSince = (+new Date());
 
-     		keepAliveTimerId = -1;
 
-         };
 
-         
 
-         var active = function() {
 
-             keepAliveTimerId = setTimeout(keepAlive, keepAliveInterval);
 
-         };
 
-         
 
-         var keepAlive = function() {    
 
-     		spilEvent('unbounce', 'each [x] minutes', '' + keepAliveCounter);
 
-     		keepAliveCounter++;
 
-     		if(idleTime() < maximumKeepAlive)
 
-     		    keepAliveTimerId = setTimeout(keepAlive, keepAliveInterval);
 
-     		else {
 
-     		    idle();
 
-     		}
 
-         };
 
-         
 
-         var newPageView = function() {
 
-             if (idleTime() >= timeForNewPageView) {
 
-     			sendPageviewToAllTrackers();
 
-     		}
 
-         };
 
-         
 
-         var idleTime = function() {
 
-             return ((+new Date()) - idleSince);
 
-         }
 
-         
 
-         active();
 
-     })();
 
- })();
 
- </script>
 
- 				 
 
- <div id="mainDiv" style="left: 50%; top: -20px; margin-left: -160px; z-index: 20; position: absolute; overflow: hidden; width: 320px; height: 480px; ">
 
- 	<div style="display: inline; z-index: 0; -webkit-transition: 2000ms; opacity: 1; -webkit-transform: translate(0px, 0px) rotate(0deg); ">
 
- 		<div style="width: 320px; height: 480px; left: 0px; top: 0px; position: absolute; background-image: url(res/images/majong_BG.png); background-repeat: no-repeat no-repeat; "></div>
 
- 		<div style="width: 318px; height: 426px; left: 0px; top: 0px; position: absolute; background-image: url(res/images/MAIN_MENU_AND_LOADING_BG.png); background-repeat: no-repeat no-repeat; "></div>
 
- 		<div style="position: absolute; width: 149px; height: 63px; background-image: url(res/images/BTN_START.png); left: 93px; top: 264px; display: none; background-position: 0px 0px; background-repeat: no-repeat no-repeat; "></div>
 
- 		<div style="position: absolute; width: 149px; height: 63px; background-image: url(res/images/BTN_CONTINUE.png); left: 95px; top: 330px; display: none; background-position: 0px 0px; background-repeat: no-repeat no-repeat; "></div>
 
- 	</div>
 
- </div>
 
- <div id="orientationDiv" style="background-image: url(res/images/OrientationWarning.png); position: absolute; width: 480px; height: 320px; display: none; background-position: 50% 50%; background-repeat: no-repeat no-repeat; "> </div>
 
- </body></html>
 
 
  |