NOBUG: Fixed file access permissions
[moodle.git] / lib / yuilib / 3.13.0 / node-focusmanager / node-focusmanager-coverage.js
blob159eec70a3ebf7ebf0f9466e84552fae206f07c9
1 /*
2 YUI 3.13.0 (build 508226d)
3 Copyright 2013 Yahoo! Inc. All rights reserved.
4 Licensed under the BSD License.
5 http://yuilibrary.com/license/
6 */
8 if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
9 if (!__coverage__['build/node-focusmanager/node-focusmanager.js']) {
10    __coverage__['build/node-focusmanager/node-focusmanager.js'] = {"path":"build/node-focusmanager/node-focusmanager.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0,0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0,0,0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":48}}},"2":{"name":"(anonymous_2)","line":80,"loc":{"start":{"line":80,"column":20},"end":{"line":80,"column":32}}},"3":{"name":"(anonymous_3)","line":114,"loc":{"start":{"line":114,"column":10},"end":{"line":114,"column":27}}},"4":{"name":"(anonymous_4)","line":143,"loc":{"start":{"line":143,"column":10},"end":{"line":143,"column":27}}},"5":{"name":"(anonymous_5)","line":291,"loc":{"start":{"line":291,"column":19},"end":{"line":291,"column":31}}},"6":{"name":"(anonymous_6)","line":404,"loc":{"start":{"line":404,"column":16},"end":{"line":404,"column":32}}},"7":{"name":"(anonymous_7)","line":418,"loc":{"start":{"line":418,"column":20},"end":{"line":418,"column":32}}},"8":{"name":"(anonymous_8)","line":442,"loc":{"start":{"line":442,"column":20},"end":{"line":442,"column":32}}},"9":{"name":"(anonymous_9)","line":464,"loc":{"start":{"line":464,"column":17},"end":{"line":464,"column":34}}},"10":{"name":"(anonymous_10)","line":479,"loc":{"start":{"line":479,"column":13},"end":{"line":479,"column":30}}},"11":{"name":"(anonymous_11)","line":501,"loc":{"start":{"line":501,"column":20},"end":{"line":501,"column":32}}},"12":{"name":"(anonymous_12)","line":549,"loc":{"start":{"line":549,"column":23},"end":{"line":549,"column":35}}},"13":{"name":"(anonymous_13)","line":557,"loc":{"start":{"line":557,"column":27},"end":{"line":557,"column":45}}},"14":{"name":"(anonymous_14)","line":573,"loc":{"start":{"line":573,"column":23},"end":{"line":573,"column":35}}},"15":{"name":"(anonymous_15)","line":609,"loc":{"start":{"line":609,"column":48},"end":{"line":609,"column":65}}},"16":{"name":"(anonymous_16)","line":646,"loc":{"start":{"line":646,"column":18},"end":{"line":646,"column":35}}},"17":{"name":"(anonymous_17)","line":653,"loc":{"start":{"line":653,"column":18},"end":{"line":653,"column":34}}},"18":{"name":"(anonymous_18)","line":732,"loc":{"start":{"line":732,"column":14},"end":{"line":732,"column":31}}},"19":{"name":"(anonymous_19)","line":815,"loc":{"start":{"line":815,"column":13},"end":{"line":815,"column":48}}},"20":{"name":"(anonymous_20)","line":862,"loc":{"start":{"line":862,"column":17},"end":{"line":862,"column":52}}},"21":{"name":"(anonymous_21)","line":902,"loc":{"start":{"line":902,"column":31},"end":{"line":902,"column":48}}},"22":{"name":"(anonymous_22)","line":922,"loc":{"start":{"line":922,"column":17},"end":{"line":922,"column":35}}},"23":{"name":"(anonymous_23)","line":927,"loc":{"start":{"line":927,"column":13},"end":{"line":927,"column":25}}},"24":{"name":"(anonymous_24)","line":944,"loc":{"start":{"line":944,"column":8},"end":{"line":944,"column":25}}},"25":{"name":"(anonymous_25)","line":979,"loc":{"start":{"line":979,"column":7},"end":{"line":979,"column":19}}},"26":{"name":"(anonymous_26)","line":1011,"loc":{"start":{"line":1011,"column":8},"end":{"line":1011,"column":20}}},"27":{"name":"(anonymous_27)","line":1029,"loc":{"start":{"line":1029,"column":7},"end":{"line":1029,"column":19}}},"28":{"name":"(anonymous_28)","line":1050,"loc":{"start":{"line":1050,"column":10},"end":{"line":1050,"column":22}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1070,"column":111}},"2":{"start":{"line":40,"column":0},"end":{"line":84,"column":3}},"3":{"start":{"line":82,"column":2},"end":{"line":82,"column":65}},"4":{"start":{"line":87,"column":0},"end":{"line":253,"column":2}},"5":{"start":{"line":116,"column":3},"end":{"line":116,"column":36}},"6":{"start":{"line":145,"column":3},"end":{"line":151,"column":10}},"7":{"start":{"line":154,"column":3},"end":{"line":176,"column":4}},"8":{"start":{"line":155,"column":4},"end":{"line":155,"column":22}},"9":{"start":{"line":156,"column":4},"end":{"line":156,"column":28}},"10":{"start":{"line":158,"column":8},"end":{"line":176,"column":4}},"11":{"start":{"line":160,"column":4},"end":{"line":160,"column":46}},"12":{"start":{"line":162,"column":4},"end":{"line":171,"column":5}},"13":{"start":{"line":163,"column":5},"end":{"line":163,"column":29}},"14":{"start":{"line":169,"column":5},"end":{"line":169,"column":33}},"15":{"start":{"line":175,"column":4},"end":{"line":175,"column":32}},"16":{"start":{"line":179,"column":3},"end":{"line":191,"column":4}},"17":{"start":{"line":181,"column":4},"end":{"line":181,"column":40}},"18":{"start":{"line":183,"column":4},"end":{"line":189,"column":5}},"19":{"start":{"line":187,"column":5},"end":{"line":187,"column":33}},"20":{"start":{"line":194,"column":3},"end":{"line":194,"column":22}},"21":{"start":{"line":255,"column":0},"end":{"line":1060,"column":3}},"22":{"start":{"line":293,"column":2},"end":{"line":300,"column":9}},"23":{"start":{"line":304,"column":2},"end":{"line":306,"column":3}},"24":{"start":{"line":305,"column":3},"end":{"line":305,"column":26}},"25":{"start":{"line":309,"column":2},"end":{"line":390,"column":3}},"26":{"start":{"line":311,"column":3},"end":{"line":311,"column":37}},"27":{"start":{"line":314,"column":12},"end":{"line":354,"column":13}},"28":{"start":{"line":316,"column":16},"end":{"line":316,"column":44}},"29":{"start":{"line":318,"column":16},"end":{"line":320,"column":17}},"30":{"start":{"line":319,"column":20},"end":{"line":319,"column":38}},"31":{"start":{"line":334,"column":16},"end":{"line":339,"column":17}},"32":{"start":{"line":337,"column":20},"end":{"line":337,"column":42}},"33":{"start":{"line":341,"column":16},"end":{"line":343,"column":17}},"34":{"start":{"line":342,"column":20},"end":{"line":342,"column":45}},"35":{"start":{"line":345,"column":16},"end":{"line":345,"column":36}},"36":{"start":{"line":347,"column":16},"end":{"line":350,"column":17}},"37":{"start":{"line":348,"column":20},"end":{"line":348,"column":35}},"38":{"start":{"line":349,"column":20},"end":{"line":349,"column":39}},"39":{"start":{"line":352,"column":16},"end":{"line":352,"column":40}},"40":{"start":{"line":361,"column":12},"end":{"line":363,"column":13}},"41":{"start":{"line":362,"column":16},"end":{"line":362,"column":38}},"42":{"start":{"line":366,"column":12},"end":{"line":366,"column":56}},"43":{"start":{"line":371,"column":12},"end":{"line":374,"column":13}},"44":{"start":{"line":372,"column":16},"end":{"line":372,"column":56}},"45":{"start":{"line":373,"column":16},"end":{"line":373,"column":50}},"46":{"start":{"line":376,"column":12},"end":{"line":376,"column":51}},"47":{"start":{"line":377,"column":12},"end":{"line":377,"column":44}},"48":{"start":{"line":378,"column":12},"end":{"line":378,"column":50}},"49":{"start":{"line":380,"column":12},"end":{"line":380,"column":59}},"50":{"start":{"line":386,"column":12},"end":{"line":388,"column":13}},"51":{"start":{"line":387,"column":16},"end":{"line":387,"column":40}},"52":{"start":{"line":406,"column":2},"end":{"line":406,"column":48}},"53":{"start":{"line":420,"column":2},"end":{"line":422,"column":14}},"54":{"start":{"line":424,"column":2},"end":{"line":427,"column":3}},"55":{"start":{"line":425,"column":3},"end":{"line":426,"column":38}},"56":{"start":{"line":429,"column":2},"end":{"line":431,"column":3}},"57":{"start":{"line":430,"column":3},"end":{"line":430,"column":40}},"58":{"start":{"line":444,"column":2},"end":{"line":445,"column":41}},"59":{"start":{"line":447,"column":2},"end":{"line":449,"column":3}},"60":{"start":{"line":448,"column":3},"end":{"line":448,"column":27}},"61":{"start":{"line":451,"column":2},"end":{"line":453,"column":3}},"62":{"start":{"line":452,"column":3},"end":{"line":452,"column":27}},"63":{"start":{"line":466,"column":2},"end":{"line":468,"column":3}},"64":{"start":{"line":467,"column":3},"end":{"line":467,"column":26}},"65":{"start":{"line":481,"column":2},"end":{"line":482,"column":53}},"66":{"start":{"line":484,"column":2},"end":{"line":490,"column":3}},"67":{"start":{"line":488,"column":3},"end":{"line":488,"column":29}},"68":{"start":{"line":503,"column":2},"end":{"line":503,"column":27}},"69":{"start":{"line":505,"column":2},"end":{"line":508,"column":35}},"70":{"start":{"line":510,"column":2},"end":{"line":513,"column":3}},"71":{"start":{"line":511,"column":4},"end":{"line":512,"column":66}},"72":{"start":{"line":515,"column":2},"end":{"line":518,"column":3}},"73":{"start":{"line":516,"column":4},"end":{"line":517,"column":62}},"74":{"start":{"line":526,"column":2},"end":{"line":528,"column":3}},"75":{"start":{"line":527,"column":3},"end":{"line":527,"column":67}},"76":{"start":{"line":537,"column":2},"end":{"line":539,"column":3}},"77":{"start":{"line":538,"column":3},"end":{"line":538,"column":63}},"78":{"start":{"line":551,"column":2},"end":{"line":551,"column":27}},"79":{"start":{"line":553,"column":2},"end":{"line":553,"column":38}},"80":{"start":{"line":555,"column":2},"end":{"line":563,"column":3}},"81":{"start":{"line":557,"column":3},"end":{"line":559,"column":6}},"82":{"start":{"line":558,"column":4},"end":{"line":558,"column":20}},"83":{"start":{"line":561,"column":3},"end":{"line":561,"column":30}},"84":{"start":{"line":575,"column":2},"end":{"line":578,"column":10}},"85":{"start":{"line":580,"column":2},"end":{"line":632,"column":3}},"86":{"start":{"line":582,"column":3},"end":{"line":582,"column":41}},"87":{"start":{"line":583,"column":3},"end":{"line":583,"column":51}},"88":{"start":{"line":586,"column":3},"end":{"line":627,"column":4}},"89":{"start":{"line":589,"column":4},"end":{"line":589,"column":66}},"90":{"start":{"line":591,"column":4},"end":{"line":592,"column":34}},"91":{"start":{"line":594,"column":4},"end":{"line":595,"column":56}},"92":{"start":{"line":597,"column":4},"end":{"line":598,"column":62}},"93":{"start":{"line":600,"column":4},"end":{"line":602,"column":44}},"94":{"start":{"line":609,"column":4},"end":{"line":623,"column":14}},"95":{"start":{"line":611,"column":5},"end":{"line":621,"column":6}},"96":{"start":{"line":614,"column":6},"end":{"line":614,"column":31}},"97":{"start":{"line":619,"column":6},"end":{"line":619,"column":22}},"98":{"start":{"line":625,"column":4},"end":{"line":625,"column":27}},"99":{"start":{"line":630,"column":3},"end":{"line":630,"column":35}},"100":{"start":{"line":648,"column":2},"end":{"line":666,"column":5}},"101":{"start":{"line":655,"column":4},"end":{"line":655,"column":26}},"102":{"start":{"line":657,"column":4},"end":{"line":662,"column":5}},"103":{"start":{"line":659,"column":5},"end":{"line":660,"column":57}},"104":{"start":{"line":664,"column":4},"end":{"line":664,"column":21}},"105":{"start":{"line":669,"column":2},"end":{"line":689,"column":3}},"106":{"start":{"line":674,"column":3},"end":{"line":674,"column":43}},"107":{"start":{"line":676,"column":3},"end":{"line":687,"column":4}},"108":{"start":{"line":677,"column":4},"end":{"line":677,"column":19}},"109":{"start":{"line":679,"column":8},"end":{"line":687,"column":4}},"110":{"start":{"line":684,"column":5},"end":{"line":684,"column":31}},"111":{"start":{"line":685,"column":5},"end":{"line":685,"column":29}},"112":{"start":{"line":692,"column":2},"end":{"line":720,"column":3}},"113":{"start":{"line":701,"column":3},"end":{"line":701,"column":23}},"114":{"start":{"line":703,"column":7},"end":{"line":720,"column":3}},"115":{"start":{"line":717,"column":4},"end":{"line":717,"column":30}},"116":{"start":{"line":718,"column":4},"end":{"line":718,"column":28}},"117":{"start":{"line":734,"column":2},"end":{"line":738,"column":17}},"118":{"start":{"line":740,"column":2},"end":{"line":742,"column":3}},"119":{"start":{"line":741,"column":3},"end":{"line":741,"column":28}},"120":{"start":{"line":745,"column":2},"end":{"line":775,"column":3}},"121":{"start":{"line":749,"column":3},"end":{"line":749,"column":47}},"122":{"start":{"line":751,"column":3},"end":{"line":766,"column":4}},"123":{"start":{"line":755,"column":4},"end":{"line":755,"column":20}},"124":{"start":{"line":758,"column":8},"end":{"line":766,"column":4}},"125":{"start":{"line":764,"column":4},"end":{"line":764,"column":21}},"126":{"start":{"line":773,"column":3},"end":{"line":773,"column":20}},"127":{"start":{"line":778,"column":2},"end":{"line":798,"column":3}},"128":{"start":{"line":780,"column":3},"end":{"line":782,"column":4}},"129":{"start":{"line":781,"column":4},"end":{"line":781,"column":29}},"130":{"start":{"line":784,"column":3},"end":{"line":796,"column":4}},"131":{"start":{"line":786,"column":4},"end":{"line":792,"column":5}},"132":{"start":{"line":787,"column":5},"end":{"line":787,"column":38}},"133":{"start":{"line":788,"column":5},"end":{"line":788,"column":44}},"134":{"start":{"line":791,"column":5},"end":{"line":791,"column":34}},"135":{"start":{"line":794,"column":4},"end":{"line":794,"column":32}},"136":{"start":{"line":801,"column":2},"end":{"line":801,"column":31}},"137":{"start":{"line":817,"column":2},"end":{"line":818,"column":9}},"138":{"start":{"line":821,"column":2},"end":{"line":846,"column":3}},"139":{"start":{"line":824,"column":3},"end":{"line":824,"column":45}},"140":{"start":{"line":826,"column":3},"end":{"line":831,"column":4}},"141":{"start":{"line":829,"column":4},"end":{"line":829,"column":26}},"142":{"start":{"line":833,"column":3},"end":{"line":833,"column":53}},"143":{"start":{"line":835,"column":12},"end":{"line":844,"column":13}},"144":{"start":{"line":837,"column":16},"end":{"line":842,"column":17}},"145":{"start":{"line":838,"column":20},"end":{"line":838,"column":62}},"146":{"start":{"line":841,"column":20},"end":{"line":841,"column":50}},"147":{"start":{"line":848,"column":2},"end":{"line":848,"column":29}},"148":{"start":{"line":864,"column":2},"end":{"line":865,"column":9}},"149":{"start":{"line":867,"column":2},"end":{"line":888,"column":3}},"150":{"start":{"line":869,"column":3},"end":{"line":869,"column":45}},"151":{"start":{"line":871,"column":3},"end":{"line":873,"column":4}},"152":{"start":{"line":872,"column":4},"end":{"line":872,"column":44}},"153":{"start":{"line":875,"column":12},"end":{"line":875,"column":62}},"154":{"start":{"line":877,"column":12},"end":{"line":886,"column":13}},"155":{"start":{"line":879,"column":16},"end":{"line":884,"column":17}},"156":{"start":{"line":880,"column":20},"end":{"line":880,"column":66}},"157":{"start":{"line":883,"column":20},"end":{"line":883,"column":50}},"158":{"start":{"line":890,"column":2},"end":{"line":890,"column":29}},"159":{"start":{"line":904,"column":2},"end":{"line":904,"column":52}},"160":{"start":{"line":906,"column":2},"end":{"line":908,"column":3}},"161":{"start":{"line":907,"column":3},"end":{"line":907,"column":28}},"162":{"start":{"line":910,"column":2},"end":{"line":910,"column":47}},"163":{"start":{"line":912,"column":2},"end":{"line":914,"column":3}},"164":{"start":{"line":913,"column":3},"end":{"line":913,"column":27}},"165":{"start":{"line":923,"column":2},"end":{"line":923,"column":15}},"166":{"start":{"line":929,"column":2},"end":{"line":929,"column":14}},"167":{"start":{"line":930,"column":2},"end":{"line":930,"column":37}},"168":{"start":{"line":946,"column":2},"end":{"line":948,"column":3}},"169":{"start":{"line":947,"column":3},"end":{"line":947,"column":39}},"170":{"start":{"line":950,"column":2},"end":{"line":950,"column":50}},"171":{"start":{"line":952,"column":2},"end":{"line":952,"column":66}},"172":{"start":{"line":954,"column":2},"end":{"line":969,"column":3}},"173":{"start":{"line":956,"column":3},"end":{"line":956,"column":17}},"174":{"start":{"line":965,"column":3},"end":{"line":967,"column":4}},"175":{"start":{"line":966,"column":4},"end":{"line":966,"column":30}},"176":{"start":{"line":981,"column":2},"end":{"line":981,"column":12}},"177":{"start":{"line":983,"column":2},"end":{"line":1002,"column":3}},"178":{"start":{"line":985,"column":3},"end":{"line":985,"column":63}},"179":{"start":{"line":987,"column":3},"end":{"line":999,"column":4}},"180":{"start":{"line":989,"column":4},"end":{"line":989,"column":17}},"181":{"start":{"line":997,"column":4},"end":{"line":997,"column":29}},"182":{"start":{"line":1001,"column":3},"end":{"line":1001,"column":42}},"183":{"start":{"line":1013,"column":2},"end":{"line":1020,"column":3}},"184":{"start":{"line":1015,"column":3},"end":{"line":1015,"column":27}},"185":{"start":{"line":1016,"column":3},"end":{"line":1016,"column":31}},"186":{"start":{"line":1018,"column":3},"end":{"line":1018,"column":25}},"187":{"start":{"line":1031,"column":2},"end":{"line":1040,"column":3}},"188":{"start":{"line":1033,"column":3},"end":{"line":1033,"column":31}},"189":{"start":{"line":1035,"column":3},"end":{"line":1035,"column":28}},"190":{"start":{"line":1036,"column":3},"end":{"line":1036,"column":28}},"191":{"start":{"line":1037,"column":3},"end":{"line":1037,"column":27}},"192":{"start":{"line":1038,"column":3},"end":{"line":1038,"column":24}},"193":{"start":{"line":1052,"column":2},"end":{"line":1052,"column":26}},"194":{"start":{"line":1054,"column":2},"end":{"line":1056,"column":3}},"195":{"start":{"line":1055,"column":3},"end":{"line":1055,"column":31}},"196":{"start":{"line":1063,"column":0},"end":{"line":1063,"column":43}},"197":{"start":{"line":1064,"column":0},"end":{"line":1064,"column":37}},"198":{"start":{"line":1066,"column":0},"end":{"line":1066,"column":22}},"199":{"start":{"line":1067,"column":0},"end":{"line":1067,"column":45}}},"branchMap":{"1":{"line":154,"type":"if","locations":[{"start":{"line":154,"column":3},"end":{"line":154,"column":3}},{"start":{"line":154,"column":3},"end":{"line":154,"column":3}}]},"2":{"line":158,"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":158,"column":8}},{"start":{"line":158,"column":8},"end":{"line":158,"column":8}}]},"3":{"line":158,"type":"binary-expr","locations":[{"start":{"line":158,"column":13},"end":{"line":158,"column":36}},{"start":{"line":158,"column":41},"end":{"line":158,"column":55}}]},"4":{"line":162,"type":"if","locations":[{"start":{"line":162,"column":4},"end":{"line":162,"column":4}},{"start":{"line":162,"column":4},"end":{"line":162,"column":4}}]},"5":{"line":179,"type":"if","locations":[{"start":{"line":179,"column":3},"end":{"line":179,"column":3}},{"start":{"line":179,"column":3},"end":{"line":179,"column":3}}]},"6":{"line":183,"type":"if","locations":[{"start":{"line":183,"column":4},"end":{"line":183,"column":4}},{"start":{"line":183,"column":4},"end":{"line":183,"column":4}}]},"7":{"line":183,"type":"binary-expr","locations":[{"start":{"line":183,"column":8},"end":{"line":183,"column":13}},{"start":{"line":183,"column":17},"end":{"line":183,"column":38}}]},"8":{"line":304,"type":"if","locations":[{"start":{"line":304,"column":2},"end":{"line":304,"column":2}},{"start":{"line":304,"column":2},"end":{"line":304,"column":2}}]},"9":{"line":309,"type":"if","locations":[{"start":{"line":309,"column":2},"end":{"line":309,"column":2}},{"start":{"line":309,"column":2},"end":{"line":309,"column":2}}]},"10":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":16},"end":{"line":318,"column":16}},{"start":{"line":318,"column":16},"end":{"line":318,"column":16}}]},"11":{"line":318,"type":"binary-expr","locations":[{"start":{"line":318,"column":20},"end":{"line":318,"column":40}},{"start":{"line":318,"column":44},"end":{"line":318,"column":64}}]},"12":{"line":334,"type":"if","locations":[{"start":{"line":334,"column":16},"end":{"line":334,"column":16}},{"start":{"line":334,"column":16},"end":{"line":334,"column":16}}]},"13":{"line":334,"type":"binary-expr","locations":[{"start":{"line":334,"column":20},"end":{"line":334,"column":41}},{"start":{"line":335,"column":24},"end":{"line":335,"column":76}}]},"14":{"line":341,"type":"if","locations":[{"start":{"line":341,"column":16},"end":{"line":341,"column":16}},{"start":{"line":341,"column":16},"end":{"line":341,"column":16}}]},"15":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":16},"end":{"line":347,"column":16}},{"start":{"line":347,"column":16},"end":{"line":347,"column":16}}]},"16":{"line":361,"type":"if","locations":[{"start":{"line":361,"column":12},"end":{"line":361,"column":12}},{"start":{"line":361,"column":12},"end":{"line":361,"column":12}}]},"17":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":12},"end":{"line":371,"column":12}},{"start":{"line":371,"column":12},"end":{"line":371,"column":12}}]},"18":{"line":371,"type":"binary-expr","locations":[{"start":{"line":371,"column":16},"end":{"line":371,"column":22}},{"start":{"line":371,"column":26},"end":{"line":371,"column":45}}]},"19":{"line":386,"type":"if","locations":[{"start":{"line":386,"column":12},"end":{"line":386,"column":12}},{"start":{"line":386,"column":12},"end":{"line":386,"column":12}}]},"20":{"line":424,"type":"if","locations":[{"start":{"line":424,"column":2},"end":{"line":424,"column":2}},{"start":{"line":424,"column":2},"end":{"line":424,"column":2}}]},"21":{"line":425,"type":"cond-expr","locations":[{"start":{"line":426,"column":4},"end":{"line":426,"column":14}},{"start":{"line":426,"column":17},"end":{"line":426,"column":37}}]},"22":{"line":429,"type":"if","locations":[{"start":{"line":429,"column":2},"end":{"line":429,"column":2}},{"start":{"line":429,"column":2},"end":{"line":429,"column":2}}]},"23":{"line":429,"type":"binary-expr","locations":[{"start":{"line":429,"column":6},"end":{"line":429,"column":18}},{"start":{"line":429,"column":22},"end":{"line":429,"column":32}}]},"24":{"line":447,"type":"if","locations":[{"start":{"line":447,"column":2},"end":{"line":447,"column":2}},{"start":{"line":447,"column":2},"end":{"line":447,"column":2}}]},"25":{"line":451,"type":"if","locations":[{"start":{"line":451,"column":2},"end":{"line":451,"column":2}},{"start":{"line":451,"column":2},"end":{"line":451,"column":2}}]},"26":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":2},"end":{"line":466,"column":2}},{"start":{"line":466,"column":2},"end":{"line":466,"column":2}}]},"27":{"line":466,"type":"binary-expr","locations":[{"start":{"line":466,"column":6},"end":{"line":466,"column":31}},{"start":{"line":466,"column":35},"end":{"line":466,"column":67}}]},"28":{"line":484,"type":"if","locations":[{"start":{"line":484,"column":2},"end":{"line":484,"column":2}},{"start":{"line":484,"column":2},"end":{"line":484,"column":2}}]},"29":{"line":484,"type":"binary-expr","locations":[{"start":{"line":484,"column":6},"end":{"line":484,"column":26}},{"start":{"line":484,"column":31},"end":{"line":484,"column":60}},{"start":{"line":485,"column":5},"end":{"line":485,"column":22}},{"start":{"line":485,"column":26},"end":{"line":485,"column":55}}]},"30":{"line":510,"type":"if","locations":[{"start":{"line":510,"column":2},"end":{"line":510,"column":2}},{"start":{"line":510,"column":2},"end":{"line":510,"column":2}}]},"31":{"line":515,"type":"if","locations":[{"start":{"line":515,"column":2},"end":{"line":515,"column":2}},{"start":{"line":515,"column":2},"end":{"line":515,"column":2}}]},"32":{"line":526,"type":"if","locations":[{"start":{"line":526,"column":2},"end":{"line":526,"column":2}},{"start":{"line":526,"column":2},"end":{"line":526,"column":2}}]},"33":{"line":537,"type":"if","locations":[{"start":{"line":537,"column":2},"end":{"line":537,"column":2}},{"start":{"line":537,"column":2},"end":{"line":537,"column":2}}]},"34":{"line":555,"type":"if","locations":[{"start":{"line":555,"column":2},"end":{"line":555,"column":2}},{"start":{"line":555,"column":2},"end":{"line":555,"column":2}}]},"35":{"line":580,"type":"if","locations":[{"start":{"line":580,"column":2},"end":{"line":580,"column":2}},{"start":{"line":580,"column":2},"end":{"line":580,"column":2}}]},"36":{"line":580,"type":"binary-expr","locations":[{"start":{"line":580,"column":6},"end":{"line":580,"column":17}},{"start":{"line":580,"column":21},"end":{"line":580,"column":39}}]},"37":{"line":582,"type":"binary-expr","locations":[{"start":{"line":582,"column":15},"end":{"line":582,"column":34}},{"start":{"line":582,"column":38},"end":{"line":582,"column":40}}]},"38":{"line":586,"type":"if","locations":[{"start":{"line":586,"column":3},"end":{"line":586,"column":3}},{"start":{"line":586,"column":3},"end":{"line":586,"column":3}}]},"39":{"line":611,"type":"if","locations":[{"start":{"line":611,"column":5},"end":{"line":611,"column":5}},{"start":{"line":611,"column":5},"end":{"line":611,"column":5}}]},"40":{"line":657,"type":"if","locations":[{"start":{"line":657,"column":4},"end":{"line":657,"column":4}},{"start":{"line":657,"column":4},"end":{"line":657,"column":4}}]},"41":{"line":659,"type":"cond-expr","locations":[{"start":{"line":659,"column":44},"end":{"line":659,"column":48}},{"start":{"line":660,"column":9},"end":{"line":660,"column":56}}]},"42":{"line":669,"type":"if","locations":[{"start":{"line":669,"column":2},"end":{"line":669,"column":2}},{"start":{"line":669,"column":2},"end":{"line":669,"column":2}}]},"43":{"line":676,"type":"if","locations":[{"start":{"line":676,"column":3},"end":{"line":676,"column":3}},{"start":{"line":676,"column":3},"end":{"line":676,"column":3}}]},"44":{"line":679,"type":"if","locations":[{"start":{"line":679,"column":8},"end":{"line":679,"column":8}},{"start":{"line":679,"column":8},"end":{"line":679,"column":8}}]},"45":{"line":679,"type":"binary-expr","locations":[{"start":{"line":679,"column":12},"end":{"line":679,"column":17}},{"start":{"line":679,"column":21},"end":{"line":679,"column":38}}]},"46":{"line":692,"type":"if","locations":[{"start":{"line":692,"column":2},"end":{"line":692,"column":2}},{"start":{"line":692,"column":2},"end":{"line":692,"column":2}}]},"47":{"line":692,"type":"binary-expr","locations":[{"start":{"line":692,"column":6},"end":{"line":692,"column":16}},{"start":{"line":692,"column":20},"end":{"line":692,"column":47}}]},"48":{"line":703,"type":"if","locations":[{"start":{"line":703,"column":7},"end":{"line":703,"column":7}},{"start":{"line":703,"column":7},"end":{"line":703,"column":7}}]},"49":{"line":703,"type":"binary-expr","locations":[{"start":{"line":703,"column":11},"end":{"line":703,"column":20}},{"start":{"line":703,"column":24},"end":{"line":703,"column":41}},{"start":{"line":704,"column":4},"end":{"line":704,"column":15}},{"start":{"line":704,"column":20},"end":{"line":704,"column":30}},{"start":{"line":704,"column":34},"end":{"line":704,"column":62}}]},"50":{"line":734,"type":"binary-expr","locations":[{"start":{"line":734,"column":16},"end":{"line":734,"column":33}},{"start":{"line":734,"column":37},"end":{"line":734,"column":49}}]},"51":{"line":740,"type":"if","locations":[{"start":{"line":740,"column":2},"end":{"line":740,"column":2}},{"start":{"line":740,"column":2},"end":{"line":740,"column":2}}]},"52":{"line":745,"type":"if","locations":[{"start":{"line":745,"column":2},"end":{"line":745,"column":2}},{"start":{"line":745,"column":2},"end":{"line":745,"column":2}}]},"53":{"line":751,"type":"if","locations":[{"start":{"line":751,"column":3},"end":{"line":751,"column":3}},{"start":{"line":751,"column":3},"end":{"line":751,"column":3}}]},"54":{"line":751,"type":"binary-expr","locations":[{"start":{"line":751,"column":7},"end":{"line":751,"column":16}},{"start":{"line":751,"column":20},"end":{"line":751,"column":33}}]},"55":{"line":758,"type":"if","locations":[{"start":{"line":758,"column":8},"end":{"line":758,"column":8}},{"start":{"line":758,"column":8},"end":{"line":758,"column":8}}]},"56":{"line":758,"type":"binary-expr","locations":[{"start":{"line":758,"column":12},"end":{"line":758,"column":20}},{"start":{"line":758,"column":24},"end":{"line":758,"column":38}}]},"57":{"line":778,"type":"if","locations":[{"start":{"line":778,"column":2},"end":{"line":778,"column":2}},{"start":{"line":778,"column":2},"end":{"line":778,"column":2}}]},"58":{"line":780,"type":"if","locations":[{"start":{"line":780,"column":3},"end":{"line":780,"column":3}},{"start":{"line":780,"column":3},"end":{"line":780,"column":3}}]},"59":{"line":780,"type":"binary-expr","locations":[{"start":{"line":780,"column":7},"end":{"line":780,"column":19}},{"start":{"line":780,"column":24},"end":{"line":780,"column":56}},{"start":{"line":780,"column":60},"end":{"line":780,"column":69}}]},"60":{"line":784,"type":"if","locations":[{"start":{"line":784,"column":3},"end":{"line":784,"column":3}},{"start":{"line":784,"column":3},"end":{"line":784,"column":3}}]},"61":{"line":784,"type":"binary-expr","locations":[{"start":{"line":784,"column":7},"end":{"line":784,"column":20}},{"start":{"line":784,"column":24},"end":{"line":784,"column":32}}]},"62":{"line":786,"type":"if","locations":[{"start":{"line":786,"column":4},"end":{"line":786,"column":4}},{"start":{"line":786,"column":4},"end":{"line":786,"column":4}}]},"63":{"line":817,"type":"binary-expr","locations":[{"start":{"line":817,"column":26},"end":{"line":817,"column":42}},{"start":{"line":817,"column":46},"end":{"line":817,"column":73}}]},"64":{"line":821,"type":"if","locations":[{"start":{"line":821,"column":2},"end":{"line":821,"column":2}},{"start":{"line":821,"column":2},"end":{"line":821,"column":2}}]},"65":{"line":821,"type":"binary-expr","locations":[{"start":{"line":821,"column":6},"end":{"line":821,"column":38}},{"start":{"line":822,"column":4},"end":{"line":822,"column":44}}]},"66":{"line":826,"type":"if","locations":[{"start":{"line":826,"column":3},"end":{"line":826,"column":3}},{"start":{"line":826,"column":3},"end":{"line":826,"column":3}}]},"67":{"line":826,"type":"binary-expr","locations":[{"start":{"line":826,"column":7},"end":{"line":826,"column":54}},{"start":{"line":827,"column":4},"end":{"line":827,"column":22}}]},"68":{"line":835,"type":"if","locations":[{"start":{"line":835,"column":12},"end":{"line":835,"column":12}},{"start":{"line":835,"column":12},"end":{"line":835,"column":12}}]},"69":{"line":837,"type":"if","locations":[{"start":{"line":837,"column":16},"end":{"line":837,"column":16}},{"start":{"line":837,"column":16},"end":{"line":837,"column":16}}]},"70":{"line":864,"type":"binary-expr","locations":[{"start":{"line":864,"column":26},"end":{"line":864,"column":42}},{"start":{"line":864,"column":46},"end":{"line":864,"column":73}}]},"71":{"line":867,"type":"if","locations":[{"start":{"line":867,"column":2},"end":{"line":867,"column":2}},{"start":{"line":867,"column":2},"end":{"line":867,"column":2}}]},"72":{"line":867,"type":"binary-expr","locations":[{"start":{"line":867,"column":6},"end":{"line":867,"column":38}},{"start":{"line":867,"column":42},"end":{"line":867,"column":64}}]},"73":{"line":871,"type":"if","locations":[{"start":{"line":871,"column":3},"end":{"line":871,"column":3}},{"start":{"line":871,"column":3},"end":{"line":871,"column":3}}]},"74":{"line":871,"type":"binary-expr","locations":[{"start":{"line":871,"column":7},"end":{"line":871,"column":31}},{"start":{"line":871,"column":35},"end":{"line":871,"column":53}}]},"75":{"line":877,"type":"if","locations":[{"start":{"line":877,"column":12},"end":{"line":877,"column":12}},{"start":{"line":877,"column":12},"end":{"line":877,"column":12}}]},"76":{"line":879,"type":"if","locations":[{"start":{"line":879,"column":16},"end":{"line":879,"column":16}},{"start":{"line":879,"column":16},"end":{"line":879,"column":16}}]},"77":{"line":906,"type":"if","locations":[{"start":{"line":906,"column":2},"end":{"line":906,"column":2}},{"start":{"line":906,"column":2},"end":{"line":906,"column":2}}]},"78":{"line":912,"type":"if","locations":[{"start":{"line":912,"column":2},"end":{"line":912,"column":2}},{"start":{"line":912,"column":2},"end":{"line":912,"column":2}}]},"79":{"line":946,"type":"if","locations":[{"start":{"line":946,"column":2},"end":{"line":946,"column":2}},{"start":{"line":946,"column":2},"end":{"line":946,"column":2}}]},"80":{"line":954,"type":"if","locations":[{"start":{"line":954,"column":2},"end":{"line":954,"column":2}},{"start":{"line":954,"column":2},"end":{"line":954,"column":2}}]},"81":{"line":965,"type":"if","locations":[{"start":{"line":965,"column":3},"end":{"line":965,"column":3}},{"start":{"line":965,"column":3},"end":{"line":965,"column":3}}]},"82":{"line":965,"type":"binary-expr","locations":[{"start":{"line":965,"column":7},"end":{"line":965,"column":15}},{"start":{"line":965,"column":19},"end":{"line":965,"column":67}}]},"83":{"line":983,"type":"if","locations":[{"start":{"line":983,"column":2},"end":{"line":983,"column":2}},{"start":{"line":983,"column":2},"end":{"line":983,"column":2}}]},"84":{"line":987,"type":"if","locations":[{"start":{"line":987,"column":3},"end":{"line":987,"column":3}},{"start":{"line":987,"column":3},"end":{"line":987,"column":3}}]},"85":{"line":1013,"type":"if","locations":[{"start":{"line":1013,"column":2},"end":{"line":1013,"column":2}},{"start":{"line":1013,"column":2},"end":{"line":1013,"column":2}}]},"86":{"line":1031,"type":"if","locations":[{"start":{"line":1031,"column":2},"end":{"line":1031,"column":2}},{"start":{"line":1031,"column":2},"end":{"line":1031,"column":2}}]},"87":{"line":1054,"type":"if","locations":[{"start":{"line":1054,"column":2},"end":{"line":1054,"column":2}},{"start":{"line":1054,"column":2},"end":{"line":1054,"column":2}}]}},"code":["(function () { YUI.add('node-focusmanager', function (Y, NAME) {","","/**","* <p>The Focus Manager Node Plugin makes it easy to manage focus among","* a Node's descendants.  Primarily intended to help with widget development,","* the Focus Manager Node Plugin can be used to improve the keyboard","* accessibility of widgets.</p>","*","* <p>","* When designing widgets that manage a set of descendant controls (i.e. buttons","* in a toolbar, tabs in a tablist, menuitems in a menu, etc.) it is important to","* limit the number of descendants in the browser's default tab flow.  The fewer","* number of descendants in the default tab flow, the easier it is for keyboard","* users to navigate between widgets by pressing the tab key.  When a widget has","* focus it should provide a set of shortcut keys (typically the arrow keys)","* to move focus among its descendants.","* </p>","*","* <p>","* To this end, the Focus Manager Node Plugin makes it easy to define a Node's","* focusable descendants, define which descendant should be in the default tab","* flow, and define the keys that move focus among each descendant.","* Additionally, as the CSS","* <a href=\"http://www.w3.org/TR/CSS21/selector.html#x38\"><code>:focus</code></a>","* pseudo class is not supported on all elements in all","* <a href=\"http://developer.yahoo.com/yui/articles/gbs/\">A-Grade browsers</a>,","* the Focus Manager Node Plugin provides an easy, cross-browser means of","* styling focus.","* </p>","*","","DEPRECATED: The FocusManager Node Plugin has been deprecated as of YUI 3.9.0. This module will be removed from the library in a future version. If you require functionality similar to the one provided by this  module, consider taking a look at the various modules in the YUI Gallery <http://yuilibrary.com/gallery/>.","","* @module node-focusmanager","* @deprecated 3.9.0","*/","","\t//\tFrequently used strings","","var ACTIVE_DESCENDANT = \"activeDescendant\",","\tID = \"id\",","\tDISABLED = \"disabled\",","\tTAB_INDEX = \"tabIndex\",","\tFOCUSED = \"focused\",","\tFOCUS_CLASS = \"focusClass\",","\tCIRCULAR = \"circular\",","\tUI = \"UI\",","\tKEY = \"key\",","\tACTIVE_DESCENDANT_CHANGE = ACTIVE_DESCENDANT + \"Change\",","\tHOST = \"host\",","","\t//\tCollection of keys that, when pressed, cause the browser viewport","\t//\tto scroll.","\tscrollKeys = {","\t\t37: true,","\t\t38: true,","\t\t39: true,","\t\t40: true","\t},","","\tclickableElements = {","\t\t\"a\": true,","\t\t\"button\": true,","\t\t\"input\": true,","\t\t\"object\": true","\t},","","\t//\tLibrary shortcuts","","\tLang = Y.Lang,"," \tUA = Y.UA,","","\t/**","\t* The NodeFocusManager class is a plugin for a Node instance.  The class is used","\t* via the <a href=\"Node.html#method_plug\"><code>plug</code></a> method of Node","\t* and should not be instantiated directly.","\t* @namespace plugin","\t* @class NodeFocusManager","\t*/","\tNodeFocusManager = function () {","","\t\tNodeFocusManager.superclass.constructor.apply(this, arguments);","","\t};","","","NodeFocusManager.ATTRS = {","","\t/**","\t* Boolean indicating that one of the descendants is focused.","\t*","\t* @attribute focused","\t* @readOnly","\t* @default false","\t* @type boolean","\t*/","\tfocused: {","","\t\tvalue: false,","\t\treadOnly: true","","\t},","","","\t/**","\t* String representing the CSS selector used to define the descendant Nodes","\t* whose focus should be managed.","\t*","\t* @attribute descendants","\t* @type Y.NodeList","\t*/","\tdescendants: {","","\t\tgetter: function (value) {","","\t\t\treturn this.get(HOST).all(value);","","\t\t}","","\t},","","","\t/**","\t* <p>Node, or index of the Node, representing the descendant that is either","\t* focused or is focusable (<code>tabIndex</code> attribute is set to 0).","\t* The value cannot represent a disabled descendant Node.  Use a value of -1","\t* to remove all descendant Nodes from the default tab flow.","\t* If no value is specified, the active descendant will be inferred using","\t* the following criteria:</p>","\t* <ol>","\t* <li>Examining the <code>tabIndex</code> attribute of each descendant and","\t* using the first descendant whose <code>tabIndex</code> attribute is set","\t* to 0</li>","\t* <li>If no default can be inferred then the value is set to either 0 or","\t* the index of the first enabled descendant.</li>","\t* </ol>","\t*","\t* @attribute activeDescendant","\t* @type Number","\t*/","\tactiveDescendant: {","","\t\tsetter: function (value) {","","\t\t\tvar isNumber = Lang.isNumber,","\t\t\t\tINVALID_VALUE = Y.Attribute.INVALID_VALUE,","\t\t\t\tdescendantsMap = this._descendantsMap,","\t\t\t\tdescendants = this._descendants,","\t\t\t\tnodeIndex,","\t\t\t\treturnValue,","\t\t\t\toNode;","","","\t\t\tif (isNumber(value)) {","\t\t\t\tnodeIndex = value;","\t\t\t\treturnValue = nodeIndex;","\t\t\t}","\t\t\telse if ((value instanceof Y.Node) && descendantsMap) {","","\t\t\t\tnodeIndex = descendantsMap[value.get(ID)];","","\t\t\t\tif (isNumber(nodeIndex)) {","\t\t\t\t\treturnValue = nodeIndex;","\t\t\t\t}","\t\t\t\telse {","","\t\t\t\t\t//\tThe user passed a reference to a Node that wasn't one","\t\t\t\t\t//\tof the descendants.","\t\t\t\t\treturnValue = INVALID_VALUE;","","\t\t\t\t}","","\t\t\t}","\t\t\telse {","\t\t\t\treturnValue = INVALID_VALUE;","\t\t\t}","","","\t\t\tif (descendants) {","","\t\t\t\toNode = descendants.item(nodeIndex);","","\t\t\t\tif (oNode && oNode.get(\"disabled\")) {","","\t\t\t\t\t//\tSetting the \"activeDescendant\" attribute to the index","\t\t\t\t\t//\tof a disabled descendant is invalid.","\t\t\t\t\treturnValue = INVALID_VALUE;","","\t\t\t\t}","","\t\t\t}","","","\t\t\treturn returnValue;","","\t\t}","","\t},","","","\t/**","\t* Object literal representing the keys to be used to navigate between the","\t* next/previous descendant.  The format for the attribute's value is","\t* <code>{ next: \"down:40\", previous: \"down:38\" }</code>.  The value for the","\t* \"next\" and \"previous\" properties are used to attach","\t* <a href=\"event/#keylistener\"><code>key</code></a> event listeners. See","\t* the <a href=\"event/#keylistener\">Using the key Event</a> section of","\t* the Event documentation for more information on \"key\" event listeners.","\t*","\t* @attribute keys","\t* @type Object","\t*/","\tkeys: {","","\t\tvalue: {","","\t\t\tnext: null,","\t\t\tprevious: null","","\t\t}","","","\t},","","","\t/**","\t* String representing the name of class applied to the focused active","\t* descendant Node.  Can also be an object literal used to define both the","\t* class name, and the Node to which the class should be applied.  If using","\t* an object literal, the format is:","\t* <code>{ className: \"focus\", fn: myFunction }</code>.  The function","\t* referenced by the <code>fn</code> property in the object literal will be","\t* passed a reference to the currently focused active descendant Node.","\t*","\t* @attribute focusClass","\t* @type String|Object","\t*/","\tfocusClass: { },","","","\t/**","\t* Boolean indicating if focus should be set to the first/last descendant","\t* when the end or beginning of the descendants has been reached.","\t*","\t* @attribute circular","\t* @type Boolean","\t* @default true","\t*/","\tcircular: {","\t\tvalue: true","\t}","","};","","Y.extend(NodeFocusManager, Y.Plugin.Base, {","","\t//\tProtected properties","","\t//\tBoolean indicating if the NodeFocusManager is active.","\t_stopped: true,","","\t//\tNodeList representing the descendants selected via the","\t//\t\"descendants\" attribute.","\t_descendants: null,","","\t//\tObject literal mapping the IDs of each descendant to its index in the","\t//\t\"_descendants\" NodeList.","\t_descendantsMap: null,","","\t//\tReference to the Node instance to which the focused class (defined","\t//\tby the \"focusClass\" attribute) is currently applied.","\t_focusedNode: null,","","\t//\tNumber representing the index of the last descendant Node.","\t_lastNodeIndex: 0,","","\t//\tArray of handles for event handlers used for a NodeFocusManager instance.","\t_eventHandlers: null,","","","","\t//\tProtected methods","","\t/**","\t* @method _initDescendants","\t* @description Sets the <code>tabIndex</code> attribute of all of the","\t* descendants to -1, except the active descendant, whose","\t* <code>tabIndex</code> attribute is set to 0.","\t* @protected","\t*/","\t_initDescendants: function () {","","\t\tvar descendants = this.get(\"descendants\"),","\t\t\tdescendantsMap = {},","\t\t\tnFirstEnabled = -1,","\t\t\tnDescendants,","\t\t\tnActiveDescendant = this.get(ACTIVE_DESCENDANT),","\t\t\toNode,","\t\t\tsID,","\t\t\ti = 0;","","","","\t\tif (Lang.isUndefined(nActiveDescendant)) {","\t\t\tnActiveDescendant = -1;","\t\t}","","","\t\tif (descendants) {","","\t\t\tnDescendants = descendants.size();","","","            for (i = 0; i < nDescendants; i++) {","","                oNode = descendants.item(i);","","                if (nFirstEnabled === -1 && !oNode.get(DISABLED)) {","                    nFirstEnabled = i;","                }","","","                //\tIf the user didn't specify a value for the","                //\t\"activeDescendant\" attribute try to infer it from","                //\tthe markup.","","                //\tNeed to pass \"2\" when using \"getAttribute\" for IE to get","                //\tthe attribute value as it is set in the markup.","                //\tNeed to use \"parseInt\" because IE always returns the","                //\tvalue as a number, whereas all other browsers return","                //\tthe attribute as a string when accessed","                //\tvia \"getAttribute\".","","                if (nActiveDescendant < 0 &&","                        parseInt(oNode.getAttribute(TAB_INDEX, 2), 10) === 0) {","","                    nActiveDescendant = i;","","                }","","                if (oNode) {","                    oNode.set(TAB_INDEX, -1);","                }","","                sID = oNode.get(ID);","","                if (!sID) {","                    sID = Y.guid();","                    oNode.set(ID, sID);","                }","","                descendantsMap[sID] = i;","","            }","","","            //\tIf the user didn't specify a value for the","            //\t\"activeDescendant\" attribute and no default value could be","            //\tdetermined from the markup, then default to 0.","","            if (nActiveDescendant < 0) {","                nActiveDescendant = 0;","            }","","","            oNode = descendants.item(nActiveDescendant);","","            //\tCheck to make sure the active descendant isn't disabled,","            //\tand fall back to the first enabled descendant if it is.","","            if (!oNode || oNode.get(DISABLED)) {","                oNode = descendants.item(nFirstEnabled);","                nActiveDescendant = nFirstEnabled;","            }","","            this._lastNodeIndex = nDescendants - 1;","            this._descendants = descendants;","            this._descendantsMap = descendantsMap;","","            this.set(ACTIVE_DESCENDANT, nActiveDescendant);","","            //\tNeed to set the \"tabIndex\" attribute here, since the","            //\t\"activeDescendantChange\" event handler used to manage","            //\tthe setting of the \"tabIndex\" attribute isn't wired up yet.","","            if (oNode) {","                oNode.set(TAB_INDEX, 0);","            }","","\t\t}","","\t},","","","\t/**","\t* @method _isDescendant","\t* @description Determines if the specified Node instance is a descendant","\t* managed by the Focus Manager.","\t* @param node {Node} Node instance to be checked.","\t* @return {Boolean} Boolean indicating if the specified Node instance is a","\t* descendant managed by the Focus Manager.","\t* @protected","\t*/","\t_isDescendant: function (node) {","","\t\treturn (node.get(ID) in this._descendantsMap);","","\t},","","","\t/**","\t* @method _removeFocusClass","\t* @description Removes the class name representing focus (as specified by","\t* the \"focusClass\" attribute) from the Node instance to which it is","\t* currently applied.","\t* @protected","\t*/","\t_removeFocusClass: function () {","","\t\tvar oFocusedNode = this._focusedNode,","\t\t\tfocusClass = this.get(FOCUS_CLASS),","\t\t\tsClassName;","","\t\tif (focusClass) {","\t\t\tsClassName = Lang.isString(focusClass) ?","\t\t\t\tfocusClass : focusClass.className;","\t\t}","","\t\tif (oFocusedNode && sClassName) {","\t\t\toFocusedNode.removeClass(sClassName);","\t\t}","","\t},","","","\t/**","\t* @method _detachKeyHandler","\t* @description Detaches the \"key\" event handlers used to support the \"keys\"","\t* attribute.","\t* @protected","\t*/","\t_detachKeyHandler: function () {","","\t\tvar prevKeyHandler = this._prevKeyHandler,","\t\t\tnextKeyHandler = this._nextKeyHandler;","","\t\tif (prevKeyHandler) {","\t\t\tprevKeyHandler.detach();","\t\t}","","\t\tif (nextKeyHandler) {","\t\t\tnextKeyHandler.detach();","\t\t}","","\t},","","","\t/**","\t* @method _preventScroll","\t* @description Prevents the viewport from scolling when the user presses","\t* the up, down, left, or right key.","\t* @protected","\t*/","\t_preventScroll: function (event) {","","\t\tif (scrollKeys[event.keyCode] && this._isDescendant(event.target)) {","\t\t\tevent.preventDefault();","\t\t}","","\t},","","","\t/**","\t* @method _fireClick","\t* @description Fires the click event if the enter key is pressed while","\t* focused on an HTML element that is not natively clickable.","\t* @protected","\t*/","\t_fireClick: function (event) {","","\t\tvar oTarget = event.target,","\t\t\tsNodeName = oTarget.get(\"nodeName\").toLowerCase();","","\t\tif (event.keyCode === 13 && (!clickableElements[sNodeName] ||","\t\t\t\t(sNodeName === \"a\" && !oTarget.getAttribute(\"href\")))) {","","","\t\t\toTarget.simulate(\"click\");","","\t\t}","","\t},","","","\t/**","\t* @method _attachKeyHandler","\t* @description Attaches the \"key\" event handlers used to support the \"keys\"","\t* attribute.","\t* @protected","\t*/","\t_attachKeyHandler: function () {","","\t\tthis._detachKeyHandler();","","\t\tvar sNextKey = this.get(\"keys.next\"),","\t\t\tsPrevKey = this.get(\"keys.previous\"),","\t\t\toNode = this.get(HOST),","\t\t\taHandlers = this._eventHandlers;","","\t\tif (sPrevKey) {"," \t\t\tthis._prevKeyHandler =","\t\t\t\tY.on(KEY, Y.bind(this._focusPrevious, this), oNode, sPrevKey);","\t\t}","","\t\tif (sNextKey) {"," \t\t\tthis._nextKeyHandler =","\t\t\t\tY.on(KEY, Y.bind(this._focusNext, this), oNode, sNextKey);","\t\t}","","","\t\t//\tIn Opera it is necessary to call the \"preventDefault\" method in","\t\t//\tresponse to the user pressing the arrow keys in order to prevent","\t\t//\tthe viewport from scrolling when the user is moving focus among","\t\t//\tthe focusable descendants.","","\t\tif (UA.opera) {","\t\t\taHandlers.push(oNode.on(\"keypress\", this._preventScroll, this));","\t\t}","","","\t\t//\tFor all browsers except Opera: HTML elements that are not natively","\t\t//\tfocusable but made focusable via the tabIndex attribute don't","\t\t//\tfire a click event when the user presses the enter key.  It is","\t\t//\tpossible to work around this problem by simplying dispatching a","\t\t//\tclick event in response to the user pressing the enter key.","","\t\tif (!UA.opera) {","\t\t\taHandlers.push(oNode.on(\"keypress\", this._fireClick, this));","\t\t}","","\t},","","","\t/**","\t* @method _detachEventHandlers","\t* @description Detaches all event handlers used by the Focus Manager.","\t* @protected","\t*/","\t_detachEventHandlers: function () {","","\t\tthis._detachKeyHandler();","","\t\tvar aHandlers = this._eventHandlers;","","\t\tif (aHandlers) {","","\t\t\tY.Array.each(aHandlers, function (handle) {","\t\t\t\thandle.detach();","\t\t\t});","","\t\t\tthis._eventHandlers = null;","","\t\t}","","\t},","","","\t/**","\t* @method _detachEventHandlers","\t* @description Attaches all event handlers used by the Focus Manager.","\t* @protected","\t*/","\t_attachEventHandlers: function () {","","\t\tvar descendants = this._descendants,","\t\t\taHandlers,","\t\t\toDocument,","\t\t\thandle;","","\t\tif (descendants && descendants.size()) {","","\t\t\taHandlers = this._eventHandlers || [];","\t\t\toDocument = this.get(HOST).get(\"ownerDocument\");","","","\t\t\tif (aHandlers.length === 0) {","","","\t\t\t\taHandlers.push(oDocument.on(\"focus\", this._onDocFocus, this));","","\t\t\t\taHandlers.push(oDocument.on(\"mousedown\",","\t\t\t\t\tthis._onDocMouseDown, this));","","\t\t\t\taHandlers.push(","\t\t\t\t\t\tthis.after(\"keysChange\", this._attachKeyHandler));","","\t\t\t\taHandlers.push(","\t\t\t\t\t\tthis.after(\"descendantsChange\", this._initDescendants));","","\t\t\t\taHandlers.push(","\t\t\t\t\t\tthis.after(ACTIVE_DESCENDANT_CHANGE,","\t\t\t\t\t\t\t\tthis._afterActiveDescendantChange));","","","\t\t\t\t//\tFor performance: defer attaching all key-related event","\t\t\t\t//\thandlers until the first time one of the specified","\t\t\t\t//\tdescendants receives focus.","","\t\t\t\thandle = this.after(\"focusedChange\", Y.bind(function (event) {","","\t\t\t\t\tif (event.newVal) {","","","\t\t\t\t\t\tthis._attachKeyHandler();","","\t\t\t\t\t\t//\tDetach this \"focusedChange\" handler so that the","\t\t\t\t\t\t//\tkey-related handlers only get attached once.","","\t\t\t\t\t\thandle.detach();","","\t\t\t\t\t}","","\t\t\t\t}, this));","","\t\t\t\taHandlers.push(handle);","","\t\t\t}","","","\t\t\tthis._eventHandlers = aHandlers;","","\t\t}","","\t},","","","\t//\tProtected event handlers","","\t/**","\t* @method _onDocMouseDown","\t* @description \"mousedown\" event handler for the owner document of the","\t* Focus Manager's Node.","\t* @protected","\t* @param event {Object} Object representing the DOM event.","\t*/","\t_onDocMouseDown: function (event) {","","\t\tvar oHost = this.get(HOST),","\t\t\toTarget = event.target,","\t\t\tbChildNode = oHost.contains(oTarget),","\t\t\tnode,","","\t\t\tgetFocusable = function (node) {","","\t\t\t\tvar returnVal = false;","","\t\t\t\tif (!node.compareTo(oHost)) {","","\t\t\t\t\treturnVal = this._isDescendant(node) ? node :","\t\t\t\t\t\t\t\t\tgetFocusable.call(this, node.get(\"parentNode\"));","","\t\t\t\t}","","\t\t\t\treturn returnVal;","","\t\t\t};","","","\t\tif (bChildNode) {","","\t\t\t//\tCheck to make sure that the target isn't a child node of one","\t\t\t//\tof the focusable descendants.","","\t\t\tnode = getFocusable.call(this, oTarget);","","\t\t\tif (node) {","\t\t\t\toTarget = node;","\t\t\t}","\t\t\telse if (!node && this.get(FOCUSED)) {","","\t\t\t\t//\tThe target was a non-focusable descendant of the root","\t\t\t\t//\tnode, so the \"focused\" attribute should be set to false.","","\t \t\t\tthis._set(FOCUSED, false);","\t \t\t\tthis._onDocFocus(event);","","\t\t\t}","","\t\t}","","","\t\tif (bChildNode && this._isDescendant(oTarget)) {","","\t\t\t//\tFix general problem in Webkit: mousing down on a button or an","\t\t\t//\tanchor element doesn't focus it.","","\t\t\t//\tFor all browsers: makes sure that the descendant that","\t\t\t//\twas the target of the mousedown event is now considered the","\t\t\t//\tactive descendant.","","\t\t\tthis.focus(oTarget);","\t\t}","\t\telse if (UA.webkit && this.get(FOCUSED) &&","\t\t\t(!bChildNode || (bChildNode && !this._isDescendant(oTarget)))) {","","\t\t\t//\tFix for Webkit:","","\t\t\t//\tDocument doesn't receive focus in Webkit when the user mouses","\t\t\t//\tdown on it, so the \"focused\" attribute won't get set to the","\t\t\t//\tcorrect value.","","\t\t\t//\tThe goal is to force a blur if the user moused down on","\t\t\t//\teither: 1) A descendant node, but not one that managed by","\t\t\t//\tthe FocusManager, or 2) an element outside of the","\t\t\t//\tFocusManager",""," \t\t\tthis._set(FOCUSED, false);"," \t\t\tthis._onDocFocus(event);","","\t\t}","","\t},","","","\t/**","\t* @method _onDocFocus","\t* @description \"focus\" event handler for the owner document of the","\t* Focus Manager's Node.","\t* @protected","\t* @param event {Object} Object representing the DOM event.","\t*/","\t_onDocFocus: function (event) {","","\t\tvar oTarget = this._focusTarget || event.target,","\t\t\tbFocused = this.get(FOCUSED),","\t\t\tfocusClass = this.get(FOCUS_CLASS),","\t\t\toFocusedNode = this._focusedNode,","\t\t\tbInCollection;","","\t\tif (this._focusTarget) {","\t\t\tthis._focusTarget = null;","\t\t}","","","\t\tif (this.get(HOST).contains(oTarget)) {","","\t\t\t//\tThe target is a descendant of the root Node.","","\t\t\tbInCollection = this._isDescendant(oTarget);","","\t\t\tif (!bFocused && bInCollection) {","","\t\t\t\t//\tThe user has focused a focusable descendant.","","\t\t\t\tbFocused = true;","","\t\t\t}","\t\t\telse if (bFocused && !bInCollection) {","","\t\t\t\t//\tThe user has focused a child of the root Node that is","\t\t\t\t//\tnot one of the descendants managed by this Focus Manager","\t\t\t\t//\tso clear the currently focused descendant.","","\t\t\t\tbFocused = false;","","\t\t\t}","","\t\t}","\t\telse {","","\t\t\t// The target is some other node in the document.","","\t\t\tbFocused = false;","","\t\t}","","","\t\tif (focusClass) {","","\t\t\tif (oFocusedNode && (!oFocusedNode.compareTo(oTarget) || !bFocused)) {","\t\t\t\tthis._removeFocusClass();","\t\t\t}","","\t\t\tif (bInCollection && bFocused) {","","\t\t\t\tif (focusClass.fn) {","\t\t\t\t\toTarget = focusClass.fn(oTarget);","\t\t\t\t\toTarget.addClass(focusClass.className);","\t\t\t\t}","\t\t\t\telse {","\t\t\t\t\toTarget.addClass(focusClass);","\t\t\t\t}","","\t\t\t\tthis._focusedNode = oTarget;","","\t\t\t}","","\t\t}","","","\t\tthis._set(FOCUSED, bFocused);","","\t},","","","\t/**","\t* @method _focusNext","\t* @description Keydown event handler that moves focus to the next","\t* enabled descendant.","\t* @protected","\t* @param event {Object} Object representing the DOM event.","\t* @param activeDescendant {Number} Number representing the index of the","\t* next descendant to be focused","\t*/","\t_focusNext: function (event, activeDescendant) {","","\t\tvar nActiveDescendant = activeDescendant || this.get(ACTIVE_DESCENDANT),","\t\t\toNode;","","","\t\tif (this._isDescendant(event.target) &&","\t\t\t(nActiveDescendant <= this._lastNodeIndex)) {","","\t\t\tnActiveDescendant = nActiveDescendant + 1;","","\t\t\tif (nActiveDescendant === (this._lastNodeIndex + 1) &&","\t\t\t\tthis.get(CIRCULAR)) {","","\t\t\t\tnActiveDescendant = 0;","","\t\t\t}","","\t\t\toNode = this._descendants.item(nActiveDescendant);","","            if (oNode) {","","                if (oNode.get(\"disabled\")) {","                    this._focusNext(event, nActiveDescendant);","                }","                else {","                    this.focus(nActiveDescendant);","                }","","            }","","\t\t}","","\t\tthis._preventScroll(event);","","\t},","","","\t/**","\t* @method _focusPrevious","\t* @description Keydown event handler that moves focus to the previous","\t* enabled descendant.","\t* @protected","\t* @param event {Object} Object representing the DOM event.","\t* @param activeDescendant {Number} Number representing the index of the","\t* next descendant to be focused.","\t*/","\t_focusPrevious: function (event, activeDescendant) {","","\t\tvar nActiveDescendant = activeDescendant || this.get(ACTIVE_DESCENDANT),","\t\t\toNode;","","\t\tif (this._isDescendant(event.target) && nActiveDescendant >= 0) {","","\t\t\tnActiveDescendant = nActiveDescendant - 1;","","\t\t\tif (nActiveDescendant === -1 && this.get(CIRCULAR)) {","\t\t\t\tnActiveDescendant = this._lastNodeIndex;","\t\t\t}","","            oNode = this._descendants.item(nActiveDescendant);","","            if (oNode) {","","                if (oNode.get(\"disabled\")) {","                    this._focusPrevious(event, nActiveDescendant);","                }","                else {","                    this.focus(nActiveDescendant);","                }","","            }","","\t\t}","","\t\tthis._preventScroll(event);","","\t},","","","\t/**","\t* @method _afterActiveDescendantChange","\t* @description afterChange event handler for the","\t* \"activeDescendant\" attribute.","\t* @protected","\t* @param event {Object} Object representing the change event.","\t*/","\t_afterActiveDescendantChange: function (event) {","","\t\tvar oNode = this._descendants.item(event.prevVal);","","\t\tif (oNode) {","\t\t\toNode.set(TAB_INDEX, -1);","\t\t}","","\t\toNode = this._descendants.item(event.newVal);","","\t\tif (oNode) {","\t\t\toNode.set(TAB_INDEX, 0);","\t\t}","","\t},","","","","\t//\tPublic methods","","    initializer: function (config) {","\t\tthis.start();","","    },","","\tdestructor: function () {","","\t\tthis.stop();","\t\tthis.get(HOST).focusManager = null;","","    },","","","\t/**","\t* @method focus","\t* @description Focuses the active descendant and sets the","\t* <code>focused</code> attribute to true.","\t* @param index {Number} Optional. Number representing the index of the","\t* descendant to be set as the active descendant.","\t* @param index {Node} Optional. Node instance representing the","\t* descendant to be set as the active descendant.","\t*/","\tfocus: function (index) {","","\t\tif (Lang.isUndefined(index)) {","\t\t\tindex = this.get(ACTIVE_DESCENDANT);","\t\t}","","\t\tthis.set(ACTIVE_DESCENDANT, index, { src: UI });","","\t\tvar oNode = this._descendants.item(this.get(ACTIVE_DESCENDANT));","","\t\tif (oNode) {","","\t\t\toNode.focus();","","\t\t\t//\tIn Opera focusing a <BUTTON> element programmatically","\t\t\t//\twill result in the document-level focus event handler","\t\t\t//\t\"_onDocFocus\" being called, resulting in the handler","\t\t\t//\tincorrectly setting the \"focused\" Attribute to false.  To fix","\t\t\t//\tthis, set a flag (\"_focusTarget\") that the \"_onDocFocus\" method","\t\t\t//\tcan look for to properly handle this edge case.","","\t\t\tif (UA.opera && oNode.get(\"nodeName\").toLowerCase() === \"button\") {","\t\t\t\tthis._focusTarget = oNode;","\t\t\t}","","\t\t}","","\t},","","","\t/**","\t* @method blur","\t* @description Blurs the current active descendant and sets the","\t* <code>focused</code> attribute to false.","\t*/","\tblur: function () {","","\t\tvar oNode;","","\t\tif (this.get(FOCUSED)) {","","\t\t\toNode = this._descendants.item(this.get(ACTIVE_DESCENDANT));","","\t\t\tif (oNode) {","","\t\t\t\toNode.blur();","","\t\t\t\t//\tFor Opera and Webkit:  Blurring an element in either browser","\t\t\t\t//\tdoesn't result in another element (such as the document)","\t\t\t\t//\tbeing focused.  Therefore, the \"_onDocFocus\" method","\t\t\t\t//\tresponsible for managing the application and removal of the","\t\t\t\t//\tfocus indicator class name is never called.","","\t\t\t\tthis._removeFocusClass();","","\t\t\t}","","\t\t\tthis._set(FOCUSED, false, { src: UI });","\t\t}","","\t},","","","\t/**","\t* @method start","\t* @description Enables the Focus Manager.","\t*/","\tstart: function () {","","\t\tif (this._stopped) {","","\t\t\tthis._initDescendants();","\t\t\tthis._attachEventHandlers();","","\t\t\tthis._stopped = false;","","\t\t}","","\t},","","","\t/**","\t* @method stop","\t* @description Disables the Focus Manager by detaching all event handlers.","\t*/","\tstop: function () {","","\t\tif (!this._stopped) {","","\t\t\tthis._detachEventHandlers();","","\t\t\tthis._descendants = null;","\t\t\tthis._focusedNode = null;","\t\t\tthis._lastNodeIndex = 0;","\t\t\tthis._stopped = true;","","\t\t}","","\t},","","","\t/**","\t* @method refresh","\t* @description Refreshes the Focus Manager's descendants by re-executing the","\t* CSS selector query specified by the <code>descendants</code> attribute.","\t*/","\trefresh: function () {","","\t\tthis._initDescendants();","","\t\tif (!this._eventHandlers) {","\t\t\tthis._attachEventHandlers();","\t\t}","","\t}","","});","","","NodeFocusManager.NAME = \"nodeFocusManager\";","NodeFocusManager.NS = \"focusManager\";","","Y.namespace(\"Plugin\");","Y.Plugin.NodeFocusManager = NodeFocusManager;","","","}, '3.13.0', {\"requires\": [\"attribute\", \"node\", \"plugin\", \"node-event-simulate\", \"event-key\", \"event-focus\"]});","","}());"]};
12 var __cov_plEKMsVSJJiNTPK5jFownw = __coverage__['build/node-focusmanager/node-focusmanager.js'];
13 __cov_plEKMsVSJJiNTPK5jFownw.s['1']++;YUI.add('node-focusmanager',function(Y,NAME){__cov_plEKMsVSJJiNTPK5jFownw.f['1']++;__cov_plEKMsVSJJiNTPK5jFownw.s['2']++;var ACTIVE_DESCENDANT='activeDescendant',ID='id',DISABLED='disabled',TAB_INDEX='tabIndex',FOCUSED='focused',FOCUS_CLASS='focusClass',CIRCULAR='circular',UI='UI',KEY='key',ACTIVE_DESCENDANT_CHANGE=ACTIVE_DESCENDANT+'Change',HOST='host',scrollKeys={37:true,38:true,39:true,40:true},clickableElements={'a':true,'button':true,'input':true,'object':true},Lang=Y.Lang,UA=Y.UA,NodeFocusManager=function(){__cov_plEKMsVSJJiNTPK5jFownw.f['2']++;__cov_plEKMsVSJJiNTPK5jFownw.s['3']++;NodeFocusManager.superclass.constructor.apply(this,arguments);};__cov_plEKMsVSJJiNTPK5jFownw.s['4']++;NodeFocusManager.ATTRS={focused:{value:false,readOnly:true},descendants:{getter:function(value){__cov_plEKMsVSJJiNTPK5jFownw.f['3']++;__cov_plEKMsVSJJiNTPK5jFownw.s['5']++;return this.get(HOST).all(value);}},activeDescendant:{setter:function(value){__cov_plEKMsVSJJiNTPK5jFownw.f['4']++;__cov_plEKMsVSJJiNTPK5jFownw.s['6']++;var isNumber=Lang.isNumber,INVALID_VALUE=Y.Attribute.INVALID_VALUE,descendantsMap=this._descendantsMap,descendants=this._descendants,nodeIndex,returnValue,oNode;__cov_plEKMsVSJJiNTPK5jFownw.s['7']++;if(isNumber(value)){__cov_plEKMsVSJJiNTPK5jFownw.b['1'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['8']++;nodeIndex=value;__cov_plEKMsVSJJiNTPK5jFownw.s['9']++;returnValue=nodeIndex;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['1'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['10']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['3'][0]++,value instanceof Y.Node)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['3'][1]++,descendantsMap)){__cov_plEKMsVSJJiNTPK5jFownw.b['2'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['11']++;nodeIndex=descendantsMap[value.get(ID)];__cov_plEKMsVSJJiNTPK5jFownw.s['12']++;if(isNumber(nodeIndex)){__cov_plEKMsVSJJiNTPK5jFownw.b['4'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['13']++;returnValue=nodeIndex;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['4'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['14']++;returnValue=INVALID_VALUE;}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['2'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['15']++;returnValue=INVALID_VALUE;}}__cov_plEKMsVSJJiNTPK5jFownw.s['16']++;if(descendants){__cov_plEKMsVSJJiNTPK5jFownw.b['5'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['17']++;oNode=descendants.item(nodeIndex);__cov_plEKMsVSJJiNTPK5jFownw.s['18']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['7'][0]++,oNode)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['7'][1]++,oNode.get('disabled'))){__cov_plEKMsVSJJiNTPK5jFownw.b['6'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['19']++;returnValue=INVALID_VALUE;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['6'][1]++;}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['5'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['20']++;return returnValue;}},keys:{value:{next:null,previous:null}},focusClass:{},circular:{value:true}};__cov_plEKMsVSJJiNTPK5jFownw.s['21']++;Y.extend(NodeFocusManager,Y.Plugin.Base,{_stopped:true,_descendants:null,_descendantsMap:null,_focusedNode:null,_lastNodeIndex:0,_eventHandlers:null,_initDescendants:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['5']++;__cov_plEKMsVSJJiNTPK5jFownw.s['22']++;var descendants=this.get('descendants'),descendantsMap={},nFirstEnabled=-1,nDescendants,nActiveDescendant=this.get(ACTIVE_DESCENDANT),oNode,sID,i=0;__cov_plEKMsVSJJiNTPK5jFownw.s['23']++;if(Lang.isUndefined(nActiveDescendant)){__cov_plEKMsVSJJiNTPK5jFownw.b['8'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['24']++;nActiveDescendant=-1;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['8'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['25']++;if(descendants){__cov_plEKMsVSJJiNTPK5jFownw.b['9'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['26']++;nDescendants=descendants.size();__cov_plEKMsVSJJiNTPK5jFownw.s['27']++;for(i=0;i<nDescendants;i++){__cov_plEKMsVSJJiNTPK5jFownw.s['28']++;oNode=descendants.item(i);__cov_plEKMsVSJJiNTPK5jFownw.s['29']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['11'][0]++,nFirstEnabled===-1)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['11'][1]++,!oNode.get(DISABLED))){__cov_plEKMsVSJJiNTPK5jFownw.b['10'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['30']++;nFirstEnabled=i;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['10'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['31']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['13'][0]++,nActiveDescendant<0)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['13'][1]++,parseInt(oNode.getAttribute(TAB_INDEX,2),10)===0)){__cov_plEKMsVSJJiNTPK5jFownw.b['12'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['32']++;nActiveDescendant=i;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['12'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['33']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['14'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['34']++;oNode.set(TAB_INDEX,-1);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['14'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['35']++;sID=oNode.get(ID);__cov_plEKMsVSJJiNTPK5jFownw.s['36']++;if(!sID){__cov_plEKMsVSJJiNTPK5jFownw.b['15'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['37']++;sID=Y.guid();__cov_plEKMsVSJJiNTPK5jFownw.s['38']++;oNode.set(ID,sID);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['15'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['39']++;descendantsMap[sID]=i;}__cov_plEKMsVSJJiNTPK5jFownw.s['40']++;if(nActiveDescendant<0){__cov_plEKMsVSJJiNTPK5jFownw.b['16'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['41']++;nActiveDescendant=0;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['16'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['42']++;oNode=descendants.item(nActiveDescendant);__cov_plEKMsVSJJiNTPK5jFownw.s['43']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['18'][0]++,!oNode)||(__cov_plEKMsVSJJiNTPK5jFownw.b['18'][1]++,oNode.get(DISABLED))){__cov_plEKMsVSJJiNTPK5jFownw.b['17'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['44']++;oNode=descendants.item(nFirstEnabled);__cov_plEKMsVSJJiNTPK5jFownw.s['45']++;nActiveDescendant=nFirstEnabled;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['17'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['46']++;this._lastNodeIndex=nDescendants-1;__cov_plEKMsVSJJiNTPK5jFownw.s['47']++;this._descendants=descendants;__cov_plEKMsVSJJiNTPK5jFownw.s['48']++;this._descendantsMap=descendantsMap;__cov_plEKMsVSJJiNTPK5jFownw.s['49']++;this.set(ACTIVE_DESCENDANT,nActiveDescendant);__cov_plEKMsVSJJiNTPK5jFownw.s['50']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['19'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['51']++;oNode.set(TAB_INDEX,0);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['19'][1]++;}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['9'][1]++;}},_isDescendant:function(node){__cov_plEKMsVSJJiNTPK5jFownw.f['6']++;__cov_plEKMsVSJJiNTPK5jFownw.s['52']++;return node.get(ID)in this._descendantsMap;},_removeFocusClass:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['7']++;__cov_plEKMsVSJJiNTPK5jFownw.s['53']++;var oFocusedNode=this._focusedNode,focusClass=this.get(FOCUS_CLASS),sClassName;__cov_plEKMsVSJJiNTPK5jFownw.s['54']++;if(focusClass){__cov_plEKMsVSJJiNTPK5jFownw.b['20'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['55']++;sClassName=Lang.isString(focusClass)?(__cov_plEKMsVSJJiNTPK5jFownw.b['21'][0]++,focusClass):(__cov_plEKMsVSJJiNTPK5jFownw.b['21'][1]++,focusClass.className);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['20'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['56']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['23'][0]++,oFocusedNode)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['23'][1]++,sClassName)){__cov_plEKMsVSJJiNTPK5jFownw.b['22'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['57']++;oFocusedNode.removeClass(sClassName);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['22'][1]++;}},_detachKeyHandler:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['8']++;__cov_plEKMsVSJJiNTPK5jFownw.s['58']++;var prevKeyHandler=this._prevKeyHandler,nextKeyHandler=this._nextKeyHandler;__cov_plEKMsVSJJiNTPK5jFownw.s['59']++;if(prevKeyHandler){__cov_plEKMsVSJJiNTPK5jFownw.b['24'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['60']++;prevKeyHandler.detach();}else{__cov_plEKMsVSJJiNTPK5jFownw.b['24'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['61']++;if(nextKeyHandler){__cov_plEKMsVSJJiNTPK5jFownw.b['25'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['62']++;nextKeyHandler.detach();}else{__cov_plEKMsVSJJiNTPK5jFownw.b['25'][1]++;}},_preventScroll:function(event){__cov_plEKMsVSJJiNTPK5jFownw.f['9']++;__cov_plEKMsVSJJiNTPK5jFownw.s['63']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['27'][0]++,scrollKeys[event.keyCode])&&(__cov_plEKMsVSJJiNTPK5jFownw.b['27'][1]++,this._isDescendant(event.target))){__cov_plEKMsVSJJiNTPK5jFownw.b['26'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['64']++;event.preventDefault();}else{__cov_plEKMsVSJJiNTPK5jFownw.b['26'][1]++;}},_fireClick:function(event){__cov_plEKMsVSJJiNTPK5jFownw.f['10']++;__cov_plEKMsVSJJiNTPK5jFownw.s['65']++;var oTarget=event.target,sNodeName=oTarget.get('nodeName').toLowerCase();__cov_plEKMsVSJJiNTPK5jFownw.s['66']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['29'][0]++,event.keyCode===13)&&((__cov_plEKMsVSJJiNTPK5jFownw.b['29'][1]++,!clickableElements[sNodeName])||(__cov_plEKMsVSJJiNTPK5jFownw.b['29'][2]++,sNodeName==='a')&&(__cov_plEKMsVSJJiNTPK5jFownw.b['29'][3]++,!oTarget.getAttribute('href')))){__cov_plEKMsVSJJiNTPK5jFownw.b['28'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['67']++;oTarget.simulate('click');}else{__cov_plEKMsVSJJiNTPK5jFownw.b['28'][1]++;}},_attachKeyHandler:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['11']++;__cov_plEKMsVSJJiNTPK5jFownw.s['68']++;this._detachKeyHandler();__cov_plEKMsVSJJiNTPK5jFownw.s['69']++;var sNextKey=this.get('keys.next'),sPrevKey=this.get('keys.previous'),oNode=this.get(HOST),aHandlers=this._eventHandlers;__cov_plEKMsVSJJiNTPK5jFownw.s['70']++;if(sPrevKey){__cov_plEKMsVSJJiNTPK5jFownw.b['30'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['71']++;this._prevKeyHandler=Y.on(KEY,Y.bind(this._focusPrevious,this),oNode,sPrevKey);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['30'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['72']++;if(sNextKey){__cov_plEKMsVSJJiNTPK5jFownw.b['31'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['73']++;this._nextKeyHandler=Y.on(KEY,Y.bind(this._focusNext,this),oNode,sNextKey);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['31'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['74']++;if(UA.opera){__cov_plEKMsVSJJiNTPK5jFownw.b['32'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['75']++;aHandlers.push(oNode.on('keypress',this._preventScroll,this));}else{__cov_plEKMsVSJJiNTPK5jFownw.b['32'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['76']++;if(!UA.opera){__cov_plEKMsVSJJiNTPK5jFownw.b['33'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['77']++;aHandlers.push(oNode.on('keypress',this._fireClick,this));}else{__cov_plEKMsVSJJiNTPK5jFownw.b['33'][1]++;}},_detachEventHandlers:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['12']++;__cov_plEKMsVSJJiNTPK5jFownw.s['78']++;this._detachKeyHandler();__cov_plEKMsVSJJiNTPK5jFownw.s['79']++;var aHandlers=this._eventHandlers;__cov_plEKMsVSJJiNTPK5jFownw.s['80']++;if(aHandlers){__cov_plEKMsVSJJiNTPK5jFownw.b['34'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['81']++;Y.Array.each(aHandlers,function(handle){__cov_plEKMsVSJJiNTPK5jFownw.f['13']++;__cov_plEKMsVSJJiNTPK5jFownw.s['82']++;handle.detach();});__cov_plEKMsVSJJiNTPK5jFownw.s['83']++;this._eventHandlers=null;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['34'][1]++;}},_attachEventHandlers:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['14']++;__cov_plEKMsVSJJiNTPK5jFownw.s['84']++;var descendants=this._descendants,aHandlers,oDocument,handle;__cov_plEKMsVSJJiNTPK5jFownw.s['85']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['36'][0]++,descendants)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['36'][1]++,descendants.size())){__cov_plEKMsVSJJiNTPK5jFownw.b['35'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['86']++;aHandlers=(__cov_plEKMsVSJJiNTPK5jFownw.b['37'][0]++,this._eventHandlers)||(__cov_plEKMsVSJJiNTPK5jFownw.b['37'][1]++,[]);__cov_plEKMsVSJJiNTPK5jFownw.s['87']++;oDocument=this.get(HOST).get('ownerDocument');__cov_plEKMsVSJJiNTPK5jFownw.s['88']++;if(aHandlers.length===0){__cov_plEKMsVSJJiNTPK5jFownw.b['38'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['89']++;aHandlers.push(oDocument.on('focus',this._onDocFocus,this));__cov_plEKMsVSJJiNTPK5jFownw.s['90']++;aHandlers.push(oDocument.on('mousedown',this._onDocMouseDown,this));__cov_plEKMsVSJJiNTPK5jFownw.s['91']++;aHandlers.push(this.after('keysChange',this._attachKeyHandler));__cov_plEKMsVSJJiNTPK5jFownw.s['92']++;aHandlers.push(this.after('descendantsChange',this._initDescendants));__cov_plEKMsVSJJiNTPK5jFownw.s['93']++;aHandlers.push(this.after(ACTIVE_DESCENDANT_CHANGE,this._afterActiveDescendantChange));__cov_plEKMsVSJJiNTPK5jFownw.s['94']++;handle=this.after('focusedChange',Y.bind(function(event){__cov_plEKMsVSJJiNTPK5jFownw.f['15']++;__cov_plEKMsVSJJiNTPK5jFownw.s['95']++;if(event.newVal){__cov_plEKMsVSJJiNTPK5jFownw.b['39'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['96']++;this._attachKeyHandler();__cov_plEKMsVSJJiNTPK5jFownw.s['97']++;handle.detach();}else{__cov_plEKMsVSJJiNTPK5jFownw.b['39'][1]++;}},this));__cov_plEKMsVSJJiNTPK5jFownw.s['98']++;aHandlers.push(handle);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['38'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['99']++;this._eventHandlers=aHandlers;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['35'][1]++;}},_onDocMouseDown:function(event){__cov_plEKMsVSJJiNTPK5jFownw.f['16']++;__cov_plEKMsVSJJiNTPK5jFownw.s['100']++;var oHost=this.get(HOST),oTarget=event.target,bChildNode=oHost.contains(oTarget),node,getFocusable=function(node){__cov_plEKMsVSJJiNTPK5jFownw.f['17']++;__cov_plEKMsVSJJiNTPK5jFownw.s['101']++;var returnVal=false;__cov_plEKMsVSJJiNTPK5jFownw.s['102']++;if(!node.compareTo(oHost)){__cov_plEKMsVSJJiNTPK5jFownw.b['40'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['103']++;returnVal=this._isDescendant(node)?(__cov_plEKMsVSJJiNTPK5jFownw.b['41'][0]++,node):(__cov_plEKMsVSJJiNTPK5jFownw.b['41'][1]++,getFocusable.call(this,node.get('parentNode')));}else{__cov_plEKMsVSJJiNTPK5jFownw.b['40'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['104']++;return returnVal;};__cov_plEKMsVSJJiNTPK5jFownw.s['105']++;if(bChildNode){__cov_plEKMsVSJJiNTPK5jFownw.b['42'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['106']++;node=getFocusable.call(this,oTarget);__cov_plEKMsVSJJiNTPK5jFownw.s['107']++;if(node){__cov_plEKMsVSJJiNTPK5jFownw.b['43'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['108']++;oTarget=node;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['43'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['109']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['45'][0]++,!node)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['45'][1]++,this.get(FOCUSED))){__cov_plEKMsVSJJiNTPK5jFownw.b['44'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['110']++;this._set(FOCUSED,false);__cov_plEKMsVSJJiNTPK5jFownw.s['111']++;this._onDocFocus(event);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['44'][1]++;}}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['42'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['112']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['47'][0]++,bChildNode)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['47'][1]++,this._isDescendant(oTarget))){__cov_plEKMsVSJJiNTPK5jFownw.b['46'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['113']++;this.focus(oTarget);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['46'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['114']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['49'][0]++,UA.webkit)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['49'][1]++,this.get(FOCUSED))&&((__cov_plEKMsVSJJiNTPK5jFownw.b['49'][2]++,!bChildNode)||(__cov_plEKMsVSJJiNTPK5jFownw.b['49'][3]++,bChildNode)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['49'][4]++,!this._isDescendant(oTarget)))){__cov_plEKMsVSJJiNTPK5jFownw.b['48'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['115']++;this._set(FOCUSED,false);__cov_plEKMsVSJJiNTPK5jFownw.s['116']++;this._onDocFocus(event);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['48'][1]++;}}},_onDocFocus:function(event){__cov_plEKMsVSJJiNTPK5jFownw.f['18']++;__cov_plEKMsVSJJiNTPK5jFownw.s['117']++;var oTarget=(__cov_plEKMsVSJJiNTPK5jFownw.b['50'][0]++,this._focusTarget)||(__cov_plEKMsVSJJiNTPK5jFownw.b['50'][1]++,event.target),bFocused=this.get(FOCUSED),focusClass=this.get(FOCUS_CLASS),oFocusedNode=this._focusedNode,bInCollection;__cov_plEKMsVSJJiNTPK5jFownw.s['118']++;if(this._focusTarget){__cov_plEKMsVSJJiNTPK5jFownw.b['51'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['119']++;this._focusTarget=null;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['51'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['120']++;if(this.get(HOST).contains(oTarget)){__cov_plEKMsVSJJiNTPK5jFownw.b['52'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['121']++;bInCollection=this._isDescendant(oTarget);__cov_plEKMsVSJJiNTPK5jFownw.s['122']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['54'][0]++,!bFocused)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['54'][1]++,bInCollection)){__cov_plEKMsVSJJiNTPK5jFownw.b['53'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['123']++;bFocused=true;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['53'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['124']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['56'][0]++,bFocused)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['56'][1]++,!bInCollection)){__cov_plEKMsVSJJiNTPK5jFownw.b['55'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['125']++;bFocused=false;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['55'][1]++;}}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['52'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['126']++;bFocused=false;}__cov_plEKMsVSJJiNTPK5jFownw.s['127']++;if(focusClass){__cov_plEKMsVSJJiNTPK5jFownw.b['57'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['128']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['59'][0]++,oFocusedNode)&&((__cov_plEKMsVSJJiNTPK5jFownw.b['59'][1]++,!oFocusedNode.compareTo(oTarget))||(__cov_plEKMsVSJJiNTPK5jFownw.b['59'][2]++,!bFocused))){__cov_plEKMsVSJJiNTPK5jFownw.b['58'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['129']++;this._removeFocusClass();}else{__cov_plEKMsVSJJiNTPK5jFownw.b['58'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['130']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['61'][0]++,bInCollection)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['61'][1]++,bFocused)){__cov_plEKMsVSJJiNTPK5jFownw.b['60'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['131']++;if(focusClass.fn){__cov_plEKMsVSJJiNTPK5jFownw.b['62'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['132']++;oTarget=focusClass.fn(oTarget);__cov_plEKMsVSJJiNTPK5jFownw.s['133']++;oTarget.addClass(focusClass.className);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['62'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['134']++;oTarget.addClass(focusClass);}__cov_plEKMsVSJJiNTPK5jFownw.s['135']++;this._focusedNode=oTarget;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['60'][1]++;}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['57'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['136']++;this._set(FOCUSED,bFocused);},_focusNext:function(event,activeDescendant){__cov_plEKMsVSJJiNTPK5jFownw.f['19']++;__cov_plEKMsVSJJiNTPK5jFownw.s['137']++;var nActiveDescendant=(__cov_plEKMsVSJJiNTPK5jFownw.b['63'][0]++,activeDescendant)||(__cov_plEKMsVSJJiNTPK5jFownw.b['63'][1]++,this.get(ACTIVE_DESCENDANT)),oNode;__cov_plEKMsVSJJiNTPK5jFownw.s['138']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['65'][0]++,this._isDescendant(event.target))&&(__cov_plEKMsVSJJiNTPK5jFownw.b['65'][1]++,nActiveDescendant<=this._lastNodeIndex)){__cov_plEKMsVSJJiNTPK5jFownw.b['64'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['139']++;nActiveDescendant=nActiveDescendant+1;__cov_plEKMsVSJJiNTPK5jFownw.s['140']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['67'][0]++,nActiveDescendant===this._lastNodeIndex+1)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['67'][1]++,this.get(CIRCULAR))){__cov_plEKMsVSJJiNTPK5jFownw.b['66'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['141']++;nActiveDescendant=0;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['66'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['142']++;oNode=this._descendants.item(nActiveDescendant);__cov_plEKMsVSJJiNTPK5jFownw.s['143']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['68'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['144']++;if(oNode.get('disabled')){__cov_plEKMsVSJJiNTPK5jFownw.b['69'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['145']++;this._focusNext(event,nActiveDescendant);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['69'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['146']++;this.focus(nActiveDescendant);}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['68'][1]++;}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['64'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['147']++;this._preventScroll(event);},_focusPrevious:function(event,activeDescendant){__cov_plEKMsVSJJiNTPK5jFownw.f['20']++;__cov_plEKMsVSJJiNTPK5jFownw.s['148']++;var nActiveDescendant=(__cov_plEKMsVSJJiNTPK5jFownw.b['70'][0]++,activeDescendant)||(__cov_plEKMsVSJJiNTPK5jFownw.b['70'][1]++,this.get(ACTIVE_DESCENDANT)),oNode;__cov_plEKMsVSJJiNTPK5jFownw.s['149']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['72'][0]++,this._isDescendant(event.target))&&(__cov_plEKMsVSJJiNTPK5jFownw.b['72'][1]++,nActiveDescendant>=0)){__cov_plEKMsVSJJiNTPK5jFownw.b['71'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['150']++;nActiveDescendant=nActiveDescendant-1;__cov_plEKMsVSJJiNTPK5jFownw.s['151']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['74'][0]++,nActiveDescendant===-1)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['74'][1]++,this.get(CIRCULAR))){__cov_plEKMsVSJJiNTPK5jFownw.b['73'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['152']++;nActiveDescendant=this._lastNodeIndex;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['73'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['153']++;oNode=this._descendants.item(nActiveDescendant);__cov_plEKMsVSJJiNTPK5jFownw.s['154']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['75'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['155']++;if(oNode.get('disabled')){__cov_plEKMsVSJJiNTPK5jFownw.b['76'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['156']++;this._focusPrevious(event,nActiveDescendant);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['76'][1]++;__cov_plEKMsVSJJiNTPK5jFownw.s['157']++;this.focus(nActiveDescendant);}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['75'][1]++;}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['71'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['158']++;this._preventScroll(event);},_afterActiveDescendantChange:function(event){__cov_plEKMsVSJJiNTPK5jFownw.f['21']++;__cov_plEKMsVSJJiNTPK5jFownw.s['159']++;var oNode=this._descendants.item(event.prevVal);__cov_plEKMsVSJJiNTPK5jFownw.s['160']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['77'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['161']++;oNode.set(TAB_INDEX,-1);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['77'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['162']++;oNode=this._descendants.item(event.newVal);__cov_plEKMsVSJJiNTPK5jFownw.s['163']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['78'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['164']++;oNode.set(TAB_INDEX,0);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['78'][1]++;}},initializer:function(config){__cov_plEKMsVSJJiNTPK5jFownw.f['22']++;__cov_plEKMsVSJJiNTPK5jFownw.s['165']++;this.start();},destructor:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['23']++;__cov_plEKMsVSJJiNTPK5jFownw.s['166']++;this.stop();__cov_plEKMsVSJJiNTPK5jFownw.s['167']++;this.get(HOST).focusManager=null;},focus:function(index){__cov_plEKMsVSJJiNTPK5jFownw.f['24']++;__cov_plEKMsVSJJiNTPK5jFownw.s['168']++;if(Lang.isUndefined(index)){__cov_plEKMsVSJJiNTPK5jFownw.b['79'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['169']++;index=this.get(ACTIVE_DESCENDANT);}else{__cov_plEKMsVSJJiNTPK5jFownw.b['79'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['170']++;this.set(ACTIVE_DESCENDANT,index,{src:UI});__cov_plEKMsVSJJiNTPK5jFownw.s['171']++;var oNode=this._descendants.item(this.get(ACTIVE_DESCENDANT));__cov_plEKMsVSJJiNTPK5jFownw.s['172']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['80'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['173']++;oNode.focus();__cov_plEKMsVSJJiNTPK5jFownw.s['174']++;if((__cov_plEKMsVSJJiNTPK5jFownw.b['82'][0]++,UA.opera)&&(__cov_plEKMsVSJJiNTPK5jFownw.b['82'][1]++,oNode.get('nodeName').toLowerCase()==='button')){__cov_plEKMsVSJJiNTPK5jFownw.b['81'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['175']++;this._focusTarget=oNode;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['81'][1]++;}}else{__cov_plEKMsVSJJiNTPK5jFownw.b['80'][1]++;}},blur:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['25']++;__cov_plEKMsVSJJiNTPK5jFownw.s['176']++;var oNode;__cov_plEKMsVSJJiNTPK5jFownw.s['177']++;if(this.get(FOCUSED)){__cov_plEKMsVSJJiNTPK5jFownw.b['83'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['178']++;oNode=this._descendants.item(this.get(ACTIVE_DESCENDANT));__cov_plEKMsVSJJiNTPK5jFownw.s['179']++;if(oNode){__cov_plEKMsVSJJiNTPK5jFownw.b['84'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['180']++;oNode.blur();__cov_plEKMsVSJJiNTPK5jFownw.s['181']++;this._removeFocusClass();}else{__cov_plEKMsVSJJiNTPK5jFownw.b['84'][1]++;}__cov_plEKMsVSJJiNTPK5jFownw.s['182']++;this._set(FOCUSED,false,{src:UI});}else{__cov_plEKMsVSJJiNTPK5jFownw.b['83'][1]++;}},start:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['26']++;__cov_plEKMsVSJJiNTPK5jFownw.s['183']++;if(this._stopped){__cov_plEKMsVSJJiNTPK5jFownw.b['85'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['184']++;this._initDescendants();__cov_plEKMsVSJJiNTPK5jFownw.s['185']++;this._attachEventHandlers();__cov_plEKMsVSJJiNTPK5jFownw.s['186']++;this._stopped=false;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['85'][1]++;}},stop:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['27']++;__cov_plEKMsVSJJiNTPK5jFownw.s['187']++;if(!this._stopped){__cov_plEKMsVSJJiNTPK5jFownw.b['86'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['188']++;this._detachEventHandlers();__cov_plEKMsVSJJiNTPK5jFownw.s['189']++;this._descendants=null;__cov_plEKMsVSJJiNTPK5jFownw.s['190']++;this._focusedNode=null;__cov_plEKMsVSJJiNTPK5jFownw.s['191']++;this._lastNodeIndex=0;__cov_plEKMsVSJJiNTPK5jFownw.s['192']++;this._stopped=true;}else{__cov_plEKMsVSJJiNTPK5jFownw.b['86'][1]++;}},refresh:function(){__cov_plEKMsVSJJiNTPK5jFownw.f['28']++;__cov_plEKMsVSJJiNTPK5jFownw.s['193']++;this._initDescendants();__cov_plEKMsVSJJiNTPK5jFownw.s['194']++;if(!this._eventHandlers){__cov_plEKMsVSJJiNTPK5jFownw.b['87'][0]++;__cov_plEKMsVSJJiNTPK5jFownw.s['195']++;this._attachEventHandlers();}else{__cov_plEKMsVSJJiNTPK5jFownw.b['87'][1]++;}}});__cov_plEKMsVSJJiNTPK5jFownw.s['196']++;NodeFocusManager.NAME='nodeFocusManager';__cov_plEKMsVSJJiNTPK5jFownw.s['197']++;NodeFocusManager.NS='focusManager';__cov_plEKMsVSJJiNTPK5jFownw.s['198']++;Y.namespace('Plugin');__cov_plEKMsVSJJiNTPK5jFownw.s['199']++;Y.Plugin.NodeFocusManager=NodeFocusManager;},'3.13.0',{'requires':['attribute','node','plugin','node-event-simulate','event-key','event-focus']});