User:Vigyani/scripts/INBTalkbackLink.js

function tINBTalkbackLink() {

if($("#mw-content-text").length > 0) {

var $nodeList = $('a[title^="User talk:"]'), pdne = ' (page does not exist)';

if($nodeList !== null) {

var i;

for( i = 0; i < $nodeList.length; i++) {

var $link = $($nodeList[i]);

$newLink = $('TB');

$newLink.click(function(e) {

talkbackSubmit2($(this).attr('href').substr(1), this.id)

});

$($link).after($newLink);

}

}

$('a[title="Send a talkback!"]').tipsy({html: true}).before("|").after("|");

}

}

function talkbackSubmit2(page, id) {

var questionTitle2 = prompt("Please enter the title of the section (or just leave it blank):", ""), sectionTitle = "{{Template:WikiProject India talkback|";

if (questionTitle2 === null) {

$("#"+id).attr("title", 'You canceled the talkback!').tipsy("show");

return;

}

else if (questionTitle2 === "") {

sectionTitle += "ts=~~" + "~~}}";

}

else {

sectionTitle += questionTitle2 + "|ts=~~" + "~~}}";

}

var data = {

format : 'json',

action : 'edit',

minor : false,

title : page,

text : sectionTitle,

section : 'new',

summary : "WikiProject India talkback: you've got messages!",

token : mw.user.tokens.get('editToken')

};

$.ajax({

url : mw.util.wikiScript('api'),

type : 'POST',

dataType : 'json',

data : data,

success : function(data) {

if(data && data.edit && data.edit.result && data.edit.result === 'Success') {

//window.location = mw.util.getUrl(page);

alert("Talkback posted!");

} else {

$("#"+id).attr("title", 'There was an error requesting the page edit. Code: ' + data.error.code + '": ' + data.error.info).tipsy("show");

}

},

error : function() {

$("#"+id).attr("title", 'There was an error using AJAX to edit the page.').tipsy("show");

}

});

}

if(mw.config.get('wgPageName') === "Wikipedia talk:Noticeboard for India-related topics") {

mw.loader.using( 'jquery.tipsy', function () { $(tINBTalkbackLink); } );}