2 Copyright (c) 2007, Yahoo! Inc. All rights reserved.
3 Code licensed under the BSD License:
4 http://developer.yahoo.net/yui/license.txt
8 if(typeof YAHOO
=="undefined"){var YAHOO
={};}
9 YAHOO
.namespace=function(){var a
=arguments
,o
=null,i
,j
,d
;for(i
=0;i
<a
.length
;i
=i
+1){d
=a
[i
].split(".");o
=YAHOO
;for(j
=(d
[0]=="YAHOO")?1:0;j
<d
.length
;j
=j
+1){o
[d
[j
]]=o
[d
[j
]]||{};o
=o
[d
[j
]];}}
10 return o
;};YAHOO
.log=function(msg
,cat
,src
){var l
=YAHOO
.widget
.Logger
;if(l
&&l
.log
){return l
.log(msg
,cat
,src
);}else{return false;}};YAHOO
.register=function(name
,mainClass
,data
){var mods
=YAHOO
.env
.modules
;if(!mods
[name
]){mods
[name
]={versions
:[],builds
:[]};}
11 var m
=mods
[name
],v
=data
.version
,b
=data
.build
,ls
=YAHOO
.env
.listeners
;m
.name
=name
;m
.version
=v
;m
.build
=b
;m
.versions
.push(v
);m
.builds
.push(b
);m
.mainClass
=mainClass
;for(var i
=0;i
<ls
.length
;i
=i
+1){ls
[i
](m
);}
12 if(mainClass
){mainClass
.VERSION
=v
;mainClass
.BUILD
=b
;}else{YAHOO
.log("mainClass is undefined for module "+name
,"warn");}};YAHOO
.env
=YAHOO
.env
||{modules
:[],listeners
:[]};YAHOO
.env
.getVersion=function(name
){return YAHOO
.env
.modules
[name
]||null;};YAHOO
.env
.ua=function(){var o
={ie
:0,opera
:0,gecko
:0,webkit
:0};var ua
=navigator
.userAgent
,m
;if((/KHTML/).test(ua
)){o
.webkit
=1;}
13 m
=ua
.match(/AppleWebKit\/([^\s]*)/);if(m
&&m
[1]){o
.webkit
=parseFloat(m
[1]);}
14 if(!o
.webkit
){m
=ua
.match(/Opera[\s\/]([^\s]*)/);if(m
&&m
[1]){o
.opera
=parseFloat(m
[1]);}else{m
=ua
.match(/MSIE\s([^;]*)/);if(m
&&m
[1]){o
.ie
=parseFloat(m
[1]);}else{m
=ua
.match(/Gecko\/([^\s]*)/);if(m
){o
.gecko
=1;m
=ua
.match(/rv:([^\s\)]*)/);if(m
&&m
[1]){o
.gecko
=parseFloat(m
[1]);}}}}}
15 return o
;}();(function(){YAHOO
.namespace("util","widget","example");if(typeof YAHOO_config
!="undefined"){var l
=YAHOO_config
.listener
,ls
=YAHOO
.env
.listeners
,unique
=true,i
;if(l
){for(i
=0;i
<ls
.length
;i
=i
+1){if(ls
[i
]==l
){unique
=false;break;}}
16 if(unique
){ls
.push(l
);}}}})();YAHOO
.lang
={isArray:function(o
){if(o
){var l
=YAHOO
.lang
;return l
.isNumber(o
.length
)&&l
.isFunction(o
.splice
)&&!l
.hasOwnProperty(o
.length
);}
17 return false;},isBoolean:function(o
){return typeof o
==='boolean';},isFunction:function(o
){return typeof o
==='function';},isNull:function(o
){return o
===null;},isNumber:function(o
){return typeof o
==='number'&&isFinite(o
);},isObject:function(o
){return(o
&&(typeof o
==='object'||YAHOO
.lang
.isFunction(o
)))||false;},isString:function(o
){return typeof o
==='string';},isUndefined:function(o
){return typeof o
==='undefined';},hasOwnProperty:function(o
,prop
){if(Object
.prototype.hasOwnProperty
){return o
.hasOwnProperty(prop
);}
18 return!YAHOO
.lang
.isUndefined(o
[prop
])&&o
.constructor.prototype[prop
]!==o
[prop
];},_IEEnumFix:function(r
,s
){if(YAHOO
.env
.ua
.ie
){var add
=["toString","valueOf"];for(i
=0;i
<add
.length
;i
=i
+1){var fname
=add
[i
],f
=s
[fname
];if(YAHOO
.lang
.isFunction(f
)&&f
!=Object
.prototype[fname
]){r
[fname
]=f
;}}}},extend:function(subc
,superc
,overrides
){if(!superc
||!subc
){throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");}
19 var F=function(){};F
.prototype=superc
.prototype;subc
.prototype=new F();subc
.prototype.constructor=subc
;subc
.superclass
=superc
.prototype;if(superc
.prototype.constructor==Object
.prototype.constructor){superc
.prototype.constructor=superc
;}
20 if(overrides
){for(var i
in overrides
){subc
.prototype[i
]=overrides
[i
];}
21 YAHOO
.lang
._IEEnumFix(subc
.prototype,overrides
);}},augmentObject:function(r
,s
){if(!s
||!r
){throw new Error("Absorb failed, verify dependencies.");}
22 var a
=arguments
,i
,p
,override
=a
[2];if(override
&&override
!==true){for(i
=2;i
<a
.length
;i
=i
+1){r
[a
[i
]]=s
[a
[i
]];}}else{for(p
in s
){if(override
||!r
[p
]){r
[p
]=s
[p
];}}
23 YAHOO
.lang
._IEEnumFix(r
,s
);}},augmentProto:function(r
,s
){if(!s
||!r
){throw new Error("Augment failed, verify dependencies.");}
24 var a
=[r
.prototype,s
.prototype];for(var i
=2;i
<arguments
.length
;i
=i
+1){a
.push(arguments
[i
]);}
25 YAHOO
.lang
.augmentObject
.apply(this,a
);},dump:function(o
,d
){var l
=YAHOO
.lang
,i
,len
,s
=[],OBJ
="{...}",FUN
="f(){...}",COMMA
=', ',ARROW
=' => ';if(!l
.isObject(o
)||o
instanceof Date
||("nodeType"in o
&&"tagName"in o
)){return o
;}else if(l
.isFunction(o
)){return FUN
;}
26 d
=(l
.isNumber(d
))?d
:3;if(l
.isArray(o
)){s
.push("[");for(i
=0,len
=o
.length
;i
<len
;i
=i
+1){if(l
.isObject(o
[i
])){s
.push((d
>0)?l
.dump(o
[i
],d
-1):OBJ
);}else{s
.push(o
[i
]);}
28 if(s
.length
>1){s
.pop();}
29 s
.push("]");}else{s
.push("{");for(i
in o
){if(l
.hasOwnProperty(o
,i
)){s
.push(i
+ARROW
);if(l
.isObject(o
[i
])){s
.push((d
>0)?l
.dump(o
[i
],d
-1):OBJ
);}else{s
.push(o
[i
]);}
31 if(s
.length
>1){s
.pop();}
33 return s
.join("");},substitute:function(s
,o
,f
){var i
,j
,k
,key
,v
,meta
,l
=YAHOO
.lang
,saved
=[],token
,DUMP
='dump',SPACE
=' ',LBRACE
='{',RBRACE
='}';for(;;){i
=s
.lastIndexOf(LBRACE
);if(i
<0){break;}
34 j
=s
.indexOf(RBRACE
,i
);if(i
+1>=j
){break;}
35 token
=s
.substring(i
+1,j
);key
=token
;meta
=null;k
=key
.indexOf(SPACE
);if(k
>-1){meta
=key
.substring(k
+1);key
=key
.substring(0,k
);}
36 v
=o
[key
];if(f
){v
=f(key
,v
,meta
);}
37 if(l
.isObject(v
)){if(l
.isArray(v
)){v
=l
.dump(v
,parseInt(meta
,10));}else{meta
=meta
||"";var dump
=meta
.indexOf(DUMP
);if(dump
>-1){meta
=meta
.substring(4);}
38 if(v
.toString
===Object
.prototype.toString
||dump
>-1){v
=l
.dump(v
,parseInt(meta
,10));}else{v
=v
.toString();}}}else if(!l
.isString(v
)&&!l
.isNumber(v
)){v
="~-"+saved
.length
+"-~";saved
[saved
.length
]=token
;}
39 s
=s
.substring(0,i
)+v
+s
.substring(j
+1);}
40 for(i
=saved
.length
-1;i
>=0;i
=i
-1){s
=s
.replace(new RegExp("~-"+i
+"-~"),"{"+saved
[i
]+"}","g");}
41 return s
;},trim:function(s
){try{return s
.replace(/^\s+|\s+$/g,"");}catch(e
){return s
;}},merge:function(){var o
={},a
=arguments
,i
;for(i
=0;i
<a
.length
;i
=i
+1){YAHOO
.lang
.augmentObject(o
,a
[i
],true);}
42 return o
;},isValue:function(o
){var l
=YAHOO
.lang
;return(l
.isObject(o
)||l
.isString(o
)||l
.isNumber(o
)||l
.isBoolean(o
));}};YAHOO
.util
.Lang
=YAHOO
.lang
;YAHOO
.lang
.augment
=YAHOO
.lang
.augmentProto
;YAHOO
.augment
=YAHOO
.lang
.augmentProto
;YAHOO
.extend
=YAHOO
.lang
.extend
;YAHOO
.register("yahoo",YAHOO
,{version
:"2.3.0",build
:"442"});
43 (function(){var Y
=YAHOO
.util
,getStyle
,setStyle
,id_counter
=0,propertyCache
={},reClassNameCache
={};var isOpera
=YAHOO
.env
.ua
.opera
,isSafari
=YAHOO
.env
.ua
.webkit
,isGecko
=YAHOO
.env
.ua
.gecko
,isIE
=YAHOO
.env
.ua
.ie
;var patterns
={HYPHEN
:/(-[a-z])/i,ROOT_TAG
:/^body|html$/i};var toCamel=function(property
){if(!patterns
.HYPHEN
.test(property
)){return property
;}
44 if(propertyCache
[property
]){return propertyCache
[property
];}
45 var converted
=property
;while(patterns
.HYPHEN
.exec(converted
)){converted
=converted
.replace(RegExp
.$1,RegExp
.$1.substr(1).toUpperCase());}
46 propertyCache
[property
]=converted
;return converted
;};var getClassRegEx=function(className
){var re
=reClassNameCache
[className
];if(!re
){re
=new RegExp('(?:^|\\s+)'+className
+'(?:\\s+|$)');reClassNameCache
[className
]=re
;}
47 return re
;};if(document
.defaultView
&&document
.defaultView
.getComputedStyle
){getStyle=function(el
,property
){var value
=null;if(property
=='float'){property
='cssFloat';}
48 var computed
=document
.defaultView
.getComputedStyle(el
,'');if(computed
){value
=computed
[toCamel(property
)];}
49 return el
.style
[property
]||value
;};}else if(document
.documentElement
.currentStyle
&&isIE
){getStyle=function(el
,property
){switch(toCamel(property
)){case'opacity':var val
=100;try{val
=el
.filters
['DXImageTransform.Microsoft.Alpha'].opacity
;}catch(e
){try{val
=el
.filters('alpha').opacity
;}catch(e
){}}
50 return val
/100;case'float':property
='styleFloat';default:var value
=el
.currentStyle
?el
.currentStyle
[property
]:null;return(el
.style
[property
]||value
);}};}else{getStyle=function(el
,property
){return el
.style
[property
];};}
51 if(isIE
){setStyle=function(el
,property
,val
){switch(property
){case'opacity':if(YAHOO
.lang
.isString(el
.style
.filter
)){el
.style
.filter
='alpha(opacity='+val
*100+')';if(!el
.currentStyle
||!el
.currentStyle
.hasLayout
){el
.style
.zoom
=1;}}
52 break;case'float':property
='styleFloat';default:el
.style
[property
]=val
;}};}else{setStyle=function(el
,property
,val
){if(property
=='float'){property
='cssFloat';}
53 el
.style
[property
]=val
;};}
54 var testElement=function(node
,method
){return node
&&node
.nodeType
==1&&(!method
||method(node
));};YAHOO
.util
.Dom
={get:function(el
){if(!el
||el
.tagName
||el
.item
){return el
;}
55 if(YAHOO
.lang
.isString(el
)){return document
.getElementById(el
);}
56 if(el
.splice
){var c
=[];for(var i
=0,len
=el
.length
;i
<len
;++i
){c
[c
.length
]=Y
.Dom
.get(el
[i
]);}
58 return el
;},getStyle:function(el
,property
){property
=toCamel(property
);var f=function(element
){return getStyle(element
,property
);};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},setStyle:function(el
,property
,val
){property
=toCamel(property
);var f=function(element
){setStyle(element
,property
,val
);};Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},getXY:function(el
){var f=function(el
){if((el
.parentNode
===null||el
.offsetParent
===null||this.getStyle(el
,'display')=='none')&&el
!=document
.body
){return false;}
59 var parentNode
=null;var pos
=[];var box
;var doc
=el
.ownerDocument
;if(el
.getBoundingClientRect
){box
=el
.getBoundingClientRect();return[box
.left
+Y
.Dom
.getDocumentScrollLeft(el
.ownerDocument
),box
.top
+Y
.Dom
.getDocumentScrollTop(el
.ownerDocument
)];}
60 else{pos
=[el
.offsetLeft
,el
.offsetTop
];parentNode
=el
.offsetParent
;var hasAbs
=this.getStyle(el
,'position')=='absolute';if(parentNode
!=el
){while(parentNode
){pos
[0]+=parentNode
.offsetLeft
;pos
[1]+=parentNode
.offsetTop
;if(isSafari
&&!hasAbs
&&this.getStyle(parentNode
,'position')=='absolute'){hasAbs
=true;}
61 parentNode
=parentNode
.offsetParent
;}}
62 if(isSafari
&&hasAbs
){pos
[0]-=el
.ownerDocument
.body
.offsetLeft
;pos
[1]-=el
.ownerDocument
.body
.offsetTop
;}}
63 parentNode
=el
.parentNode
;while(parentNode
.tagName
&&!patterns
.ROOT_TAG
.test(parentNode
.tagName
))
64 {if(Y
.Dom
.getStyle(parentNode
,'display').search(/^inline|table-row.*$/i)){pos
[0]-=parentNode
.scrollLeft
;pos
[1]-=parentNode
.scrollTop
;}
65 parentNode
=parentNode
.parentNode
;}
66 return pos
;};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},getX:function(el
){var f=function(el
){return Y
.Dom
.getXY(el
)[0];};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},getY:function(el
){var f=function(el
){return Y
.Dom
.getXY(el
)[1];};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},setXY:function(el
,pos
,noRetry
){var f=function(el
){var style_pos
=this.getStyle(el
,'position');if(style_pos
=='static'){this.setStyle(el
,'position','relative');style_pos
='relative';}
67 var pageXY
=this.getXY(el
);if(pageXY
===false){return false;}
68 var delta
=[parseInt(this.getStyle(el
,'left'),10),parseInt(this.getStyle(el
,'top'),10)];if(isNaN(delta
[0])){delta
[0]=(style_pos
=='relative')?0:el
.offsetLeft
;}
69 if(isNaN(delta
[1])){delta
[1]=(style_pos
=='relative')?0:el
.offsetTop
;}
70 if(pos
[0]!==null){el
.style
.left
=pos
[0]-pageXY
[0]+delta
[0]+'px';}
71 if(pos
[1]!==null){el
.style
.top
=pos
[1]-pageXY
[1]+delta
[1]+'px';}
72 if(!noRetry
){var newXY
=this.getXY(el
);if((pos
[0]!==null&&newXY
[0]!=pos
[0])||(pos
[1]!==null&&newXY
[1]!=pos
[1])){this.setXY(el
,pos
,true);}}};Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},setX:function(el
,x
){Y
.Dom
.setXY(el
,[x
,null]);},setY:function(el
,y
){Y
.Dom
.setXY(el
,[null,y
]);},getRegion:function(el
){var f=function(el
){if((el
.parentNode
===null||el
.offsetParent
===null||this.getStyle(el
,'display')=='none')&&el
!=document
.body
){return false;}
73 var region
=Y
.Region
.getRegion(el
);return region
;};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},getClientWidth:function(){return Y
.Dom
.getViewportWidth();},getClientHeight:function(){return Y
.Dom
.getViewportHeight();},getElementsByClassName:function(className
,tag
,root
,apply
){tag
=tag
||'*';root
=(root
)?Y
.Dom
.get(root
):null||document
;if(!root
){return[];}
74 var nodes
=[],elements
=root
.getElementsByTagName(tag
),re
=getClassRegEx(className
);for(var i
=0,len
=elements
.length
;i
<len
;++i
){if(re
.test(elements
[i
].className
)){nodes
[nodes
.length
]=elements
[i
];if(apply
){apply
.call(elements
[i
],elements
[i
]);}}}
75 return nodes
;},hasClass:function(el
,className
){var re
=getClassRegEx(className
);var f=function(el
){return re
.test(el
.className
);};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},addClass:function(el
,className
){var f=function(el
){if(this.hasClass(el
,className
)){return false;}
76 el
.className
=YAHOO
.lang
.trim([el
.className
,className
].join(' '));return true;};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},removeClass:function(el
,className
){var re
=getClassRegEx(className
);var f=function(el
){if(!this.hasClass(el
,className
)){return false;}
77 var c
=el
.className
;el
.className
=c
.replace(re
,' ');if(this.hasClass(el
,className
)){this.removeClass(el
,className
);}
78 el
.className
=YAHOO
.lang
.trim(el
.className
);return true;};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},replaceClass:function(el
,oldClassName
,newClassName
){if(!newClassName
||oldClassName
===newClassName
){return false;}
79 var re
=getClassRegEx(oldClassName
);var f=function(el
){if(!this.hasClass(el
,oldClassName
)){this.addClass(el
,newClassName
);return true;}
80 el
.className
=el
.className
.replace(re
,' '+newClassName
+' ');if(this.hasClass(el
,oldClassName
)){this.replaceClass(el
,oldClassName
,newClassName
);}
81 el
.className
=YAHOO
.lang
.trim(el
.className
);return true;};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},generateId:function(el
,prefix
){prefix
=prefix
||'yui-gen';var f=function(el
){if(el
&&el
.id
){return el
.id
;}
82 var id
=prefix
+id_counter
++;if(el
){el
.id
=id
;}
83 return id
;};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true)||f
.apply(Y
.Dom
,arguments
);},isAncestor:function(haystack
,needle
){haystack
=Y
.Dom
.get(haystack
);if(!haystack
||!needle
){return false;}
84 var f=function(node
){if(haystack
.contains
&&node
.nodeType
&&!isSafari
){return haystack
.contains(node
);}
85 else if(haystack
.compareDocumentPosition
&&node
.nodeType
){return!!(haystack
.compareDocumentPosition(node
)&16);}else if(node
.nodeType
){return!!this.getAncestorBy(node
,function(el
){return el
==haystack
;});}
86 return false;};return Y
.Dom
.batch(needle
,f
,Y
.Dom
,true);},inDocument:function(el
){var f=function(el
){if(isSafari
){while(el
=el
.parentNode
){if(el
==document
.documentElement
){return true;}}
88 return this.isAncestor(document
.documentElement
,el
);};return Y
.Dom
.batch(el
,f
,Y
.Dom
,true);},getElementsBy:function(method
,tag
,root
,apply
){tag
=tag
||'*';root
=(root
)?Y
.Dom
.get(root
):null||document
;if(!root
){return[];}
89 var nodes
=[],elements
=root
.getElementsByTagName(tag
);for(var i
=0,len
=elements
.length
;i
<len
;++i
){if(method(elements
[i
])){nodes
[nodes
.length
]=elements
[i
];if(apply
){apply(elements
[i
]);}}}
90 return nodes
;},batch:function(el
,method
,o
,override
){el
=(el
&&el
.tagName
)?el
:Y
.Dom
.get(el
);if(!el
||!method
){return false;}
91 var scope
=(override
)?o
:window
;if(el
.tagName
||(!el
.item
&&!el
.slice
)){return method
.call(scope
,el
,o
);}
92 var collection
=[];for(var i
=0,len
=el
.length
;i
<len
;++i
){collection
[collection
.length
]=method
.call(scope
,el
[i
],o
);}
93 return collection
;},getDocumentHeight:function(){var scrollHeight
=(document
.compatMode
!='CSS1Compat')?document
.body
.scrollHeight
:document
.documentElement
.scrollHeight
;var h
=Math
.max(scrollHeight
,Y
.Dom
.getViewportHeight());return h
;},getDocumentWidth:function(){var scrollWidth
=(document
.compatMode
!='CSS1Compat')?document
.body
.scrollWidth
:document
.documentElement
.scrollWidth
;var w
=Math
.max(scrollWidth
,Y
.Dom
.getViewportWidth());return w
;},getViewportHeight:function(){var height
=self
.innerHeight
;var mode
=document
.compatMode
;if((mode
||isIE
)&&!isOpera
){height
=(mode
=='CSS1Compat')?document
.documentElement
.clientHeight
:document
.body
.clientHeight
;}
94 return height
;},getViewportWidth:function(){var width
=self
.innerWidth
;var mode
=document
.compatMode
;if(mode
||isIE
){width
=(mode
=='CSS1Compat')?document
.documentElement
.clientWidth
:document
.body
.clientWidth
;}
95 return width
;},getAncestorBy:function(node
,method
){while(node
=node
.parentNode
){if(testElement(node
,method
)){return node
;}}
96 return null;},getAncestorByClassName:function(node
,className
){node
=Y
.Dom
.get(node
);if(!node
){return null;}
97 var method=function(el
){return Y
.Dom
.hasClass(el
,className
);};return Y
.Dom
.getAncestorBy(node
,method
);},getAncestorByTagName:function(node
,tagName
){node
=Y
.Dom
.get(node
);if(!node
){return null;}
98 var method=function(el
){return el
.tagName
&&el
.tagName
.toUpperCase()==tagName
.toUpperCase();};return Y
.Dom
.getAncestorBy(node
,method
);},getPreviousSiblingBy:function(node
,method
){while(node
){node
=node
.previousSibling
;if(testElement(node
,method
)){return node
;}}
99 return null;},getPreviousSibling:function(node
){node
=Y
.Dom
.get(node
);if(!node
){return null;}
100 return Y
.Dom
.getPreviousSiblingBy(node
);},getNextSiblingBy:function(node
,method
){while(node
){node
=node
.nextSibling
;if(testElement(node
,method
)){return node
;}}
101 return null;},getNextSibling:function(node
){node
=Y
.Dom
.get(node
);if(!node
){return null;}
102 return Y
.Dom
.getNextSiblingBy(node
);},getFirstChildBy:function(node
,method
){var child
=(testElement(node
.firstChild
,method
))?node
.firstChild
:null;return child
||Y
.Dom
.getNextSiblingBy(node
.firstChild
,method
);},getFirstChild:function(node
,method
){node
=Y
.Dom
.get(node
);if(!node
){return null;}
103 return Y
.Dom
.getFirstChildBy(node
);},getLastChildBy:function(node
,method
){if(!node
){return null;}
104 var child
=(testElement(node
.lastChild
,method
))?node
.lastChild
:null;return child
||Y
.Dom
.getPreviousSiblingBy(node
.lastChild
,method
);},getLastChild:function(node
){node
=Y
.Dom
.get(node
);return Y
.Dom
.getLastChildBy(node
);},getChildrenBy:function(node
,method
){var child
=Y
.Dom
.getFirstChildBy(node
,method
);var children
=child
?[child
]:[];Y
.Dom
.getNextSiblingBy(child
,function(node
){if(!method
||method(node
)){children
[children
.length
]=node
;}
105 return false;});return children
;},getChildren:function(node
){node
=Y
.Dom
.get(node
);if(!node
){}
106 return Y
.Dom
.getChildrenBy(node
);},getDocumentScrollLeft:function(doc
){doc
=doc
||document
;return Math
.max(doc
.documentElement
.scrollLeft
,doc
.body
.scrollLeft
);},getDocumentScrollTop:function(doc
){doc
=doc
||document
;return Math
.max(doc
.documentElement
.scrollTop
,doc
.body
.scrollTop
);},insertBefore:function(newNode
,referenceNode
){newNode
=Y
.Dom
.get(newNode
);referenceNode
=Y
.Dom
.get(referenceNode
);if(!newNode
||!referenceNode
||!referenceNode
.parentNode
){return null;}
107 return referenceNode
.parentNode
.insertBefore(newNode
,referenceNode
);},insertAfter:function(newNode
,referenceNode
){newNode
=Y
.Dom
.get(newNode
);referenceNode
=Y
.Dom
.get(referenceNode
);if(!newNode
||!referenceNode
||!referenceNode
.parentNode
){return null;}
108 if(referenceNode
.nextSibling
){return referenceNode
.parentNode
.insertBefore(newNode
,referenceNode
.nextSibling
);}else{return referenceNode
.parentNode
.appendChild(newNode
);}}};})();YAHOO
.util
.Region=function(t
,r
,b
,l
){this.top
=t
;this[1]=t
;this.right
=r
;this.bottom
=b
;this.left
=l
;this[0]=l
;};YAHOO
.util
.Region
.prototype.contains=function(region
){return(region
.left
>=this.left
&®ion
.right
<=this.right
&®ion
.top
>=this.top
&®ion
.bottom
<=this.bottom
);};YAHOO
.util
.Region
.prototype.getArea=function(){return((this.bottom
-this.top
)*(this.right
-this.left
));};YAHOO
.util
.Region
.prototype.intersect=function(region
){var t
=Math
.max(this.top
,region
.top
);var r
=Math
.min(this.right
,region
.right
);var b
=Math
.min(this.bottom
,region
.bottom
);var l
=Math
.max(this.left
,region
.left
);if(b
>=t
&&r
>=l
){return new YAHOO
.util
.Region(t
,r
,b
,l
);}else{return null;}};YAHOO
.util
.Region
.prototype.union=function(region
){var t
=Math
.min(this.top
,region
.top
);var r
=Math
.max(this.right
,region
.right
);var b
=Math
.max(this.bottom
,region
.bottom
);var l
=Math
.min(this.left
,region
.left
);return new YAHOO
.util
.Region(t
,r
,b
,l
);};YAHOO
.util
.Region
.prototype.toString=function(){return("Region {"+"top: "+this.top
+", right: "+this.right
+", bottom: "+this.bottom
+", left: "+this.left
+"}");};YAHOO
.util
.Region
.getRegion=function(el
){var p
=YAHOO
.util
.Dom
.getXY(el
);var t
=p
[1];var r
=p
[0]+el
.offsetWidth
;var b
=p
[1]+el
.offsetHeight
;var l
=p
[0];return new YAHOO
.util
.Region(t
,r
,b
,l
);};YAHOO
.util
.Point=function(x
,y
){if(YAHOO
.lang
.isArray(x
)){y
=x
[1];x
=x
[0];}
109 this.x
=this.right
=this.left
=this[0]=x
;this.y
=this.top
=this.bottom
=this[1]=y
;};YAHOO
.util
.Point
.prototype=new YAHOO
.util
.Region();YAHOO
.register("dom",YAHOO
.util
.Dom
,{version
:"2.3.0",build
:"442"});
110 YAHOO
.util
.CustomEvent=function(type
,oScope
,silent
,signature
){this.type
=type
;this.scope
=oScope
||window
;this.silent
=silent
;this.signature
=signature
||YAHOO
.util
.CustomEvent
.LIST
;this.subscribers
=[];if(!this.silent
){}
111 var onsubscribeType
="_YUICEOnSubscribe";if(type
!==onsubscribeType
){this.subscribeEvent
=new YAHOO
.util
.CustomEvent(onsubscribeType
,this,true);}};YAHOO
.util
.CustomEvent
.LIST
=0;YAHOO
.util
.CustomEvent
.FLAT
=1;YAHOO
.util
.CustomEvent
.prototype={subscribe:function(fn
,obj
,override
){if(!fn
){throw new Error("Invalid callback for subscriber to '"+this.type
+"'");}
112 if(this.subscribeEvent
){this.subscribeEvent
.fire(fn
,obj
,override
);}
113 this.subscribers
.push(new YAHOO
.util
.Subscriber(fn
,obj
,override
));},unsubscribe:function(fn
,obj
){if(!fn
){return this.unsubscribeAll();}
114 var found
=false;for(var i
=0,len
=this.subscribers
.length
;i
<len
;++i
){var s
=this.subscribers
[i
];if(s
&&s
.contains(fn
,obj
)){this._delete(i
);found
=true;}}
115 return found
;},fire:function(){var len
=this.subscribers
.length
;if(!len
&&this.silent
){return true;}
116 var args
=[],ret
=true,i
,rebuild
=false;for(i
=0;i
<arguments
.length
;++i
){args
.push(arguments
[i
]);}
117 var argslength
=args
.length
;if(!this.silent
){}
118 for(i
=0;i
<len
;++i
){var s
=this.subscribers
[i
];if(!s
){rebuild
=true;}else{if(!this.silent
){}
119 var scope
=s
.getScope(this.scope
);if(this.signature
==YAHOO
.util
.CustomEvent
.FLAT
){var param
=null;if(args
.length
>0){param
=args
[0];}
120 ret
=s
.fn
.call(scope
,param
,s
.obj
);}else{ret
=s
.fn
.call(scope
,this.type
,args
,s
.obj
);}
121 if(false===ret
){if(!this.silent
){}
123 if(rebuild
){var newlist
=[],subs
=this.subscribers
;for(i
=0,len
=subs
.length
;i
<len
;++i
){s
=subs
[i
];newlist
.push(subs
[i
]);}
124 this.subscribers
=newlist
;}
125 return true;},unsubscribeAll:function(){for(var i
=0,len
=this.subscribers
.length
;i
<len
;++i
){this._delete(len
-1-i
);}
126 this.subscribers
=[];return i
;},_delete:function(index
){var s
=this.subscribers
[index
];if(s
){delete s
.fn
;delete s
.obj
;}
127 this.subscribers
[index
]=null;},toString:function(){return"CustomEvent: "+"'"+this.type
+"', "+"scope: "+this.scope
;}};YAHOO
.util
.Subscriber=function(fn
,obj
,override
){this.fn
=fn
;this.obj
=YAHOO
.lang
.isUndefined(obj
)?null:obj
;this.override
=override
;};YAHOO
.util
.Subscriber
.prototype.getScope=function(defaultScope
){if(this.override
){if(this.override
===true){return this.obj
;}else{return this.override
;}}
128 return defaultScope
;};YAHOO
.util
.Subscriber
.prototype.contains=function(fn
,obj
){if(obj
){return(this.fn
==fn
&&this.obj
==obj
);}else{return(this.fn
==fn
);}};YAHOO
.util
.Subscriber
.prototype.toString=function(){return"Subscriber { obj: "+this.obj
+", override: "+(this.override
||"no")+" }";};if(!YAHOO
.util
.Event
){YAHOO
.util
.Event=function(){var loadComplete
=false;var DOMReady
=false;var listeners
=[];var unloadListeners
=[];var legacyEvents
=[];var legacyHandlers
=[];var retryCount
=0;var onAvailStack
=[];var legacyMap
=[];var counter
=0;var webkitKeymap
={63232:38,63233:40,63234:37,63235:39};return{POLL_RETRYS
:4000,POLL_INTERVAL
:10,EL
:0,TYPE
:1,FN
:2,WFN
:3,OBJ
:3,ADJ_SCOPE
:4,lastError
:null,isSafari
:YAHOO
.env
.ua
.webkit
,webkit
:YAHOO
.env
.ua
.webkit
,isIE
:YAHOO
.env
.ua
.ie
,_interval
:null,startInterval:function(){if(!this._interval
){var self
=this;var callback=function(){self
._tryPreloadAttach();};this._interval
=setInterval(callback
,this.POLL_INTERVAL
);}},onAvailable:function(p_id
,p_fn
,p_obj
,p_override
){onAvailStack
.push({id
:p_id
,fn
:p_fn
,obj
:p_obj
,override
:p_override
,checkReady
:false});retryCount
=this.POLL_RETRYS
;this.startInterval();},onDOMReady:function(p_fn
,p_obj
,p_override
){if(DOMReady
){setTimeout(function(){var s
=window
;if(p_override
){if(p_override
===true){s
=p_obj
;}else{s
=p_override
;}}
129 p_fn
.call(s
,"DOMReady",[],p_obj
);},0);}else{this.DOMReadyEvent
.subscribe(p_fn
,p_obj
,p_override
);}},onContentReady:function(p_id
,p_fn
,p_obj
,p_override
){onAvailStack
.push({id
:p_id
,fn
:p_fn
,obj
:p_obj
,override
:p_override
,checkReady
:true});retryCount
=this.POLL_RETRYS
;this.startInterval();},addListener:function(el
,sType
,fn
,obj
,override
){if(!fn
||!fn
.call
){return false;}
130 if(this._isValidCollection(el
)){var ok
=true;for(var i
=0,len
=el
.length
;i
<len
;++i
){ok
=this.on(el
[i
],sType
,fn
,obj
,override
)&&ok
;}
131 return ok
;}else if(YAHOO
.lang
.isString(el
)){var oEl
=this.getEl(el
);if(oEl
){el
=oEl
;}else{this.onAvailable(el
,function(){YAHOO
.util
.Event
.on(el
,sType
,fn
,obj
,override
);});return true;}}
132 if(!el
){return false;}
133 if("unload"==sType
&&obj
!==this){unloadListeners
[unloadListeners
.length
]=[el
,sType
,fn
,obj
,override
];return true;}
134 var scope
=el
;if(override
){if(override
===true){scope
=obj
;}else{scope
=override
;}}
135 var wrappedFn=function(e
){return fn
.call(scope
,YAHOO
.util
.Event
.getEvent(e
),obj
);};var li
=[el
,sType
,fn
,wrappedFn
,scope
];var index
=listeners
.length
;listeners
[index
]=li
;if(this.useLegacyEvent(el
,sType
)){var legacyIndex
=this.getLegacyIndex(el
,sType
);if(legacyIndex
==-1||el
!=legacyEvents
[legacyIndex
][0]){legacyIndex
=legacyEvents
.length
;legacyMap
[el
.id
+sType
]=legacyIndex
;legacyEvents
[legacyIndex
]=[el
,sType
,el
["on"+sType
]];legacyHandlers
[legacyIndex
]=[];el
["on"+sType
]=function(e
){YAHOO
.util
.Event
.fireLegacyEvent(YAHOO
.util
.Event
.getEvent(e
),legacyIndex
);};}
136 legacyHandlers
[legacyIndex
].push(li
);}else{try{this._simpleAdd(el
,sType
,wrappedFn
,false);}catch(ex
){this.lastError
=ex
;this.removeListener(el
,sType
,fn
);return false;}}
137 return true;},fireLegacyEvent:function(e
,legacyIndex
){var ok
=true,le
,lh
,li
,scope
,ret
;lh
=legacyHandlers
[legacyIndex
];for(var i
=0,len
=lh
.length
;i
<len
;++i
){li
=lh
[i
];if(li
&&li
[this.WFN
]){scope
=li
[this.ADJ_SCOPE
];ret
=li
[this.WFN
].call(scope
,e
);ok
=(ok
&&ret
);}}
138 le
=legacyEvents
[legacyIndex
];if(le
&&le
[2]){le
[2](e
);}
139 return ok
;},getLegacyIndex:function(el
,sType
){var key
=this.generateId(el
)+sType
;if(typeof legacyMap
[key
]=="undefined"){return-1;}else{return legacyMap
[key
];}},useLegacyEvent:function(el
,sType
){if(this.webkit
&&("click"==sType
||"dblclick"==sType
)){var v
=parseInt(this.webkit
,10);if(!isNaN(v
)&&v
<418){return true;}}
140 return false;},removeListener:function(el
,sType
,fn
){var i
,len
;if(typeof el
=="string"){el
=this.getEl(el
);}else if(this._isValidCollection(el
)){var ok
=true;for(i
=0,len
=el
.length
;i
<len
;++i
){ok
=(this.removeListener(el
[i
],sType
,fn
)&&ok
);}
142 if(!fn
||!fn
.call
){return this.purgeElement(el
,false,sType
);}
143 if("unload"==sType
){for(i
=0,len
=unloadListeners
.length
;i
<len
;i
++){var li
=unloadListeners
[i
];if(li
&&li
[0]==el
&&li
[1]==sType
&&li
[2]==fn
){unloadListeners
[i
]=null;return true;}}
145 var cacheItem
=null;var index
=arguments
[3];if("undefined"==typeof index
){index
=this._getCacheIndex(el
,sType
,fn
);}
146 if(index
>=0){cacheItem
=listeners
[index
];}
147 if(!el
||!cacheItem
){return false;}
148 if(this.useLegacyEvent(el
,sType
)){var legacyIndex
=this.getLegacyIndex(el
,sType
);var llist
=legacyHandlers
[legacyIndex
];if(llist
){for(i
=0,len
=llist
.length
;i
<len
;++i
){li
=llist
[i
];if(li
&&li
[this.EL
]==el
&&li
[this.TYPE
]==sType
&&li
[this.FN
]==fn
){llist
[i
]=null;break;}}}}else{try{this._simpleRemove(el
,sType
,cacheItem
[this.WFN
],false);}catch(ex
){this.lastError
=ex
;return false;}}
149 delete listeners
[index
][this.WFN
];delete listeners
[index
][this.FN
];listeners
[index
]=null;return true;},getTarget:function(ev
,resolveTextNode
){var t
=ev
.target
||ev
.srcElement
;return this.resolveTextNode(t
);},resolveTextNode:function(node
){if(node
&&3==node
.nodeType
){return node
.parentNode
;}else{return node
;}},getPageX:function(ev
){var x
=ev
.pageX
;if(!x
&&0!==x
){x
=ev
.clientX
||0;if(this.isIE
){x
+=this._getScrollLeft();}}
150 return x
;},getPageY:function(ev
){var y
=ev
.pageY
;if(!y
&&0!==y
){y
=ev
.clientY
||0;if(this.isIE
){y
+=this._getScrollTop();}}
151 return y
;},getXY:function(ev
){return[this.getPageX(ev
),this.getPageY(ev
)];},getRelatedTarget:function(ev
){var t
=ev
.relatedTarget
;if(!t
){if(ev
.type
=="mouseout"){t
=ev
.toElement
;}else if(ev
.type
=="mouseover"){t
=ev
.fromElement
;}}
152 return this.resolveTextNode(t
);},getTime:function(ev
){if(!ev
.time
){var t
=new Date().getTime();try{ev
.time
=t
;}catch(ex
){this.lastError
=ex
;return t
;}}
153 return ev
.time
;},stopEvent:function(ev
){this.stopPropagation(ev
);this.preventDefault(ev
);},stopPropagation:function(ev
){if(ev
.stopPropagation
){ev
.stopPropagation();}else{ev
.cancelBubble
=true;}},preventDefault:function(ev
){if(ev
.preventDefault
){ev
.preventDefault();}else{ev
.returnValue
=false;}},getEvent:function(e
){var ev
=e
||window
.event
;if(!ev
){var c
=this.getEvent
.caller
;while(c
){ev
=c
.arguments
[0];if(ev
&&Event
==ev
.constructor){break;}
155 return ev
;},getCharCode:function(ev
){var code
=ev
.keyCode
||ev
.charCode
||0;if(YAHOO
.env
.ua
.webkit
&&(code
in webkitKeymap
)){code
=webkitKeymap
[code
];}
156 return code
;},_getCacheIndex:function(el
,sType
,fn
){for(var i
=0,len
=listeners
.length
;i
<len
;++i
){var li
=listeners
[i
];if(li
&&li
[this.FN
]==fn
&&li
[this.EL
]==el
&&li
[this.TYPE
]==sType
){return i
;}}
157 return-1;},generateId:function(el
){var id
=el
.id
;if(!id
){id
="yuievtautoid-"+counter
;++counter
;el
.id
=id
;}
158 return id
;},_isValidCollection:function(o
){try{return(o
&&o
.length
&&typeof o
!="string"&&!o
.tagName
&&!o
.alert
&&typeof o
[0]!="undefined");}catch(e
){return false;}},elCache
:{},getEl:function(id
){return document
.getElementById(id
);},clearCache:function(){},DOMReadyEvent
:new YAHOO
.util
.CustomEvent("DOMReady",this),_load:function(e
){if(!loadComplete
){loadComplete
=true;var EU
=YAHOO
.util
.Event
;EU
._ready();EU
._tryPreloadAttach();}},_ready:function(e
){if(!DOMReady
){DOMReady
=true;var EU
=YAHOO
.util
.Event
;EU
.DOMReadyEvent
.fire();EU
._simpleRemove(document
,"DOMContentLoaded",EU
._ready
);}},_tryPreloadAttach:function(){if(this.locked
){return false;}
159 if(this.isIE
){if(!DOMReady
){this.startInterval();return false;}}
160 this.locked
=true;var tryAgain
=!loadComplete
;if(!tryAgain
){tryAgain
=(retryCount
>0);}
161 var notAvail
=[];var executeItem=function(el
,item
){var scope
=el
;if(item
.override
){if(item
.override
===true){scope
=item
.obj
;}else{scope
=item
.override
;}}
162 item
.fn
.call(scope
,item
.obj
);};var i
,len
,item
,el
;for(i
=0,len
=onAvailStack
.length
;i
<len
;++i
){item
=onAvailStack
[i
];if(item
&&!item
.checkReady
){el
=this.getEl(item
.id
);if(el
){executeItem(el
,item
);onAvailStack
[i
]=null;}else{notAvail
.push(item
);}}}
163 for(i
=0,len
=onAvailStack
.length
;i
<len
;++i
){item
=onAvailStack
[i
];if(item
&&item
.checkReady
){el
=this.getEl(item
.id
);if(el
){if(loadComplete
||el
.nextSibling
){executeItem(el
,item
);onAvailStack
[i
]=null;}}else{notAvail
.push(item
);}}}
164 retryCount
=(notAvail
.length
===0)?0:retryCount
-1;if(tryAgain
){this.startInterval();}else{clearInterval(this._interval
);this._interval
=null;}
165 this.locked
=false;return true;},purgeElement:function(el
,recurse
,sType
){var elListeners
=this.getListeners(el
,sType
);if(elListeners
){for(var i
=0,len
=elListeners
.length
;i
<len
;++i
){var l
=elListeners
[i
];this.removeListener(el
,l
.type
,l
.fn
,l
.index
);}}
166 if(recurse
&&el
&&el
.childNodes
){for(i
=0,len
=el
.childNodes
.length
;i
<len
;++i
){this.purgeElement(el
.childNodes
[i
],recurse
,sType
);}}},getListeners:function(el
,sType
){var results
=[],searchLists
;if(!sType
){searchLists
=[listeners
,unloadListeners
];}else if(sType
=="unload"){searchLists
=[unloadListeners
];}else{searchLists
=[listeners
];}
167 for(var j
=0;j
<searchLists
.length
;++j
){var searchList
=searchLists
[j
];if(searchList
&&searchList
.length
>0){for(var i
=0,len
=searchList
.length
;i
<len
;++i
){var l
=searchList
[i
];if(l
&&l
[this.EL
]===el
&&(!sType
||sType
===l
[this.TYPE
])){results
.push({type
:l
[this.TYPE
],fn
:l
[this.FN
],obj
:l
[this.OBJ
],adjust
:l
[this.ADJ_SCOPE
],index
:i
});}}}}
168 return(results
.length
)?results
:null;},_unload:function(e
){var EU
=YAHOO
.util
.Event
,i
,j
,l
,len
,index
;for(i
=0,len
=unloadListeners
.length
;i
<len
;++i
){l
=unloadListeners
[i
];if(l
){var scope
=window
;if(l
[EU
.ADJ_SCOPE
]){if(l
[EU
.ADJ_SCOPE
]===true){scope
=l
[EU
.OBJ
];}else{scope
=l
[EU
.ADJ_SCOPE
];}}
169 l
[EU
.FN
].call(scope
,EU
.getEvent(e
),l
[EU
.OBJ
]);unloadListeners
[i
]=null;l
=null;scope
=null;}}
170 unloadListeners
=null;if(listeners
&&listeners
.length
>0){j
=listeners
.length
;while(j
){index
=j
-1;l
=listeners
[index
];if(l
){EU
.removeListener(l
[EU
.EL
],l
[EU
.TYPE
],l
[EU
.FN
],index
);}
172 l
=null;EU
.clearCache();}
173 for(i
=0,len
=legacyEvents
.length
;i
<len
;++i
){legacyEvents
[i
][0]=null;legacyEvents
[i
]=null;}
174 legacyEvents
=null;EU
._simpleRemove(window
,"unload",EU
._unload
);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd
=document
.documentElement
,db
=document
.body
;if(dd
&&(dd
.scrollTop
||dd
.scrollLeft
)){return[dd
.scrollTop
,dd
.scrollLeft
];}else if(db
){return[db
.scrollTop
,db
.scrollLeft
];}else{return[0,0];}},regCE:function(){},_simpleAdd:function(){if(window
.addEventListener
){return function(el
,sType
,fn
,capture
){el
.addEventListener(sType
,fn
,(capture
));};}else if(window
.attachEvent
){return function(el
,sType
,fn
,capture
){el
.attachEvent("on"+sType
,fn
);};}else{return function(){};}}(),_simpleRemove:function(){if(window
.removeEventListener
){return function(el
,sType
,fn
,capture
){el
.removeEventListener(sType
,fn
,(capture
));};}else if(window
.detachEvent
){return function(el
,sType
,fn
){el
.detachEvent("on"+sType
,fn
);};}else{return function(){};}}()};}();(function(){var EU
=YAHOO
.util
.Event
;EU
.on
=EU
.addListener
;if(EU
.isIE
){YAHOO
.util
.Event
.onDOMReady(YAHOO
.util
.Event
._tryPreloadAttach
,YAHOO
.util
.Event
,true);var el
,d
=document
,b
=d
.body
;if(("undefined"!==typeof YAHOO_config
)&&YAHOO_config
.injecting
){el
=document
.createElement("script");var p
=d
.getElementsByTagName("head")[0]||b
;p
.insertBefore(el
,p
.firstChild
);}else{d
.write('<scr'+'ipt id="_yui_eu_dr" defer="true" src="//:"><'+'/script>');el
=document
.getElementById("_yui_eu_dr");}
175 if(el
){el
.onreadystatechange=function(){if("complete"===this.readyState
){this.parentNode
.removeChild(this);YAHOO
.util
.Event
._ready();}};}else{}
176 el
=null;}else if(EU
.webkit
){EU
._drwatch
=setInterval(function(){var rs
=document
.readyState
;if("loaded"==rs
||"complete"==rs
){clearInterval(EU
._drwatch
);EU
._drwatch
=null;EU
._ready();}},EU
.POLL_INTERVAL
);}else{EU
._simpleAdd(document
,"DOMContentLoaded",EU
._ready
);}
177 EU
._simpleAdd(window
,"load",EU
._load
);EU
._simpleAdd(window
,"unload",EU
._unload
);EU
._tryPreloadAttach();})();}
178 YAHOO
.util
.EventProvider=function(){};YAHOO
.util
.EventProvider
.prototype={__yui_events
:null,__yui_subscribers
:null,subscribe:function(p_type
,p_fn
,p_obj
,p_override
){this.__yui_events
=this.__yui_events
||{};var ce
=this.__yui_events
[p_type
];if(ce
){ce
.subscribe(p_fn
,p_obj
,p_override
);}else{this.__yui_subscribers
=this.__yui_subscribers
||{};var subs
=this.__yui_subscribers
;if(!subs
[p_type
]){subs
[p_type
]=[];}
179 subs
[p_type
].push({fn
:p_fn
,obj
:p_obj
,override
:p_override
});}},unsubscribe:function(p_type
,p_fn
,p_obj
){this.__yui_events
=this.__yui_events
||{};var evts
=this.__yui_events
;if(p_type
){var ce
=evts
[p_type
];if(ce
){return ce
.unsubscribe(p_fn
,p_obj
);}}else{for(var i
in evts
){var ret
=true;if(YAHOO
.lang
.hasOwnProperty(evts
,i
)){ret
=ret
&&evts
[i
].unsubscribe(p_fn
,p_obj
);}}
181 return false;},unsubscribeAll:function(p_type
){return this.unsubscribe(p_type
);},createEvent:function(p_type
,p_config
){this.__yui_events
=this.__yui_events
||{};var opts
=p_config
||{};var events
=this.__yui_events
;if(events
[p_type
]){}else{var scope
=opts
.scope
||this;var silent
=(opts
.silent
);var ce
=new YAHOO
.util
.CustomEvent(p_type
,scope
,silent
,YAHOO
.util
.CustomEvent
.FLAT
);events
[p_type
]=ce
;if(opts
.onSubscribeCallback
){ce
.subscribeEvent
.subscribe(opts
.onSubscribeCallback
);}
182 this.__yui_subscribers
=this.__yui_subscribers
||{};var qs
=this.__yui_subscribers
[p_type
];if(qs
){for(var i
=0;i
<qs
.length
;++i
){ce
.subscribe(qs
[i
].fn
,qs
[i
].obj
,qs
[i
].override
);}}}
183 return events
[p_type
];},fireEvent:function(p_type
,arg1
,arg2
,etc
){this.__yui_events
=this.__yui_events
||{};var ce
=this.__yui_events
[p_type
];if(!ce
){return null;}
184 var args
=[];for(var i
=1;i
<arguments
.length
;++i
){args
.push(arguments
[i
]);}
185 return ce
.fire
.apply(ce
,args
);},hasEvent:function(type
){if(this.__yui_events
){if(this.__yui_events
[type
]){return true;}}
186 return false;}};YAHOO
.util
.KeyListener=function(attachTo
,keyData
,handler
,event
){if(!attachTo
){}else if(!keyData
){}else if(!handler
){}
187 if(!event
){event
=YAHOO
.util
.KeyListener
.KEYDOWN
;}
188 var keyEvent
=new YAHOO
.util
.CustomEvent("keyPressed");this.enabledEvent
=new YAHOO
.util
.CustomEvent("enabled");this.disabledEvent
=new YAHOO
.util
.CustomEvent("disabled");if(typeof attachTo
=='string'){attachTo
=document
.getElementById(attachTo
);}
189 if(typeof handler
=='function'){keyEvent
.subscribe(handler
);}else{keyEvent
.subscribe(handler
.fn
,handler
.scope
,handler
.correctScope
);}
190 function handleKeyPress(e
,obj
){if(!keyData
.shift
){keyData
.shift
=false;}
191 if(!keyData
.alt
){keyData
.alt
=false;}
192 if(!keyData
.ctrl
){keyData
.ctrl
=false;}
193 if(e
.shiftKey
==keyData
.shift
&&e
.altKey
==keyData
.alt
&&e
.ctrlKey
==keyData
.ctrl
){var dataItem
;var keyPressed
;if(keyData
.keys
instanceof Array
){for(var i
=0;i
<keyData
.keys
.length
;i
++){dataItem
=keyData
.keys
[i
];if(dataItem
==e
.charCode
){keyEvent
.fire(e
.charCode
,e
);break;}else if(dataItem
==e
.keyCode
){keyEvent
.fire(e
.keyCode
,e
);break;}}}else{dataItem
=keyData
.keys
;if(dataItem
==e
.charCode
){keyEvent
.fire(e
.charCode
,e
);}else if(dataItem
==e
.keyCode
){keyEvent
.fire(e
.keyCode
,e
);}}}}
194 this.enable=function(){if(!this.enabled
){YAHOO
.util
.Event
.addListener(attachTo
,event
,handleKeyPress
);this.enabledEvent
.fire(keyData
);}
195 this.enabled
=true;};this.disable=function(){if(this.enabled
){YAHOO
.util
.Event
.removeListener(attachTo
,event
,handleKeyPress
);this.disabledEvent
.fire(keyData
);}
196 this.enabled
=false;};this.toString=function(){return"KeyListener ["+keyData
.keys
+"] "+attachTo
.tagName
+
197 (attachTo
.id
?"["+attachTo
.id
+"]":"");};};YAHOO
.util
.KeyListener
.KEYDOWN
="keydown";YAHOO
.util
.KeyListener
.KEYUP
="keyup";YAHOO
.register("event",YAHOO
.util
.Event
,{version
:"2.3.0",build
:"442"});YAHOO
.register("yahoo-dom-event", YAHOO
, {version
: "2.3.0", build
: "442"});