﻿$(function () {
    overscroll(".projetos");

    $(".logos img[title]").tooltip();
    $("#header .logo img[title]").tooltip({tipClass: 'tooltip2', position: 'center right'});

    $.getJSON('http://twitter.com/status/user_timeline/grupodoca.json?count=10&callback=?', function (data) {
        $.each(data, function (index, item) {
            $('#twitterscroll').append('<div class="areaContent"><p>' + item.text.linkify() + '</p><p><strong>' + relative_time(item.created_at) + '</strong></p></div>');
        });
    });
});

function overscroll(element) {
    h = $(element).height();
    w = $(element + ' .compartimentoMarcas').width() * $(element + ' .compartimentoMarcas').size();
    wa = w - $(document).width();

    cnt = $(document.createElement('div'));
    cnt.css({
        position: 'relative',
        overflow: 'hidden',
        height: h,
        width: wa + w,
        marginLeft: -wa
    });

    $(element).css({ left: wa });

    dsp = $(document.createElement('div'));
    dsp.css({
        width: '100%',
        overflow: 'hidden'
    });

    $(element).wrap(dsp);
    $(element).wrap(cnt);

    var _startPos = 0,
			_stopPos = 0,
			_timer = 1;

    var _left = 0;
    var el;

    $(element).draggable({
        axis: 'x',
        containment: 'parent',
        distance: 0,
        scrollSpeed: -5,
        start: function (e) {
            $(element).stop(true, true);
            $(element).addClass('cursorClosed');
            _startPos = e.pageX;
            el = e.target;

        },
        drag: function () {
            _timer++;
        },
        stop: function (e) {
            $(element).removeClass('cursorClosed');

            _stopPos = e.pageX;

            _left = (5 * (_stopPos - _startPos) / _timer);

            _left = ($(element).offset().left + _left > 0 && _stopPos > _startPos) ? 0 - $(element).offset().left : _left;
            _left = ($(element).offset().left + _left < -wa && _stopPos < _startPos) ? -wa - $(element).offset().left : _left;

            $(element).stop(false, true).animate({
                left: '+=' + _left
            }, 500, 'easeOutCubic');

            _timer = 1;

            if (_stopPos == _startPos) {
                $('.projetos a').unbind('click').click(function () {
                    document.location = $(this).attr('href');
                });
            }
        }
    });
}

function relative_time(time_value) {
    var values = time_value.split(" ");
    time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
    var parsed_date = Date.parse(time_value);
    var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
    var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
    delta = delta + (relative_to.getTimezoneOffset() * 60);

    var r = '';
    if (delta < 60) {
        r = 'um minuto atrás';
    } else if (delta < 120) {
        r = 'dois minutos atrás';
    } else if (delta < (45 * 60)) {
        r = (parseInt(delta / 60)).toString() + ' minutos atrás';
    } else if (delta < (90 * 60)) {
        r = '1 hora atrás';
    } else if (delta < (24 * 60 * 60)) {
        r = '' + (parseInt(delta / 3600)).toString() + ' horas atrás';
    } else if (delta < (48 * 60 * 60)) {
        r = '1 dia atrás';
    } else {
        r = (parseInt(delta / 86400)).toString() + ' dias atrás';
    }

    return r;
}

String.prototype.linkify = function () {
    return this.replace(/((https?\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi, function (url) {
        var full_url = url;
        if (!full_url.match('^https?:\/\/')) {
            full_url = 'http://' + full_url;
        }
        return '<a target="_blank" href="' + full_url + '">' + url + '</a>';
    });
};
