baseurl = 'http://tentacul.us/';

function puntuar(id,op){
	$('#img_votar_up').attr('src','/img/up2.png');
	$('#img_votar_down').attr('src','/img/down2.png');
	$('#lnk_votar_up').click(function(){return false;});
	$('#lnk_votar_down').click(function(){return false;});
	if( id ){
		$.ajax({
			type: 'GET',
			url: '/votar.php',
			data: 'id='+id+'&op='+op
		});
	}
}

function enviar(){
	if( twitter_load ) clearInterval( twitter_load );
	$('#iframe').html('<iframe name="frame" style="display:none"></iframe>');
	$('#results li').remove();
	$('#paginacion').hide();
	$('#nav a').removeClass('sel');
}

function enviarArtista(obj){
	document.getElementById('txtQuery').value = obj.innerHTML;
	document.getElementById('btn_buscar').click();
	return false;
}

function getJocInfo(obj){
	id_parent = $(obj).parent().attr('id');
	pos_key = id_parent.replace(/track_/,'');
	$('#results a.seleccionat').removeClass('seleccionat').addClass('listen');
	$(obj).removeClass('listen').addClass('seleccionat');
	obj.style.color='#';
	$("#joc_info").html('<img src="/img/loading.gif" style="position:relative;top:4px;left:-5px"/>').show();
	url=$(obj).attr('alt');
	query=obj.innerHTML;
	pos=query.indexOf('(');
	if(pos>-1)query=query.substr(0,pos);
	if(isset(pageTracker))pageTracker._trackPageview( $(obj).attr('href') );
	if(url) url_final = "/info.php?url="+url;
	else {
		id = $(obj).attr('href');
		id = id.replace(/http\:\/\/tentacul.us\/track/,'');
		id = id.replace(/\//g,'');
		url_final = "info_twitter.php?id=" + id;
		twitter_url_sel = $(obj).attr('href');
	}
	url_final += '&nom='+query;
	$.ajax({
		url: url_final,
		cache:true,
		success: function(tam){
			t_info = tam.split(':');
			html='';
			if(tam){
				if(!url)url = 'http://' + t_info[2];
				html ='<table cellspacing="0" cellpadding="0"><tr>';
				html += '<td style="text-align:right" valign="top"><span id="placeholder1"></span></td>';
				html += '<td style="padding-left:10px;margin-top:-3px">';
				html += '<div id="op_puntuar"><a href="javascript:;" onclick="puntuar('+t_info[3]+',\'+1\');" id="lnk_votar_up"><img src="/img/up.png" width="25" height="25" align="absmiddle" id="img_votar_up"/></a>&nbsp; <a href="javascript:;" onclick="puntuar('+t_info[3]+',\'-1\');" id="lnk_votar_down"><img src="/img/down.png" width="25" height="25" align="absmiddle" id="img_votar_down"/></a>';
				html += '&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://twitter.com/home?status=%40tcul+♫ '+encodeURI(obj.innerHTML).replace(/&amp;/g,'%26')+' http%3A%2F%2Ftentacul.us%2Ftrack%2F'+t_info[3]+'%2F" target="_blank"><img src="http://tentacul.us/img/btn_twitter.png" width="25" height="25" align="absmiddle" style="background:#fff"/></a>';
				html += '&nbsp;&nbsp;<a href="http://facebook.com/share.php?src=bm&v=3&u=http%3A%2F%2Ftentacul.us%2Ftrack%2F'+t_info[3]+'%2F" target="_blank"><img src="http://tentacul.us/img/btn_facebook.png" width="25" height="25" align="absmiddle" style="background:#fff"/></a>';
				html += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="'+url+'" target="_blank" style="text-decoration:underline;">download</a>';
				
				
				if( t_info[3] && getCookie('user_id') )html += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:;" onclick="do_playlist(\'add\',' + t_info[3] + ',false,this);" style="text-decoration:underline;">add to playlist</a>';
				
				html += '</div></div></td></tr>';
				$("#joc_info").html(html);
				createPlayer(url);
			}else{
				$("#joc_info").html('<font color="red">Broken link</font>');
				bajarCancion();
			}
		}
	});
	return false;
}

// hotkeys
function actualizarCanciones(){
	num_songs = $('#tots_resultats UL LI').size();
}

function subirCancion(){
	if(pos_key > 0){
		pos_key = parseInt(pos_key);
		pos_key -= 1;
		playCancion(pos_key);
	}
}

function bajarCancion(){
	if(pos_key < (num_songs-1)){
		pos_key = parseInt(pos_key);
		pos_key += 1;
	}else{
		pos_key = 0;
		setTimeout(function(){$('#tots_resultats').attr('scrollTop','0');},500);
	}
	playCancion(pos_key);
}

function playCancion(i){
	$('#track_' + i + ' A:last').click();
}


// anterior - siguiente

function irPagAnterior(){
	if( $('#lnk_prev').size() ){
		document.location.href = $('#lnk_prev').attr('href');
	}
}

function irPagSiguiente(){
	if( $('#lnk_next').size() ){
		document.location.href = $('#lnk_next').attr('href');
	}
}

// twitter

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 < 120) {
       r = '1 minute ago';
   } else if(delta < (45*60)) {
       r = (parseInt(delta / 60)).toString() + ' minutes ago';
   } else if(delta < (2*90*60)) { // 2* because sometimes read 1 hours ago
       r = '1 hour ago';
   } else if(delta < (24*60*60)) {
       r = (parseInt(delta / 3600)).toString() + ' hours ago';
   } else if(delta < (48*60*60)) {
       r = 'yesterday';
   } else {
       r = (parseInt(delta / 86400)).toString() + ' days ago';
   }
   return r;
}

