jQuery.fn.autolink = function () {
	return this.each( function(){
		var re = /((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g;
		$(this).html( $(this).html().replace(re, '<a href="$1">$1</a>') );
	});
}

$(function(){
	
	// Timestamps
	$("span.meta-timestamp").timeago();
	
	// Autoselects
	$("input.autoselect").click(function() { 
		$(this).select();
	});
	
	$('a.panel-toggle').click(function(){
		$(this.hash).slideToggle(200);
		return false;
	});
	
	if ( $('#contenedor-twitterfeed').length ) {
		twitterfeed();
		$('#contenedor-twitterfeed').timer = setInterval( 'twitterfeed();', 30000 );
	}
	
	if ( $('.views-count').length ) {
		yt_viewcount();
		$('.views-count').timer = setInterval( 'yt_viewcount();', 30000 );
	}
	
	if ( $('#contenedor-likebox').length ) {
		fb_fancount();
		$('#contenedor-likebox').timer = setInterval( 'fb_fancount();', 15000 );
	}
	
	// Twitter... al último pa' que no arrastre
	if ( $('#twitter-widget').length ) {		
		last_tweet();
		$('#twitter-widget').timer = setInterval( 'last_tweet();', 60000 );
	}
	
	$('.meta-twitter iframe').attr('allowTransparency', 'true');
	
});

function facebook_logout() {
	FB.logout(function(response) {
		if(response.success)
			window.location = '$fb_logout_redirect';
	});
	return false;
}

// Obtener el thumb de youtube
function get_youtube_img( video, tamano ) { // 'g' de Grande || 'c' de Chico
	$id = ( video.match( 'http:' ) !== false ) ? get_youtube_id( video ) : video ;
	return ( tamano == 'g' ) ? 'http://i1.ytimg.com/vi/'+ id +'/0.jpg' : 'http://i1.ytimg.com/vi/'+ id +'/default.jpg' ;
}

function twitterfeed() {
	$('#contenedor-twitterfeed div').eq(0).twitterMentions('polo_polo', { maximum : 6 });
}

function fb_fancount() {
	var query = FB.Data.query('select fan_count from page where page_id={0}', '21822267112');
	query.wait( function(data) {
		$('#contenedor-likebox .fan-count').html('<img src="'+ templateDir +'/img/facebook-24.png" alt="Icono Facebook" />' + number_format(data[0].fan_count) + ' fans en Facebook');
	});
}

function yt_viewcount() {
	$.getJSON("http://gdata.youtube.com/feeds/api/users/polopoloentertainmen?alt=json&callback=?", function(json){
		//$('.views-count').html(json.entry.yt$statistics.totalUploadViews + ' vistas en YouTube');
		if ( json.entry.yt$statistics.totalUploadViews ) {
			$('.views-count').html('<img src="'+ templateDir +'/img/youtube-24.png" alt="Icono Youtube" />' + number_format(json.entry.yt$statistics.totalUploadViews) + ' vistas en YouTube');
		}
	});
}

function last_tweet() {
	
	$.getJSON("http://twitter.com/statuses/user_timeline/polo_polo.json?count=1&callback=?", function(json){
		if ( typeof(json[0]) == 'undefined' ) {
			return false;
		}
		var lastTweet = json[0].text;
		var tweetTime = ( $.browser.msie ) ? new Date( json[0].created_at.replace(/( \+)/, ' UTC$1') ) : new Date(json[0].created_at ) ;
		var followers = number_format(json[0].user.followers_count);
		$("#twitter-widget .tweet").html(lastTweet).autolink();
		$("#twitter-widget span.meta-timestamp").html($.timeago(tweetTime));
		if ( $('#contenedor-twitterfeed').length ) {
			$('#contenedor-twitterfeed .follower-count').html('<img src="'+ templateDir +'/img/twitter-24.png" alt="Icono twitter" />' + followers + ' polowers en Twitter');
		}
	});
}

function number_format(number, decimals, dec_point, thousands_sep) {
    var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;        };

    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }    return s.join(dec);
}