var ns6=document.getElementById&&!document.all;
+function CtdlRandomString() {
+ return((Math.random()+'').substr(3));
+}
+
+
// We love string tokenizers.
function extract_token(source_string, token_num, delimiter) {
//
function add_new_note() {
- new_eid = Math.random() + '';
- new_eid = new_eid.substr(3);
+ new_eid = CtdlRandomString();
$('new_notes_here').innerHTML = $('new_notes_here').innerHTML
+ '<IMG ALIGN=MIDDLE src=\"static/storenotes_48x.gif\">'
floatwindow("headerscreen","pre",customnav);
rawSwitch822(msgnum);
}
+
function rawSwitch822(msgnum) {
CtdlLoadScreen("headerscreen");
new Ajax.Updater("headerscreen",
{ method: 'post',parameters: 'g_cmd=MSG2 ' +msgnum } );
}
+
function rawSwitchCitadel(msgnum) {
CtdlLoadScreen("headerscreen");
new Ajax.Updater("headerscreen",
{ method: 'post',parameters: 'g_cmd=MSG0 ' +msgnum } );
}
+
function floatwindow(newdivid,contentelementtype,customnav) {
var windiv = document.createElement("div");
windiv.setAttribute("class","floatwindow");
var elem = document.getElementById(elementid);
elem.innerHTML = "<div align=center><br><table border=0 cellpadding=10 bgcolor=\"#ffffff\"><tr><td><img src=\"static/throbber.gif\" /><font color=\"#AAAAAA\"> Loading....</font></td></tr></table><br /></div>";
}
+
+
// Show info for a user, basically replaces showuser()
// matt@comalies is to blame for this poorly coded masterpiece.
function CtdlShowUserInfoPopup(Element) {
-try {
-// hopefully no one needs to use the class attribute... could be better done
-// with xmlns though..
-var user = Element.getAttribute("class");
-var updname = "biospace_"+user;
-if (document.getElementById(updname) == null) {
-// insert a space for the bio
-var pNode = Element.parentNode;
-var newdiv = document.createElement("div");
-newdiv.id = updname;
-newdiv.innerHTML = "Getting user info....";
-pNode.appendChild(newdiv);
-CtdlLoadScreen(updname);
-new Ajax.Updater(updname, 'showuser_ajax?who='+user, { method: 'get' } );
-}
-}
-catch(err){
-return true;
-}
-return false;
+ try {
+ // hopefully no one needs to use the class attribute... could be better done
+ // with xmlns though..
+ var user = Element.getAttribute("class");
+ var updname = "biospace_"+user;
+ if (document.getElementById(updname) == null) {
+ // insert a space for the bio
+ var pNode = Element.parentNode;
+ var newdiv = document.createElement("div");
+ newdiv.id = updname;
+ newdiv.innerHTML = "Getting user info....";
+ pNode.appendChild(newdiv);
+ CtdlLoadScreen(updname);
+ new Ajax.Updater(updname, 'showuser_ajax?who='+user, { method: 'get' } );
+ }
+ }
+ catch(err) {
+ return true;
+ }
+ return false;
+}
+
+
+
+// Pop open the address book (target_input is the INPUT field to populate)
+
+function PopOpenAddressBook(target_input) {
+ $('address_book_popup').style.display = 'block';
+ p = 'target_input=' + target_input + '&r=' + CtdlRandomString();
+ new Ajax.Updater(
+ 'address_book_popup_middle_div',
+ 'display_address_book_middle_div',
+ {
+ method: 'get',
+ parameters: p,
+ evalScripts: true
+ }
+ );
+ Nifty('div#address_book_popup_container_div','big transparent');
+}
+
+function PopulateAddressBookInnerDiv(which_addr_book, target_input) {
+ $('address_book_inner_div').innerHTML = "<div align=center><br><table border=0 cellpadding=10 bgcolor=\"#ffffff\"><tr><td><img src=\"static/throbber.gif\" /><font color=\"#AAAAAA\"> Loading....</font></td></tr></table><br /></div>";
+ p = 'which_addr_book=' + which_addr_book
+ + '&target_input=' + target_input
+ + '&r=' + CtdlRandomString();
+ new Ajax.Updater(
+ 'address_book_inner_div',
+ 'display_address_book_inner_div',
+ {
+ method: 'get',
+ parameters: p
+ }
+ );
+}
+
+// What happens when a contact is selected from the address book popup
+// (populate the specified target)
+
+function AddContactsToTarget(target, whichaddr) {
+ while (whichaddr.selectedIndex != -1) {
+ if (target.value.length > 0) {
+ target.value = target.value + ', ';
+ }
+ target.value = target.value + whichaddr.value;
+ whichaddr.options[whichaddr.selectedIndex].selected = false;
+ }
}