define(["dojo/_base/declare","dojo/_base/html","dojo/dom","dojo/dom-construct",
"dojo/on","dojo/fx","dojox/css3/fx"],
function(declare, html, dom, domConstruct, on, fx, css3fx) {
demos.mobileGallery.src.css3 = function() {
declare("CSS3Demo", null, {
menuNode: null,
increment: 360,
angle: 0,
constructor: function(){
html.style("css3ribbon", {
transform: "rotate(-45deg)"
});
var effects = ["flip", "bounce", "shrink", "expand", "rotate", "puff"];
this.increment = 360 / effects.length;
var css3Body = dom.byId('css3Boxes');
for(var i = 0, l = effects.length; i < l; i++){
var boxwrapper = domConstruct.create("div", {className: 'css3Boxwrapper'});
var box = domConstruct.create("div", {
innerHTML: "" + effects[i] + "",
className : 'css3Box'
}, boxwrapper);
html.place(boxwrapper, css3Body, 'last');
on(box, "click", (function(b, x){
return function(){
var anim = fx.chain([ css3fx[effects[x]]({ node: b }) ]);
on(anim, "End", function(){
html.style(b, {
transform: "scale(1)",
opacity: "1"
});
});
anim.play();
};
})(box, i));
}
}
});
}();
return {
init: function(){
new CSS3Demo();
}
};
});