rendered paste body
/*
* myqna - tektek.org GaiaOnline Toolbar
*
* Copyright (c) 2007 tektek Foundation
* GaiaOnline content (c) Copyright 2003-2007 Gaia Interactive
*/
/*---------------
INIT FUNCTIONS
----*/
var myqnaPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("myqna.");
try{ var searchquotes = myqnaPrefs.getCharPref("searchquotes");
}catch (e){ myqnaPrefs.setCharPref("searchquotes", "Y");
}
try{myqnaPrefs.getIntPref("autoformat_messages");}catch(e){myqnaPrefs.setIntPref("autoformat_messages", 0);}
try{myqnaPrefs.getIntPref("autoformat_guilds");}catch(e){myqnaPrefs.setIntPref("autoformat_guilds", 0);}
try{myqnaPrefs.getIntPref("autoformat_pms");}catch(e){myqnaPrefs.setIntPref("autoformat_pms", 0);}
try{myqnaPrefs.getIntPref("autoformat_comments");}catch(e){myqnaPrefs.setIntPref("autoformat_comments", 0);}
try{myqnaPrefs.getIntPref("Formatstyle");}catch(e){myqnaPrefs.setIntPref("Formatstyle", 0);}
try{myqnaPrefs.getIntPref("Format2style");}catch(e){myqnaPrefs.setIntPref("Format2style", 0);}
try{myqnaPrefs.getIntPref("Format3style");}catch(e){myqnaPrefs.setIntPref("Format3style", 0);}
try{myqnaPrefs.getIntPref("gaiaForgetMail");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetMail", 0);}
try{myqnaPrefs.getIntPref("gaiaForgetComments");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetComments", 0);}
try{myqnaPrefs.getIntPref("gaiaForgetJournals");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetJournals", 0);}
try{myqnaPrefs.getIntPref("gaiaForgetSubscriptions");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetSubscriptions", 1);}
try{
myqnaPrefs.getCharPref("Formatbegin");
myqnaPrefs.getCharPref("Formatend");
}
catch(Exception){
myqnaPrefs.setCharPref("Formatbegin", "[color=red]Text to go before each message\n");
myqnaPrefs.setCharPref("Formatend", "Text at the end of each message[/color]\n");
}
try{
myqnaPrefs.getCharPref("Format2begin");
myqnaPrefs.getCharPref("Format2end");
}
catch(Exception){
myqnaPrefs.setCharPref("Format2begin", "[b]");
myqnaPrefs.setCharPref("Format2end", "[/b]\n");
}
try{
myqnaPrefs.getCharPref("Format3begin");
myqnaPrefs.getCharPref("Format3end");
}
catch(Exception){
myqnaPrefs.setCharPref("Format3begin", "[size=9]\n");
myqnaPrefs.setCharPref("Format3end", "[/size]");
}
try{
myqnaPrefs.getCharPref("MyLinksList");
}
catch(Exception){
myqnaPrefs.setCharPref("MyLinksList", "");
}
try{ var searchquotes = myqnaPrefs.getIntPref("rightclick_menu");
}catch (e){ myqnaPrefs.setIntPref("rightclick_menu", 0);
}
function toolbarLoad()
{
var myqnaPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("myqna.");
var toolbar = document.getElementById("myqnaXULToolbar");
if(myqnaPrefs.prefHasUserValue("display_self"))
{
if (myqnaPrefs.getBoolPref("display_self"))
toolbar.setAttribute("collapsed", false);
else
toolbar.setAttribute("collapsed", true);
}
else
{
myqnaPrefs.setBoolPref("display_self", true);
toolbar.setAttribute("collapsed", false);
}
try
{
if (myqnaPrefs.getCharPref("MyLinksList"))
if (myqnaPrefs.getCharPref("MyLinksList").length > 5)
{
document.getElementById("myqna_tmenu_mylinks").setAttribute("hidden", "false");
}
}
catch(e){}
}
function toolbarUnload()
{
var myqnaPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("myqna.");
var toolbar = document.getElementById("myqnaXULToolbar");
if(toolbar.collapsed)
myqnaPrefs.setBoolPref("display_self", false);
else
myqnaPrefs.setBoolPref("display_self", true);
}
// dear lord...
// to-do: clean
function myqnaFetch(x)
{
try
{
var myqnaQuery = new XMLHttpRequest();
myqnaQuery.addr = x+'';
myqnaQuery.open('get', x+'', true);
myqnaQuery.onreadystatechange = function() {
if (myqnaQuery.readyState == 4)
{
if (myqnaQuery.status == 200)
{
var myqnaPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("myqna.");
var data = myqnaQuery.responseText;
if (data.indexOf('<input type="checkbox" id="autologin" name="autologin" />') == -1)
{
if (myqnaQuery.addr == addressMail && data.indexOf('<span class="postdetails">') > 0)
{
try{myqnaPrefs.getCharPref("gaiaFetchMail");}catch(Exception){myqnaPrefs.setCharPref("gaiaFetchMail", "");}
data = data.substr(data.indexOf('<span class="postdetails">') + 26, 30);
data = data.substr(0, data.indexOf('<'));
data = escape(data);
if (myqnaPrefs.getCharPref("gaiaFetchMail") != '' && myqnaPrefs.getCharPref("gaiaFetchMail") != data)
{
document.getElementById("myqna_tmenu_mygaia").style.listStyleImage = "url(chrome://myqna/skin/newpm.png)";
document.getElementById("myqna_tmenu_mygaia_mail").style.listStyleImage = "url(chrome://myqna/skin/newpm.png)";
document.getElementById('myqna_tmenu_mygaia_mail').label = 'Mail (new)';
}
myqnaPrefs.setCharPref("gaiaFetchMail", data);
}
if (myqnaQuery.addr == addressComments && data.indexOf('<p class="date">') > 0)
{
try{myqnaPrefs.getCharPref("gaiaFetchComments");}catch(Exception){myqnaPrefs.setCharPref("gaiaFetchComments", "");}
data = data.substr(data.indexOf('<p class="date">') + 16, 30);
data = data.substr(0, data.indexOf('<'));
data = escape(data);
if (myqnaPrefs.getCharPref("gaiaFetchComments") != '' && myqnaPrefs.getCharPref("gaiaFetchComments") != data)
{
document.getElementById("myqna_tmenu_mygaia").style.listStyleImage = "url(chrome://myqna/skin/new.png)";
document.getElementById("myqna_tmenu_mygaia_comments").style.listStyleImage = "url(chrome://myqna/skin/new.png)";
document.getElementById('myqna_tmenu_mygaia_comments').label = 'Profile Comments (new)';
}
myqnaPrefs.setCharPref("gaiaFetchComments", data);
}
if (myqnaQuery.addr == addressJournals && data.indexOf('<span class="postdetails">') > 0)
{
try{myqnaPrefs.getCharPref("gaiaFetchJournals");}catch(Exception){myqnaPrefs.setCharPref("gaiaFetchJournals", "");}
data = data.substr(data.indexOf('<span class="postdetails">') + 26, 40);
data = data.substr(0, data.indexOf('<'));
data = escape(data);
if (myqnaPrefs.getCharPref("gaiaFetchJournals") != '' && myqnaPrefs.getCharPref("gaiaFetchJournals") != data)
{
document.getElementById("myqna_tmenu_mygaia").style.listStyleImage = "url(chrome://myqna/skin/new.png)";
document.getElementById("myqna_tmenu_mygaia_journals").style.listStyleImage = "url(chrome://myqna/skin/new.png)";
document.getElementById('myqna_tmenu_mygaia_journals').label = 'Subscribed Journals (new)';
}
myqnaPrefs.setCharPref("gaiaFetchJournals", data);
}
if (myqnaQuery.addr == addressSubscriptions && data.indexOf('btn-unsubscribe') > 0)
{
try{myqnaPrefs.getCharPref("gaiaFetchSubscriptions");}catch(Exception){myqnaPrefs.setCharPref("gaiaFetchSubscriptions", "");}
var fulldata = data.substr(data.indexOf('btn-unsubscribe'));
fulldata = fulldata.substr(fulldata.indexOf('<tr') + 3);
fulldata = fulldata.substr(0, fulldata.indexOf('</table>'));
data = data.substr(data.indexOf('<td class="lastupdated">') + 24);
data = data.substr(0, data.indexOf('<'));
data = trim(data);
data = escape(data);
if (fulldata.indexOf('<tr') > 0)
{
var menu = document.getElementById("myqna-forum-subscriptions");
for (var i = menu.childNodes.length - 1; i >= 0; i--)
{
menu.removeChild(menu.childNodes.item(i));
}
var subthreads = new Array();
subthreads = fulldata.split('<tr');
if (subthreads.length > 10)
subthreads.length = 10;
for (var i = 0; i < subthreads.length; i++)
{
var subthread_title = subthreads[i].substr(subthreads[i].indexOf('title="') + 7)
subthread_title = subthread_title.substr(0, subthread_title.indexOf('"'));
subthread_title = unescape(subthread_title);
subthread_title = subthread_title.replace(''', "'");
if (subthread_title.length > 25)
subthread_title = subthread_title.substr(0, 25) + '...';
var subthread_date = subthreads[i].substr(subthreads[i].indexOf('<td class="lastupdated">') + 25);
subthread_date = subthread_date.substr(1, subthread_date.indexOf('<') - 1);
subthread_date = trim(subthread_date);
var subthread_by = subthreads[i].substr(subthreads[i].lastIndexOf('<a href="/prof') + 14);
var subthread_by = subthread_by.substr(subthread_by.indexOf('>') + 1);
var subthread_by = subthread_by.substr(0, subthread_by.indexOf('<'));
if (subthread_by.length > 15)
subthread_by = subthread_by.substr(0, 15) + '...';
var subthread_label = subthread_title + ' (' + subthread_date + ' by ' + subthread_by + ')';
var subthread_url = subthreads[i].substr(subthreads[i].lastIndexOf('<a class="gotolastpost" href="') + 30);
subthread_url = subthread_url.substr(0, subthread_url.indexOf('"'));
subthread_url = 'http://www.gaiaonline.com' + subthread_url;
tempItem = document.createElement("menuitem");
tempItem.setAttribute("label", subthread_label);
tempItem.setAttribute("tooltiptext", subthread_label);
tempItem.setAttribute("onclick","myqnaURL('"+escape(subthread_url)+"',event);");
//tempItem.setAttribute("onclick","alert("+subthread_url+");");
tempItem.setAttribute("class","menuitem-iconic");
menu.appendChild(tempItem);
}
}
try{myqnaPrefs.getIntPref("gaiaForgetSubscriptions");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetSubscriptions", 1);}
if (myqnaPrefs.getIntPref("gaiaForgetSubscriptions") == 0)
{
if (myqnaPrefs.getCharPref("gaiaFetchSubscriptions") != '' && myqnaPrefs.getCharPref("gaiaFetchSubscriptions") != data)
{
document.getElementById("myqna_tmenu_mygaia").style.listStyleImage = "url(chrome://myqna/skin/new.png)";
document.getElementById("myqna_tmenu_mygaia_threads").style.listStyleImage = "url(chrome://myqna/skin/new.png)";
document.getElementById('myqna_tmenu_mygaia_threads').label = 'Subscribed Threads (new)';
}
}
myqnaPrefs.setCharPref("gaiaFetchSubscriptions", data);
}
}
try
{
myqnaQuery.responseText = "";
data = "";
fulldata = "";
delete myqnaQuery;
delete data;
}
catch(e){}
}
else
{
try
{
myqnaQuery.responseText = "";
data = "";
delete myqnaQuery;
delete data;
}
catch(e){}
}
}
};
myqnaQuery.send(null);
}
catch(e)
{
try
{
myqnaQuery.responseText = "";
data = "";
delete myqnaQuery;
delete data;
}
catch(e){}
}
}
// en taro tassadar
var addressMail = 'http://www.gaiaonline.com/profile/privmsg.php';
var addressComments = 'http://www.gaiaonline.com/profiles/?mode=comments';
var addressJournals = 'http://www.gaiaonline.com/journal/journal.php?mode=list&sub_mode=subscription';
var addressSubscriptions = 'http://www.gaiaonline.com/forum/subscription';
function myqna_getMail()
{
var myqnaPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("myqna.");
try{myqnaPrefs.getIntPref("gaiaForgetMail");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetMail", 0);}
if (myqnaPrefs.getIntPref("gaiaForgetMail") == 0)
{
myqnaFetch(addressMail);
setTimeout('myqna_getMail()', getTimeLapse());
}
}
function myqna_getComments()
{
var myqnaPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("myqna.");
try{myqnaPrefs.getIntPref("gaiaForgetComments");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetComments", 0);}
if (myqnaPrefs.getIntPref("gaiaForgetComments") == 0)
{
myqnaFetch(addressComments);
setTimeout('myqna_getComments()', getTimeLapse());
}
}
function myqna_getJournals()
{
var myqnaPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("myqna.");
try{myqnaPrefs.getIntPref("gaiaForgetJournals");}catch(Exception){myqnaPrefs.setIntPref("gaiaForgetJournals", 0);}
if (myqnaPrefs.getIntPref("gaiaForgetJournals") == 0)
{
myqnaFetch(addressJournals);
setTimeout('myqna_getJournals()', getTimeLapse());
}
}
function myqna_getSubscriptions()
{
myqnaFetch(addressSubscriptions);
setTimeout('myqna_getSubscriptions()', getTimeLapse());
}
function delayed_GlobalInit()
{
setTimeout('myqna_getMail()', 6500);
setTimeout('myqna_getComments()', 10500);
setTimeout('myqna_getJournals()', 15500);
setTimeout('myqna_getSubscriptions()', 20500);
}
function getTimeLapse()
{
return ( Math.ceil ( 180 * Math.random() ) + 450 ) * 1000;
}
//-------------
setTimeout('delayed_GlobalInit()', 2000);