// Background
/*jQuery.fn.floatingBackground = function (userOptions) {
    options = jQuery.extend({
        parent: 'wrapper',
        stage: 'wrapper',
        scale: 0.3,
        xOffset: 0,
        yOffset: 0,
        blur: true,
        isText: false,
        blurColor: '#888',
        frameRate: 33
    }, userOptions);
};
*/


// Background
jQuery.fn.floatingBackground = function (userOptions) {
    options = jQuery.extend({
        parent: 'wrapper',
        stage: 'wrapper',
        scale: 0.3,
        xOffset: 0,
        yOffset: 0,
        blur: true,
        isText: false,
        blurColor: '#888',
        frameRate: 33
    }, userOptions);
    var parent = options.parent;
    var stage = options.stage;
    var scale = options.scale;
    var xOffset = options.xOffset;
    var yOffset = options.yOffset;
    var blur = options.blur;
    var isText = options.isText;
    var blurColor = options.blurColor;
    var frameRate = options.frameRate;
    var midX = $('#' + stage).width() / 100;
    var midY = $('#' + stage).height() / 100;
    var _x = midX;
    var _y = midY;
    var xx = midX;
    var yy = midY;
    var objectId = $(this).attr('id');
    shadowAmount = 0;
    window["timer" + objectId] = window.setInterval(update, frameRate);
    
    $('body').mousemove(function (event) {
    //$('#' + parent).mousemove(function (event) {
        _x = event.pageX;
        _y = event.pageY;
        if (shadowAmount < 5 && blur == true) shadowAmount += scale
    });
    //factor = scale * 0.5;
    factor = scale * 0.2;

    function update() {
        xx += (((_x - midX) * -scale) - xx) * factor;
        yy += (((_y - midY) * -scale) - yy) * factor;
        var pos = xx + xOffset + $('#' + parent).position().left;
        var sop = yy + yOffset + $('#' + parent).position().top;
        var lip = pos + "px " + sop + "px";
        $('#' + objectId).css('background-position', lip)
    }
};
