YAHOO.util.Attribute=function(hash,owner){if(owner){this.owner=owner;this.configure(hash,true)}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value},setValue:function(value,silent){var beforeRetVal;var owner=this.owner;var name=this.name;var event={type:name,prevValue:this.getValue(),newValue:value};if(this.readOnly||(this.writeOnce&&this._written)){return false}if(this.validator&&!this.validator.call(owner,value)){return false}if(!silent){beforeRetVal=owner.fireBeforeChangeEvent(event);if(beforeRetVal===false){return false}}if(this.method){this.method.call(owner,value)}this.value=value;this._written=true;event.type=name;if(!silent){this.owner.fireChangeEvent(event)}return true},configure:function(map,init){map=map||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var key in map){if(map.hasOwnProperty(key)){this[key]=map[key];if(init){this._initialConfig[key]=map[key]}}}},resetValue:function(){return this.setValue(this._initialConfig.value)},resetConfig:function(){this.configure(this._initialConfig)},refresh:function(silent){this.setValue(this.value,silent)}};(function(){var Lang=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(key){this._configs=this._configs||{};var config=this._configs[key];if(!config||!this._configs.hasOwnProperty(key)){return undefined}return config.value},set:function(key,value,silent){this._configs=this._configs||{};var config=this._configs[key];if(!config){return false}return config.setValue(value,silent)},getAttributeKeys:function(){this._configs=this._configs;var keys=[];var config;for(var key in this._configs){config=this._configs[key];if(Lang.hasOwnProperty(this._configs,key)&&!Lang.isUndefined(config)){keys[keys.length]=key}}return keys},setAttributes:function(map,silent){for(var key in map){if(Lang.hasOwnProperty(map,key)){this.set(key,map[key],silent)}}},resetValue:function(key,silent){this._configs=this._configs||{};if(this._configs[key]){this.set(key,this._configs[key]._initialConfig.value,silent);return true}return false},refresh:function(key,silent){this._configs=this._configs||{};var configs=this._configs;key=((Lang.isString(key))?[key]:key)||this.getAttributeKeys();for(var i=0,len=key.length;i<len;++i){if(configs.hasOwnProperty(key[i])){this._configs[key[i]].refresh(silent)}}},register:function(key,map){this.setAttributeConfig(key,map)},getAttributeConfig:function(key){this._configs=this._configs||{};var config=this._configs[key]||{};var map={};for(key in config){if(Lang.hasOwnProperty(config,key)){map[key]=config[key]}}return map},setAttributeConfig:function(key,map,init){this._configs=this._configs||{};map=map||{};if(!this._configs[key]){map.name=key;this._configs[key]=this.createAttribute(map)}else{this._configs[key].configure(map,init)}},configureAttribute:function(key,map,init){this.setAttributeConfig(key,map,init)},resetAttributeConfig:function(key){this._configs=this._configs||{};this._configs[key].resetConfig()},subscribe:function(type,callback){this._events=this._events||{};if(!(type in this._events)){this._events[type]=this.createEvent(type)}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments)},on:function(){this.subscribe.apply(this,arguments)},addListener:function(){this.subscribe.apply(this,arguments)},fireBeforeChangeEvent:function(e){var type="before";type+=e.type.charAt(0).toUpperCase()+e.type.substr(1)+"Change";e.type=type;return this.fireEvent(e.type,e)},fireChangeEvent:function(e){e.type+="Change";return this.fireEvent(e.type,e)},createAttribute:function(map){return new YAHOO.util.Attribute(map,this)}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider)})();(function(){var Dom=YAHOO.util.Dom,AttributeProvider=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(el,map){if(arguments.length){this.init(el,map)}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(child){child=child.get?child.get("element"):child;return this.get("element").appendChild(child)},getElementsByTagName:function(tag){return this.get("element").getElementsByTagName(tag)},hasChildNodes:function(){return this.get("element").hasChildNodes()},insertBefore:function(element,before){element=element.get?element.get("element"):element;before=(before&&before.get)?before.get("element"):before;return this.get("element").insertBefore(element,before)},removeChild:function(child){child=child.get?child.get("element"):child;return this.get("element").removeChild(child)},replaceChild:function(newNode,oldNode){newNode=newNode.get?newNode.get("element"):newNode;oldNode=oldNode.get?oldNode.get("element"):oldNode;return this.get("element").replaceChild(newNode,oldNode)},initAttributes:function(map){},addListener:function(type,fn,obj,scope){var el=this.get("element")||this.get("id");scope=scope||this;var self=this;if(!this._events[type]){if(el&&this.DOM_EVENTS[type]){YAHOO.util.Event.addListener(el,type,function(e){if(e.srcElement&&!e.target){e.target=e.srcElement}self.fireEvent(type,e)},obj,scope)}this.createEvent(type,this)}return YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments)},on:function(){return this.addListener.apply(this,arguments)},subscribe:function(){return this.addListener.apply(this,arguments)},removeListener:function(type,fn){return this.unsubscribe.apply(this,arguments)},addClass:function(className){Dom.addClass(this.get("element"),className)},getElementsByClassName:function(className,tag){return Dom.getElementsByClassName(className,tag,this.get("element"))},hasClass:function(className){return Dom.hasClass(this.get("element"),className)},removeClass:function(className){return Dom.removeClass(this.get("element"),className)},replaceClass:function(oldClassName,newClassName){return Dom.replaceClass(this.get("element"),oldClassName,newClassName)},setStyle:function(property,value){var el=this.get("element");if(!el){return this._queue[this._queue.length]=["setStyle",arguments]}return Dom.setStyle(el,property,value)},getStyle:function(property){return Dom.getStyle(this.get("element"),property)},fireQueue:function(){var queue=this._queue;for(var i=0,len=queue.length;i<len;++i){this[queue[i][0]].apply(this,queue[i][1])}},appendTo:function(parent,before){parent=(parent.get)?parent.get("element"):Dom.get(parent);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:parent});before=(before&&before.get)?before.get("element"):Dom.get(before);var element=this.get("element");if(!element){return false}if(!parent){return false}if(element.parent!=parent){if(before){parent.insertBefore(element,before)}else{parent.appendChild(element)}}this.fireEvent("appendTo",{type:"appendTo",target:parent});return element},get:function(key){var configs=this._configs||{};var el=configs.element;if(el&&!configs[key]&&!YAHOO.lang.isUndefined(el.value[key])){return el.value[key]}return AttributeProvider.prototype.get.call(this,key)},setAttributes:function(map,silent){var el=this.get("element");for(var key in map){if(!this._configs[key]&&!YAHOO.lang.isUndefined(el[key])){this.setAttributeConfig(key)}}for(var i=0,len=this._configOrder.length;i<len;++i){if(map[this._configOrder[i]]!==undefined){this.set(this._configOrder[i],map[this._configOrder[i]],silent)}}},set:function(key,value,silent){var el=this.get("element");if(!el){this._queue[this._queue.length]=["set",arguments];if(this._configs[key]){this._configs[key].value=value}return }if(!this._configs[key]&&!YAHOO.lang.isUndefined(el[key])){_registerHTMLAttr.call(this,key)}return AttributeProvider.prototype.set.apply(this,arguments)},setAttributeConfig:function(key,map,init){var el=this.get("element");if(el&&!this._configs[key]&&!YAHOO.lang.isUndefined(el[key])){_registerHTMLAttr.call(this,key,map)}else{AttributeProvider.prototype.setAttributeConfig.apply(this,arguments)}this._configOrder.push(key)},getAttributeKeys:function(){var el=this.get("element");var keys=AttributeProvider.prototype.getAttributeKeys.call(this);for(var key in el){if(!this._configs[key]){keys[key]=keys[key]||el[key]}}return keys},createEvent:function(type,scope){this._events[type]=true;AttributeProvider.prototype.createEvent.apply(this,arguments)},init:function(el,attr){_initElement.apply(this,arguments)}};var _initElement=function(el,attr){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];attr=attr||{};attr.element=attr.element||el||null;this.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true};var isReady=false;if(typeof attr.element==="string"){_registerHTMLAttr.call(this,"id",{value:attr.element})}if(Dom.get(attr.element)){isReady=true;_initHTMLElement.call(this,attr);_initContent.call(this,attr)}YAHOO.util.Event.onAvailable(attr.element,function(){if(!isReady){_initHTMLElement.call(this,attr)}this.fireEvent("available",{type:"available",target:Dom.get(attr.element)})},this,true);YAHOO.util.Event.onContentReady(attr.element,function(){if(!isReady){_initContent.call(this,attr)}this.fireEvent("contentReady",{type:"contentReady",target:Dom.get(attr.element)})},this,true)};var _initHTMLElement=function(attr){this.setAttributeConfig("element",{value:Dom.get(attr.element),readOnly:true})};var _initContent=function(attr){this.initAttributes(attr);this.setAttributes(attr,true);this.fireQueue()};var _registerHTMLAttr=function(key,map){var el=this.get("element");map=map||{};map.name=key;map.method=map.method||function(value){if(el){el[key]=value}};map.value=map.value||el[key];this._configs[key]=new YAHOO.util.Attribute(map,this)};YAHOO.augment(YAHOO.util.Element,AttributeProvider)})();YAHOO.register("element",YAHOO.util.Element,{version:"2.6.0",build:"1321"})