String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };
function trim(str) {
return str.trim();
}
function strip_special_chars(str) {
return str.replace(/[^a-zA-Z0-9\-]+/g,'');
}
function update_user_box(src) {
if (once || isLoggedIn) return;
if (src!=1) {
var user_box = document.getElementById("authDiv");
user_box.innerHTML =
"
";
}
FB.XFBML.Host.parseDomTree();//this line parses the fbml. remove this & fbml dont exec
var setSrcFunc = function(result,exception) {
if (src == null) src = 0;
getInfo(result, exception, src);
}
fb_api.users_getInfo(fb_api.get_session().uid, ['first_name','last_name','name','sex','pic_small','timezone', 'proxied_email', 'profile_url', 'pic'], setSrcFunc);
fb_api.users_hasAppPermission('email', function(result) {
if (result == 0) {
FB.Connect.showPermissionDialog('email');
} else {}
});
}
function getInfo(result,exception,src) {
if (!once) {
fb_login(fb_api.get_session().uid, result[0].first_name, result[0].sex.substring(0,1).toUpperCase(), result[0].profile_url, result[0].proxied_email, result[0].pic, src);
once = true;
}
}
function fb_login(fb_id, fb_display_name, fb_gender, fb_url, fb_email, fb_pic, src) {
var sUrl = BASE_URL + 'm=getUserByFBId&web=1&fbid=' + fb_id + '&displayName=' + fb_display_name + '&gender=' + fb_gender + '&fbUrl=' + fb_url
+ '&uid=' + getUID() + '&email='+urlencode(fb_email) + '&picurl=' + fb_pic;
var objInfo;
var callback = {
success: function(o) {
isLoggedIn = true;
var exdate=new Date();
if (expiredays==null)
exdate.setDate(exdate.getDate()+30);
else
exdate.setDate(exdate.getDate()+expiredays);
set_cookie("spidrfbid", fb_id, exdate.toGMTString());
if (src==1)
window.location = 'weblist.php';
else if (src!=3){
joeInfo = eval('YAHOO.lang.JSON.parse(o.responseText).getUserByFBId');
isLoggedIn = true;
Dom.get("signupLink").style.display='none';
Dom.get("settingsLink").style.display='block';
addUidToSess();
fetchPals();
fetchFavs(true);
initInit();
}
},
failure: function(o) {setStatus('the Spidr server is acting weird, please try again. Sorry about this :( .');},
argument: {}
}
var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, null);
}
function formatDate(spidrDate) {
var dateTimeItems = spidrDate.split(" ");
var dateStr = dateTimeItems[0];
var timeStr = dateTimeItems[1];
var dateItems = dateStr.split("-");
var timeItems = timeStr.split(":");
var localDate = new Date();
var localOffset = localDate.getTimezoneOffset();
var mins = parseInt(timeItems[1]) + (localOffset - 480)/60;//480 = PST offset
var d = new Date();
d.setYear(dateItems[0]);
d.setMonth(dateItems[1]-1);
d.setDate(dateItems[2]);
d.setHours(timeItems[0]);
d.setMinutes(mins);
d.setSeconds(timeItems[2]);
return d;
}
function getReadableFormat(aDate, format) {
var d = new Date();
var newFormat = format;
var one_day = 1000*60*60*24;
var diff = (d.getTime()-aDate.getTime())/(one_day);
if (diff <= 1) {
if (aDate.getDate()==d.getDate()) {
newFormat = newFormat.replace(/"on" ddd, mmm dS/, '"Today"');
} else {
newFormat = newFormat.replace(/"on" ddd, mmm dS/, '"Yesterday"');
}
}
return newFormat;
}
function setStatus(status, loading, stype) {
if (stype!=2)
document.getElementById('theStatus').className = 'statusDiv';
else
document.getElementById('theStatus').className = "errorDiv";
Dom.get('theStatus').style.visibility = 'visible';
Dom.get('clearBar').style.visibility = 'visible';
if (loading==null || !loading) {
Dom.get('theStatus').innerHTML = status;
} else if (loading){
Dom.get('loadingBar').style.visibility = 'visible';
Dom.get('theStatus').innerHTML = ' '+status;
}
var t = YAHOO.lang.later(30000, null, clearStatus, null, true);
}
function clearStatus() {
Dom.get('theStatus').innerHTML = '';
Dom.get('loadingBar').style.visibility = 'hidden';
Dom.get('theStatus').style.visibility = 'hidden';
Dom.get('clearBar').style.visibility = 'hidden';
}
function getSpidrTime() {
var currentTime = new Date();
var sep = '-';
var time = currentTime.getFullYear() + sep + (currentTime.getMonth() + 1) + sep + currentTime.getDate() + sep +
currentTime.getHours() + sep + currentTime.getMinutes() + sep + currentTime.getSeconds();
return time;
}
function fbs_click(url, t) {
var zurl = 'http://www.facebook.com/sharer.php?t='+encodeURIComponent(t) + '&u='+encodeURIComponent(url);
alert(zurl);
window.open(zurl,'sharer','toolbar=0,status=0,width=626,height=436');
return false;
}
function GetThis(T, C, U, L) {
var targetUrl = 'http://www.myspace.com/index.cfm?fuseaction=postto&' + 't=' + encodeURIComponent(T)
+ '&c=' + encodeURIComponent(C) + '&u=' + encodeURIComponent(U) + '&l=' + L;
window.open(targetUrl);
}
function delicious(url, title) {
window.open('http://del.icio.us/post?v=2&url='+encodeURIComponent(url)+'&title='+encodeURIComponent(title));
}
function stumbleUpon(url, title) {
window.open('http://www.stumbleupon.com/submit?url='+encodeURIComponent(url)+'&title='+encodeURIComponent(title));
}
function mixx(url) {
window.open('http://www.mixx.com/submit?page_url='+url);
return false;
}
function sharewebOnFB (wname, wurl, wpicurl) {
var comment_data = {'web':wname, 'wurl': wurl, "images":[{'src': wpicurl, 'href': wurl},{'src': 'http://ispidr.com/i/spidr-s.gif', 'href': 'http://ispidr.com'}]};
FB.Connect.showFeedDialog(134399992392, comment_data, null, null, null, FB.RequireConnect.promptConnect);
return false;
}
function sharenewebOnFB (wname, wurl, wpicurl) {
var comment_data = {'web':wname, 'wurl': wurl, "images":[{'src': wpicurl, 'href': wurl},{'src': 'http://ispidr.com/i/spidr-s.gif', 'href': 'http://ispidr.com'}]};
FB.Connect.showFeedDialog(134399992392, comment_data, null, null, null, FB.RequireConnect.promptConnect);
return false;
}
var postMsgOnFB = function(msgId) {
setStatus('Launching facebook share..');
var postUrl = BASE_URL + 'm=getMsg&web=1&uid='+getUID()+'&msgId='+msgId;
var loader = new YAHOO.util.YUILoader({require: ["connection","json"], loadOptional: true, timeout: 10000, combine: true,
onSuccess: function() {
var callback = {
success: function(o) {
var objInfo = YAHOO.lang.JSON.parse(o.responseText);
var wurl = "http://ispidr.com/web/"+objInfo.getMsg.zoneUrl;
if (objInfo.getMsg.msgPicId >0) {
var comment_data = {"web":objInfo.getMsg.zoneDisplayName, "creator": objInfo.getMsg.userDisplayName, "post":objInfo.getMsg.messageText, "wurl" : wurl,
"images":[{'src': "http://ispidr.com/service/viewImgForWeb?wid="+objInfo.getMsg.zoneId, 'href': wurl},
{'src': "http://ispidr.com/service/view?id="+objInfo.getMsg.msgPicId, 'href': wurl}, {'src': 'http://ispidr.com/i/spidr-s.gif', 'href': 'http://ispidr.com'}]
}
} else {
var comment_data = {"web":objInfo.getMsg.zoneDisplayName, "creator": objInfo.getMsg.userDisplayName,
"post":objInfo.getMsg.messageText, "wurl" : wurl , "images":[{'src': 'http://ispidr.com/i/spidr-s.gif', 'href': 'http://ispidr.com'}]
}
}
FB.Connect.showFeedDialog(134409692392, comment_data, null, null, null, FB.RequireConnect.promptConnect);
}, failure: function(o) {alert('Error communicating with the server. Sorry about that!');}, argument: {}
}
var transaction = YAHOO.util.Connect.asyncRequest('GET', postUrl, callback, null);
}});
loader.insert();
}
function getCookie(c_name) {
if (document.cookie.length>0) {
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1) {
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
function set_cookie(cookie_name, cookie_value, exDateString) {
document.cookie= cookie_name + "=" + cookie_value + ";expires=" + exDateString;
}
function delete_cookie (cookie_name) {
var cookie_date = new Date ( ); // current date & time
cookie_date.setTime ( cookie_date.getTime() - 1 );
document.cookie = cookie_name + "=; expires=" + cookie_date.toGMTString();
}
function CL() {
// container
}
function rgcode(lat, lon, callback) {
if (GBrowserIsCompatible()) {
var latlng = new GLatLng(lat, lon);
geocoder.getLocations(latlng, function(response) {
if (response && response.Status.code == 200) {
var adminArea = response.Placemark[0].AddressDetails.Country.AdministrativeArea;
var cl = new CL();
cl.lat = lat;
cl.lon = lon;
cl.addr = '';
cl.st = adminArea.AdministrativeAreaName;
var locality = adminArea.SubAdministrativeArea!=null ? adminArea.SubAdministrativeArea.Locality :
adminArea.Locality;
if (locality!=null) {
cl.city = locality.LocalityName;
cl.zip = locality.PostalCode!=null ? locality.PostalCode.PostalCodeNumber : '';
if (locality.Thoroughfare!=null) {
addrStr = locality.Thoroughfare.ThoroughfareName;//no thoroughfare means no street
addrArr = addrStr.split(" ");
var num = addrArr[0].replace('-', '');
if (!isNaN(num)) {
cl.addr = addrArr[0];
cl.str = addrStr.replace(cl.addr, '').replace(/^\s+|\s+$/, '');
} else {
cl.str = addrStr;
}
}
}
cl.toString = response.Placemark[0].address.replace(cl.addr, '');
}
callback(cl);
});
} else setStatus('Spidr suggests you upgrade to Firefox');
}
function preventAccess() {
alert( 'Please log in or sign up for a new account' );
if (e!=null)
YAHOO.util.Event.preventDefault(e);
}
function esc(str) {
if (str!=null)
return str.replace(/['"]/g,'\\\'');
return '';
}
function clean(theString) {
if (theString!=null) {
theString+='';
return empty_str(theString).replace(/(\\+\')/g,'\'');
} else
return theString;
}
function empty_str(str) {
if (str == null || str == '' || str == 'undefined') return '';
str = ''+str;
return str.replace(/\[object Object\]/g, '');
}
function isset(str) {
return (str!=null && str!='');
}
function track(url) {
try {
if(pageTracker) {
pageTracker._trackPageview(url);
}
} catch (e) {}
}
function urlencode (clearString) {
var output = '';
var x = 0;
clearString = clearString.toString();
var regex = /(^[a-zA-Z0-9_.]*)/;
while (x < clearString.length) {
var match = regex.exec(clearString.substr(x));
if (match != null && match.length > 1 && match[1] != '') {
output += match[1];
x += match[1].length;
} else {
if (clearString[x] == ' ')
output += '+';
else {
var charCode = clearString.charCodeAt(x);
var hexVal = charCode.toString(16);
output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
}
x++;
}
}
return output;
}
var UTUBE_EMBED = '
';
var reg = /\S+youtube\.com\/watch\?v=(\S+)\&*\S*/;
function utubePreview(theMsg, previewType) {//TODO previewType is for size, for now not used.
if (reg.test(theMsg)) {
var match = reg.exec(theMsg);
var vLink = match[0];
var vId = match[1];
var embed = UTUBE_EMBED.replace('',vId);
theMsg = theMsg.replace(vLink, embed);
}
return theMsg;
}
function getHeight(type) {
if (!isIE) {
if (type=='relatedW' || type == 'nearbyW')
return "200px";
} else
return "";
}
function postToTwitter(recStr, type) {
window.open('/twitterLogin.php?recstr=' + recStr+'&type='+type,'Twitter Login', 'left=200,top=100,width=750,height=380,toolbar=0,resizable=1');
}
var handleMainTabClose = function(e, tab) {
YAHOO.util.Event.preventDefault(e);
tabView.removeTab(tab);
var tabler = theMap['messages'+tab.wid];
if (tabler!=null)
tabler.getDataSource().clearInterval(tabler.intervalId);
theMap['tab' + tab.wid] = null;
if (isLoggedIn) {
var sUrl= BASE_URL + 'm=disconnect&uid='+ joeInfo.joeId + '&wid=' + tab.wid;
var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl);
}
};
function openWeb(wid, displayName, update) {
var theTab = theMap['tab' + wid];
if (theTab != null) {
tabView.set('activeTab', theTab);
return;
}
var webTab = new YAHOO.widget.Tab(
{ label: clean(displayName)+'   X',
dataSrc: 'web.php?wid='+wid+'&displayName='+displayName,
cacheData: true,
active: true}
);
webTab.wid = wid;//added
tabView.addTab(webTab);
theMap['tab' + wid] = webTab;
connect(wid);
YAHOO.util.Event.on(webTab.getElementsByClassName('close')[0], 'click', handleMainTabClose, webTab);
YAHOO.plugin.Dispatcher.delegate(webTab);
}
//Creates a marker whose info window displays the letter corresponding
//to the given index.
function createMarker(point, index, netId, webDisplayName)
{
// Create a lettered icon for this point using our icon class
var letter = String.fromCharCode("A".charCodeAt(0) + index);
var letteredIcon = new GIcon(baseIcon);
letteredIcon.image = "i/marker"+ letter+".png";
// Set up our GMarkerOptions object
markerOptions = { icon:letteredIcon, title:webDisplayName };
var marker = new GMarker(point, markerOptions);
GEvent.addListener(marker, "click", function() {
openWeb(netId, esc(webDisplayName));
});
return marker;
}
function formatAddr(locationType, address, street, city, state, zipcode) {
if (locationType>5) {
zipcode = (empty_str(zipcode) == '') ? '' : zipcode;
loc = trim(address+' '+street,',') + ', '+(city=='0'?'':city)+', '+(state=='0'?'':state)+' '+zipcode;
} else
loc = (city=='0'?'':city)+', '+(state=='0'?'':state);
return trim(loc, ',');
}
function fetchPhysicalLoc() {
var callback = {
success: function(o) {
var loc = YAHOO.lang.JSON.parse(o.responseText).getCurrentLocation;
var locstr = ((loc.mytag!=null) && (empty_str(loc.mytag) !='')) ?clean(loc.mytag) + '@' +clean(loc.displayName):clean(loc.displayName);
Dom.get('physicalLoc').innerHTML = '' +locstr + '';
},
failure: function(o) {},
argument: {}
}
var url = BASE_URL + 'm=getCurrentLocation&web=1&uid='+joeInfo.joeId;
var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}
//date.format appended here
/*
* Date Format 1.2.2
* (c) 2007-2008 Steven Levithan
* MIT license
* Includes enhancements by Scott Trenda and Kris Kowal
*
* Accepts a date, a mask, or a date and a mask.
* Returns a formatted version of the given date.
* The date defaults to the current date/time.
* The mask defaults to dateFormat.masks.default.
*/
var dateFormat = function () {
var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
timezoneClip = /[^-+\dA-Z]/g,
pad = function (val, len) {
val = String(val);
len = len || 2;
while (val.length < len) val = "0" + val;
return val;
};
// Regexes and supporting functions are cached through closure
return function (date, mask, utc) {
var dF = dateFormat;
// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
if (arguments.length == 1 && (typeof date == "string" || date instanceof String) && !/\d/.test(date)) {
mask = date;
date = undefined;
}
// Passing date through Date applies Date.parse, if necessary
date = date ? new Date(date) : new Date();
if (isNaN(date)) throw new SyntaxError("invalid date");
mask = String(dF.masks[mask] || mask || dF.masks["default"]);
// Allow setting the utc argument via the mask
if (mask.slice(0, 4) == "UTC:") {
mask = mask.slice(4);
utc = true;
}
var _ = utc ? "getUTC" : "get",
d = date[_ + "Date"](),
D = date[_ + "Day"](),
m = date[_ + "Month"](),
y = date[_ + "FullYear"](),
H = date[_ + "Hours"](),
M = date[_ + "Minutes"](),
s = date[_ + "Seconds"](),
L = date[_ + "Milliseconds"](),
o = utc ? 0 : date.getTimezoneOffset(),
flags = {
d: d,
dd: pad(d),
ddd: dF.i18n.dayNames[D],
dddd: dF.i18n.dayNames[D + 7],
m: m + 1,
mm: pad(m + 1),
mmm: dF.i18n.monthNames[m],
mmmm: dF.i18n.monthNames[m + 12],
yy: String(y).slice(2),
yyyy: y,
h: H % 12 || 12,
hh: pad(H % 12 || 12),
H: H,
HH: pad(H),
M: M,
MM: pad(M),
s: s,
ss: pad(s),
l: pad(L, 3),
L: pad(L > 99 ? Math.round(L / 10) : L),
t: H < 12 ? "a" : "p",
tt: H < 12 ? "am" : "pm",
T: H < 12 ? "A" : "P",
TT: H < 12 ? "AM" : "PM",
Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
};
return mask.replace(token, function ($0) {
return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
});
};
}();
// Some common format strings
dateFormat.masks = {
"default": "ddd mmm dd yyyy HH:MM:ss",
shortDate: "m/d/yy",
mediumDate: "mmm d, yyyy",
longDate: "mmmm d, yyyy",
fullDate: "dddd, mmmm d, yyyy",
shortTime: "h:MM TT",
mediumTime: "h:MM:ss TT",
longTime: "h:MM:ss TT Z",
isoDate: "yyyy-mm-dd",
isoTime: "HH:MM:ss",
isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};
// Internationalization strings
dateFormat.i18n = {
dayNames: [
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
],
monthNames: [
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
]
};
// For convenience...
Date.prototype.format = function (mask, utc) {
return dateFormat(this, mask, utc);
};
function clearnWM(box, wm) {
try{
if (box != null && box.value.toString().toLowerCase() == wm.toLowerCase()) {
box.className = '';
box.value = "";
}
} catch (e) {
alert(e.message);
}
}
function showWM(boxId,wm) {
try {
var box = Dom.get(boxId);
if (box != null && trim(box.value) == "") {
box.className = 'hint';
box.value = wm;
}
} catch (e) {
alert(e.message);
}
}
function getCatString(cat) {
cat = parseInt(cat);
switch (cat) {
case 1: return 'City'; break;
case 2: return 'Street'; break;
case 3: return 'Neighborhood'; break;
case 5: return ''; break;
case 6: return 'Bar'; break;
case 7: return 'Restaturant'; break;
case 8: return 'Shop'; break;
case 9: return 'School'; break;
case 10: return 'Cafe'; break;
case 11: return 'Hotel'; break;
case 12: return 'Dormitory'; break;
case 13: return 'Airport'; break;
case 14: return 'Stadium'; break;
case 15: return 'Theater'; break;
case 16: return 'Sale'; break;
case 17: return 'Conference'; break;
case 18: return 'Party'; break;
case 19: return 'Apartments'; break;
case 20: return 'Nature'; break;
case 21: return 'Tourist'; break;
case 22: return 'Office'; break;
default: return '';break;
}
}
function closeTab(tabId) {
tabView.removeTab(theMap[tabId]);
theMap[tabId] = null;
}
function iresize(img, max) {
if (img == undefined || img == null || max==null) return false;
if (img.width > max) img.width = max;
}
function popImgPanel(src,title,id, etype, dlink) {
Dom.get('abigimg').src = '' + src;
Dom.get('bigimgtitle').innerHTML= ''+title;
panel.show();
Dom.get('bigimgen').innerHTML = (etype==1) ? ' hop on to the ' + title + ' web' : ' view ' + title + '\'s profile';
YAHOO.util.Event.on(Dom.get('bigimglink'), 'click', function() {
panel.hide();
if (etype==1)
openWeb(id, '' + title);
else {
if (dlink == null)
openProfile(id, '' + title);
else
window.location = 'http://ispidr.com/spidr/' + id;
}
});
}
function getag(wid) {
if (!isLoggedIn || joeInfo.favs[wid]==null)
return '';
return joeInfo.favs[wid] + '@';
}
function checkTwitter() {
Dom.get('twitCheck').checked = true;
Dom.get('twitterConnected').value = true;
}
var acceptFriendRequest = function(e, uid, bId, callbacks) {
var callback = {
success: function(o) {
setStatus('Friend added !');
if (callbacks!=null && callbacks.length>0) {
for (var i in callbacks)
callbacks[i]();
}
},
failure: function(o) {
setStatus('Error: Could not accept friend request. Please try later.');
},
argument: {}
}
var dt = theMap["dt-inbox"];
var rec = dt.getRecord(dt.getSelectedRows()[0]);
var url = BASE_URL + 'm=acceptBuddy&uid='+uid+'&web=1&buddyId='+bId+'&msg=';
YAHOO.util.Connect.asyncRequest('POST', url, callback, null);
}
var denyFriendRequest = function(e, uid, bId, callbacks){
var callback = {
success: function(o) {
setStatus('Request denied !');
if (callbacks!=null && callbacks.length>0) {
for (var i in callbacks)
callbacks[i]();
}
},
failure: function(o) {
setStatus('Error: Could not deny friend request at this time. Please try later.');
},
argument: {}
}
var url = BASE_URL + 'm=rejectBuddy&uid='+uid+'&web=1&buddyId='+bId+'&msg=';
YAHOO.util.Connect.asyncRequest('POST', url, callback, null);
}
function switchFeed(e, o) {
if (isLoggedIn) {
if (o.feedStatus == 2) {
sUrl= BASE_URL + 'm=subscribeFeed&web=1&uid='+ o.uid + '&zoneId=' + o.wid;
status = 'Subscribed to feed from ' + o.wname + '';
} else {
sUrl= BASE_URL + 'm=removeFeed&web=1&uid='+ o.uid + '&zoneId=' + o.wid;
status = 'Unsubscribed feed from ' + o.wname + '';
}
var callback = {
success: function(obj) {
var sText = o.feedStatus == 2 ? 'Feed On' : 'Feed Off';
setStatus(status);
var feedbtnId = 'feedBtn' + o.wid;
Dom.get(feedbtnId + '-button').innerHTML = sText;
},
failure: function(obj) {},
argument: {}
}
var loader = new YAHOO.util.YUILoader({require: ["connection"], loadOptional: true, timeout: 10000, combine: true,
onSuccess: function() {
var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
}
});
loader.insert();
} else {
window.location = 'http://ispidr.com/login?rurl=' + location.href;
}
}
function webListJs(feedOn, wid, wname, feedBtnId, feedBtnLbl, lat, lon, picSrc, wmmId, ctr, uid) {
var o = new Object();
o.feedStatus = feedOn ? 1 : 2;
o.wid = wid;
o.uid = uid;
o.wname = wname;
var feedButton = new YAHOO.widget.Button(feedBtnId, {label: feedBtnLbl, checked: feedOn, onclick: {fn: switchFeed, obj: o, scope:this} });
var point = new GLatLng(lat, lon);
var marker = new GMarker(point);
var html = '';
GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
bmap.addOverlay(marker);
if (ctr == 0) {
bmap.setCenter(point);
marker.openInfoWindowHtml(html);
}
YAHOO.util.Event.onAvailable(wmmId, function() {YAHOO.util.Event.on(Dom.get(wmmId), 'click', function() {marker.openInfoWindowHtml(html);});});
}
function activityListJs(lat, lon, picSrc, uid, uname, webLink, msgTime, msgTxt, ctr, mmId) {
var point = new GLatLng(lat, lon);
var marker = new GMarker(point);
var html = ' | | '
+ ' '+ msgTxt + ' |
';
GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
bmap.addOverlay(marker);
if (ctr == 0) {
bmap.setCenter(point);
marker.openInfoWindowHtml(html);
}
YAHOO.util.Event.onAvailable(mmId, function() {YAHOO.util.Event.on(Dom.get(mmId), 'click', function() {marker.openInfoWindowHtml(html);});});
}
function flag(msgId) {
if (!isLoggedIn) {setStatus('You need to be logged in to flag messages.'); return;}
if (confirm('Are you sure you want to flag this message as offensive?')) {
var loader = new YAHOO.util.YUILoader({require: ["connection","json"], loadOptional: true, timeout: 10000, combine: true,
onSuccess: function() {
var callback = {
success: function(o) {
location.reload(true);
},
failure: function(o) {alert('Error communicating with the server. Sorry about that!');}, argument: {}
}
var transaction = YAHOO.util.Connect.asyncRequest('GET', BASE_URL + 'm=flag&web=1&msgId='+msgId, callback, null);
}});
loader.insert();
}
}
function getRelX(relId, divId) {
return Dom.getX(divId) - Dom.getX(relId);
}
function getRelY(relId, divId) {
return Dom.getY(divId) - Dom.getY(relId);
}
function like(eid, etype, uid) {
if (isNaN(uid) || uid <= 0)
preventAccess();
var loader = new YAHOO.util.YUILoader({require: ["connection"], timeout: 10000, combine: true,
onSuccess: function() {
var callback = {
success: function(o) {
Dom.get('like' + eid).innerHTML = 'You like this';
var oldCnt = isNaN(parseInt(Dom.get('numlike' + eid).innerHTML)) ? 0 : parseInt(Dom.get('numlike' + eid).innerHTML);
Dom.get('numlike' + eid).innerHTML = parseInt(++oldCnt) + '';
},
failure: function(o) {}, argument: {}
};
YAHOO.util.Connect.asyncRequest('POST', BASE_URL + 'm=like&uid=' + uid + '&web=1', callback, '&eid='+eid+'&etype='+etype);
}});
loader.insert();
}