SP.link={};SP.link.pURL=function(packageID,link,realmID){if(!realmID)realmID=SP.active.realmID;return"/r/"+realmID+"/p/"+packageID+"/"+link};SP.link.realmURL=function(realmID,pageID,args){if(!realmID)realmID=SP.active.realmID;url="/r/"+realmID+"/d/"+pageID;if(args)url=url+"?"+args;return url};SP.link.realmLink=function(realmID,text,pageID,args){return'<a href="'+SP.link.realmURL(realmID,pageID,args)+'" border=0>'+text+"</a>"};
SP.link.pImageURL=function(packageID,link){return"/images/p/"+packageID+"/"+link};SP.link.realmTransfer=function(realmID){if(!realmID)realmID=SP.active.realmID;window.location="/r/"+realmID+"/d/"};
SP.link.ajaxAction=function(packageID,actionScript,action,props){if(typeof props=="undefined")props={};if(typeof props.params=="undefined")props.params={};props.params.action=action;Ext.Ajax.request({url:SP.link.pURL(packageID,"action/"+actionScript),params:props.params,success:function(response,opts){var obj=Ext.decode(response.responseText);if(obj.success!="true")Ext.Msg.alert("Problem","Sorry, there was a problem completing your request: "+obj.message);else if(props.success)props.success(obj,response,
opts)}})};SP.isMember=function(){return SP.active.memberID!="0"};SP.def={EMAIL_UNAUTHED:8};SP.util={};SP.util.mysqlTimeStampToDate=function(timestamp){var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(" ");return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5])};SP.check={};SP.check.MD5=function(v){var re=new RegExp("^[0-9a-f]{32}$");return re.test(v)};SP.media={};

