// ==UserScript==
// @name Send scrap to all
// @author Rodrigo/nobody
// @provided by http://www.orkut.com
// @description It sends scrap to all of your friends at once..
// @include *.orkut.com/Scrap.aspx*
// ==/UserScript==





function fwScrap() {
document.title = "Orkut - Scrap all Friends";

function createXMLHttpRequest() {
try {
return new XMLHttpRequest;
} catch (e) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Its navigating n \ xE3o possesss support \ xE0 technology AJAX!");
return false;
}
}
}
}


function getPostSig(exc) {
var xml = createXMLHttpRequest();
xml.open("GET", "/Scrapbook.aspx", true);
xml.onreadystatechange = function () {if (xml.readyState == 4) {var xmlr = xml.responseText;POST = xmlr.match(/name="post_token" value="([^"]+)/i);SIG = xmlr.match(/name="signature" value="([^"]+)/i);document.getElementsByTagName("input").POST_TOKEN.value = POST[1];document.getElementsByTagName("input").signature.value = SIG[1];eval(exc);}};
xml.send(null);
}


function loadFriends() {
var xml = createXMLHttpRequest();
xml.open("GET", "/Compose.aspx", true);
xml.onreadystatechange = function ()
{
if (xml.readyState == 4) {
var xmlr = xml.responseText;
POST = xmlr.match(/name="post_token" value="([^"]+)/i);
SIG = xmlr.match(/name="signature" value="([^"]+)/i);
document.getElementsByTagName("input").POST_TOKEN.value = POST[1];
document.getElementsByTagName("input").signature.value = SIG[1];
var div = document.createElement("div");
div.innerHTML = xmlr;
// testing: Start
// txtarea = document.getElementById("body");
// txtarea.value = 'out'+xmlr+' ba';
// alert(xmlr);
// testing: End


for (var x = 0; x < div.getElementsByTagName("select").length; x++) { if (div.getElementsByTagName("select")[x].getAttribute("name") == "oneFriend") { var select = div.getElementsByTagName("select")[x].cloneNode(true); globalSelect = select; break; } } // select box: Start var strContent = ""; for(var i=0;i" + globalSelect[i].text + "";
}
}

var selectHtml = "";
//alert(selectHtml);
document.getElementById("friendListSelector").innerHTML = selectHtml;
document.getElementById("selectFewFriends").setAttribute("onchange", "document.getElementsByTagName('input')['selectFriendsRadio'].checked=true");
// select box: End

select.setAttribute("onchange", "document.getElementsByTagName('input')['oneFriendRadio'].checked=true");

document.getElementById("friendSelector").innerHTML = "";
document.getElementById("friendSelector").appendChild(select);
document.getElementById("focus").style.display = "none";
document.getElementById("divLoad").style.display = "none";
}
};
xml.send(null);
}


function wait() {
antiF = 1;
showTime();
}


