	var tween = {
	items: [],
	open: function(element){

	tween.items[element.tween_id].dest = 45;
	},
	close: function(element){

	tween.items[element.tween_id].dest = 0;
	},
	init: function() {
	$('.widget').each(function(i){
	if($(this).hasClass("widget-close")) {
		var obj = { cur: 0, dest: 0, ele: this };
		$(this).find(".widget-content").hide();
	} else {
		var obj = { cur: 45, dest: 45, ele: this };
	}
	
	this.tween_id = i;

	$(this).find(".title img").remove();
	$(this).find(".title").append('<canvas width="11" height="11" class="anim" ></canvas>');
	tween.items.push(obj);
	tween.render(obj);
	
	});
	setInterval(tween.frame, 30);
	},
	frame: function(){
	for(var i = 0; i < tween.items.length; i++){
	var obj = tween.items[i];
	if(obj.cur != obj.dest)
	tween.render(tween.dyn(obj));
	}
	},
	dyn: function(obj){
	var speed = Math.abs(obj.cur - obj.dest) / 3;
	if(obj.cur + speed < obj.dest) {
	obj.cur += speed;
	} else if (obj.cur - speed > obj.dest) {
	obj.cur -= speed;
	} else {
	obj.cur -= dest;
	}
	return obj;
	},
	render: function(obj) {  
	var context = $(obj.ele).find(".anim").get(0).getContext('2d');
			   context.clearRect(0,0,11,11);
			   context.save();
			   context.translate(5.5,5.5);
			   context.rotate(obj.cur * (Math.PI/180));
	context.fillStyle = "#fff";
			   context.fillRect(-5.5,-1,11,2);
			   context.fillRect(-1,-5.5,2,11);    
			   context.restore();
	return obj;
		   }
	}
