/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 3.2.0
build: nightly
*/
YUI.add("oop",function(h){var d=h.Lang,c=h.Array,b=Object.prototype,a="_~yuim~_",e="each",g="some",f=function(l,k,m,i,j){if(l&&l[j]&&l!==h){return l[j].call(l,k,m);}else{switch(c.test(l)){case 1:return c[j](l,k,m);case 2:return c[j](h.Array(l,0,true),k,m);default:return h.Object[j](l,k,m,i);}}};h.augment=function(i,x,l,v,p){var n=x.prototype,t=null,w=x,q=(p)?h.Array(p):[],k=i.prototype,o=k||i,u=false,j,m;if(k&&w){j={};m={};t={};h.Object.each(n,function(s,r){m[r]=function(){for(var y in j){if(j.hasOwnProperty(y)&&(this[y]===m[y])){this[y]=j[y];}}w.apply(this,q);return j[r].apply(this,arguments);};if((!v||(r in v))&&(l||!(r in this))){if(d.isFunction(s)){j[r]=s;this[r]=m[r];}else{this[r]=s;}}},t,true);}else{u=true;}h.mix(o,t||n,l,v);if(u){x.apply(o,q);}return i;};h.aggregate=function(k,j,i,l){return h.mix(k,j,i,l,0,true);};h.extend=function(l,k,i,n){if(!k||!l){h.error("extend failed, verify dependencies");}var m=k.prototype,j=h.Object(m);l.prototype=j;j.constructor=l;l.superclass=m;if(k!=Object&&m.constructor==b.constructor){m.constructor=k;}if(i){h.mix(j,i,true);}if(n){h.mix(l,n,true);}return l;};h.each=function(k,j,l,i){return f(k,j,l,i,e);};h.some=function(k,j,l,i){return f(k,j,l,i,g);};h.clone=function(l,m,q,r,k,p){if(!d.isObject(l)){return l;}if(l instanceof YUI){return l;}var n,j=p||{},i,s=h.each||h.Object.each;switch(d.type(l)){case"date":return new Date(l);case"regexp":return l;case"function":return l;case"array":n=[];break;default:if(l[a]){return j[l[a]];}i=h.guid();n=(m)?{}:h.Object(l);l[a]=i;j[i]=l;}if(!l.addEventListener&&!l.attachEvent){s(l,function(t,o){if(!q||(q.call(r||this,t,o,this,l)!==false)){if(o!==a){if(o=="prototype"){}else{this[o]=h.clone(t,m,q,r,k||l,j);}}}},n);}if(!p){h.Object.each(j,function(t,o){delete t[a];});j=null;}return n;};h.bind=function(i,k){var j=arguments.length>2?h.Array(arguments,2,true):null;return function(){var m=d.isString(i)?k[i]:i,l=(j)?j.concat(h.Array(arguments,0,true)):arguments;return m.apply(k||m,l);};};h.rbind=function(i,k){var j=arguments.length>2?h.Array(arguments,2,true):null;return function(){var m=d.isString(i)?k[i]:i,l=(j)?h.Array(arguments,0,true).concat(j):arguments;return m.apply(k||m,l);};};},"3.2.0");