function isSelected(userId) {
//alert(userId);
selRef = document.getElementById("selectFewFriends");
//alert(selRef);
//alert(selRef.options.length);
for (var i=0; i < selRef.options.length;i++) { if (selRef.options[i].selected) { //alert(selRef.options[i].value); if(selRef.options[i].value==userId) return true; } } return false; } function isAtLeastOneSelected() { selRef = document.getElementById("selectFewFriends"); for (var i=0; i < selRef.options.length;i++) { if (selRef.options[i].selected) { return true; } } return false; } function showTime() { if (timeWait > 0) {
document.getElementById("status").innerHTML = "" + timeWait + " minute (s) to finish the Anti-Filter pause ";
timeWait--;
setTimeout("showTime()", 60000);
} else {
timeWait = 20;
index++;
getPostSig("sendScrap()");
}
}

antiF = 1;
index = 1;
timeWait = 20;
nscraps = 0;
nCounter=0;
nLoop=0;

function sendScrap() {

if (document.getElementById("oneFriendRadio").checked &&
!globalSelect.value) {
alert("choose one friend");
return false;
}
// friend select: Start

var listSelect = document.getElementById("selectFewFriends");
if (document.getElementById("selectFriendsRadio").checked &&
!isAtLeastOneSelected()) {
alert("select friend");
return false;
}

// friend select: End
if (!document.getElementById("body").value) {
alert("write scrap");
return false;
}

if(index==1 && nCounter==0) {
try {
nLoop=parseInt(document.getElementById("nTimes").value);
if(nLoop > 1) {
alert("same scraps will be send multiple times");
}
nCounter=nLoop;
}
catch(err) {
alert("Invalid no:of scraps");
}

alert("Click OK to start sending");
}

if (index == globalSelect.length) {
alert("Scrap sent");
return;
}
var name = "";
var primeiro = [];
var pattern = 0;
primeiro = document.getElementById("oneFriendRadio").checked ?
globalSelect[globalSelect.selectedIndex].text.split(" ")
: globalSelect[index].text.split(" ");

// multiple selection: Start
var isRequired=true;
if (document.getElementById("selectFriendsRadio").checked) {
//alert("reached here");
if(!isSelected(globalSelect[index].value)) {
isRequired=false;
}
}

if(!isRequired) {
// skip this friend
index++;
setTimeout("sendScrap()", 10);
return;
}
nscraps++;
// multiple selection: End

//alert("sending scrap to: "+primeiro[0]);

name = primeiro[0];
pattern = name.match(/[a-zA-Z]+/);
y = 1;
while (!pattern && primeiro.length > y) {
pattern = primeiro[y].match(/[a-zA-Z]+/);
if (pattern) {
name = primeiro[y];
}
pattern = name.match(/[a-zA-Z]+/);
y++;
}var scrapText = document.getElementById("body").value.replace(/%NAME%/g, name).replace(/\[(\/)?link\]/g, "") + "\n\n\n[red]\n\n\n [link=http://www.orkut.com/CommunityJoin.aspx?cmm=96372322 ]To scrap all your friends at once, join www.yourscraps.blogspot.com![/link]";


var send = document.getElementById("oneFriendRadio").checked ?
"POST_TOKEN=" + encodeURIComponent(document.getElementsByTagName("input").POST_TOKEN.value) + "&signature=" + encodeURIComponent(document.getElementsByTagName("input").signature.value) + "&scrapText=" + encodeURIComponent(scrapText) + "&toUserId=" + globalSelect.value + "&Action.submit="
:
"POST_TOKEN=" + encodeURIComponent(document.getElementsByTagName("input").POST_TOKEN.value) + "&signature=" + encodeURIComponent(document.getElementsByTagName("input").signature.value) + "&scrapText=" + encodeURIComponent(scrapText) + "&toUserId=" + globalSelect[index].value + "&Action.submit=";
var xml = createXMLHttpRequest();
xml.open("POST", "/Scrapbook.aspx", true);
xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
xml.send(send);
xml.onreadystatechange = function () {
if (xml.readyState == 4) {
if (xml.status != 200) {
setTimeout("sendScrap()", 500);
return;
}
document.getElementById("sendedScraps").innerHTML += sendedScrap(name, nscraps % 2);
document.getElementById("counterScraps").innerHTML = nscraps;
if (document.getElementById("oneFriendRadio").checked) {
alert("Scrap sent!");
return;
}
if (antiF < 450) { antiF++; if(nCounter==1) { index++; nCounter=nLoop; } else { nCounter--; } setTimeout("sendScrap()", 1200); } else { wait(); } } }; } function sendedScrap(name, n) { var span = n ? "" + name + "" : "" + name + "";
return span;
}


function insertName() {
txtarea = document.getElementById("body");
txtst = txtarea.scrollTop;
txtsl = txtarea.scrollLeft;
selLength = txtarea.textLength;
selStart = txtarea.selectionStart;
selEnd = txtarea.selectionEnd;
s1 = txtarea.value.substring(0, selStart);
s2 = txtarea.value.substring(selStart, selEnd);
s3 = txtarea.value.substring(selEnd, selLength);
txtarea.value = s1 + " %NAME% " + s2 + s3;
txtarea.selectionStart = selStart + 10;
txtarea.selectionEnd = selStart + 8 + s2.length;
txtarea.focus();
txtarea.scrollTop = txtst;
txtarea.scrollLeft = txtsl;
}

link = document.createElement("link");
link.href = "http://img3.orkut.com/img/i_scrap.gif";
link.rel = "SHORTCUT ICON";
link.type = "image/x-icon";
style = document.createElement("style");
style.textContent = "\n span.row1 {\n background-color: #BFD0EA;\n display: block;\n margin-left: 5px;\n }\n span.row0{\n background-color: #C9D6EB;\n display: block;\n margin-left: 5px;\n }\n\n #focus{\n position:fixed; \n width:100%; \n background:red; \n height: 100%; \n z-index: 1; \n left: 0; \n top: 0; \n opacity:.5; \n background-color: #000000;\n }\n #divLoad{\n position:fixed;\n background:#E5ECF4; \n z-index: 2; \n padding:5px; \n border:solid #BFD0EA 2px;\n left:40%; \n top:150px;\n }";
document.getElementsByTagName("head")[0].appendChild(style);
document.getElementsByTagName("head")[0].appendChild(link);
img_load = "http://sendscraptoall.googlepages.com/orkutcarregando1zx5.gif";
layout = " Send scrap to all" + "

" + " " + " " + " " + "
" + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + "
" + " write scrap" + " " +
"
" +
"    " + "
" +
" " + " " + " " + " " + " " +

/*" " +*/


" " +
" " + " " + " " +
" " + " " + " " + " " +
" " + " " + " " + "
" +
" Send to: " + "
" +
" :   " +
"
" +

"

" +
"

" +

" " +

"

No: of times to send the scrap: " + "
" + " Message: " +
"
" + " " +
" Text contains 0 characters (Text contains 0 characters (maximum 810 characters without tags HTML & DONOT SEND SAME SCRAP TO FRIENDS MORE THAN 280 AT THE SAME TIME also rodrigo/nobody created this script)" +
"
" +
" \"\"" +
" " + " " + " " + " " + " " + "
" +
" " + " " + " " + " " + " " + " " + "
" +
" \"\"" +
"
" +
" Send scrap(s)" + "
" + " \"\"" + "
" + "
" +
" " + " " + " " + " " + " " + " " + "
" +
" \"\"" + "
" + " insert name" +
"
" + " \"\"" +
"
" +
"
" +
"
" + "
" + "  " + " " +
" " + " " + " " + " " + " " + " " + " " + "
" + " scraps sent: (0) recipients" +
"
" +
" " + " " + " " + " " + "
" +
" " + " " + " " + " " + "
" +
"
" +
" " + "
" + "
" +
"
" + "
" + "
" + "
" +
"
" + "
"
+
"

Home"
;
document.body.innerHTML = layout;
var focus = document.createElement("span");
focus.id = "focus";
focus.style.display = "inline";
document.body.appendChild(focus);
var divLoad = document.createElement("div");
divLoad.id = "divLoad";
divLoad.style.display = "inline";
divLoad.innerHTML = " " + "Loading...";
document.body.appendChild(divLoad);
loadFriends();
}

sc = String(fwScrap);
sc = sc.substring(21, sc.length - 2);
script = document.createElement("script");
if (typeof document.all) {
script.text = sc;
} else {
script.textContent = sc;
}
document.getElementsByTagName("head")[0].appendChild(script)