document.observe("dom:loaded",function(){document.delegate("click",{'a[rel="deleteRecord"]':deleteRecordPopup})});function deleteRecordPopup(b){b.stop();var a=b.element();Dialog.Confirm.show("confirmDialog",{modal:true,width:600,height:250,onSuccess:function(){document.location=a.href},onFailure:function(){}})}function removePicture(){$("uploadcontrol").toggle();$("defpicture").toggle();$("picture").toggle()
}function addFavorite(d,c){if(c){var b=$(d)}else{var b=Event.element(d)}var a=b.readAttribute("rel").split("_");new Ajax.Request("/contacts/followers/add.ajax",{method:"get",parameters:{user:a[0],show:a[1]},onSuccess:function(e){if(e.responseText=="OK"){alert($("favoriteAddMessage").innerHTML);$("favorites").remove()}}})}function showAbuse(c,b){if(b){var a=$(c)}else{var a=Event.findElement(c)}var d=a.readAttribute("rel").replace(/^\s+|\s+$/g,"").split(",");
showAbuseForm(d[0],d[1],d[2],d[3])}var Paginators={paginators:new Hash(),group:new Hash(),add:function(b,a){this.paginators.set(b,a);if(Object.isUndefined(this.group.get(b))){this.group.set(b,[a])}else{this.group.get(b).push(a)}return a},get:function(a){a=a||"default";return this.paginators.get(a)},getGroup:function(a){a=a||"default";return this.group.get(a)}};var Paginator=Class.create({sliderMinWidth:20,STYLE_THIN:1,STYLE_MODERN:2,initialize:function(b,c,a){this.group=b||"default";
Paginators.add(this.group,this);this.uniqueId=this.group+c;this.handler=a;this.handler.parameters=$H(this.handler.parameters);this.handler.parameters.unset("host");this.handler.parameters.unset("uri");this.handler.parameters.unset("module");this.handler.parameters.unset("controller");this.currentPage=this.handler.config.currentPage;this.page=null;this.totalPages=this.handler.config.totalPages;this.style=this.STYLE_MODERN;
this.navigationBar=$("navigationBar_"+this.uniqueId);this.slider=$("slider_"+this.uniqueId);this.leftArrow=$("left_"+this.uniqueId);this.rightArrow=$("right_"+this.uniqueId);this.pageNumber=$("pageNumber_"+this.uniqueId);this.goTo=$("goTo_"+this.uniqueId);this.refreshPagination=false;this.loading=false;this.mouseXPos=0;this.clickXPos=0;this.startPos=0;if(this.totalPages>1){document.observe("dom:loaded",function(){this._calculateWidths(true);
this.visible=true}.bind(this))}else{this._hide()}},_calculateWidths:function(){this.barWidth=this.navigationBar.getWidth()-(this.style==this.STYLE_THIN?6:0);this.sliderWidth=this.barWidth/this.totalPages;if(this.sliderWidth<this.sliderMinWidth){this.sliderWidth=this.sliderMinWidth;this.stepWidth=(this.barWidth-this.sliderWidth)/this.totalPages}else{this.stepWidth=this.sliderWidth}this.slider.style.width=this.sliderWidth+"px";
this._moveSlider("init",this.currentPage)},addListeners:function(a){if(!a){this.bClickOnBar=this._clickOnBar.bindAsEventListener(this);this.bMoveLeft=this._moveLeft.bindAsEventListener(this);this.bMoveRight=this._moveRight.bindAsEventListener(this);this.bGoToPage=this._goToPage.bindAsEventListener(this);this.bMouseDown=this._mouseDown.bindAsEventListener(this)}Event.observe(this.navigationBar.identify(),"mousedown",this.bClickOnBar);
Event.observe(this.leftArrow.identify(),"click",this.bMoveLeft);Event.observe(this.rightArrow.identify(),"click",this.bMoveRight);Event.observe("lnk_"+this.goTo.identify(),"click",this.bGoToPage);Event.observe(this.slider.identify(),"mousedown",this.bMouseDown)},_findPos:function(a){var b=curtop=0;if(a.offsetParent){b=a.offsetLeft;curtop=a.offsetTop;while(a=a.offsetParent){b+=a.offsetLeft;curtop+=a.offsetTop
}}return[b,curtop]},_getXOffset:function(){var b=this._findPos(this.navigationBar);var a=this.mouseXPos-b[0];if(a<0){a=0}if(a>=this.barWidth){a=this.barWidth}return a},_getTargetPage:function(b){switch(b){case"click":var c=this._getXOffset();var d={page:Math.ceil(this.totalPages*(c/this.barWidth)),xOffset:c};if(d.page>this.currentPage){d.page=this.currentPage+1}if(d.page<this.currentPage){d.page=this.currentPage-1
}return d;break;default:var a;if((a=this.startPos+(this.mouseXPos-this.clickXPos))<=this.barWidth&&a>=(this.style==this.STYLE_THIN?16:18)){a=(a<(this.barWidth/2)?a-(this.style==this.STYLE_THIN?8:9):a+(this.style==this.STYLE_THIN?8:9));return{page:Math.ceil(this.totalPages*((a-(this.style==this.STYLE_THIN?8:9))/this.barWidth))}}else{if(a<(this.style==this.STYLE_THIN?16:18)){return{page:1}}return{page:this.totalPages}
}break}},updateCaption:function(a){this.page=a;$(this.pageNumber).update(a+"/"+this.totalPages)},_moveSlider:function(b,d){var c=(d?{page:parseInt(d)}:this._getTargetPage(b,d));if(!c.page){return null}else{if(b=="click"||d){if(Object.isUndefined(this.stepWidth)){return}this.slider.style.left=((this.style==this.STYLE_THIN?16:18)+(c.page-1)*parseInt(this.stepWidth))+"px"}else{var a;var e=(this.mouseXPos-this.clickXPos);
if((a=this.startPos+e)>(this.style==this.STYLE_THIN?16:18)&&a<(this.barWidth-this.sliderWidth+(this.style==this.STYLE_THIN?16:18))){this.slider.style.left=a+"px"}}}this.currentPage=d;this.updateCaption(c.page)},_clickOnBar:function(a){this.mouseXPos=Event.pointerX(a);this._moveSlider("click");this.go()},_mouseDown:function(a){Event.stop(a);this.clickXPos=Event.pointerX(a);this.startPos=parseInt(this.slider.style.left);
this.bMouseMove=this._mouseMove.bindAsEventListener(this);this.bMouseUp=this._mouseUp.bindAsEventListener(this);Event.observe(document.body,"mousemove",this.bMouseMove);Event.observe(document.body,"mouseup",this.bMouseUp)},_mouseMove:function(a){this.mouseXPos=Event.pointerX(a);this._moveSlider()},_mouseUp:function(a){Event.stopObserving(document.body,"mousemove",this.mouseMoveBinded);if(!this.page){return
}Event.stopObserving(document.body,"mousemove",this.bMouseMove);Event.stopObserving(document.body,"mouseup",this.bMouseUp);this.slider.style.left=(this.style==this.STYLE_THIN?16:18)+(this.page-1)*this.stepWidth+"px";this.go()},_moveLeft:function(a){if(this.currentPage==1){Event.stop(a);return}var b=this.currentPage;this.slider.style.left=(this.style==this.STYLE_THIN?16:18)+(b-2)*this.stepWidth+"px";
this.updateCaption(--b);this.go(b)},_moveRight:function(a){if(this.currentPage==this.totalPages){Event.stop(a);return}var b=this.currentPage;this.slider.style.left=(this.style==this.STYLE_THIN?16:18)+b*this.stepWidth+"px";this.updateCaption(++b);this.go(b)},_updateFriends:function(a){$A(Paginators.getGroup(this.group)).each(function(b){b._moveSlider("goTo",a)})},_hide:function(){$("paginationContainer_"+this.uniqueId).hide();
this.visible=false},_show:function(){if(this.visible==false){$("paginationContainer_"+this.uniqueId).show();this.visible=true}},_rewind:function(a){if(parseInt(a.totalPages)<2){this._hide()}else{this._show();this.totalPages=a.totalPages;this.currentPage=(a.currentPage?a.currentPage:1);this._calculateWidths();this._moveSlider("rewind",(a.currentPage?a.currentPage:1))}},_garbageCollector:function(){Event.stopObserving(this.navigationBar.identify(),"mousedown",this.bClickOnBar);
Event.stopObserving(this.leftArrow.identify(),"click",this.bMoveLeft);Event.stopObserving(this.rightArrow.identify(),"click",this.bMoveRight);Event.stopObserving("lnk_"+this.goTo.identify(),"click",this.bGoToPage);Event.stopObserving(this.slider.identify(),"mousedown",this.bMouseDown)},_goToPage:function(){var a=parseInt(this.goTo.value);if((0<a)&&(a<=this.totalPages)){this._moveSlider("goTo",a);this.go(a)
}else{this.goTo.select()}},go:function(page){if(this.loading){return}this.loading=true;if(!page){page=this.page}this.handler.parameters.unset("isRemove",true);if(this.isRemove){this.handler.parameters.set("isRemove",true);this.isRemove=false}this.handler.parameters.unset("refreshPagination");if(this.refreshPagination){this.handler.parameters.unset("cacheId");this.handler.parameters.set("refreshPagination",this.group)
}this.handler.parameters.set("page",page);this.handler.parameters.set("paginator",this.group);var createHandler=eval(this.handler.onCreate)||Prototype.emptyFunction;var failureHandler=eval(this.handler.onFailure)||Prototype.emptyFunction;createHandler(this);var ajaxParameters={method:"get",parameters:this.handler.parameters,onSuccess:function(tr){var successHandler=!(Object.isFunction(this.handler.onSuccess))?eval(this.handler.onSuccess)||Prototype.emptyFunction:this.handler.onSuccess;
var response=null;try{response=tr.responseText.evalJSON()}catch(ex){window.console.error(ex)}this.loading=false;try{successHandler(tr,response);this._handleUpdate(response)}catch(ex){window.console.log(ex)}}.bind(this),onFailure:function(tr){this.loading=false;failureHandler(tr)}};if(!Object.isUndefined(this.handler.parameters.get("overlayer"))){ajaxParameters.overlayer={id:this.handler.parameters.get("overlayer")}
}else{if(this.handler.update){ajaxParameters.overlayer={id:this.handler.update}}}if(this.handler.message){ajaxParameters.message=this.handler.message}new Ajax.Request(this.handler.url,ajaxParameters);this.currentPage=page;this._updateFriends(page)},_handleUpdate:function(a){if(this.handler.update){if(this.handler.parameters.get("isRemove")){$(this.removeHtmlElement).remove();$(this.handler.update).insert({bottom:a.results})
}else{$(this.handler.update).update(a.results)}}if(this.refreshPagination){Paginators.getGroup(this.group).each(function(b){b._rewind(a.handler.config);b.setParameters(a.handler.parameters)});this.refreshPagination=false}},refresh:function(a){this.refreshPagination=true;if(!Object.isUndefined(a)){if(!Object.isHash(a)){throw ("'newParameters' must be a Hash object!")}this.setParameters(a);this.currentPage=0;
var b=a.get("page");if(Object.isUndefined(b)){this.go(1)}else{this.go(b)}}else{this.go(this.currentPage)}},remove:function(a,b){this.isRemove=true;this.refreshPagination=true;this.removeHtmlElement=a;this.addParameters(b);this.go(this.getCurrentPage())},getHandler:function(){return this.handler},setHandler:function(a){this.handler=a},setParameters:function(a){this.handler.parameters=$H(a)},addParameters:function(a){this.handler.parameters=this.handler.parameters.merge(a)
},getParameters:function(){return this.handler.parameters},getCurrentPage:function(){return this.currentPage}});
