var sprintf=(function(){function get_type(variable){return Object.prototype.toString.call(variable).slice(8,-1).toLowerCase();}
function str_repeat(input,multiplier){for(var output=[];multiplier>0;output[--multiplier]=input){}
return output.join('');}
var str_format=function(){if(!str_format.cache.hasOwnProperty(arguments[0])){str_format.cache[arguments[0]]=str_format.parse(arguments[0]);}
return str_format.format.call(null,str_format.cache[arguments[0]],arguments);};str_format.format=function(parse_tree,argv){var cursor=1,tree_length=parse_tree.length,node_type='',arg,output=[],i,k,match,pad,pad_character,pad_length;for(i=0;i<tree_length;i++){node_type=get_type(parse_tree[i]);if(node_type==='string'){output.push(parse_tree[i]);}
else if(node_type==='array'){match=parse_tree[i];if(match[2]){arg=argv[cursor];for(k=0;k<match[2].length;k++){if(!arg.hasOwnProperty(match[2][k])){throw(sprintf('[sprintf] property "%s" does not exist',match[2][k]));}
arg=arg[match[2][k]];}}
else if(match[1]){arg=argv[match[1]];}
else{arg=argv[cursor++];}
if(/[^s]/.test(match[8])&&(get_type(arg)!='number')){throw(sprintf('[sprintf] expecting number but found %s',get_type(arg)));}
switch(match[8]){case'b':arg=arg.toString(2);break;case'c':arg=String.fromCharCode(arg);break;case'd':arg=parseInt(arg,10);break;case'e':arg=match[7]?arg.toExponential(match[7]):arg.toExponential();break;case'f':arg=match[7]?parseFloat(arg).toFixed(match[7]):parseFloat(arg);break;case'o':arg=arg.toString(8);break;case's':arg=((arg=String(arg))&&match[7]?arg.substring(0,match[7]):arg);break;case'u':arg=Math.abs(arg);break;case'x':arg=arg.toString(16);break;case'X':arg=arg.toString(16).toUpperCase();break;}
arg=(/[def]/.test(match[8])&&match[3]&&arg>=0?'+'+ arg:arg);pad_character=match[4]?match[4]=='0'?'0':match[4].charAt(1):' ';pad_length=match[6]- String(arg).length;pad=match[6]?str_repeat(pad_character,pad_length):'';output.push(match[5]?arg+ pad:pad+ arg);}}
return output.join('');};str_format.cache={};str_format.parse=function(fmt){var _fmt=fmt,match=[],parse_tree=[],arg_names=0;while(_fmt){if((match=/^[^\x25]+/.exec(_fmt))!==null){parse_tree.push(match[0]);}
else if((match=/^\x25{2}/.exec(_fmt))!==null){parse_tree.push('%');}
else if((match=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt))!==null){if(match[2]){arg_names|=1;var field_list=[],replacement_field=match[2],field_match=[];if((field_match=/^([a-z_][a-z_\d]*)/i.exec(replacement_field))!==null){field_list.push(field_match[1]);while((replacement_field=replacement_field.substring(field_match[0].length))!==''){if((field_match=/^\.([a-z_][a-z_\d]*)/i.exec(replacement_field))!==null){field_list.push(field_match[1]);}
else if((field_match=/^\[(\d+)\]/.exec(replacement_field))!==null){field_list.push(field_match[1]);}
else{throw('[sprintf] huh?');}}}
else{throw('[sprintf] huh?');}
match[2]=field_list;}
else{arg_names|=2;}
if(arg_names===3){throw('[sprintf] mixing positional and named placeholders is not (yet) supported');}
parse_tree.push(match);}
else{throw('[sprintf] huh?');}
_fmt=_fmt.substring(match[0].length);}
return parse_tree;};return str_format;})();var vsprintf=function(fmt,argv){argv.unshift(fmt);return sprintf.apply(null,argv);};var elgg=elgg||{};elgg.global=this;elgg.nullFunction=function(){};elgg.abstractMethod=function(){throw new Error("Oops... you forgot to implement an abstract method!");};elgg.extend=jQuery.extend;elgg.isArray=jQuery.isArray;elgg.isFunction=jQuery.isFunction;elgg.isPlainObject=jQuery.isPlainObject;elgg.isString=function(val){return typeof val==='string';};elgg.isNumber=function(val){return typeof val==='number';};elgg.isObject=function(val){return typeof val==='object';};elgg.isUndefined=function(val){return val===undefined;};elgg.isNull=function(val){return val===null;};elgg.isNullOrUndefined=function(val){return val==null;};elgg.assertTypeOf=function(type,val){if(typeof val!==type){throw new TypeError("Expecting param of "+
arguments.caller+"to be a(n) "+ type+"."+"  Was actually a(n) "+ typeof val+".");}};elgg.require=function(pkg){elgg.assertTypeOf('string',pkg);var parts=pkg.split('.'),cur=elgg.global,part,i;for(i=0;i<parts.length;i+=1){part=parts[i];cur=cur[part];if(elgg.isUndefined(cur)){throw new Error("Missing package: "+ pkg);}}};elgg.provide=function(pkg,opt_context){elgg.assertTypeOf('string',pkg);var parts=pkg.split('.'),context=opt_context||elgg.global,part,i;for(i=0;i<parts.length;i+=1){part=parts[i];context[part]=context[part]||{};context=context[part];}};elgg.inherit=function(Child,Parent){Child.prototype=new Parent();Child.prototype.constructor=Child;};elgg.normalize_url=function(url){url=url||'';elgg.assertTypeOf('string',url);validated=(function(url){url=elgg.parse_url(url);if(url.scheme){url.scheme=url.scheme.toLowerCase();}
if(url.scheme=='http'||url.scheme=='https'){if(!url.host){return false;}
if(!(new RegExp("^([a-zA-Z0-9][a-zA-Z0-9\\-\\.]*)$","i")).test(url.host)||url.host.charAt(-1)=='.'){return false;}}
if(!url.scheme||!url.host&&url.scheme!='mailto'&&url.scheme!='news'&&url.scheme!='file'){return false;}
return true;})(url);if(validated){return url;}
else if((new RegExp("^(\\#|\\?|//)","i")).test(url)){return url;}
else if(url.indexOf('javascript:')===0){return url;}
else if((new RegExp("^[^\/]*\\.php(\\?.*)?$","i")).test(url)){return elgg.config.wwwroot+ url.ltrim('/');}
else if((new RegExp("^[^/]*\\.","i")).test(url)){return'http://'+ url;}
else{return elgg.config.wwwroot+ url.ltrim('/');}};elgg.system_messages=function(msgs,delay,type){if(elgg.isUndefined(msgs)){return;}
var classes=['elgg-message'],messages_html=[],appendMessage=function(msg){messages_html.push('<li class="'+ classes.join(' ')+'"><p>'+ msg+'</p></li>');},systemMessages=$('ul.elgg-system-messages'),i;delay=parseInt(delay||6000,10);if(isNaN(delay)||delay<=0){delay=6000;}
if(!elgg.isArray(msgs)){msgs=[msgs];}
if(type==='error'){classes.push('elgg-state-error');}else{classes.push('elgg-state-success');}
msgs.forEach(appendMessage);$(messages_html.join('')).appendTo(systemMessages).animate({opacity:'1.0'},delay).fadeOut('slow');};elgg.system_message=function(msgs,delay){elgg.system_messages(msgs,delay,"message");};elgg.register_error=function(errors,delay){elgg.system_messages(errors,delay,"error");};elgg.forward=function(url){location.href=elgg.normalize_url(url);};elgg.parse_url=function(url,component,expand){var
expand=expand||false,component=component||false,re_str='^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?'
+'((?:(([^:@]*)(?::([^:@]*))?)?@)?'
+'([^:/?#]*)(?::(\\d*))?)'
+'(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))'
+'(?:\\?([^#]*))?'
+'(?:#(.*))?)',keys={1:"scheme",4:"user",5:"pass",6:"host",7:"port",9:"path",12:"query",13:"fragment"},results={};if(url.indexOf('mailto:')===0){results['scheme']='mailto';results['path']=url.replace('mailto:','');return results;}
if(url.indexOf('javascript:')===0){results['scheme']='javascript';results['path']=url.replace('javascript:','');return results;}
var re=new RegExp(re_str);var matches=re.exec(url);for(var i in keys){if(matches[i]){results[keys[i]]=matches[i];}}
if(expand&&typeof(results['query'])!='undefined'){results['query']=elgg.parse_str(results['query']);}
if(component){if(typeof(results[component])!='undefined'){return results[component];}else{return false;}}
return results;};elgg.parse_str=function(string){var params={};var result,key,value,re=/([^&=]+)=?([^&]*)/g;while(result=re.exec(string)){key=decodeURIComponent(result[1])
value=decodeURIComponent(result[2])
params[key]=value;}
return params;};elgg.getSelectorFromUrlFragment=function(url){var fragment=url.split('#')[1];if(fragment){if(fragment.indexOf('.')>-1){return fragment;}
else{return'#'+ fragment;}}
return'';};elgg.push_to_object_array=function(object,parent,value){elgg.assertTypeOf('object',object);elgg.assertTypeOf('string',parent);if(!(object[parent]instanceof Array)){object[parent]=[]}
if($.inArray(value,object[parent])<0){return object[parent].push(value);}
return false;};elgg.is_in_object_array=function(object,parent,value){elgg.assertTypeOf('object',object);elgg.assertTypeOf('string',parent);return typeof(object[parent])!='undefined'&&$.inArray(value,object[parent])>=0;};elgg.initWhenReady=function(){if(elgg.config.languageReady&&elgg.config.domReady){elgg.trigger_hook('init','system');elgg.trigger_hook('ready','system');}};elgg.ElggEntity=function(o){$.extend(this,o);};elgg.ElggUser=function(o){elgg.ElggEntity.call(this,o);};elgg.inherit(elgg.ElggUser,elgg.ElggEntity);elgg.ElggUser.prototype.isAdmin=function(){return this.admin;};elgg.ElggPriorityList=function(){this.length=0;this.priorities_=[];};elgg.ElggPriorityList.prototype.insert=function(obj,opt_priority){var priority=500;if(arguments.length==2&&opt_priority!=undefined){priority=parseInt(opt_priority,10);}
priority=Math.max(priority,0);if(elgg.isUndefined(this.priorities_[priority])){this.priorities_[priority]=[];}
this.priorities_[priority].push(obj);this.length++;};elgg.ElggPriorityList.prototype.forEach=function(callback){elgg.assertTypeOf('function',callback);var index=0;this.priorities_.forEach(function(elems){elems.forEach(function(elem){callback(elem,index++);});});return this;};elgg.ElggPriorityList.prototype.every=function(callback){elgg.assertTypeOf('function',callback);var index=0;return this.priorities_.every(function(elems){return elems.every(function(elem){return callback(elem,index++);});});};elgg.ElggPriorityList.prototype.remove=function(obj){this.priorities_.forEach(function(elems){var index;while((index=elems.indexOf(obj))!==-1){elems.splice(index,1);this.length--;}});};if(!Array.prototype.every){Array.prototype.every=function(callback){var len=this.length,i;for(i=0;i<len;i++){if(i in this&&!callback.call(null,this[i],i)){return false;}}
return true;};}
if(!Array.prototype.forEach){Array.prototype.forEach=function(callback){var len=this.length,i;for(i=0;i<len;i++){if(i in this){callback.call(null,this[i],i);}}};}
if(!String.prototype.ltrim){String.prototype.ltrim=function(str){if(this.indexOf(str)===0){return this.substring(str.length);}else{return this;}};}
elgg.provide('elgg.config.hooks');elgg.provide('elgg.config.instant_hooks');elgg.provide('elgg.config.triggered_hooks');elgg.register_hook_handler=function(name,type,handler,priority){elgg.assertTypeOf('string',name);elgg.assertTypeOf('string',type);elgg.assertTypeOf('function',handler);if(!name||!type){return false;}
var priorities=elgg.config.hooks;elgg.provide(name+'.'+ type,priorities);if(!(priorities[name][type]instanceof elgg.ElggPriorityList)){priorities[name][type]=new elgg.ElggPriorityList();}
if(elgg.is_instant_hook(name,type)&&elgg.is_triggered_hook(name,type)){handler(name,type,null,null);}
return priorities[name][type].insert(handler,priority);};elgg.trigger_hook=function(name,type,params,value){elgg.assertTypeOf('string',name);elgg.assertTypeOf('string',type);elgg.set_triggered_hook(name,type);value=value||true;var hooks=elgg.config.hooks,tempReturnValue=null,returnValue=value,callHookHandler=function(handler){tempReturnValue=handler(name,type,params,value);};elgg.provide(name+'.'+ type,hooks);elgg.provide('all.'+ type,hooks);elgg.provide(name+'.all',hooks);elgg.provide('all.all',hooks);var hooksList=[];if(name!='all'&&type!='all'){hooksList.push(hooks[name][type]);}
if(type!='all'){hooksList.push(hooks['all'][type]);}
if(name!='all'){hooksList.push(hooks[name]['all']);}
hooksList.push(hooks['all']['all']);hooksList.every(function(handlers){if(handlers instanceof elgg.ElggPriorityList){handlers.forEach(callHookHandler);}
return true;});return(tempReturnValue!=null)?tempReturnValue:returnValue;};elgg.register_instant_hook=function(name,type){elgg.assertTypeOf('string',name);elgg.assertTypeOf('string',type);return elgg.push_to_object_array(elgg.config.instant_hooks,name,type);};elgg.is_instant_hook=function(name,type){return elgg.is_in_object_array(elgg.config.instant_hooks,name,type);};elgg.set_triggered_hook=function(name,type){return elgg.push_to_object_array(elgg.config.triggered_hooks,name,type);};elgg.is_triggered_hook=function(name,type){return elgg.is_in_object_array(elgg.config.triggered_hooks,name,type);};elgg.register_instant_hook('init','system');elgg.register_instant_hook('ready','system');elgg.register_instant_hook('boot','system');elgg.provide('elgg.security');elgg.security.token={};elgg.security.tokenRefreshFailed=false;elgg.security.setToken=function(json){elgg.security.token=json;$('[name=__elgg_ts]').val(json.__elgg_ts);$('[name=__elgg_token]').val(json.__elgg_token);$('[href*="__elgg_ts"][href*="__elgg_token"]').each(function(){this.href=this.href.replace(/__elgg_ts=\d*/,'__elgg_ts='+ json.__elgg_ts).replace(/__elgg_token=[0-9a-f]*/,'__elgg_token='+ json.__elgg_token);});};elgg.security.refreshToken=function(){elgg.action('security/refreshtoken',function(data){if(!data||!(data.output.__elgg_ts&&data.output.__elgg_token)){elgg.register_error(elgg.echo('js:security:token_refresh_failed',[elgg.get_site_url()]));elgg.security.tokenRefreshFailed=true;return;}
if(elgg.security.tokenRefreshFailed){elgg.system_message(elgg.echo('js:security:token_refreshed',[elgg.get_site_url()]));elgg.security.tokenRefreshFailed=false;}
elgg.security.setToken(data.output);});};elgg.security.addToken=function(data){if(elgg.isString(data)){var parts=elgg.parse_url(data),args={},base='';if(parts['host']==undefined){if(data.indexOf('?')===0){base='?';args=elgg.parse_str(parts['query']);}}else{if(parts['query']!=undefined){args=elgg.parse_str(parts['query']);}
var split=data.split('?');base=split[0]+'?';}
args["__elgg_ts"]=elgg.security.token.__elgg_ts;args["__elgg_token"]=elgg.security.token.__elgg_token;return base+ jQuery.param(args);}
if(elgg.isUndefined(data)){return elgg.security.token;}
if(elgg.isPlainObject(data)){return elgg.extend(data,elgg.security.token);}
throw new TypeError("elgg.security.addToken not implemented for "+(typeof data)+"s");};elgg.security.init=function(){setInterval(elgg.security.refreshToken,elgg.security.interval);};elgg.register_hook_handler('boot','system',elgg.security.init);elgg.provide('elgg.config.translations');elgg.config.language='en';elgg.add_translation=function(lang,translations){elgg.provide('elgg.config.translations.'+ lang);elgg.extend(elgg.config.translations[lang],translations);};elgg.reload_all_translations=function(language){var lang=language||elgg.get_language();elgg.getJSON('ajax/view/js/languages',{data:{language:lang},success:function(json){elgg.add_translation(lang,json);elgg.config.languageReady=true;elgg.initWhenReady();}});};elgg.get_language=function(){var user=elgg.get_logged_in_user_entity();if(user&&user.language){return user.language;}
return elgg.config.language;};elgg.echo=function(key,argv,language){if(elgg.isString(argv)){language=argv;argv=[];}
var translations=elgg.config.translations,dlang=elgg.get_language(),map;language=language||dlang;argv=argv||[];map=translations[language]||translations[dlang];if(map&&map[key]){return vsprintf(map[key],argv);}
return key;};elgg.config.translations.init=function(){elgg.reload_all_translations();};elgg.register_hook_handler('boot','system',elgg.config.translations.init);elgg.provide('elgg.ajax');elgg.ajax=function(url,options){options=elgg.ajax.handleOptions(url,options);options.url=elgg.normalize_url(options.url);return $.ajax(options);};elgg.ajax.SUCCESS=0;elgg.ajax.ERROR=-1;elgg.ajax.handleOptions=function(url,options){var data_only=true,data,member;if(elgg.isString(url)){options=options||{};}else{options=url||{};url=options.url;}
if(elgg.isFunction(options)){data_only=false;options={success:options};}
if(options.data){data_only=false;}else{for(member in options){if(elgg.isFunction(options[member])){data_only=false;}}}
if(data_only){data=options;options={data:data};}
if(url){options.url=url;}
return options;};elgg.get=function(url,options){options=elgg.ajax.handleOptions(url,options);options.type='get';return elgg.ajax(options);};elgg.getJSON=function(url,options){options=elgg.ajax.handleOptions(url,options);options.dataType='json';return elgg.get(options);};elgg.post=function(url,options){options=elgg.ajax.handleOptions(url,options);options.type='post';return elgg.ajax(options);};/**
 * Perform an action via ajax
 *
 * @example Usage 1:
 * At its simplest, only the action name is required (and anything more than the
 * action name will be invalid).
 * <pre>
 * elgg.action('name/of/action');
 * </pre>
 *
 * The action can be relative to the current site ('name/of/action') or
 * the full URL of the action ('http://elgg.org/action/name/of/action').
 *
 * @example Usage 2:
 * If you want to pass some data along with it, use the second parameter
 * <pre>
 * elgg.action('friend/add', { friend: some_guid });
 * </pre>
 *
 * @example Usage 3:
 * Of course, you will have no control over what happens when the request
 * completes if you do it like that, so there's also the most verbose method
 * <pre>
 * elgg.action('friend/add', {
 *     data: {
 *         friend: some_guid
 *     },
 *     success: function(json) {
 *         //do something
 *     },
 * }
 * </pre>
 * You can pass any of your favorite $.ajax arguments into this second parameter.
 *
 * @note If you intend to use the second field in the "verbose" way, you must
 * specify a callback method or the data parameter.  If you do not, elgg.action
 * will think you mean to send the second parameter as data.
 *
 * @note You do not have to add security tokens to this request.  Elgg does that
 * for you automatically.
 *
 * @see jQuery.ajax
 *
 * @param {String} action The action to call.
 * @param {Object} options
 * @return {XMLHttpRequest}
 */elgg.action=function(action,options){elgg.assertTypeOf('string',action);if(action.indexOf('action/')<0){action='action/'+ action;}
options=elgg.ajax.handleOptions(action,options);if(!elgg.isString(options.data)||options.data.indexOf('__elgg_ts')==-1){options.data=elgg.security.addToken(options.data);}
options.dataType='json';var custom_success=options.success||elgg.nullFunction;options.success=function(json,two,three,four){if(json&&json.system_messages){elgg.register_error(json.system_messages.error);elgg.system_message(json.system_messages.success);}
custom_success(json,two,three,four);};return elgg.post(options);};elgg.api=function(method,options){elgg.assertTypeOf('string',method);var defaults={dataType:'json',data:{}};options=elgg.ajax.handleOptions(method,options);options=$.extend(defaults,options);options.url='services/api/rest/'+ options.dataType+'/';options.data.method=method;return elgg.ajax(options);};elgg.provide('elgg.session');elgg.session.cookie=function(name,value,options){var cookies=[],cookie=[],i=0,date,valid=true;if(elgg.isUndefined(name)){return document.cookie;}
if(elgg.isUndefined(value)){if(document.cookie&&document.cookie!==''){cookies=document.cookie.split(';');for(i=0;i<cookies.length;i+=1){cookie=jQuery.trim(cookies[i]).split('=');if(cookie[0]===name){return decodeURIComponent(cookie[1]);}}}
return undefined;}
options=options||{};if(elgg.isNull(value)){value='';options.expires=-1;}
cookies.push(name+'='+ value);if(elgg.isNumber(options.expires)){if(elgg.isNumber(options.expires)){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else if(options.expires.toUTCString){date=options.expires;}else{valid=false;}
if(valid){cookies.push('expires='+ date.toUTCString());}}
if(options.path){cookies.push('path='+(options.path));}
if(options.domain){cookies.push('domain='+(options.domain));}
if(options.secure){cookies.push('secure');}
document.cookie=cookies.join('; ');};elgg.get_logged_in_user_entity=function(){return elgg.session.user;};elgg.get_logged_in_user_guid=function(){var user=elgg.get_logged_in_user_entity();return user?user.guid:0;};elgg.is_logged_in=function(){return(elgg.get_logged_in_user_entity()instanceof elgg.ElggUser);};elgg.is_admin_logged_in=function(){var user=elgg.get_logged_in_user_entity();return(user instanceof elgg.ElggUser)&&user.isAdmin();};jQuery.cookie=elgg.session.cookie;elgg.get_page_owner_guid=function(){return elgg.page_owner.guid||0;};elgg.provide('elgg.config');elgg.get_site_url=function(){return elgg.config.wwwroot;};elgg.provide('elgg.ui');elgg.ui.init=function(){elgg.ui.initHoverMenu();$('.elgg-system-messages li').live('click',function(){$(this).stop().fadeOut('fast');});$('.elgg-system-messages li').animate({opacity:0.9},6000);$('.elgg-system-messages li').fadeOut('slow');$('[rel=toggle]').live('click',elgg.ui.toggles);$('[rel=popup]').live('click',elgg.ui.popupOpen);$('.elgg-menu-page .elgg-menu-parent').live('click',elgg.ui.toggleMenu);$('.elgg-requires-confirmation').live('click',elgg.ui.requiresConfirmation);$('.elgg-autofocus').focus();};elgg.ui.toggles=function(event){event.preventDefault();var target=$(this).toggleClass('elgg-state-active').attr('href');$(target).slideToggle('medium');};elgg.ui.popupOpen=function(event){event.preventDefault();event.stopPropagation();var target=elgg.getSelectorFromUrlFragment($(this).toggleClass('elgg-state-active').attr('href'));var $target=$(target);var params={targetSelector:target,target:$target,source:$(this)};var options={my:'center top',at:'center bottom',of:$(this),collision:'fit fit'}
options=elgg.trigger_hook('getOptions','ui.popup',params,options);if(!options){return;}
if($target.is(':visible')){$target.fadeOut();$('body').die('click',elgg.ui.popupClose);return;}
$target.appendTo('body').fadeIn().position(options);$('body').die('click',elgg.ui.popupClose).live('click',elgg.ui.popupClose);};elgg.ui.popupClose=function(event){$eventTarget=$(event.target);var inTarget=false;var $popups=$('[rel=popup]');$popups.each(function(i,e){var target=elgg.getSelectorFromUrlFragment($(e).attr('href'))+':visible';var $target=$(target);if(!$target.is(':visible')){return;}
if($eventTarget.closest(target).length>0){inTarget=true;return false;}});if(!inTarget){$popups.each(function(i,e){var $e=$(e);var $target=$(elgg.getSelectorFromUrlFragment($e.attr('href'))+':visible');if($target.length>0){$target.fadeOut();$e.removeClass('elgg-state-active');}});$('body').die('click',elgg.ui.popClose);}};elgg.ui.toggleMenu=function(event){$(this).siblings().slideToggle('medium');$(this).toggleClass('elgg-menu-closed elgg-menu-opened');event.preventDefault();};elgg.ui.initHoverMenu=function(parent){if(!parent){parent=document;}
$(parent).find(".elgg-avatar").live('mouseover',function(){$(this).children(".elgg-icon-hover-menu").show();}).live('mouseout',function(){$(this).children(".elgg-icon-hover-menu").hide();});$(".elgg-avatar > .elgg-icon-hover-menu").live('click',function(e){var $hovermenu=$(this).data('hovermenu')||null;if(!$hovermenu){$hovermenu=$(this).parent().find(".elgg-menu-hover");$(this).data('hovermenu',$hovermenu);}
if($hovermenu.css('display')=="block"){$hovermenu.fadeOut();}else{$avatar=$(this).closest(".elgg-avatar");var offset=$avatar.offset();var top=$avatar.height()+ offset.top+'px';var left=$avatar.width()- 15+ offset.left+'px';$hovermenu.appendTo('body').css('position','absolute').css("top",top).css("left",left).fadeIn('normal');}
$(".elgg-menu-hover:visible").not($hovermenu).fadeOut();});$(document).click(function(event){if($(event.target).parents(".elgg-avatar").length==0){$(".elgg-menu-hover").fadeOut();}});};elgg.ui.requiresConfirmation=function(e){var confirmText=$(this).attr('rel')||elgg.echo('question:areyousure');if(!confirm(confirmText)){e.preventDefault();}};elgg.ui.loginHandler=function(hook,type,params,options){if(params.target.attr('id')=='login-dropdown-box'){options.my='right top';options.at='right bottom';return options;}
return null;};elgg.ui.initDatePicker=function(){if($('.elgg-input-date').length){$('.elgg-input-date').datepicker({dateFormat:'yy-mm-dd',onSelect:function(dateText){if($(this).is('.elgg-input-timestamp')){var dateParts=dateText.split("-");var timestamp=Date.UTC(dateParts[0],dateParts[1]- 1,dateParts[2]);timestamp=timestamp/1000;var id=$(this).attr('id');$('input[name="'+ id+'"]').val(timestamp);}}});}};elgg.register_hook_handler('init','system',elgg.ui.init);elgg.register_hook_handler('init','system',elgg.ui.initDatePicker);elgg.register_hook_handler('getOptions','ui.popup',elgg.ui.loginHandler);elgg.provide('elgg.ui.widgets');elgg.ui.widgets.init=function(){if($(".elgg-widgets").length==0){return;}
$(".elgg-widgets").sortable({items:'div.elgg-module-widget.elgg-state-draggable',connectWith:'.elgg-widgets',handle:'div.elgg-head',forcePlaceholderSize:true,placeholder:'elgg-widget-placeholder',opacity:0.8,revert:500,stop:elgg.ui.widgets.move});$('.elgg-widgets-add-panel li.elgg-state-available').click(elgg.ui.widgets.add);$('a.elgg-widget-delete-button').live('click',elgg.ui.widgets.remove);$('.elgg-widget-edit > form ').live('submit',elgg.ui.widgets.saveSettings);$('a.elgg-widget-collapse-button').live('click',elgg.ui.widgets.collapseToggle);elgg.ui.widgets.equalHeight(".elgg-widgets");};elgg.ui.widgets.add=function(event){var type=$(this).attr('id');type=type.substr(type.indexOf('elgg-widget-type-')+"elgg-widget-type-".length);var multiple=$(this).attr('class').indexOf('elgg-widget-multiple')!=-1;if(multiple==false){$(this).addClass('elgg-state-unavailable');$(this).removeClass('elgg-state-available');$(this).unbind('click',elgg.ui.widgets.add);}
elgg.action('widgets/add',{data:{handler:type,owner_guid:elgg.get_page_owner_guid(),context:$("input[name='widget_context']").val(),default_widgets:$("input[name='default_widgets']").val()||0},success:function(json){$('#elgg-widget-col-1').prepend(json.output);}});event.preventDefault();};elgg.ui.widgets.move=function(event,ui){var guidString=ui.item.attr('id');guidString=guidString.substr(guidString.indexOf('elgg-widget-')+"elgg-widget-".length);var col=ui.item.parent().attr('id');col=col.substr(col.indexOf('elgg-widget-col-')+"elgg-widget-col-".length);elgg.action('widgets/move',{data:{widget_guid:guidString,column:col,position:ui.item.index()}});ui.item.css('top',0);ui.item.css('left',0);};elgg.ui.widgets.remove=function(event){var $widget=$(this).parent().parent();var type=$widget.attr('class');type=type.substr(type.indexOf('elgg-widget-instance-')+"elgg-widget-instance-".length);$button=$('#elgg-widget-type-'+ type);var multiple=$button.attr('class').indexOf('elgg-widget-multiple')!=-1;if(multiple==false){$button.addClass('elgg-state-available');$button.removeClass('elgg-state-unavailable');$button.unbind('click',elgg.ui.widgets.add);$button.click(elgg.ui.widgets.add);}
$widget.remove();var id=$(this).attr('id');id=id.substr(id.indexOf('elgg-widget-delete-button-')+"elgg-widget-delete-button-".length);elgg.action('widgets/delete',{data:{widget_guid:id}});event.preventDefault();};elgg.ui.widgets.collapseToggle=function(event){$(this).toggleClass('elgg-widget-collapsed');$(this).parent().parent().find('.elgg-body').slideToggle('medium');event.preventDefault();};elgg.ui.widgets.saveSettings=function(event){$(this).parent().slideToggle('medium');var $widgetContent=$(this).parent().parent().children('.elgg-widget-content');var $loader=$('#elgg-widget-loader').clone();$loader.attr('id','#elgg-widget-active-loader');$loader.removeClass('hidden');$widgetContent.html($loader);var default_widgets=$("input[name='default_widgets']").val()||0;if(default_widgets){$(this).append('<input type="hidden" name="default_widgets" value="1">');}
elgg.action('widgets/save',{data:$(this).serialize(),success:function(json){$widgetContent.html(json.output);}});event.preventDefault();};elgg.ui.widgets.equalHeight=function(selector){var maxHeight=0;$(selector).each(function(){if($(this).height()>maxHeight){maxHeight=$(this).height();}})
$(selector).css('min-height',maxHeight);};elgg.register_hook_handler('init','system',elgg.ui.widgets.init);elgg.version='2011110700';elgg.release='1.8.1';elgg.config.wwwroot='http://remailr.com/';elgg.security.interval=5*60*1000;elgg.config.domReady=false;elgg.config.languageReady=false;$(function(){elgg.config.domReady=true;elgg.initWhenReady();});elgg.register_hook_handler('init','system',function(){if($('.profile').length){$('#elgg-widget-col-1').css('min-height',$('.profile').outerHeight(true)+ 1);}});elgg.provide('elgg.bookmarks');elgg.bookmarks.init=function(){var title=document.title;var e=$('a.elgg-bookmark-page');var link=e.attr('href')+'&title='+ encodeURIComponent(title);e.attr('href',link);};elgg.register_hook_handler('init','system',elgg.bookmarks.init);$(function(){$('#groups-tools').children('li:even').addClass('odd');});elgg.ui.likesPopupHandler=function(hook,type,params,options){if(params.target.hasClass('elgg-likes')){options.my='right bottom';options.at='left top';return options;}
return null;};elgg.register_hook_handler('getOptions','ui.popup',elgg.ui.likesPopupHandler);elgg.provide('elgg.messageboard');elgg.messageboard.init=function(){var form=$('form[name=elgg-messageboard]');form.find('input[type=submit]').live('click',elgg.messageboard.submit);form.parent().find('a.elgg-requires-confirmation').click(elgg.messageboard.deletePost).unbind('click',elgg.ui.requiresConfirmation).removeClass('elgg-requires-confirmation');};elgg.messageboard.submit=function(e){var form=$(this).parents('form');var data=form.serialize();elgg.action('messageboard/add',{data:data,success:function(json){var ul=form.next('ul.elgg-list-annotation');if(ul.length<1){form.parent().append(json.output);}else{ul.prepend($(json.output).find('li:first'));};form.find('textarea').val('');}});e.preventDefault();};elgg.messageboard.deletePost=function(e){var link=$(this);var confirmText=link.attr('title')||elgg.echo('question:areyousure');if(confirm(confirmText)){elgg.action($(this).attr('href'),{success:function(){$(link).closest('li').remove();}});}
e.preventDefault();};elgg.register_hook_handler('init','system',elgg.messageboard.init);$(function(){$("#messages-toggle").click(function(){$('input[type=checkbox]').click();});});elgg.provide('elgg.uservalidationbyemail');elgg.uservalidationbyemail.init=function(){$('#uservalidationbyemail-checkall').click(function(){var checked=$(this).attr('checked')=='checked';$('#uservalidationbyemail-form .elgg-body').find('input[type=checkbox]').attr('checked',checked);});$('.uservalidationbyemail-submit').click(function(event){var $form=$('#uservalidationbyemail-form');event.preventDefault();if($('#uservalidationbyemail-form .elgg-body').find('input[type=checkbox]:checked').length<1){return false;}
if(!confirm($(this).attr('title'))){return false;}
$form.attr('action',$(this).attr('href')).submit();});};elgg.register_hook_handler('init','system',elgg.uservalidationbyemail.init);
