/* Copyright (c) 2006, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt */
YAHOO.util.Config=function(owner){if(owner){this.init(owner);}}
YAHOO.util.Config.prototype.init=function(owner){this.owner=owner;this.configChangedEvent=new YAHOO.util.CustomEvent("configChanged");var config={};var deferredEvents={};var initialConfig={};var fireEvent=function(key,property,value){if(property.dependentElement&&!YAHOO.util.Dom.inDocument(property.dependentElement)){deferredEvents[key]={args:value};return true;}else{if(property.mustChange){if(property.defaultValue!=property.value){property.event.fire(value);}}else{property.event.fire(value);}
return false;}}
this.addProperty=function(key,val,hdl,vfn,el,mc){config[key]={event:new YAHOO.util.CustomEvent(key),handler:hdl,dependentElement:el,defaultValue:val,value:null,validator:vfn,mustChange:mc};if(config[key].handler){config[key].event.subscribe(config[key].handler,this.owner,true);}
this.setProperty(key,val,true);}
this.getConfig=function(){var cfg={};for(var prop in config){var property=config[prop]
if(property!=undefined&&property.event){cfg[prop]=property.value;}}
return cfg;}
this.getProperty=function(key){var property=config[key];if(property!=undefined&&property.event){return property.value;}else{return undefined;}}
this.getDefault=function(key){var property=config[key];if(property!=undefined&&property.event){return property.defaultValue;}else{return undefined;}}
this.resetProperty=function(key){var property=config[key];if(property!=undefined&&property.event){this.setProperty(key,initialConfig[key].value);}else{return undefined;}}
this.setProperty=function(key,value,silent){var property=config[key];if(property!=undefined&&property.event){if(property.validator&&!property.validator(value)){return false;}else{property.value=value;if(!silent){var deferred=fireEvent(key,property,value);this.configChangedEvent.fire([key,value,deferred]);}
return true;}}else{return false;}}
this.refireEvent=function(key){var property=config[key];if(property!=undefined&&property.event){fireEvent(key,property,property.value);}}
this.applyConfig=function(userConfig,init){if(init){initialConfig=userConfig;}
for(var prop in userConfig){this.setProperty(prop,userConfig[prop],true);}
for(var prop in userConfig){var property=config[prop];if(property!=undefined&&property.event){fireEvent(prop,property,userConfig[prop]);}}}
this.refresh=function(){for(var prop in config){this.refireEvent(prop);}}
this.reset=function(){this.applyConfig(initialConfig);}
this.subscribeToConfigEvent=function(key,handler,obj,override){var property=config[key];if(property!=undefined&&property.event){property.event.subscribe(handler,obj,override);return true;}else{return false;}}
this.fireDeferredEvents=function(){for(var prop in deferredEvents){var property=config[prop];if(property!=undefined&&property.event){fireEvent(prop,property,deferredEvents[prop].args);}}}
this.checkBoolean=function(val){if(typeof val=='boolean'){return true;}else{return false;}}
this.checkNumber=function(val){if(isNaN(val)){return false;}else{return true;}}}
YAHOO.util.Dom._elementInDom=function(element){var parentNode=element.parentNode;if(!parentNode){return false;}else{if(parentNode.tagName=="HTML"){return true;}else{return YAHOO.util.Dom._elementInDom(parentNode);}}}
YAHOO.widget.Module=function(el,userConfig){if(el){this.init(el,userConfig);}}
YAHOO.widget.Module.IMG_ROOT="http://us.i1.yimg.com/us.yimg.com/i/";YAHOO.widget.Module.IMG_ROOT_SSL="https://a248.e.akamai.net/sec.yimg.com/i/";YAHOO.widget.Module.CSS_MODULE="module";YAHOO.widget.Module.CSS_HEADER="hd";YAHOO.widget.Module.CSS_BODY="bd";YAHOO.widget.Module.CSS_FOOTER="ft";YAHOO.widget.Module.prototype={constructor:YAHOO.widget.Module,element:null,header:null,body:null,footer:null,id:null,childNodesInDOM:null,imageRoot:YAHOO.widget.Module.IMG_ROOT,effects:new Array(),initEvents:function(){this.beforeInitModuleEvent=new YAHOO.util.CustomEvent("beforeInitModule");this.initModuleEvent=new YAHOO.util.CustomEvent("initModule");this.appendEvent=new YAHOO.util.CustomEvent("append");this.beforeRenderEvent=new YAHOO.util.CustomEvent("beforeRender");this.renderEvent=new YAHOO.util.CustomEvent("render");this.changeHeaderEvent=new YAHOO.util.CustomEvent("changeHeader");this.changeBodyEvent=new YAHOO.util.CustomEvent("changeBody");this.changeFooterEvent=new YAHOO.util.CustomEvent("changeFooter");this.changeContentEvent=new YAHOO.util.CustomEvent("changeContent");this.destroyEvent=new YAHOO.util.CustomEvent("destroy");this.beforeShowEvent=new YAHOO.util.CustomEvent("beforeShow",this);this.showEvent=new YAHOO.util.CustomEvent("show",this);this.beforeHideEvent=new YAHOO.util.CustomEvent("beforeHide",this);this.hideEvent=new YAHOO.util.CustomEvent("hide",this);this.resizeEvent=new YAHOO.util.CustomEvent("resize",this);},initDefaultConfig:function(){var ua=navigator.userAgent.toLowerCase();this.platform=function(){if(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1){return"windows";}else if(ua.indexOf("macintosh")!=-1){return"mac";}else{return false;}}();this.browser=function(){if(ua.indexOf('opera')!=-1){return'opera';}else if(ua.indexOf('msie 7')!=-1){return'ie7';}else if(ua.indexOf('msie')!=-1){return'ie';}else if(ua.indexOf('safari')!=-1){return'safari';}else if(ua.indexOf('gecko')!=-1){return'gecko';}else{return false;}}();if(window.location.href.toLowerCase().indexOf("https")==0){this.imageRoot=YAHOO.widget.Module.IMG_ROOT_SSL;this.isSecure=true;}else{this.isSecure=false;}
this.cfg.addProperty("visible",null,this.configVisible,this.cfg.checkBoolean,this.element,true);this.cfg.addProperty("effect");this.cfg.addProperty("monitorresize",true,this.configMonitorResize);},init:function(el,userConfig){this.cfg=new YAHOO.util.Config(this);this.initEvents();this.beforeInitModuleEvent.fire(el);if(typeof el=="string"){var elId=el;el=document.getElementById(el);if(!el){el=document.createElement("DIV");el.id=elId;}}
this.element=el;if(el.id){this.id=el.id;}
this.childNodesInDOM=[null,null,null];var childNodes=this.element.childNodes;if(childNodes){for(var i=0;i<childNodes.length;i++){var child=childNodes[i];switch(child.className){case YAHOO.widget.Module.CSS_HEADER:this.header=child;this.childNodesInDOM[0]=child;break;case YAHOO.widget.Module.CSS_BODY:this.body=child;this.childNodesInDOM[1]=child;break;case YAHOO.widget.Module.CSS_FOOTER:this.footer=child;this.childNodesInDOM[2]=child;break;}}}
this.initDefaultConfig();YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Module.CSS_MODULE);if(userConfig){this.cfg.applyConfig(userConfig);}
this.initModuleEvent.fire(this.element);},initResizeMonitor:function(){var resizeMonitor=document.getElementById("_yuiResizeMonitor");if(!resizeMonitor){resizeMonitor=document.createElement("DIV");resizeMonitor.style.position="absolute";resizeMonitor.id="_yuiResizeMonitor";resizeMonitor.style.width="1em";resizeMonitor.style.height="1em";resizeMonitor.style.top="-1000px";resizeMonitor.style.left="-1000px";resizeMonitor.innerHTML="&nbsp;";document.body.appendChild(resizeMonitor);}
this.resizeMonitor=resizeMonitor;YAHOO.util.Event.addListener(this.resizeMonitor,"resize",this.onDomResize,this,true);},onDomResize:function(e,obj){},setHeader:function(headerContent){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
if(typeof headerContent=="string"){this.header.innerHTML=headerContent;}else{this.header.innerHTML="";this.header.appendChild(headerContent);}
this.changeHeaderEvent.fire(headerContent);this.changeContentEvent.fire();},appendToHeader:function(element){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
this.header.appendChild(element);this.changeHeaderEvent.fire(element);this.changeContentEvent.fire();},setBody:function(bodyContent){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
if(typeof bodyContent=="string")
{this.body.innerHTML=bodyContent;}else{this.body.innerHTML="";this.body.appendChild(bodyContent);}
this.changeBodyEvent.fire(bodyContent);this.changeContentEvent.fire();},appendToBody:function(element){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
this.body.appendChild(element);this.changeBodyEvent.fire(element);this.changeContentEvent.fire();},setFooter:function(footerContent){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
if(typeof footerContent=="string"){this.footer.innerHTML=footerContent;}else{this.footer.innerHTML="";this.footer.appendChild(footerContent);}
this.changeFooterEvent.fire(footerContent);this.changeContentEvent.fire();},appendToFooter:function(element){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
this.footer.appendChild(element);this.changeFooterEvent.fire(element);this.changeContentEvent.fire();},render:function(appendToNode){this.beforeRenderEvent.fire();var me=this;var appendTo=function(element){if(typeof element=="string"){element=document.getElementById(element);}
if(element){element.appendChild(me.element);me.appendEvent.fire();}}
if(appendToNode){if(typeof appendToNode=="string"){el=document.getElementById(el);if(!el){el=document.createElement("DIV");el.id=elId;}}
appendTo(appendToNode);}else{if(!YAHOO.util.Dom.inDocument(this.element)){return false;}}
if((!this.childNodesInDOM[0])&&this.header){var firstChild=this.element.firstChild;if(firstChild){this.element.insertBefore(this.header,firstChild);}else{this.element.appendChild(this.header);}}
if((!this.childNodesInDOM[1])&&this.body){if(this.childNodesInDOM[2]){this.element.insertBefore(this.body,this.childNodesInDOM[2]);}else{this.element.appendChild(this.body);}}
if((!this.childNodesInDOM[2])&&this.footer){this.element.appendChild(this.footer);}
this.cfg.fireDeferredEvents();this.renderEvent.fire();return true;},destroy:function(){if(this.element){var parent=this.element.parentNode;}
if(parent){parent.removeChild(this.element);}
this.element=null;this.header=null;this.body=null;this.footer=null;this.destroyEvent.fire();},show:function(){this.beforeShowEvent.fire();this.cfg.setProperty("visible",true);this.showEvent.fire();},hide:function(){this.beforeHideEvent.fire();this.cfg.setProperty("visible",false);this.hideEvent.fire();},configVisible:function(type,args,obj){var visible=args[0];if(visible){YAHOO.util.Dom.setStyle(this.element,"display","block");}else{YAHOO.util.Dom.setStyle(this.element,"display","none");}},configMonitorResize:function(type,args,obj){var monitor=args[0];if(monitor){this.initResizeMonitor();}else{YAHOO.util.Event.removeListener(this.resizeMonitor,"resize",this.onDomResize);this.resizeMonitor=null;}}}
YAHOO.widget.Overlay=function(el,userConfig){if(arguments.length>0){YAHOO.widget.Overlay.superclass.constructor.call(this,el,userConfig);}}
YAHOO.widget.Overlay.prototype=new YAHOO.widget.Module();YAHOO.widget.Overlay.prototype.constructor=YAHOO.widget.Overlay;YAHOO.widget.Overlay.superclass=YAHOO.widget.Module.prototype;YAHOO.widget.Overlay.IFRAME_SRC="promo/m/irs/blank.gif";YAHOO.widget.Overlay.TOP_LEFT="tl";YAHOO.widget.Overlay.TOP_RIGHT="tr";YAHOO.widget.Overlay.BOTTOM_LEFT="bl";YAHOO.widget.Overlay.BOTTOM_RIGHT="br";YAHOO.widget.Overlay.CSS_OVERLAY="overlay";YAHOO.widget.Overlay.prototype.init=function(el,userConfig){YAHOO.widget.Overlay.superclass.init.call(this,el);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Overlay.CSS_OVERLAY);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.renderEvent.subscribe(this.cfg.refresh,this.cfg,true);}
YAHOO.widget.Overlay.prototype.initEvents=function(){YAHOO.widget.Overlay.superclass.initEvents.call(this);this.beforeMoveEvent=new YAHOO.util.CustomEvent("beforeMove",this);this.moveEvent=new YAHOO.util.CustomEvent("move",this);}
YAHOO.widget.Overlay.prototype.initDefaultConfig=function(){YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);this.cfg.addProperty("x",null,this.configX,this.cfg.checkNumber,this.element,true);this.cfg.addProperty("y",null,this.configY,this.cfg.checkNumber,this.element,true);this.cfg.addProperty("xy",null,this.configXY,null,this.element,true);this.cfg.addProperty("fixedcenter",false,this.configFixedCenter,this.cfg.checkBoolean,this.element);this.cfg.addProperty("width","auto",this.configWidth,null,this.element);this.cfg.addProperty("height","auto",this.configHeight,null,this.element);this.cfg.addProperty("zIndex",null,this.configzIndex,this.cfg.checkNumber,this.element,true);this.cfg.addProperty("constraintoviewport",false,this.configConstrainToViewport,this.cfg.checkBoolean);this.cfg.addProperty("iframe",((this.browser=="ie"||(this.platform=="mac"&&this.browser=="gecko"))?true:false),this.configIframe,this.cfg.checkBoolean,this.element);this.cfg.addProperty("context",null,this.configContext);}
YAHOO.widget.Overlay.prototype.moveTo=function(x,y){this.cfg.setProperty("xy",[x,y]);}
YAHOO.widget.Overlay.prototype.configVisible=function(type,args,obj){var val=args[0];var effect=this.cfg.getProperty("effect");if(effect){var effectInstances=new Array();if(effect instanceof Array){for(var i=0;i<effect.length;i++){var eff=effect[i];effectInstances[effectInstances.length]=eff.effect(this,eff.duration);}}else{effectInstances[effectInstances.length]=effect.effect(this,effect.duration);}
var currentVis=YAHOO.util.Dom.getStyle(this.element,"visibility");if(val){if(currentVis=="hidden"){for(var i=0;i<effectInstances.length;i++){var e=effectInstances[i];e.animateIn();}
if(this.iframe){YAHOO.util.Dom.setStyle(this.iframe,"display","block");}}}else{if(currentVis=="visible"){for(var i=0;i<effectInstances.length;i++){var e=effectInstances[i];e.animateOut();}
if(this.iframe){YAHOO.util.Dom.setStyle(this.iframe,"display","none");}}}}else{if(val){YAHOO.util.Dom.setStyle((this.element),"visibility","visible");if(this.iframe){YAHOO.util.Dom.setStyle(this.iframe,"display","block");}}else{YAHOO.util.Dom.setStyle((this.element),"visibility","hidden");if(this.iframe){YAHOO.util.Dom.setStyle(this.iframe,"display","none");}}}}
YAHOO.widget.Overlay.prototype.configFixedCenter=function(type,args,obj){var val=args[0];var me=this;var refireIframe=function(e,obj){setTimeout(function(){me.cfg.refireEvent("iframe");},0);}
if(val){this.center();if(YAHOO.util.Event._getCacheIndex(window,"resize",this.center)==-1){YAHOO.util.Event.addListener(window,"resize",this.center,this,true);}
if(YAHOO.util.Event._getCacheIndex(window,"resize",refireIframe)==-1){YAHOO.util.Event.addListener(window,"resize",refireIframe,this,true);}
if(YAHOO.util.Event._getCacheIndex(window,"scroll",this.center)==-1){YAHOO.util.Event.addListener(window,"scroll",this.center,this,true);}
if(YAHOO.util.Event._getCacheIndex(window,"scroll",refireIframe)==-1){YAHOO.util.Event.addListener(window,"scroll",refireIframe,this,true);}}else{YAHOO.util.Event.removeListener(window,"resize",this.center);YAHOO.util.Event.removeListener(window,"resize",refireIframe);YAHOO.util.Event.removeListener(window,"scroll",this.center);YAHOO.util.Event.removeListener(window,"scroll",refireIframe);this.syncPosition();}}
YAHOO.widget.Overlay.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("iframe");}
YAHOO.widget.Overlay.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("iframe");this.cfg.refireEvent("context");}
YAHOO.widget.Overlay.prototype.configzIndex=function(type,args,obj){var zIndex=args[0];var el=this.element;if(this.iframe){if(zIndex<=0){zIndex=1;}
YAHOO.util.Dom.setStyle(this.iframe,"zIndex",(zIndex-1));}
YAHOO.util.Dom.setStyle(el,"zIndex",zIndex);this.cfg.setProperty("zIndex",zIndex,true);}
YAHOO.widget.Overlay.prototype.configXY=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setXY(this.element,[x,y]);if(this.cfg.getProperty("iframe")){this.cfg.refireEvent("iframe");}
this.moveEvent.fire([x,y]);}
YAHOO.widget.Overlay.prototype.configX=function(type,args,obj){var x=args[0];var y=this.cfg.getProperty("y");this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setX(this.element,x,true);this.cfg.setProperty("xy",[x,y]);this.moveEvent.fire([x,y]);}
YAHOO.widget.Overlay.prototype.configY=function(type,args,obj){var x=this.cfg.getProperty("x");var y=args[0];this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setY(this.element,y,true);this.cfg.setProperty("xy",[x,y]);this.moveEvent.fire([x,y]);}
YAHOO.widget.Overlay.prototype.configIframe=function(type,args,obj){var val=args[0];var el=this.element;if(val){if(!this.iframe){this.iframe=document.createElement("iframe");document.body.appendChild(this.iframe);this.iframe.src=this.imageRoot+YAHOO.widget.Overlay.IFRAME_SRC;YAHOO.util.Dom.setStyle(this.iframe,"position","absolute");YAHOO.util.Dom.setStyle(this.iframe,"zIndex","0");YAHOO.util.Dom.setStyle(this.iframe,"opacity","0");}
if(YAHOO.util.Dom.getStyle(el,"zIndex")<=0){YAHOO.util.Dom.setStyle(el,"zIndex",1);}
YAHOO.util.Dom.setStyle(this.iframe,"top",YAHOO.util.Dom.getXY(el)[1]-2+"px");YAHOO.util.Dom.setStyle(this.iframe,"left",YAHOO.util.Dom.getXY(el)[0]-2+"px");var width=el.offsetWidth;var height=el.offsetHeight;YAHOO.util.Dom.setStyle(this.iframe,"width",width+"px");YAHOO.util.Dom.setStyle(this.iframe,"height",height+"px");if(!this.cfg.getProperty("visible")){this.iframe.style.display="none";}else{this.iframe.style.display="block";}}else{if(this.iframe){this.iframe.style.display="none";}}}
YAHOO.widget.Overlay.prototype.configConstrainToViewport=function(type,args,obj){var val=args[0];if(val){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}else{this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}}
YAHOO.widget.Overlay.prototype.configContext=function(type,args,obj){var contextArgs=args[0];if(contextArgs){var contextEl=contextArgs[0];var elementMagnetCorner=contextArgs[1];var contextMagnetCorner=contextArgs[2];if(contextEl){if(typeof contextEl=="string"){this.cfg.setProperty("context",[document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner],true);}
if(elementMagnetCorner&&contextMagnetCorner){this.align(elementMagnetCorner,contextMagnetCorner);}}}}
YAHOO.widget.Overlay.prototype.align=function(elementAlign,contextAlign){var contextArgs=this.cfg.getProperty("context");if(contextArgs){var context=contextArgs[0];var element=this.element;var me=this;if(!elementAlign){elementAlign=contextArgs[1];}
if(!contextAlign){contextAlign=contextArgs[2];}
if(element&&context){var elementRegion=YAHOO.util.Dom.getRegion(element);var contextRegion=YAHOO.util.Dom.getRegion(context);var doAlign=function(v,h){switch(elementAlign){case YAHOO.widget.Overlay.TOP_LEFT:me.moveTo(h,v);break;case YAHOO.widget.Overlay.TOP_RIGHT:me.moveTo(h-element.offsetWidth,v);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:me.moveTo(h,v-element.offsetHeight);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:me.moveTo(h-element.offsetWidth,v-element.offsetHeight);break;}}
switch(contextAlign){case YAHOO.widget.Overlay.TOP_LEFT:doAlign(contextRegion.top,contextRegion.left);break;case YAHOO.widget.Overlay.TOP_RIGHT:doAlign(contextRegion.top,contextRegion.right);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:doAlign(contextRegion.bottom,contextRegion.left);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:doAlign(contextRegion.bottom,contextRegion.right);break;}}}}
YAHOO.widget.Overlay.prototype.enforceConstraints=function(type,args,obj){var pos=args[0];var bod=document.getElementsByTagName('body')[0];var htm=document.getElementsByTagName('html')[0];var bodyOverflow=YAHOO.util.Dom.getStyle(bod,"overflow");var htmOverflow=YAHOO.util.Dom.getStyle(htm,"overflow");var x=pos[0];var y=pos[1];var offsetHeight=this.element.offsetHeight;var offsetWidth=this.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getClientWidth();var viewPortHeight=YAHOO.util.Dom.getClientHeight();var scrollX=window.scrollX||document.body.scrollLeft;var scrollY=window.scrollY||document.body.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;if(x<leftConstraint){x=leftConstraint;}else if(x>rightConstraint){x=rightConstraint;}
if(y<topConstraint){y=topConstraint;}else if(y>bottomConstraint){y=bottomConstraint;}
this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);}
YAHOO.widget.Overlay.prototype.center=function(){var scrollX=window.scrollX||document.documentElement.scrollLeft;var scrollY=window.scrollY||document.documentElement.scrollTop;var viewPortWidth=YAHOO.util.Dom.getClientWidth();var viewPortHeight=YAHOO.util.Dom.getClientHeight();var elementWidth=this.element.offsetWidth;var elementHeight=this.element.offsetHeight;var x=(viewPortWidth/2)-(elementWidth/2)+scrollX;var y=(viewPortHeight/2)-(elementHeight/2)+scrollY;this.element.style.left=x+"px";this.element.style.top=y+"px";this.cfg.setProperty("xy",[x,y],true);this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);}
YAHOO.widget.Overlay.prototype.syncPosition=function(){var pos=YAHOO.util.Dom.getXY(this.element);this.cfg.setProperty("xy",pos);}
YAHOO.widget.Overlay.prototype.onDomResize=function(e,obj){YAHOO.widget.Overlay.superclass.onDomResize.call(this,e,obj);this.cfg.refireEvent("iframe");}
YAHOO.util.KeyListener=function(attachTo,keyData,handler,event){if(!event){event=YAHOO.util.KeyListener.KEYDOWN;}
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);}
if(typeof handler=='function'){keyEvent.subscribe(handler);}else{keyEvent.subscribe(handler.fn,handler.scope,handler.correctScope);}
var handleKeyPress=function(e,obj){var keyPressed=e.charCode||e.keyCode;if(!keyData.shift)keyData.shift=false;if(!keyData.alt)keyData.alt=false;if(!keyData.ctrl)keyData.ctrl=false;if(e.shiftKey==keyData.shift&&e.altKey==keyData.alt&&e.ctrlKey==keyData.ctrl){if(keyData.keys instanceof Array){for(var i=0;i<keyData.keys.length;i++){if(keyPressed==keyData.keys[i]){YAHOO.util.Event.stopEvent(e);keyEvent.fire(keyPressed);break;}}}else{if(keyPressed==keyData.keys){YAHOO.util.Event.stopEvent(e);keyEvent.fire(keyPressed);}}}}
this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(attachTo,event,handleKeyPress);this.enabledEvent.fire(keyData);}
this.enabled=true;}
this.disable=function(){YAHOO.util.Event.removeListener(attachTo,event,handleKeyPress);this.enabled=false;this.disabledEvent.fire(keyData);}}
YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.widget.Tooltip=function(el,userConfig){if(arguments.length>0){YAHOO.widget.Tooltip.superclass.constructor.call(this,el,userConfig);}}
YAHOO.widget.Tooltip.prototype=new YAHOO.widget.Overlay();YAHOO.widget.Tooltip.prototype.constructor=YAHOO.widget.Tooltip;YAHOO.widget.Tooltip.superclass=YAHOO.widget.Overlay.prototype;YAHOO.widget.Tooltip.CSS_TOOLTIP="tt";YAHOO.widget.Tooltip.prototype.init=function(el,userConfig){if(document.readyState&&document.readyState!="complete"){var deferredInit=function(){this.init(el,userConfig);}
YAHOO.util.Event.addListener(window,"load",deferredInit,this,true);}else{YAHOO.widget.Tooltip.superclass.init.call(this,el);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Tooltip.CSS_TOOLTIP);if(userConfig){this.cfg.applyConfig(userConfig);}
this.moveEvent.subscribe(this.preventOverlap,this,true);this.cfg.setProperty("visible",false);this.cfg.setProperty("constraintoviewport",true);this.render(this.cfg.getProperty("container"));}}
YAHOO.widget.Tooltip.prototype.initDefaultConfig=function(){YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);this.cfg.addProperty("showdelay",200,this.configShowDelay,this.cfg.checkNumber);this.cfg.addProperty("autodismissdelay",5000,this.configAutoDismissDelay,this.cfg.checkNumber);this.cfg.addProperty("hidedelay",250,this.configHideDelay,this.cfg.checkNumber);this.cfg.addProperty("text",null,this.configText,null,null,true);this.cfg.addProperty("container",document.body,this.configContainer);}
YAHOO.widget.Tooltip.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);}}
YAHOO.widget.Tooltip.prototype.configContainer=function(type,args,obj){var container=args[0];if(typeof container=='string'){this.cfg.setProperty("container",document.getElementById(container),true);}}
YAHOO.widget.Tooltip.prototype.configContext=function(type,args,obj){var context=args[0];if(context){if(typeof context=="string"){this.cfg.setProperty("context",document.getElementById(context),true);}
var contextElement=this.cfg.getProperty("context");if(contextElement&&contextElement.title&&!this.cfg.getProperty("text")){this.cfg.setProperty("text",contextElement.title);}
YAHOO.util.Event.addListener(contextElement,"mouseover",this.onContextMouseOver,this);YAHOO.util.Event.addListener(contextElement,"mouseout",this.onContextMouseOut,this);}}
YAHOO.widget.Tooltip.prototype.onContextMouseOver=function(e,obj){if(!obj){obj=this;}
var context=obj.cfg.getProperty("context");if(context.title){obj.tempTitle=context.title;context.title="";}
this.procId=obj.doShow(e);}
YAHOO.widget.Tooltip.prototype.onContextMouseOut=function(e,obj){if(!obj){obj=this;}
var context=obj.cfg.getProperty("context");if(obj.tempTitle){context.title=obj.tempTitle;}
if(this.procId){clearTimeout(this.procId);}
setTimeout(function(){obj.hide();},obj.cfg.getProperty("hidedelay"));}
YAHOO.widget.Tooltip.prototype.doShow=function(e){var pageX=YAHOO.util.Event.getPageX(e);var pageY=YAHOO.util.Event.getPageY(e);var context=this.cfg.getProperty("context");var yOffset=25;if(this.browser=="opera"&&context.tagName=="A"){yOffset+=12;}
var me=this;return setTimeout(function(){me.moveTo(pageX,pageY+yOffset);me.show();me.doHide();},this.cfg.getProperty("showdelay"));}
YAHOO.widget.Tooltip.prototype.doHide=function(){var me=this;setTimeout(function(){me.hide();},this.cfg.getProperty("autodismissdelay"));}
YAHOO.widget.Tooltip.prototype.preventOverlap=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];var elementRegion=YAHOO.util.Dom.getRegion(this.element);var contextRegion=YAHOO.util.Dom.getRegion(this.cfg.getProperty("context"));var intersection=contextRegion.intersect(elementRegion);if(intersection){var overlapHeight=intersection.bottom-intersection.top;y=(y-overlapHeight-10);this.cfg.setProperty("y",y);}}
YAHOO.widget.Panel=function(el,userConfig){if(arguments.length>0){YAHOO.widget.Panel.superclass.constructor.call(this,el,userConfig);}}
YAHOO.widget.Panel.prototype=new YAHOO.widget.Overlay();YAHOO.widget.Panel.prototype.constructor=YAHOO.widget.Panel;YAHOO.widget.Panel.superclass=YAHOO.widget.Overlay.prototype;YAHOO.widget.Panel.CSS_PANEL="panel";YAHOO.widget.Panel.prototype.init=function(el,userConfig){YAHOO.widget.Panel.superclass.init.call(this,el);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Panel.CSS_PANEL);this.buildWrapper();if(userConfig){this.cfg.applyConfig(userConfig,true);}
YAHOO.util.Event.addListener(window,"resize",this.onWindowResize,this,true);}
YAHOO.widget.Panel.prototype.initEvents=function(){YAHOO.widget.Panel.superclass.initEvents.call(this);this.showMaskEvent=new YAHOO.util.CustomEvent("showMask");this.hideMaskEvent=new YAHOO.util.CustomEvent("hideMask");}
YAHOO.widget.Panel.prototype.initDefaultConfig=function(){YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);this.cfg.addProperty("close",true,this.configClose,this.cfg.checkBoolean);this.cfg.addProperty("draggable",true,this.configDraggable,this.cfg.checkBoolean);this.cfg.addProperty("underlay","shadow",this.configUnderlay,null,this.element);this.cfg.addProperty("modal",false,this.configModal,this.cfg.checkBoolean,this.element);this.cfg.addProperty("keyListeners",null,this.configkeyListeners);}
YAHOO.widget.Panel.prototype.configClose=function(type,args,obj){var val=args[0];var doHide=function(e,obj){obj.hide();}
if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&nbsp;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doHide,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}}
YAHOO.widget.Panel.prototype.configDraggable=function(type,args,obj){var val=args[0];if(val){if(!this.header){this.setHeader("&nbsp;");this.render();}
YAHOO.util.Dom.setStyle(this.header,"cursor","move");this.registerDragDrop();this.dd.onDrag=function(){obj.syncPosition();}
if(this.browser=="ie"){this.dd.startDrag=function(){YAHOO.util.Dom.addClass(obj.element,"drag");}
this.dd.endDrag=function(){YAHOO.util.Dom.removeClass(obj.element,"drag");}}}else{if(this.dd){this.dd.unreg();}
if(this.header){}}}
YAHOO.widget.Panel.prototype.configUnderlay=function(type,args,obj){var val=args[0];switch(val.toLowerCase()){case"shadow":YAHOO.util.Dom.removeClass(this.element,"matte");YAHOO.util.Dom.addClass(this.element,"shadow");if(!this.underlay){this.underlay=document.createElement("DIV");this.underlay.className="underlay";this.underlay.innerHTML="&nbsp;";this.element.appendChild(this.underlay);}
this.sizeUnderlay();break;case"matte":YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.addClass(this.element,"matte");break;case"none":default:YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.removeClass(this.element,"matte");break;}}
YAHOO.widget.Panel.prototype.configModal=function(type,args,obj){var val=args[0];if(val){this.buildMask();var effect=this.cfg.getProperty("effect");var visible=this.cfg.getProperty("visible");if(visible){this.showMask();}
if(effect&&this.effects.length>0){var firstEffect=this.effects[0];this.showEvent.unsubscribe(this.showMask,this);this.hideEvent.unsubscribe(this.hideMask,this);firstEffect.beforeAnimateInEvent.subscribe(this.showMask,this,true);firstEffect.animateOutCompleteEvent.subscribe(this.hideMask,this,true);}else{this.showEvent.subscribe(this.showMask,this,true);this.hideEvent.subscribe(this.hideMask,this,true);}}}
YAHOO.widget.Panel.prototype.configkeyListeners=function(type,args,obj){var handlers=args[0];if(handlers){var dupeCheck=function(evt,fn,obj){for(var e=0;e<evt.subscribers.length;e++){var subsc=evt.subscribers[e];if(subsc.obj==obj&&subsc.fn==fn){return true;break;}}
return false;}
if(handlers instanceof Array){for(var i=0;i<handlers.length;i++){var handler=handlers[i];if(!dupeCheck(this.showEvent,handler.enable,handler)){this.showEvent.subscribe(handler.enable,handler,true);}
if(!dupeCheck(this.hideEvent,handler.disable,handler)){this.hideEvent.subscribe(handler.disable,handler,true);}}}else{if(!dupeCheck(this.showEvent,handlers.enable,handlers)){this.showEvent.subscribe(handlers.enable,handlers,true);}
if(!dupeCheck(this.hideEvent,handlers.disable,handlers)){this.hideEvent.subscribe(handlers.disable,handlers,true);}}}}
YAHOO.widget.Panel.prototype.buildWrapper=function(){var elementParent=this.element.parentNode;var elementClone=this.element.cloneNode(true);this.innerElement=elementClone;this.innerElement.style.visibility="inherit";YAHOO.util.Dom.addClass(this.innerElement,"panel");var wrapper=document.createElement("DIV");wrapper.className="panel-container";wrapper.id=elementClone.id+"_c";wrapper.appendChild(elementClone);if(elementParent){elementParent.replaceChild(wrapper,this.element);}
this.element=wrapper;var childNodes=this.innerElement.childNodes;if(childNodes){for(var i=0;i<childNodes.length;i++){var child=childNodes[i];switch(child.className){case YAHOO.widget.Module.CSS_HEADER:this.header=child;break;case YAHOO.widget.Module.CSS_BODY:this.body=child;break;case YAHOO.widget.Module.CSS_FOOTER:this.footer=child;break;}}}
this.initDefaultConfig();}
YAHOO.widget.Panel.prototype.sizeUnderlay=function(){if(this.underlay&&this.browser!="gecko"&&this.browser!="safari"){this.underlay.style.width=this.innerElement.offsetWidth+"px";this.underlay.style.height=this.innerElement.offsetHeight+"px";}}
YAHOO.widget.Panel.prototype.onDomResize=function(e,obj){YAHOO.widget.Panel.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.sizeUnderlay();},0);};YAHOO.widget.Panel.prototype.onWindowResize=function(e,obj){if(this.cfg.getProperty("modal")){this.sizeMask();}}
YAHOO.widget.Panel.prototype.registerDragDrop=function(){if(this.header){this.dd=new YAHOO.util.DD(this.element.id,"panel");if(!this.header.id){this.header.id=this.id+"_h";}
this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}}
YAHOO.widget.Panel.prototype.buildMask=function(){if(!this.mask){this.mask=document.createElement("DIV");this.mask.className="mask";this.mask.innerHTML="&nbsp;";var maskClick=function(e,obj){YAHOO.util.Event.stopEvent(e);}
YAHOO.util.Event.addListener(this.mask,maskClick,this);if(this.browser=="opera"){this.mask.style.backgroundColor="transparent";}
document.body.appendChild(this.mask);}}
YAHOO.widget.Panel.prototype.hideMask=function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.mask.style.width="1px";this.mask.style.height="1px";YAHOO.util.Dom.removeClass(document.body,"masked");switch(this.browser){case"ie":case"ie7":document.documentElement.style.overflowX="auto";document.documentElement.style.overflowY="scroll";break;case"gecko":document.body.style.overflowX="auto";document.body.style.overflowY="auto";break;default:document.body.style.overflow="auto";break;}
this.hideMaskEvent.fire();}}
YAHOO.widget.Panel.prototype.showMask=function(){if(this.cfg.getProperty("modal")&&this.mask){switch(this.browser){case"ie":case"ie7":document.documentElement.style.overflowX="hidden";document.documentElement.style.overflowY="hidden";break;case"gecko":document.body.style.overflowX="hidden";document.body.style.overflowY="hidden";break;default:document.body.style.overflow="hidden";break;}
this.sizeMask();YAHOO.util.Dom.addClass(document.body,"masked");this.mask.style.display="block";this.showMaskEvent.fire();}}
YAHOO.widget.Panel.prototype.sizeMask=function(){if(this.mask){var clientHeight=YAHOO.util.Dom.getClientHeight();var scrollHeight=document.body.scrollHeight;switch(this.browser){case"ie":case"ie7":this.mask.style.width="110%";this.mask.style.height=(scrollHeight>clientHeight?scrollHeight:clientHeight)+"px";break;case"gecko":this.mask.style.width="110%";this.mask.style.height="100%";break;default:this.mask.style.width="110%";this.mask.style.height="100%";break;}}}
YAHOO.widget.Panel.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");}
YAHOO.widget.Panel.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");this.cfg.refireEvent("context");}
YAHOO.widget.Panel.prototype.render=function(appendToNode){this.beforeRenderEvent.fire();var me=this;var appendTo=function(element){if(typeof element=="string"){element=document.getElementById(element);}
if(element){element.appendChild(me.element);me.appendEvent.fire();}}
if(appendToNode){if(typeof appendToNode=="string"){el=document.getElementById(el);if(!el){el=document.createElement("DIV");el.id=elId;}}
appendTo(appendToNode);}else{if(!YAHOO.util.Dom.inDocument(this.element)){return false;}}
if((!this.childNodesInDOM[0])&&this.header){var firstChild=this.innerElement.firstChild;if(firstChild){this.innerElement.insertBefore(this.header,firstChild);}else{this.innerElement.appendChild(this.header);}}
if((!this.childNodesInDOM[1])&&this.body){if(this.childNodesInDOM[2]){this.innerElement.insertBefore(this.body,this.childNodesInDOM[2]);}else{this.innerElement.appendChild(this.body);}}
if((!this.childNodesInDOM[2])&&this.footer){this.innerElement.appendChild(this.footer);}
this.cfg.fireDeferredEvents();this.renderEvent.fire();return true;}
YAHOO.widget.Dialog=function(el,userConfig){if(arguments.length>0)
{YAHOO.widget.Dialog.superclass.constructor.call(this,el,userConfig);}}
YAHOO.widget.Dialog.prototype=new YAHOO.widget.Panel();YAHOO.widget.Dialog.prototype.constructor=YAHOO.widget.Dialog;YAHOO.widget.Dialog.superclass=YAHOO.widget.Panel.prototype;YAHOO.widget.Dialog.ICON_BLOCK="nt/ic/ut/bsc/blck16_1.gif";YAHOO.widget.Dialog.ICON_ALARM="nt/ic/ut/bsc/alrt16_1.gif";YAHOO.widget.Dialog.ICON_HELP="nt/ic/ut/bsc/hlp16_1.gif";YAHOO.widget.Dialog.ICON_INFO="nt/ic/ut/bsc/info16_1.gif";YAHOO.widget.Dialog.ICON_WARN="nt/ic/ut/bsc/warn16_1.gif";YAHOO.widget.Dialog.ICON_TIP="nt/ic/ut/bsc/tip16_1.gif";YAHOO.widget.Dialog.CSS_DIALOG="dialog";YAHOO.widget.Dialog.prototype.initDefaultConfig=function(){YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);this.cfg.addProperty("icon","none",this.configIcon);this.cfg.addProperty("buttons","none",this.configButtons);}
YAHOO.widget.Dialog.prototype.initEvents=function(){YAHOO.widget.Dialog.superclass.initEvents.call(this);this.buttonClickEvent=new YAHOO.util.CustomEvent("buttonClick",this);}
YAHOO.widget.Dialog.prototype.init=function(el,userConfig){YAHOO.widget.Dialog.superclass.init.call(this,el);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Dialog.CSS_DIALOG);this.BUTTONS_OKCANCEL=[{text:"OK",handler:this.handleSubmitClick,isDefault:true},{text:"Cancel",handler:this.handleCancelClick}];this.BUTTONS_YESNO=[{text:"Yes",handler:this.handleSubmitClick,isDefault:true},{text:"No",handler:this.handleCancelClick}];this.showEvent.subscribe(this.focusDefault,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.applyConfig({close:false,visible:false});}
YAHOO.widget.Dialog.prototype.configIcon=function(type,args,obj){var iconURL=args[0];if(iconURL&&iconURL!="none"){iconURL=this.imageRoot+iconURL;if(!this.icon){this.icon=document.createElement("DIV");if(!this.body){return;}
var firstChild=this.body.firstChild;if(firstChild){this.body.insertBefore(this.icon,firstChild);}else{this.body.appendChild(this.icon);}}else{this.icon.style.display="block";}
this.icon.className="icon";this.icon.style.backgroundImage="url("+iconURL+")";this.icon.style.height=this.body.offsetHeight+"px";}else{if(this.icon){this.icon.style.display="none";}}}
YAHOO.widget.Dialog.prototype.configButtons=function(type,args,obj){var buttons=args[0];if(buttons!="none"){this.buttonSpan=null;this.buttonSpan=document.createElement("SPAN");this.buttonSpan.className="button-group";if(buttons=="okcancel"){buttons=this.BUTTONS_OKCANCEL;}else if(buttons=="yesno"){buttons=this.BUTTONS_YESNO;}
for(var b=0;b<buttons.length;b++){var button=buttons[b];var htmlButton=document.createElement("BUTTON");if(button.isDefault){htmlButton.className="default";this.defaultHtmlButton=htmlButton;}
htmlButton.appendChild(document.createTextNode(button.text));YAHOO.util.Event.addListener(htmlButton,"click",button.handler,this);var me=this;if(b==0){this.preventBackTab=new YAHOO.util.KeyListener(htmlButton,{shift:true,keys:9},{fn:me.focusLastButton,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);this.preventBackTab.enable();}
if(b==(buttons.length-1)){if(this.cfg.getProperty("modal")){this.restrictFocus=new YAHOO.util.KeyListener(htmlButton,{shift:false,keys:9},{fn:me.focusFirstButton,scope:me,correctScope:true});this.showEvent.subscribe(this.restrictFocus.enable,this.restrictFocus,true);this.hideEvent.subscribe(this.restrictFocus.disable,this.restrictFocus,true);this.restrictFocus.enable();}}
this.buttonSpan.appendChild(htmlButton);button.htmlButton=htmlButton;}
this.setFooter(this.buttonSpan);}else{if(this.buttonSpan){this.buttonSpan.style.display="none";}}
this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");}
YAHOO.widget.Dialog.prototype.focusDefault=function(){this.defaultHtmlButton.focus();}
YAHOO.widget.Dialog.prototype.blurButtons=function(){var buttons=this.cfg.getProperty("buttons");if(buttons){var html=buttons[0].htmlButton;html.blur();}}
YAHOO.widget.Dialog.prototype.focusFirstButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons){var html=buttons[0].htmlButton;html.focus();}}
YAHOO.widget.Dialog.prototype.focusLastButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons){var html=buttons[buttons.length-1].htmlButton;html.focus();}}
YAHOO.widget.Dialog.prototype.handleSubmitClick=function(e,obj){}
YAHOO.widget.Dialog.prototype.handleCancelClick=function(e,obj){obj.hide();}
YAHOO.widget.FormDialog=function(el,userConfig){if(arguments.length>0){YAHOO.widget.FormDialog.superclass.constructor.call(this,el,userConfig);}}
YAHOO.widget.FormDialog.prototype=new YAHOO.widget.Panel();YAHOO.widget.FormDialog.prototype.constructor=YAHOO.widget.FormDialog;YAHOO.widget.FormDialog.superclass=YAHOO.widget.Panel.prototype;YAHOO.widget.FormDialog.CSS_FORMDIALOG="form-dialog";YAHOO.widget.FormDialog.prototype.initDefaultConfig=function(){YAHOO.widget.FormDialog.superclass.initDefaultConfig.call(this);var callback={success:null,failure:null,argument:null,scope:this}
this.configOnSuccess=function(type,args,obj){var fn=args[0];callback.success=fn;}
this.configOnFailure=function(type,args,obj){var fn=args[0];callback.failure=fn;}
this.doSubmit=function(){var method=this.cfg.getProperty("postmethod");switch(method){case"async":YAHOO.util.Connect.setForm(this.form.name);var cObj=YAHOO.util.Connect.asyncRequest('POST',this.form.action,callback);this.asyncSubmitEvent.fire();break;case"form":this.form.submit();this.formSubmitEvent.fire();break;case"none":this.manualSubmitEvent.fire();break;}}
this.cfg.addProperty("postmethod","async",null,function(val){if(val!="form"&&val!="async"&&val!="none"){return false;}else{return true;}});this.cfg.addProperty("buttons","none",this.configButtons);this.cfg.addProperty("onsuccess",null,this.configOnSuccess,null,null,true);this.cfg.addProperty("onfailure",null,this.configOnFailure,null,null,true);}
YAHOO.widget.FormDialog.prototype.initEvents=function(){YAHOO.widget.FormDialog.superclass.initEvents.call(this);this.submitEvent=new YAHOO.util.CustomEvent("submit");this.manualSubmitEvent=new YAHOO.util.CustomEvent("manualSubmit");this.asyncSubmitEvent=new YAHOO.util.CustomEvent("asyncSubmit");this.formSubmitEvent=new YAHOO.util.CustomEvent("formSubmit");this.cancelEvent=new YAHOO.util.CustomEvent("cancel");}
YAHOO.widget.FormDialog.prototype.init=function(el,userConfig){YAHOO.widget.FormDialog.superclass.init.call(this,el);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.FormDialog.CSS_FORMDIALOG);this.BUTTONS_OKCANCEL=[{text:"OK",handler:this.handleSubmitClick,isDefault:true},{text:"Cancel",handler:this.handleCancelClick}];this.BUTTONS_SUBMITCANCEL=[{text:"Submit",handler:this.handleSubmitClick,isDefault:true},{text:"Cancel",handler:this.handleCancelClick}];var me=this;var form=this.element.getElementsByTagName("FORM")[0];if(form){this.form=form;}else{this.renderEvent.subscribe(function(){var form=this.element.getElementsByTagName("FORM")[0];if(form){this.form=form;if(this.cfg.getProperty("modal")){this.preventBackTab=new YAHOO.util.KeyListener(this.form[0],{shift:true,keys:9},{fn:me.focusLastButton,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}}},this,true);}
this.showEvent.subscribe(this.focusFirstField,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);if(userConfig){this.cfg.applyConfig(userConfig);}
if(this.cfg.getProperty("modal")&&this.form){this.preventBackTab=new YAHOO.util.KeyListener(this.form[0],{shift:true,keys:9},{fn:me.focusLastButton,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}}
YAHOO.widget.FormDialog.prototype.configButtons=function(type,args,obj){var buttons=args[0];if(buttons!="none"){this.buttonSpan=null;this.buttonSpan=document.createElement("SPAN");this.buttonSpan.className="button-group";if(buttons=="okcancel"){buttons=this.BUTTONS_OKCANCEL;}else if(buttons=="submitcancel"){buttons=this.BUTTONS_SUBMITCANCEL;}
for(var b=0;b<buttons.length;b++){var button=buttons[b];var htmlButton=document.createElement("BUTTON");if(button.isDefault){htmlButton.className="default";this.defaultHtmlButton=htmlButton;}
htmlButton.appendChild(document.createTextNode(button.text));YAHOO.util.Event.addListener(htmlButton,"click",button.handler,this);var me=this;if(b==(buttons.length-1)){if(this.cfg.getProperty("modal")){this.restrictFocus=new YAHOO.util.KeyListener(htmlButton,{shift:false,keys:9},{fn:me.focusFirstField,scope:me,correctScope:true});this.showEvent.subscribe(this.restrictFocus.enable,this.restrictFocus,true);this.hideEvent.subscribe(this.restrictFocus.disable,this.restrictFocus,true);this.restrictFocus.enable();}}
this.buttonSpan.appendChild(htmlButton);button.htmlButton=htmlButton;}
this.setFooter(this.buttonSpan);}else{if(this.buttonSpan){this.buttonSpan.style.display="none";}}
this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");}
YAHOO.widget.FormDialog.prototype.focusFirstField=function(type,args,obj){if(this.form){this.form[0].focus();}}
YAHOO.widget.FormDialog.prototype.focusDefault=function(){this.defaultHtmlButton.focus();}
YAHOO.widget.FormDialog.prototype.blurButtons=function(){var buttons=this.cfg.getProperty("buttons");if(buttons){var html=buttons[0].htmlButton;html.blur();}}
YAHOO.widget.FormDialog.prototype.focusFirstButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons){var html=buttons[0].htmlButton;html.focus();}}
YAHOO.widget.FormDialog.prototype.focusLastButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons){var html=buttons[buttons.length-1].htmlButton;html.focus();}}
YAHOO.widget.FormDialog.prototype.handleSubmitClick=function(e,obj){obj.submit();}
YAHOO.widget.FormDialog.prototype.handleCancelClick=function(e,obj){obj.cancel();}
YAHOO.widget.FormDialog.prototype.validate=function(){return true;}
YAHOO.widget.FormDialog.prototype.submit=function(){if(this.validate()){this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}}
YAHOO.widget.FormDialog.prototype.cancel=function(){this.cancelEvent.fire();this.hide();}
YAHOO.widget.FormDialog.prototype.getData=function(){var form=this.form;var data={};if(form){for(var i in this.form){var formItem=form[i];if(formItem){if(formItem.tagName){switch(formItem.tagName){case"INPUT":switch(formItem.type){case"checkbox":data[i]=formItem.checked;break;case"textbox":case"text":data[i]=formItem.value;break;}
break;case"TEXTAREA":data[i]=formItem.value;break;case"SELECT":var val=new Array();for(var x=0;x<formItem.options.length;x++){var option=formItem.options[x];if(option.selected){var selval=option.value;if(!selval||selval==""){selval=option.text;}
val[val.length]=selval;}}
data[i]=val;break;}}else if(formItem[0]&&formItem[0].tagName){switch(formItem[0].tagName){case"INPUT":switch(formItem[0].type){case"radio":for(var r=0;r<formItem.length;r++){var radio=formItem[r];if(radio.checked){data[radio.name]=radio.value;break;}}
break;case"checkbox":var cbArray=new Array();for(var c=0;c<formItem.length;c++){var check=formItem[c];if(check.checked){cbArray[cbArray.length]=check.value;}}
data[formItem[0].name]=cbArray;break;}}}}}}
return data;}
YAHOO.widget.OverlayEffect=function(overlay,attrIn,attrOut,targetElement){this.overlay=overlay;this.attrIn=attrIn;this.attrOut=attrOut;this.targetElement=targetElement||overlay.element;this.beforeAnimateInEvent=new YAHOO.util.CustomEvent("beforeAnimateIn");this.beforeAnimateOutEvent=new YAHOO.util.CustomEvent("beforeAnimateOut");this.animateInCompleteEvent=new YAHOO.util.CustomEvent("animateInComplete");this.animateOutCompleteEvent=new YAHOO.util.CustomEvent("animateOutComplete");}
YAHOO.widget.OverlayEffect.prototype.init=function(animClass){if(!animClass){animClass=YAHOO.util.Anim;}
this.animIn=new animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);}
YAHOO.widget.OverlayEffect.prototype.animateIn=function(){this.beforeAnimateInEvent.fire();this.animIn.animate();}
YAHOO.widget.OverlayEffect.prototype.animateOut=function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();}
YAHOO.widget.OverlayEffect.prototype.handleStartAnimateIn=function(type,args,obj){}
YAHOO.widget.OverlayEffect.prototype.handleTweenAnimateIn=function(type,args,obj){}
YAHOO.widget.OverlayEffect.prototype.handleCompleteAnimateIn=function(type,args,obj){}
YAHOO.widget.OverlayEffect.prototype.handleStartAnimateOut=function(type,args,obj){}
YAHOO.widget.OverlayEffect.prototype.handleTweenAnimateOut=function(type,args,obj){}
YAHOO.widget.OverlayEffect.prototype.handleCompleteAnimateOut=function(type,args,obj){}
YAHOO.widget.OverlayEffect.FADE=function(overlay,dur){var fade=new YAHOO.widget.OverlayEffect(overlay,{attributes:{opacity:{from:0,to:1}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{opacity:{to:0}},duration:dur,method:YAHOO.util.Easing.easeOut});fade.handleStartAnimateIn=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(obj.overlay.underlay){obj.initialUnderlayOpacity=YAHOO.util.Dom.getStyle(obj.overlay.underlay,"opacity");obj.overlay.underlay.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",0);}
fade.handleCompleteAnimateIn=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
if(obj.overlay.underlay){YAHOO.util.Dom.setStyle(obj.overlay.underlay,"opacity",obj.initialUnderlayOpacity);}
obj.animateInCompleteEvent.fire();}
fade.handleStartAnimateOut=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(obj.overlay.underlay&&obj.overlay.underlay.style.filter){obj.overlay.underlay.style.filter=null;}}
fade.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",1);obj.animateOutCompleteEvent.fire();};fade.init();return fade;};YAHOO.widget.OverlayEffect.SLIDE=function(overlay,dur){var x=overlay.cfg.getProperty("x")||YAHOO.util.Dom.getX(overlay.element);var y=overlay.cfg.getProperty("y")||YAHOO.util.Dom.getY(overlay.element);this.startX=x;this.startY=y;var clientWidth=YAHOO.util.Dom.getClientWidth();var offsetWidth=overlay.element.offsetWidth;var slide=new YAHOO.widget.OverlayEffect(overlay,{attributes:{points:{from:[(-25-offsetWidth),y],to:[x,y]}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{points:{to:[(clientWidth+25),y]}},duration:dur,method:YAHOO.util.Easing.easeOut});slide.handleTweenAnimateIn=function(type,args,obj){if(YAHOO.util.Dom.getStyle(obj.overlay.element,"visibility")=="hidden"){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");}
var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var x=pos[0];var y=pos[1];obj.overlay.cfg.setProperty("xy",[x,y],true);obj.overlay.cfg.refireEvent("iframe");}
slide.handleCompleteAnimateIn=function(type,args,obj){obj.overlay.cfg.setProperty("xy",[x,y],true);obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();}
slide.handleStartAnimateOut=function(type,args,obj){if(obj.overlay.browser=="ie"){document.documentElement.style.overflowX="hidden";document.documentElement.style.overflowY="hidden";}else if(obj.overlay.browser=="gecko"){document.body.style.overflowX="hidden";document.body.style.overflowY="hidden";}else{document.body.style.overflow="hidden";}
obj.overlay.element.style.width=obj.overlay.element.offsetWidth+"px";var clientWidth=YAHOO.util.Dom.getClientWidth();var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var x=pos[0];var y=pos[1];var currentTo=obj.animOut.attributes.points.to;obj.animOut.attributes.points.to=[(clientWidth+25),y];}
slide.handleTweenAnimateOut=function(type,args,obj){if(obj.overlay.browser=="ie"){document.documentElement.style.overflowX="hidden";document.documentElement.style.overflowY="hidden";}else if(obj.overlay.browser=="gecko"){document.body.style.overflowX="hidden";document.body.style.overflowY="hidden";}else{document.body.style.overflow="hidden";}
var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var x=pos[0];var y=pos[1];obj.overlay.cfg.setProperty("xy",[x,y],true);obj.overlay.cfg.refireEvent("iframe");}
slide.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");var offsetWidth=obj.overlay.element.offsetWidth;obj.overlay.cfg.setProperty("xy",[this.startX,this.startY]);obj.overlay.cfg.refireEvent("fixedcenter");obj.overlay.cfg.refireEvent("width");if(obj.overlay.browser=="ie"){document.documentElement.style.overflowX="auto";document.documentElement.style.overflowY="auto";}else if(obj.overlay.browser=="gecko"){document.body.style.overflowX="visible";document.body.style.overflowY="visible";}else{document.body.style.overflow="visible";}
obj.animateOutCompleteEvent.fire();};slide.init(YAHOO.util.Motion);return slide;}
YAHOO.widget.OverlayEffect.EXPAND_H=function(overlay,dur){var initialWidth=YAHOO.util.Dom.getStyle(overlay.element,"width");var offsetWidth=overlay.element.offsetWidth;var offsetHeight=overlay.element.offsetHeight;var expand=new YAHOO.widget.OverlayEffect(overlay,{attributes:{width:{from:0,to:parseInt(initialWidth),unit:"em"}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{width:{to:0,unit:"em"}},duration:dur,method:YAHOO.util.Easing.easeOut});expand.handleStartAnimateIn=function(type,args,obj){var w=obj.cachedOffsetWidth||obj.overlay.element.offsetWidth;if(obj.overlay.header){var padLeft=YAHOO.util.Dom.getStyle(obj.overlay.header,"paddingLeft");var padRight=YAHOO.util.Dom.getStyle(obj.overlay.header,"paddingRight");obj.overlay.header.style.width=(w-parseInt(padLeft)-parseInt(padRight))+"px";}
if(obj.overlay.body){var padLeft=YAHOO.util.Dom.getStyle(obj.overlay.body,"paddingLeft");var padRight=YAHOO.util.Dom.getStyle(obj.overlay.body,"paddingRight");obj.overlay.body.style.width=(w-parseInt(padLeft)-parseInt(padRight))+"px";}
if(obj.overlay.footer){var padLeft=YAHOO.util.Dom.getStyle(obj.overlay.footer,"paddingLeft");var padRight=YAHOO.util.Dom.getStyle(obj.overlay.footer,"paddingRight");obj.overlay.footer.style.width=(w-parseInt(padLeft)-parseInt(padRight))+"px";}}
expand.handleTweenAnimateIn=function(type,args,obj){obj.overlay.cfg.refireEvent("underlay");obj.overlay.cfg.refireEvent("iframe");if(YAHOO.util.Dom.getStyle(obj.overlay.element,"visibility")=="hidden"){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");}}
expand.handleCompleteAnimateIn=function(type,args,obj){YAHOO.util.Dom.setStyle(obj.overlay.element,"height","auto");YAHOO.util.Dom.setStyle(obj.overlay.element,"width",initialWidth);if(obj.overlay.header){obj.overlay.header.style.width="auto";}
if(obj.overlay.body){obj.overlay.body.style.width="auto";}
if(obj.overlay.footer){obj.overlay.footer.style.width="auto";}}
expand.handleStartAnimateOut=function(type,args,obj){var w=obj.overlay.element.offsetWidth;obj.cachedOffsetWidth=w;if(obj.overlay.header){var padLeft=YAHOO.util.Dom.getStyle(obj.overlay.header,"paddingLeft");var padRight=YAHOO.util.Dom.getStyle(obj.overlay.header,"paddingRight");obj.overlay.header.style.width=(w-parseInt(padLeft)-parseInt(padRight))+"px";}
if(obj.overlay.body){var padLeft=YAHOO.util.Dom.getStyle(obj.overlay.body,"paddingLeft");var padRight=YAHOO.util.Dom.getStyle(obj.overlay.body,"paddingRight");obj.overlay.body.style.width=(w-parseInt(padLeft)-parseInt(padRight))+"px";}
if(obj.overlay.footer){var padLeft=YAHOO.util.Dom.getStyle(obj.overlay.footer,"paddingLeft");var padRight=YAHOO.util.Dom.getStyle(obj.overlay.footer,"paddingRight");obj.overlay.footer.style.width=(w-parseInt(padLeft)-parseInt(padRight))+"px";}}
expand.handleTweenAnimateOut=function(type,args,obj){obj.overlay.cfg.refireEvent("underlay");obj.overlay.cfg.refireEvent("iframe");}
expand.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");YAHOO.util.Dom.setStyle(obj.overlay.element,"height","auto");YAHOO.util.Dom.setStyle(obj.overlay.element,"width",initialWidth);if(obj.overlay.header){obj.overlay.header.style.width="auto";}
if(obj.overlay.body){obj.overlay.body.style.width="auto";}
if(obj.overlay.footer){obj.overlay.footer.style.width="auto";}};expand.init();return expand;};YAHOO.widget.OverlayManager=function(overlays,userConfig){this.init(overlays,userConfig);}
YAHOO.widget.OverlayManager.CSS_FOCUSED="focused";YAHOO.widget.OverlayManager.prototype={constructor:YAHOO.widget.OverlayManager,overlays:new Array(),initDefaultConfig:function(){},init:function(overlays,userConfig){this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();var activeOverlay=null;this.getActive=function(){return activeOverlay;}
this.focus=function(overlay){var o=this.find(overlay);if(o){this.blurAll();activeOverlay=o;YAHOO.util.Dom.addClass(activeOverlay.element,YAHOO.widget.OverlayManager.CSS_FOCUSED);this.overlays.sort(this.compareZIndexDesc);var topZIndex=YAHOO.util.Dom.getStyle(this.overlays[0].element,"zIndex");if(!isNaN(topZIndex)&&this.overlays[0]!=overlay){activeOverlay.cfg.setProperty("zIndex",(parseInt(topZIndex)+1));}
this.overlays.sort(this.compareZIndexDesc);}}
this.remove=function(overlay){var o=this.find(overlay);if(o){var originalZ=YAHOO.util.Dom.getStyle(o.element,"zIndex");o.cfg.setProperty("zIndex",-1000,true);this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,this.overlays.length-1);o.cfg.setProperty("zIndex",originalZ,true);o.cfg.setProperty("manager",null);o.focusEvent=null
o.blurEvent=null;o.focus=null;o.blur=null;}}
this.blurAll=function(){activeOverlay=null;for(var o=0;o<this.overlays.length;o++){YAHOO.util.Dom.removeClass(this.overlays[o].element,YAHOO.widget.OverlayManager.CSS_FOCUSED);}}
if(overlays){this.register(overlays);this.overlays.sort(this.compareZIndexDesc);}
if(userConfig){this.cfg.applyConfig(userConfig,true);}},register:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){overlay.cfg.addProperty("manager");overlay.cfg.setProperty("manager",this);overlay.focusEvent=new YAHOO.util.CustomEvent("focus");overlay.blurEvent=new YAHOO.util.CustomEvent("blur");var mgr=this;overlay.focus=function(){mgr.focus(this);this.focusEvent.fire();}
overlay.blur=function(){mgr.blurAll();this.blurEvent.fire();}
var focusOnMouseDown=function(e,obj){mgr.focus(overlay);}
YAHOO.util.Event.addListener(overlay.element,"mousedown",focusOnMouseDown,this,true);var zIndex=YAHOO.util.Dom.getStyle(overlay.element,"zIndex");if(!isNaN(zIndex)){overlay.cfg.setProperty("zIndex",parseInt(zIndex));}else{overlay.cfg.setProperty("zIndex",0);}
this.overlays.push(overlay);return true;}else if(overlay instanceof Array){var regcount=0;for(var i=0;i<overlay.length;i++){if(this.register(overlay[i])){regcount++;}}
if(regcount>0){return true;}}else{return false;}},find:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){for(var o=0;o<this.overlays.length;o++){if(this.overlays[o]==overlay){return this.overlays[o];}}}else if(typeof overlay=="string"){for(var o=0;o<this.overlays.length;o++){if(this.overlays[o].id==overlay){return this.overlays[o];}}}
return null;},compareZIndexDesc:function(o1,o2){var zIndex1=o1.cfg.getProperty("zIndex");var zIndex2=o2.cfg.getProperty("zIndex");if(zIndex1>zIndex2){return-1;}else if(zIndex1<zIndex2){return 1;}else{return 0;}},showAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].show();}},hideAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].hide();}}}