jQuery.fn.transitionAnimate = function(params, params2){
	var defaults = {};
	var defaults2 = {
		'duration'    : '1s',
		'easing' : 'linear',
		'complete': function (){},
		'queue':false
	};
	var setting1 = $.extend(defaults, params);
	var setting2 = $.extend(defaults2, params2);
	var s1count=0;
	jQuery.each(setting1, function() {s1count++;});
	if (s1count==0) {
		return this
	}
		if(!isNaN(setting2.duration)){
			setting2.duration = setting2.duration+"ms";
		}
	var callback = setting2.complete;
	if(jQuery.browser.safari){
	jQuery(this)
		.css("-webkit-transition","all "+setting2.duration+" "+setting2.easing)
		.unbind("webkitTransitionEnd")
		.bind("webkitTransitionEnd",function(){
			jQuery(this)
				.unbind("webkitTransitionEnd")
				.css("-webkit-transition","");
			callback.apply(this,arguments);

		})
		.css(setting1);
	}else{
		jQuery(this).animate(setting1,setting2);
	}
	return this;
}
