// ==UserScript==
// @name Orkut Shortcuts
// @namespace http://orkutsharing.blogspot.com
// @description It adds links of scrapbooks[S], photo albums[A] and compose message[M] under every user's photo in your friends list.
// @include http://www.orkut.com/*
// @include http://orkut.com/*
// ==/UserScript==
//--------- List of the link colors:
var preto = "black";
var azul = "blue";
var azulmarinho = "#800080"; //purple
var verdeescuro = "#f2984c" //orange
var vermelho = "red";
var roxoescuro = "#1B703A"; //dark green
var pink = "#FF00FF"; //violet
var marrom = "#A34567"; //maroon
//--------Start User Configuration --------
//########## Change the number to (1) = yes / (0) = no
var fs_show_link_textos = 0 ; // show link to scrapbook.
var fs_link_album = 1 ; // show link to photo album.
var fs_link_mensagem = 1 ; // show link to compose message.
var fs_links_minusculas = 0 ; // change case of link [S][A][M] --> [s][a][m]
// colors of the links (see above list)
var fs_cor_scrap = verdeescuro ; // scrapbook link
var fs_cor_album = roxoescuro ; // photo album link
var fs_cor_mensagem = azulmarinho ; //compose message link
//--------End User Configuration -----------
//-------- Start Script ---------------------
function addFastScrapLinks() {
if(document.getElementById('fs_adicionou')) return;
var pg_recados = location.href.toLowerCase().indexOf("scrapbook.aspx") > -1;
var pg_home = location.href.toLowerCase().indexOf("home.aspx") > -1;
var pg_comuna = location.href.toLowerCase().indexOf("community.aspx") > -1 ;
var pg_comunas = location.href.toLowerCase().indexOf("communities.aspx") > -1 ;
var pg_alltopics = location.href.toLowerCase().indexOf("topics.aspx") > -1 ;
var pg_forum = location.href.toLowerCase().indexOf("msgs.aspx") > -1 ;
var pg_perfil = location.href.toLowerCase().indexOf("profile.aspx") > -1 ;
var pg_amigos = location.href.toLowerCase().indexOf("friends.aspx") > -1 ;
var pg_list_amigos = location.href.toLowerCase().indexOf("friendslist.aspx") > -1 ;
var tb_proib = -1, i=document.getElementsByTagName('a');
if( pg_recados) tb_proib = 2;
else if( pg_home || pg_list_amigos) tb_proib = 3;
else if( pg_perfil) tb_proib = 4;
for (var j=i.length -1; j>0; j--) {
var linkdata = i[j].getAttribute("href");
if(linkdata != null){
var linkparts = linkdata.split("?");
if ( linkdata.toLowerCase().match(/profile\.aspx\?uid/) != null) {
var s = i[j].innerHTML.toUpperCase();
if( s.match(/NP\S\w?\w?\w?\.GIF/) == null && ( (s.indexOf("IMG") == -1 && ( !( pg_amigos || pg_recados || (pg_forum && fs_show_link_textos == 0)) ||
(pg_forum && fs_show_link_textos != 0) || pg_home || pg_comuna)) ||
(s.indexOf("IMG") > -1 && ! ( pg_comuna || pg_perfil || pg_home || (pg_forum && fs_show_link_textos != 0) ) ) ) &&
!daFamilia(i[j], new Array( tb_proib, -1))){
var scrapviewlink = document.createElement("a");
scrapviewlink.href="http://www.orkut.com/ScrapBook.aspx?" + linkparts[1];
scrapviewlink.title="Scrapbook";
scrapviewlink.style.textDecoration = "none";
scrapviewlink.style.color = fs_cor_scrap;
if ( navigator.language.indexOf("pt") > -1)
scrapviewlink.appendChild(document.createTextNode( fs_links_minusculas == 0 ? " [R]" : " [r]" ));
else
scrapviewlink.appendChild(document.createTextNode( fs_links_minusculas == 0 ? " [S]" : " [s]" ));
if( fs_link_mensagem == 1){
var msglink = document.createElement("a");
msglink.href="http://www.orkut.com/Messages.aspx?a=Compose&" + linkparts[1];
msglink.title="Send Message";
msglink.style.textDecoration = "none";
msglink.style.color = fs_cor_mensagem;
msglink.appendChild(document.createTextNode( fs_links_minusculas == 0 ? "[M]" : "[m]" ));
i[j].parentNode.insertBefore( msglink ,i[j].nextSibling);
}
if( fs_link_album == 1){
var albumlink = document.createElement("a");
albumlink.href="http://www.orkut.com/AlbumView.aspx?" + linkparts[1];
albumlink.title="Album";
albumlink.style.textDecoration = "none";
albumlink.style.color = fs_cor_album;
if( fs_links_minusculas == 0)
albumlink.appendChild( document.createTextNode( fs_link_mensagem == 1 ? "[A]" : "[A] " ));
else
albumlink.appendChild( document.createTextNode( fs_link_mensagem == 1 ? "[a]" : "[a] " ));
i[j].parentNode.insertBefore( albumlink ,i[j].nextSibling);
}
i[j].parentNode.insertBefore( scrapviewlink ,i[j].nextSibling);
if( pg_forum) i[j].parentNode.insertBefore( document.createElement("br") ,i[j].nextSibling);
}
}
}
}
var fs_adicionou = document.createElement("div");
fs_adicionou.id = "fs_adicionou";
}
function daFamilia( filho, pais){
if( pais.length < 1) return false;
var efilho = false;
var temp_filho = filho;
for(var k=0; k < pais.length; k++){
while( filho != null){
filho = filho.parentNode;
if( filho && pais[k] > -1 && filho == document.getElementsByTagName("table")[pais[k]]){ efilho = true; break;}
}
if( efilho) break;
else filho = temp_filho;
}
filho = temp_filho;
return efilho;
}
if(!document.getElementById('fs_adicionou')) addFastS
/* -------------- ChangeLog ------------------
*
* Aperfei�oamento na filtragem dos links
* Corre��o de bug no perfil professional, obrigado pelo toque, Paulo !
* Op��o de min�sculas
* 1� Anti boicote: O orkut mudou o link para envio de mensagem, que culminou na mudan�a do script :)
* Corre��o na p�gina FriendsList.aspx (retirado links desnecess�rios no menu da esquerda)
* Corre��es extendidas � p�gina dos "amigos".
* Explicado em detalhes a origem desse script.
* Cor marrom para mensagem, default 3 links por saber que boa parte nunca vai editar isso...
* Corre��o do excesso (foto/texto) dos links na pg do perfil.
* Melhoria no Estilo (sem sublinhado, colorido, etc...)
* Corre��o do problema na exibi��o da p�gina de Perfis de terceiros.
* Otimiza��es na exibi��o dos links (textos ou figuras dependendo da pg)
* Foi corrigida a duplicidade dos links nos posts dos f�runs e na p�gina de recados.
* Adicionados alguns preventivos para a multiplica��o dos links em geral (em teste). Se ocorrer, tecle F5.
* Suporte bil�ng�e: [R] de Recados para portugu�s e [S] de Scrap para os demais idiomas.
*
* http://sitedosergio.sitesbr.net/
*
*/crapLinks();