if(typeof KISSY==="undefined"||!KISSY){function KISSY(c){var o=this;if(!(o instanceof arguments.callee)){return new arguments.callee(c)}o._init();o._config(c);o._setup();return o}}(function(S){var win=window,UNDEFINED="undefined",mix=function(r,s,ov){if(!s||!r)return r;if(typeof ov===UNDEFINED)ov=true;var p;if(ov||!(p in r)){for(p in s){r[p]=s[p]}}return r};mix(S.prototype,{add:function(name,fn,version,details){S.Env.mods[name]={name:name,fn:fn,version:version,details:details||{}};return this},_init:function(){var o=this;o.version="@VERSION@";o.Env={mods:{},_used:{},_attached:{}};o.config={debug:true}},_config:function(c){mix(this.config,c)},_setup:function(){this.use("kissy-base")},use:function(){var o=this,a=Array.prototype.slice.call(arguments,0),mods=S.Env.mods,used=o.Env._used,l=a.length,callback=a[l-1],i,k,name,r=[];if(typeof callback==="function"){a.pop()}else{callback=null}if(a[0]==="*"){a=[];for(k in mods){a.push(k)}if(callback){a.push(callback)}return o.use.apply(o,a)}function f(name){if(used[name])return;var m=mods[name],j,n,subs;if(m){used[name]=true;subs=m.details.submodules}if(subs){if(typeof subs==="string")subs=[subs];for(j=0,n=subs.length;j<n;j++){f(subs[j])}}r.push(name)}for(i=0;i<l;i++){f(a[i])}o._attach(r);if(callback){callback(o)}return o},_attach:function(r){var mods=S.Env.mods,attached=this.Env._attached,i,l=r.length,name,m;for(i=0;i<l;i++){name=r[i];m=mods[name];if(!attached[name]&&m){attached[name]=true;if(m.fn){m.fn(this)}}}},mix:mix,merge:function(){var a=arguments,o={},i,l=a.length;for(i=0;i<l;++i){mix(o,a[i],true)}return o},extend:function(r,s,px,sx){if(!s||!r)return r;var OP=Object.prototype,O=function(o){function F(){}F.prototype=o;return new F()},sp=s.prototype,rp=O(sp);r.prototype=rp;rp.constructor=r;r.superclass=sp;if(s!==Object&&sp.constructor===OP.constructor){sp.constructor=s}if(px){mix(rp,px)}if(sx){mix(r,sx)}return r},augment:function(r,s,ov){return this.mix(r.prototype,s.prototype,ov)},cloneTo:function(name){function O(c){if(!(this instanceof O)){return new O(c)}if(typeof c===UNDEFINED)c=[];O.superclass.constructor.apply(this,c)}S.extend(O,S,null,S);return(win[name]=O)},namespace:function(){var a=arguments,l=a.length,o=this,i,j,p;if(typeof o==="object")o=o.constructor;for(i=0;i<l;i++){p=(""+a[i]).split(".");for(j=(win[p[0]]===o)?1:0;j<p.length;j++){o[p[j]]=o[p[j]]||{};o=o[p[j]]}}return o},log:function(msg,cat,src){var c=this.config;if(c.debug){src&&(msg=src+": "+msg);if(typeof console!==UNDEFINED&&console.log){console[cat&&console[cat]?cat:"log"](msg)}else if(typeof opera!==UNDEFINED){opera.postError(msg)}}return this}});mix(S,S.prototype);S._init()})(KISSY);