function getTwitter(){
	$('#menu_cats A').removeClass('sel');
	$('#lnk_all').addClass('sel');
	if(isset(pageTracker))pageTracker._trackPageview( '/twitter' );
	$('#iframe').html('');
	$('#nav A').removeClass('sel');
	$('#lnk_twitter').addClass('sel');
	$('#loading').css('display','');
	$.getScript("http://search.twitter.com/search.json?q=to%3Atcul&callback=foo");
	clearInterval(twitter_load);
	twitter_load = setInterval(function(){
		getTwitter();
	},36000);
}

function foo(data){
	$('#loading').css('display','none');
	$('#paginacion').css('display','none');
	$('#results LI').remove();
	parent.$('#as_txtQuery').hide();
	parent.pos_key = -1;
	j = 0;
	$.each(data.results, function(i,item){
		title = item.text;
		title = title.replace(/@tcul /g,'');
		title = title.replace(/♫ /g,'');
		pos = title.indexOf('http://');
		url = title.substr(pos,title.length-pos);
		url_pos = url.indexOf(' ');
		if(url_pos > -1)url = url.substr(0,url_pos);
		title = title.substr(0,pos-1);
		if(url && title){
			bgcolor = j%2==0 ? 'zebra' : '';
			if(url == twitter_url_sel){
				seleccionat = 'class="seleccionat"';
				pos_key = j;
			}else{
				seleccionat = '';
			}
			$('<li id="track_' + j + '" class="' + bgcolor + '"><div style="margin-top:6px;position:absolute;margin-left:550px;z-index:99"><a style="background:transparent;display:inline;padding:0;font-size:12px;width:110px;float:left;font-size:10px" class="user" href="http://twitter.com/' + item.from_user + '" target="_blank"><img style="margin-top:-7px;" border="0" width="27" height="27" src="' + item.profile_image_url + '" align="middle"/> &nbsp;' + item.from_user + '</a> &nbsp;<span style="color:#54AA54;font-size:10px">' + relative_time(item.created_at) + '</span></div><a onclick="return getJocInfo(this);" href="' + url + '" target="_blank" ' + seleccionat + '>' + title + '</a></li>').appendTo('#results');
			j++;
		}
     });
	parent.num_songs = j;
	if (currentState == "PAUSED" || currentState == "IDLE" ) bajarCancion();
}

// altres

function isset(variable_name) {
	try {
		if (typeof(eval(variable_name)) != 'undefined')
		if (eval(variable_name) != null)
		return true;
	} catch(e) { }
	return false;
}

