(function($) {
$.fn.UItoTop = function(options) {
var defaults = {
text: '',
min: 500,
scrollSpeed: 800,
containerID: 'toTop',
containerHoverID: 'toTopHover',
easingType: 'linear',
min_width: parseInt($('body').css("min-width"),10),
main_width: parseInt($('body').css("min-width"),10)/2
};
var settings = $.extend(defaults, options);
var containerIDhash = '#' + settings.containerID;
var containerHoverIDHash = '#' + settings.containerHoverID;
$('body').append('' + settings.text + '');
var button_width = parseInt($(containerIDhash).css("width")) + 90
var button_width_1 = parseInt($(containerIDhash).css("width")) + 20
var max_width = defaults.min_width + button_width;
var margin_right_1 = -(defaults.main_width + button_width_1)
var margin_right_2 = -(defaults.main_width - 20)
function top() {
if(($(window).width() <= max_width) && ($(window).width() >= defaults.min_width)) {
$(containerIDhash).stop().animate({marginRight: margin_right_2, right: '50%'});
} else {
if($(window).width() <= defaults.min_width) {
$(containerIDhash).stop().css({marginRight: 0, right: 10})
} else {
$(containerIDhash).stop().animate({marginRight: margin_right_1, right: '50%'})
}
}
}
top()
$(containerIDhash).hide().click(function() {
$('html, body').stop().animate({scrollTop: 0}, settings.scrollSpeed, settings.easingType);
$('#' + settings.containerHoverID, this).stop().animate({'opacity': 0}, settings.inDelay, settings.easingType);
return false;
})
.prepend('')
.hover(function() {
$(containerHoverIDHash, this).stop().animate({
'opacity': 1
}, 600, 'linear');
}, function() {
$(containerHoverIDHash, this).stop().animate({
'opacity': 0
}, 700, 'linear');
});
$(window).scroll(function() {
var sd = $(window).scrollTop();
if(typeof document.body.style.maxHeight === "undefined") {
$(containerIDhash).css({
'position': 'absolute',
'top': $(window).scrollTop() + $(window).height() - 50
});
}
if (sd > settings.min) {
$(containerIDhash).stop(true, true).fadeIn(600);
} else {
$(containerIDhash).fadeOut(800);
}
});
$(window).resize(function() {
top()
})
};
})(jQuery);