function reloadAjax(){
	clearInterval(twitter_load);
	$('#lnk_twitter').removeClass('sel');
	$('A.ajax').each(function() {	
	      $(this).unbind('click').click(function(){
			pos_key = -1;
			href = $(this).attr('href');
			href = href.replace(/\//,'');
			if(!href)href+='?';
			else href+='&';			
	      	url = '/get.php'+href+'ajax=1';
	      	$('#loading').css('display','');
			$.ajax({
				type: 'GET',
				url: url,
				cache: false,
				success: function(html){
					$('#tots_resultats').attr('scrollTop','0');
					$('#tots_resultats').html(html);
					$('#loading').css('display','none');
					if ( $("#joc_info font").size() == 1 || (isset(href) && href.indexOf('random') > -1 ) || currentState == "PAUSED" || currentState == "IDLE" ) bajarCancion();
					setTimeout(function(){reloadAjax();},50);
					
					
					if(href.indexOf('?random') > -1 )bajarCancion();
				}
			});
			if(isset(pageTracker))pageTracker._trackPageview( href );
	      	return false;
		});
	});
	$('#nav A.ajax').each(function() {
		$(this).click(function(){
	      	$('#nav A.ajax').removeClass('sel');
	      	$(this).addClass('sel');	
	      	
	      	$('#menu_cats A').removeClass('sel');
	      	$('#lnk_all').addClass('sel');
	      });
	});
	$('#menu_cats A.ajax').each(function() {
		$(this).click(function(){
	      	$('#menu_cats DIV.list A').removeClass('sel');
	      	$(this).addClass('sel');	
	      	
	      	$('#nav A.ajax').removeClass('sel');
	      	$('#lnk_ultimas').addClass('sel');	
	      });
	});
}


// player

function createPlayer(url) {
	var flashvars = {
		file:url, 
		autostart:"true"
	}
	var params = {
		allowscriptaccess:"always",
		bgcolor:"#2A2A2A"
	}
	var attributes = {
		id:"player1",  
		name:"player1"
	}
	swfobject.embedSWF("/swf/player.swf", "placeholder1", "200", "19", "9.0.115", false, flashvars, params, attributes);
}

function playerReady(thePlayer) {
	player = document.getElementById(thePlayer.id);
	
	player.sendEvent('VOLUME', currentVolume)
	
	addListeners();
}

function addListeners() {
	if (player) {
		player.addModelListener("STATE", "stateListener");
		player.addControllerListener("VOLUME", "volumeListener");
	} else setTimeout("addListeners()",100);
}

function volumeListener(obj) { 
	currentVolume = obj.percentage;
}

function stateListener(obj) { //IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED
	currentState = obj.newstate; 
	previousState = obj.oldstate;
	if ((currentState == "COMPLETED")&&(previousState == "PLAYING")) {
	
		set_cookie( 'volume', currentVolume, cookie_year, cookie_month, cookie_day );
	
		bajarCancion();
	}
}

// google friend connect y otros
var google_site_id = '03397165965641718242';

google.friendconnect.container.setParentUrl('/' /* location of rpc_relay.html and canvas.html */);
google.friendconnect.container.loadOpenSocialApi({
 site: google_site_id,
 version: '0.8',
 onload: function() { init(); }
});

function init() {
 // Create a request to grab the current viewer.
 var req = opensocial.newDataRequest();
 req.add(req.newFetchPersonRequest('VIEWER'), 'viewer_data');
 // Sent the request
 req.send(onData);
}

function onData(data) {
 // If the view_data had an error, then user is not signed in
 if (data.get('viewer_data').hadError()) {
   // Create the sign in link
   var options = {
     id: "login"
   };
   google.friendconnect.renderSignInButton(options);
   
   set_cookie( 'user_id', '', cookie_year -1, cookie_month, cookie_day );
   set_cookie( 'user_name', '', cookie_year -1, cookie_month, cookie_day );
   set_cookie( 'user_avatar', '', cookie_year -1, cookie_month, cookie_day );
   
   $('#label_login').html('Make and share your playlist');
   
 } else {
   var content = document.getElementById('login');
   // If the view_data is not empty, we can display the current user
   // Create html to display the user's name, and a sign-out link.
   var html = '<a href="javascript:;" onclick="load_playlist(\'user_id\',\'' + data.get('viewer_data').getData().getId() + '\')">My playlist</a> &nbsp;|&nbsp; <a href="#" onclick="google.friendconnect.requestInvite()">Invite Friends</a> &nbsp;|&nbsp; <a href="#" onclick="google.friendconnect.requestSignOut()">Logout</a>';
   content.innerHTML = html;
   
   set_cookie( 'user_id', data.get('viewer_data').getData().getId(), cookie_year, cookie_month, cookie_day );
   set_cookie( 'user_name', data.get('viewer_data').getData().getDisplayName(), cookie_year, cookie_month, cookie_day );	   
   set_cookie( 'user_avatar', data.get('viewer_data').getData().getField("thumbnailUrl"), cookie_year, cookie_month, cookie_day );
   
$('#label_login').html('Hi ' + data.get('viewer_data').getData().getDisplayName() );
   
 }
}

function load_playlist(tipo,id){

	$('#nav A').removeClass('sel');


 	$('#menu_cats A').removeClass('sel');
 	$('#lnk_all').addClass('sel');
 	
 	clearInterval( twitter_load );
 	
 	html = '&lt;embed width=&quot;300&quot; height=&quot;300&quot; flashvars=&quot;file=http://tentacul.us/jukebox/playlist.php?list_id=' + id + '&xml=1&displayheight=0&overstretch=fit&autostart=true&quot; src=&quot;http://tentacul.us/includes/swf/mediaplayer.swf&quot; type=&quot;application/x-shockwave-flash&quot;/&gt;';

$('#playlist_html').html('<br/>Inserta esta playlist en tu blog:<br/><input value="' + html + '" readonly="readonly" size="30" onclick="this.select()"/>');


	url = '/get_playlist.php?' + tipo + '=' + id;
	$('#loading').css('display','');
	$.ajax({
		type: 'GET',
		url: url,
		cache: false,
		success: function(html){
		

		
			$('#tots_resultats').attr('scrollTop','0');
			$('#tots_resultats').html(html);
			$('#loading').css('display','none');



			pos_key = -1;
			actualizarCanciones();
			if ( num_songs ) bajarCancion();
			
			
		
			
			
			
		}
	});
	
	
	return false;
}

function do_playlist(op,track_id,i,obj){
	url = '/do_playlist.php?op=' + op + '&id=' + track_id;
	$('#loading').css('display','');
	$.ajax({
		type: 'GET',
		url: url,
		cache: false,
		success: function(html){
		
		

			
			$('#loading').css('display','none');
			
			if('del' == op && 1 == html){
			
			
				$('#track_'+i).animate({ 
					opacity: 0.4
				}, 'fast', 'linear',function(){
						$('#track_'+i).slideUp('slow',function(){
						$('#track_'+i).remove();
					});
				});
				
				
			}else if('add' == op){
			
				obj.onclick=function(){return false;}
				$(obj).html('added!').css('text-decoration','none');
			
			}
		}
	});
}


// onload

$().ready(function(){
	reloadAjax();
	setTimeout(function(){if(-1 == pos_key)bajarCancion(pos_key);},1000);
	var options = {
	script:"autocomplete.php?json=true&",
	varname:"input",
	json:true,
	};
	var as_json = new AutoSuggest('txtQuery', options);
	$('#txtQuery').keydown(function(e){
		 if(13 == e.which){ 
      		document.getElementById('btn_buscar').click();
      		$('#as_txtQuery').hide();
    		}
	});
	$('#lnk_destacado').click(function(){
		$('#txtQuery').val($(this).attr('title'));
		document.getElementById('btn_buscar').click();
		setTimeout(function(){
			bajarCancion(pos_key);
		},1000);
		return false;
	});
	$(document).bind('keydown', {combi:'up', disableInInput: true}, subirCancion);
	$(document).bind('keydown', {combi:'down', disableInInput: true}, bajarCancion);
	$(document).bind('keydown', {combi:'left', disableInInput: true}, irPagAnterior);
	$(document).bind('keydown', {combi:'right', disableInInput: true}, irPagSiguiente);	
	
	actualizarCanciones();
});


