if(typeof SEMods=='undefined'){SEMods=function(){};}
SEMods.Utils=function(){};SEMods.Utils={dbgFunc:null,htmlspecialchars:function(text){return text?text.toString().replace(/&/g,'&amp;').replace(/"/g,'&quot;').replace(/'/g,'&#039;').replace(/</g,'&lt;').replace(/>/g,'&gt;'):'';},toHtml:function(text){return SEMods.Utils.htmlspecialchars(text).replace(/\n/g,'<br />');},debug:function(message){if(SEMods.debug)
this.dbgFunc?this.dbgFunc(message):alert(message);},setDebugger:function(dbgFunc){this.dbgFunc=dbgFunc;},unescapeQuotes:function(word){escaped=word.replace(/:jsesq:/g,"'");escaped=escaped.replace(/:jsedq:/g,'"');escaped=escaped.replace(/:jselb:/g,'\[');escaped=escaped.replace(/:jserb:/g,'\]');escaped=escaped.replace(/:jsebs:/g,'\\');return escaped;},arrayToQueryString:function(queryArray){var query='';for(var key in queryArray){query+=encodeURIComponent(key)+'='+encodeURIComponent(queryArray[key])+'&';}
return query.slice(0,-1);}};SEMods.Browser=function(){};SEMods.Browser={isIE:(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent)),isFireFox:(/FireFox/i.test(navigator.userAgent)),isOpera:(/Opera/i.test(navigator.userAgent)),addEvent:function(obj,type,func){if(obj.addEventListener){obj.addEventListener(type,func,0);}else if(obj.attachEvent){obj.attachEvent("on"+type,func);}},register_onload:function(handler){if(window.onload){var original_handler=window.onload;window.onload=function(){original_handler();handler();};}
else{window.onload=handler;}},ge:function(element){var elem;if(typeof element=='string'){elem=document.getElementById(element);if(!elem)
elem=this.geByName(element);}else{elem=element;}
return elem;},geByName:function(element){var elems=document.getElementsByName(element);if(elems.length==1)
return elems[0];return null;},show:function(){for(var i=0;i<arguments.length;i++){var element=SEMods.B.ge(arguments[i]);if(element&&element.style)element.style.display='block';}},hide:function(){for(var i=0;i<arguments.length;i++){var element=SEMods.B.ge(arguments[i]);if(element&&element.style)element.style.display='none';}},toggle:function(){for(var i=0;i<arguments.length;i++){var element=SEMods.B.ge(arguments[i]);element.style.display=(element.style.display=='block')?'none':'block';}},findX:function(obj){var curleft=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft
obj=obj.offsetParent;}}
else if(obj.x)
curleft+=obj.x;return curleft;},findY:function(obj){var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop
obj=obj.offsetParent;}}
else if(obj.y)
curtop+=obj.y;return curtop;},mousePosX:function(e){var posx=0;if(!e)var e=window.event;if(e.pageX)
posx=e.pageX;else if(e.clientX&&document.body.scrollLeft)
posx=e.clientX+document.body.scrollLeft;else if(e.clientX&&document.documentElement.scrollLeft)
posx=e.clientX+document.documentElement.scrollLeft;else if(e.clientX)
posx=e.clientX;return posx;},mousePosY:function(e){var posy=0;if(!e)var e=window.event;if(e.pageY)
posy=e.pageY;else if(e.clientY&&document.body.scrollTop)
posy=e.clientY+document.body.scrollTop;else if(e.clientY&&document.documentElement.scrollTop)
posy=e.clientY+document.documentElement.scrollTop;else if(e.clientY)
posy=e.clientY;return posy;},getStyle:function(obj,property){if(window.getComputedStyle){return window.getComputedStyle(obj,null).getPropertyValue(property);}
if(document.defaultView&&document.defaultView.getComputedStyle){var computedStyle=document.defaultView.getComputedStyle(obj,null);if(computedStyle)return computedStyle.getPropertyValue(property);}
if(obj.currentStyle){return obj.currentStyle[property];}
return obj.style[property];},getStyleName:function(stylename){return SEMods.Browser.isIE?stylename:stylename.replace(/[A-Z]/g,function(a){return'-'+a.toLowerCase();});},getPXMetrics:function(metric,defvalue){var metricBase=parseFloat(metric);if(isNaN(metricBase))return defvalue!=null?defvalue:metricBase;return /px/i.test(metric)?metricBase:/pt/i.test(metric)?1.3333*metricBase:metricBase;},createDiv:function(parent,id,cname){var div=document.createElement("div");if(id)div.id=id;if(cname)div.className=cname;parent.appendChild(div);return div;}};SEMods.B=SEMods.Browser;SEMods.U=SEMods.Utils;SEMods.TextAreaControl=function(object){this.obj=object;this.obj.style['overflow']='hidden';this.originalHeight=this.obj.offsetHeight;var updater=this.update.bind(this);SEMods.Browser.addEvent(object,"focus",this.onFocus.bind(this));SEMods.Browser.addEvent(object,"blur",this.onBlur.bind(this));this.update();};SEMods.TextAreaControl.prototype={obj:null,updating:false,autoGrow:false,originalHeight:null,shadowElement:null,increment:0,timer:null,lastLength:0,fontFamily:SEMods.Browser.getStyleName('fontFamily'),fontSize:SEMods.Browser.getStyleName('fontSize'),paddingLeft:SEMods.Browser.getStyleName('paddingLeft'),paddingRight:SEMods.Browser.getStyleName('paddingRight'),lineHeight:SEMods.Browser.getStyleName('lineHeight'),setAutoGrow:function(autoGrow){this.autoGrow=autoGrow;this.createShadowElement();this.update();},onUpdate:function(){if(this.autoGrow&&this.lastLength!=this.obj.value.length){this.lastLength=this.obj.value.length;this.updateShadowElement();this.obj.style.height=Math.max(this.originalHeight,this.shadowElement.offsetHeight+this.increment)+'px';}},beginUpdate:function(){if(this.updating)
return false;this.updating=true;return true;},endUpdate:function(){this.updating=false;},update:function(){if(!this.beginUpdate())
return;this.onUpdate();this.endUpdate();},createShadowElement:function(){if(this.shadowElement)
return;this.shadowElement=document.createElement("DIV");this.shadowElement.style.position="absolute";this.shadowElement.style.top="-99999px";this.shadowElement.style.left="-99999px";document.body.appendChild(this.shadowElement);},updateShadowElement:function(){if(this.shadowElement){this.shadowElement.innerHTML=SEMods.Utils.toHtml(this.obj.value+'<br>');var fontSize=SEMods.Browser.getPXMetrics(SEMods.Browser.getStyle(this.obj,this.fontSize),10);var lineHeight=SEMods.Browser.getStyle(this.obj,this.lineHeight);if(SEMods.Browser.isOpera)
lineHeight=SEMods.Browser.getPXMetrics(lineHeight,0)+3+'px';this.increment=fontSize+10;this.shadowElement.style['width']=this.obj.offsetWidth+'px';this.shadowElement.style['lineHeight']=lineHeight;this.shadowElement.style['fontSize']=SEMods.Browser.getStyle(this.obj,this.fontSize);this.shadowElement.style['fontFamily']=SEMods.Browser.getStyle(this.obj,this.fontFamily);this.shadowElement.style['paddingLeft']=SEMods.Browser.getStyle(this.obj,this.paddingLeft);this.shadowElement.style['paddingRight']=SEMods.Browser.getStyle(this.obj,this.paddingRight);}},onFocus:function(){this.timer=setInterval(this.update.bind(this),500);},onBlur:function(){if(this.timer){clearInterval(this.timer);this.timer=null;}}};SEMods.Ajax=function(doneHandler,failHandler)
{this.onDone=doneHandler;this.onFail=failHandler;this.transport=this.getTransport();this.transport.onreadystatechange=this.stateDispatch.bind(this);};SEMods.Ajax.prototype={get:function(uri,query,force_sync){force_sync=force_sync||false;if(typeof query!='string')
query=SEMods.U.arrayToQueryString(query);fullURI=uri+(query?('?'+query):'');this.transport.open('GET',fullURI,!force_sync);this.transport.send('');},post:function(uri,data,force_sync){force_sync=force_sync||false;if(typeof data!='string')
data=SEMods.U.arrayToQueryString(data);this.transport.open('POST',uri,!force_sync);this.transport.setRequestHeader("Content-Type","application/x-www-form-urlencoded");this.transport.send(data);},stateDispatch:function(){if(this.transport.readyState==4){if(this.transport.status>=200&&this.transport.status<300&&this.transport.responseText.length>0){if(this.onDone)this.onDone(this,this.transport.responseText);}else{if(this.onFail)this.onFail(this);}}},getTransport:function(){var ajax=null;try{ajax=new XMLHttpRequest();}
catch(e){ajax=null;}
try{if(!ajax)ajax=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){ajax=null;}
try{if(!ajax)ajax=new ActiveXObject("Microsoft.XMLHTTP")}
catch(e){ajax=null;}
return ajax;},toResponse:function(responseText){responseText=responseText||this.transport.responseText;var r=[];try{r=eval('('+responseText+')')}catch(e){r.status=1;r.err_msg='HTTP Error';r.err_code=100;};return r;}};if(typeof textarea_autogrow=='undefined'){textarea_autogrow=function(elementid){var el=SEMods.Browser.ge(elementid);if(!el)SEMods.Utils.debug("textarea_autogrow(): element not found");if(el&&!el._controlled){el._controlled=true;new SEMods.TextAreaControl(el).setAutoGrow(true);}};};var openidconnect_faceboxex_close_nocancel=false;var openidconnect_autologin_skipcheck=false;function openidconnect_autologin(openid_user_id){if(openidconnect_autologin_skipcheck){return;}
var ajax=new SEMods.Ajax(openidconnect_autologin_onSuccess);var params='format=json&openidservice='+openidconnect_primary_network;ajax.post(openidconnect_base_url+'socialdna/index/'+'autologin',params)}
function openidconnect_autologin_onSuccess(obj,responseText){var r=[];try{r=eval('('+responseText+')')}catch(e){r.status=1};if(r.status==0){if(r.autologin==0){openidconnect_autologin_prompt();}else if(r.autologin==1){openidconnect_autologin_complete();}}else{}}
function openidconnect_autologin_prompt(){mooFaceboxExShow("","#openidconnect_autologin_prompt",570)
_mooFaceboxEx.faceboxEl.getElement('.openidconnect_autologin_prompt_cancel').addEvent('click',function(e){openidconnect_autologin_cancel()});}
function openidconnect_autologin_confirmed(){var checkbox=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_autologin_remember');var checked=checkbox.checked;mooFaceboxExClose();var complete_login=function(){openidconnect_autologin_complete();};if(checked){var ajax=new SEMods.Ajax(complete_login,complete_login);var params='format=json&openidservice='+openidconnect_primary_network;ajax.post(openidconnect_base_url+'socialdna/index/'+'autologinnexttime',params)}else{complete_login();}}
function openidconnect_autologin_complete(){window.location=openidconnect_autologin_url+'/openidservice/'+openidconnect_primary_network;}
function openidconnect_autologin_cancel(){mooFaceboxExClose();_openidconnect_autologin_cancel();}
function _openidconnect_autologin_cancel(){if(openidconnect_faceboxex_close_nocancel){return;}
var checkbox=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_autologin_remember');var checked=checkbox.checked;var ajax=new SEMods.Ajax();var params='format=json&openidservice='+openidconnect_primary_network+'&autologinremember='+(checked?1:0);ajax.post(openidconnect_base_url+'socialdna/index/'+'autologinsuppress',params)}
function openidconnect_facebook_require_login(){openidconnect_when_facebook_ready(function(){window.addEvent('domready',function(){openidconnect_facebook_require_login_onload()});});}
var openidconnect_facebook_require_login_current_state=1;function openidconnect_facebook_require_login_onload(){FB.getLoginStatus(function(response){if(response.authResponse){if(openidconnect_facebook_require_login_current_state!=0){if(response.authResponse.userID==openidconnect_facebook_user_id){openidconnect_facebook_require_login_loaded(true);}else{openidconnect_facebook_require_login_loaded(false);}}}else{openidconnect_facebook_require_login_current_state=0;openidconnect_facebook_require_login_loaded(false);}});}
function openidconnect_facebook_require_login_loaded(loggedin){if($('openidconnect_facebook_require_login_loading')){SEMods.B.hide('openidconnect_facebook_require_login_loading');}
if(loggedin){SEMods.B.show('openidconnect_facebook_loggedin');}else{SEMods.B.hide('openidconnect_facebook_loggedin');SEMods.B.show('openidconnect_facebook_notloggedin');}}
function openidconnect_register_invite_form(){openidconnect_when_facebook_ready(function(){window.addEvent('domready',function(){openidconnect_invite_form_onload()});});}
function openidconnect_invite_form_invitable(facebook_user_id){if(!facebook_user_id||(openidconnect_facebook_user_id!=facebook_user_id)){SEMods.B.hide('openidconnect_facebook_invite_dialog');SEMods.B.show('openidconnect_facebook_connect');}}
function openidconnect_invite_form_onload(){FB.getLoginStatus(function(response){if(response.authResponse){openidconnect_invite_form_invitable(response.authResponse.userID)}else{openidconnect_invite_form_invitable()}});}
function openidconnect_register_facebook_login_button(redirect_url){SEMods.B.register_onload(function(){openidconnect_facebook_login_button_onload(redirect_url);});}
function openidconnect_facebook_login_button_onload(redirect_url){openidconnect_facebook_login_button_clickable(redirect_url);}
function openidconnect_facebook_login_button_clickable(redirect_url){$$('.openidconnect_facebook_login_button').each(function(elem){elem.addEvent('click',function(){var permissions="user_about_me,user_activities,user_birthday,user_hometown,user_interests,user_location,user_religion_politics,user_status,user_website,offline_access";if(parseInt(openidconnect_fbe)==1){permissions+=",email";}
FB.login(function(response){if(response.authResponse){window.location=redirect_url;}else{}},{scope:permissions});return false;})});}
function openidconnect_facebook_disconnect(redirect){if(typeof redirect=='undefined'){redirect=openidconnect_logout_url;}
FB.getLoginStatus(function(response){if(response.authResponse){FB.logout(function(response){window.location=redirect;});}else{window.location=redirect;}});}
function openidconnect_facebook_authorize_status_update(){openidconnect_facebook_prompt_permission('status_update',openidconnect_facebook_authorize_status_update_authorized);}
function openidconnect_facebook_authorize_status_update_check(){openidconnect_require_connected(function(){_openidconnect_facebook_authorize_status_update_check();});}
function _openidconnect_facebook_authorize_status_update_check(){FB.ensureInit(function(){FB.Connect.requireSession(function(){FB.Facebook.apiClient.users_hasAppPermission("status_update",openidconnect_facebook_authorize_status_update_authorized);});});}
function openidconnect_facebook_authorize_status_update_authorized(granted){}
function openidconnect_facebook_status_update_check_switch(status){status?$('#openidconnect_facebook_status_update_authorization').show():$('#openidconnect_facebook_status_update_authorization').hide();}
function openidconnect_facebook_logout(){FB.logout(function(response){window.location=openidconnect_logout_url;});return false;}
function openidconnect_facebook_logout_network(){window.location=openidconnect_logout_url+'/user/logout';window.location=openidconnect_logout_url;}
function openidconnect_facebook_hook_logout_link(){$$("A").each(function(el){if(/logout/.test(el.href)){el.href='javascript:void(0)';el.innerHTML="<img border='0' id='fb_logout_image' src='http://static.ak.fbcdn.net/images/fbconnect/logout-buttons/logout_small.gif' alt='Connect'/>";if(typeof el.addEventListener!='undefined'){el.addEventListener("click",openidconnect_facebook_logout,false);}else if(typeof el.attachEvent!='undefined'){el.attachEvent('onclick',openidconnect_facebook_logout);}}});try{OverText.update();}catch(e){}}
function openidconnect_compose_feed_story(story_type,story_params){var ajax=new SEMods.Ajax(openidconnect_compose_feed_story_onSuccess,openidconnect_compose_feed_story_onFail);var params='format=json&story_type='+story_type+'&story_params='+story_params;ajax.post(openidconnect_base_url+'socialdna/index/'+'composefeedstory',params)}
function openidconnect_publish_feed_story_do(story_type,story_params){SEMods.B.hide(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_action'))
SEMods.B.show(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_progress'))
SEMods.B.hide(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_action'))
var checkboxes=_mooFaceboxEx.faceboxEl.getElements('.openidconnect_publish_feed_story_service');var services=[];for(var checkbox in checkboxes){if(checkboxes[checkbox].checked){services.push(checkboxes[checkbox].value);}}
services.join(',');var user_message=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_user_message');user_message=user_message?user_message.value:'';var update_session=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_update_session').value;var ajax=new SEMods.Ajax(openidconnect_publish_feed_story_do_onSuccess,openidconnect_publish_feed_story_do_onFail);var params='format=json&story_type='+story_type+'&story_params='+story_params+'&services='+services+'&user_message='+user_message+'&update_session='+update_session;ajax.post(openidconnect_base_url+'socialdna/index/'+'publishfeedstory',params)}
var openidconnect_publish_feed_story_rounds=0;var openidconnect_publish_feed_story_rounds_max=2;function openidconnect_publish_feed_story_do_onSuccess(obj,responseText){var r=obj.toResponse();if(r.status==0){SEMods.B.hide(_mooFaceboxEx.faceboxEl.getElement('.form_div'));SEMods.B.show(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_success'));setTimeout(function(){openidconnect_faceboxex_close_nocancel=true;mooFaceboxExClose();},2000);openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);}else if((r.status==200)||(r.status==204)){SEMods.B.show(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_action'));SEMods.B.hide(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_progress'));_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_prompt_confirmed').disabled=0;_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_update_session').value=1;openidconnect_publish_feed_story_rounds++;openidconnect_facebook_prompt_permission("offline_access,publish_stream",function(perms){if((perms!='')&&(openidconnect_publish_feed_story_rounds<openidconnect_publish_feed_story_rounds_max)){openidconnect_publish_feed_story_prompt_confirmed();}});}else{SEMods.B.hide(_mooFaceboxEx.faceboxEl.getElement('.form_div'));SEMods.B.show(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_success'));setTimeout(function(){openidconnect_faceboxex_close_nocancel=true;mooFaceboxExClose();},2000);openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);}}
function openidconnect_publish_feed_story_do_onFail(obj,responseText){SEMods.B.hide(_mooFaceboxEx.faceboxEl.getElement('.form_div'));SEMods.B.show(_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_fail'));setTimeout(function(){openidconnect_faceboxex_close_nocancel=true;mooFaceboxExClose();},2000);openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);}
function openidconnect_compose_feed_story_onSuccess(obj,responseText){var r=[];try{r=eval('('+responseText+')')}catch(e){r.status=1};if(r.status==0){if(r.openidconnect_feed_story.publish_using=='stream'){openidconnect_facebook_publish_stream(r.openidconnect_feed_story.story_type,r.openidconnect_feed_story.data,r.openidconnect_feed_story.user_prompt,r.openidconnect_feed_story.user_message);}else{openidconnect_facebook_publish_feed_story(r.openidconnect_feed_story.story_type,r.openidconnect_feed_story.data,r.openidconnect_feed_story.template_bundle_id,r.openidconnect_feed_story.user_prompt,r.openidconnect_feed_story.user_message);}}else{}}
function openidconnect_compose_feed_story_onFail(obj,responseText){}
function openidconnect_publish_feed_story_prompt(){_openidconnect_publish_feed_story_prompt();}
function _openidconnect_publish_feed_story_prompt(){mooFaceboxExShow("","#openidconnect_publish_feed_story_prompt",600,true,{'footer':false});_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_prompt_cancel').addEvent('click',function(e){openidconnect_publish_feed_story_prompt_cancel()});setTimeout(function(){_mooFaceboxEx.faceboxEl.getElement('.openidconnect_user_message').focus();},1000);}
function openidconnect_publish_feed_story_prompt_confirmed(){var checkbox=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_auto');var checked=checkbox.checked;openidconnect_publish_feed_story_do(openidconnect_facebook_feed_story_type,openidconnect_facebook_feed_story_params);if(checked){var ajax=new SEMods.Ajax();var params='format=json&story_type='+openidconnect_facebook_feed_story_type;ajax.post(openidconnect_base_url+'socialdna/index/'+'storyautopublish',params)}}
function openidconnect_publish_feed_story_prompt_wait(){mooFaceboxExClose();}
function openidconnect_publish_feed_story_prompt_cancel(story_type){mooFaceboxExClose();_openidconnect_publish_feed_story_prompt_cancel(story_type);}
function _openidconnect_publish_feed_story_prompt_cancel(story_type){if(openidconnect_faceboxex_close_nocancel){return;}
var checkbox=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_neveragain');var checked=checkbox.checked;mooFaceboxExClose();openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);if(checked){var ajax=new SEMods.Ajax();var params='format=json&story_type='+openidconnect_facebook_feed_story_type;ajax.post(openidconnect_base_url+'socialdna/index/'+'storynopublish',params)}}
function openidconnect_publish_feed_story_completed(story_type,callback){var ajax=new SEMods.Ajax();var params='format=json&story_type='+story_type;ajax.post(openidconnect_base_url+'socialdna/index/'+'clearstory',params)
if((typeof callback!='undefined')&&!callback){callback();}}
var openidconnect_connected=false;var openidconnect_onconnect=null;function openidconnect_onconnected(hook_logout){FB.getLoginStatus(function(response){if(response.authResponse){if(response.authResponse.userID==openidconnect_facebook_user_id){openidconnect_connected=true;if(openidconnect_onconnect){openidconnect_onconnect();}
if(hook_logout==1){openidconnect_facebook_hook_logout_link();}};}});}
function openidconnect_register_onconnect(handler){if(openidconnect_onconnect){var original_handler=openidconnect_onconnect;openidconnect_onconnect=function(){original_handler();handler();};}else{openidconnect_onconnect=handler;}}
function openidconnect_facebook_onload(params){var options={'request_connect':false,'callback':null,'hook_logout':true,'user_exists':false,'autologin':true};if(typeof params!='undefined'){for(var param in params){options[param]=params[param];}}
FB.getLoginStatus(function(response){if(response.authResponse){if(options.autologin==1){if(options.user_exists==0){openidconnect_autologin(response.authResponse.userID);}}
if(options.user_exists==1){if(options.callback){options.callback();}
openidconnect_onconnected(options.hook_logout);}}else{if(options.user_exists==1){if(openidconnect_onconnect&&(options.request_connect==1)){openidconnect_facebook_request_connect();}}else{openidconnect_autologin_skipcheck=true;}}});}
function openidconnect_facebook_request_connect(){mooFaceboxExShow("","#openidconnect_connect_prompt",570)
_mooFaceboxEx.onclose=function(){_openidconnect_facebook_request_connect_cancel();};}
function openidconnect_facebook_request_connect_confirmed(){mooFaceboxExClose();FB.getLoginStatus(function(response){if(response.authResponse){if(openidconnect_onconnect){openidconnect_onconnected();}else{openidconnect_refresh_page();}}else{openidconnect_facebook_require_login_current_state=0;openidconnect_facebook_require_login_loaded(false);}});}
function openidconnect_facebook_request_connect_cancel(){mooFaceboxExClose()
_openidconnect_facebook_request_connect_cancel();}
function _openidconnect_facebook_request_connect_cancel(){if(openidconnect_faceboxex_close_nocancel){return;}
var ajax=new SEMods.Ajax();var params='format=json';ajax.post(openidconnect_base_url+'socialdna/index/'+'suppressconnect',params)
openidconnect_publish_feed_story_completed('all');}
function openidconnect_facebook_onlogin_ready(){openidconnect_refresh_page();}
function openidconnect_refresh_page(){document.location=document.location;}
function openidconnect_facebook_prompt_permission(permission,callback){if(typeof callback=='undefined'){callback=null;}
var tryoauth=false;try{FB.login(function(response){if(callback){callback(response.perms);}},{perms:permission});}catch(e){tryoauth=true;};if(tryoauth){FB.login(function(response){if(callback){callback(response.perms);}},{scope:permission});}}
function openidconnect_require_connected(callback){if(openidconnect_connected){callback();}else{openidconnect_register_onconnect(function(){callback();});}}
function openidconnect_facebook_publish_feed_story(story_type,template_data,form_bundle_id,userprompt,usermessage,callback){openidconnect_require_connected(function(){_openidconnect_facebook_publish_feed_story(story_type,template_data,form_bundle_id,userprompt,usermessage,callback);});}
var openidconnect_facebook_load_form_bundle_id_callback;function openidconnect_facebook_load_form_bundle_id(story_type,callback){openidconnect_facebook_load_form_bundle_id_callback=callback;}
function openidconnect_facebook_load_form_bundle_id_onSuccess(obj,responseText){var r=[];try{r=eval('('+responseText+')')}catch(e){r.status=1};if(r.status==0){openidconnect_facebook_load_form_bundle_id_callback(r.template_bundle_id);}else{}}
function openidconnect_facebook_load_form_bundle_id_onFail(obj,responseText){}
function _openidconnect_facebook_publish_feed_story(story_type,template_data,form_bundle_id,userprompt,usermessage,callback){if(form_bundle_id=="auto"){openidconnect_facebook_load_form_bundle_id(story_type,function(_form_bundle_id){_openidconnect_facebook_publish_feed_story(story_type,template_data,_form_bundle_id,userprompt,usermessage,callback);});return;}
if(typeof userprompt=='undefined'){userprompt=null;}
if(typeof usermessage=='undefined'){usermessage=null;}else{usermessage={value:usermessage};}
FB.ensureInit(function(){feed_callback=function(){openidconnect_publish_feed_story_completed(story_type,callback);};FB.Connect.showFeedDialog(form_bundle_id,template_data,null,null,null,FB.RequireConnect.promptConnect,feed_callback,userprompt,usermessage);});}
function openidconnect_facebook_publish_stream(story_type,data,userprompt,usermessage,callback){openidconnect_require_connected(function(){_openidconnect_facebook_publish_stream(story_type,data,userprompt,usermessage,callback);});}
function _openidconnect_facebook_publish_stream(story_type,data,userprompt,usermessage,callback){feed_callback=function(){openidconnect_publish_feed_story_completed(story_type,callback);};var UserRequestsNoPrompting=1;FB.ensureInit(function(){FB.Connect.requireSession(function(){if(UserRequestsNoPrompting){FB.Facebook.apiClient.users_hasAppPermission("publish_stream",function(has){if(has==0){FB.Connect.showPermissionDialog("publish_stream",function(granted){openidconnect_facebook_publish_stream2(data,true,userprompt,usermessage,feed_callback);});}
else{openidconnect_facebook_publish_stream2(data,true,userprompt,usermessage,feed_callback);}});}else{openidconnect_facebook_publish_stream2(data,false,userprompt,usermessage,feed_callback);}});});}
function openidconnect_facebook_publish_stream2(data,auto_publish,userprompt,usermessage,callback){if(typeof callback=='undefined'){callback=null;}
if(typeof userprompt=='undefined'){userprompt=null;}
if(typeof usermessage=='undefined'){usermessage=null;}
var attachment=typeof data.attachment!='undefined'?data.attachment:null;var links=typeof data.links!='undefined'?data.links:null;var target_id=typeof data.target_id!='undefined'?data.target_id:'';auto_publish=typeof data.auto_publish!='undefined'?data.auto_publish:auto_publish;FB.Connect.streamPublish(usermessage,attachment,links,target_id,userprompt,callback,auto_publish);}
var openidconnect_notify_connected_cb=null;function openidconnect_onNotifyConnected(service){if(_mooFaceboxEx){var checkbox=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_service_'+service);if(checkbox){checkbox.checked=true;}}}
function openidconnect_onNotifyConnectedSocial(service){document.location=document.location;}
var openidconnect_opener_window=null;var openidconnect_connected_services=[];function openidconnect_connect_service(service,callback){for(var i=0,l=openidconnect_connected_services.length;i<l;i++){if(openidconnect_connected_services[i]==service){return;}}
if(_mooFaceboxEx){var checkbox=_mooFaceboxEx.faceboxEl.getElement('.openidconnect_publish_feed_story_service_'+service);if(checkbox){checkbox.checked=false;}}
if(typeof callback!='undefined'){openidconnect_notify_connected_cb=callback;}else{openidconnect_notify_connected_cb=openidconnect_onNotifyConnected;}
if(service=='facebook'){openidconnect_facebook_prompt_permission("offline_access,publish_stream",function(){openidconnect_onlogincomplete('','facebook');});}else{openidconnect_opener_window=openidconnect_newwindow(openidconnect_relay_url+'/login/'+service+'?inpopup=1');}}
function openidconnect_newwindow(url,title,options,retry){options='menubar=0,toolbar=0,resizable=1,width=960,height=680';try{width=options.split('width=')[1].split(',')[0];height=options.split('height=')[1].split(',')[0];var window_left=(screen.width-width)/2;var window_top=(screen.height-height)/2;if(window_left<0){width=screen.width;window_left=0;}
if(window_top<0){height=screen.height;window_top=0;}
options+=',top='+window_top+',left='+window_left;}catch(e){}
var newwin=window.open(url,title,options);if(!newwin){newwin=window.open('',title,options);if(newwin&&newwin.location){newwin.location.href=url;}}
if(!newwin&&!retry){window.setTimeout(function(){openidconnect_newwindow(url,title,options,1)},10);return;}
if(newwin&&newwin.focus){newwin.focus();}
return newwin;}
function openidconnect_onlogincomplete(session,service){if(openidconnect_opener_window){openidconnect_opener_window.close();}
var ajax=new SEMods.Ajax(openidconnect_connect_onSuccess,openidconnect_connect_onFail);var params='format=json&openidsession='+session+'&openidservice='+service;ajax.post(openidconnect_base_url+'socialdna/index/'+'connect',params)}
function openidconnect_connect_onSuccess(obj,responseText){var r=[];try{r=eval('('+responseText+')')}catch(e){r.status=1;r.err_msg='Woops.. HTTP Error!';};if(r.status==0){openidconnect_connected_services.push(r.service);if(openidconnect_notify_connected_cb){openidconnect_notify_connected_cb(r.service);}}else{alert(r.err_msg);}}
function openidconnect_connect_onFail(obj,responseText){}
if(typeof OpenidConnect=='undefined'){OpenidConnect=function(){};}
function openidconnect_show_send_message(user_id,service_id){}
var openidconnect_when_facebook_ready_queue=null;function openidconnect_when_facebook_ready(handler){if(window.FB){handler();return;}
if(openidconnect_when_facebook_ready_queue){var original_handler=openidconnect_when_facebook_ready_queue;openidconnect_when_facebook_ready_queue=function(){original_handler();handler();};}else{openidconnect_when_facebook_ready_queue=handler;}};var Wall={};Wall.rolldownload=true;Wall.dialogConfirm=true;Wall.globalBind=function()
{window.addEvent('domready',function(){try{Smoothbox.bind($$('body')[0]);if(!Wall.elements){Wall.elements=new Wall.Storage();}
$$('.wall_tips').each(function(item){if(item.get('title')){Wall.elementClass(Wall.Tips,item);}});if(Wall.liketips_enabled){$$('.wall_liketips').each(function(item){if(!item||!$(item).get('rev')){return;}
var type=$(item).get('rev').split("_")[0];var types=['user','page','group','event'];if(!types.contains(type)){return;}
Wall.elementClass(Wall.LikeTips,item);});}
$$('.wall_blurlink').each(function(item){Wall.elementClass(Wall.BlurLink,item);});}catch(e){}});};Wall.globalBind();Wall.runonce={is_ready:false,add:function(fn,force)
{if(this.is_ready&&force){fn();}else{en4.core.runonce.add(fn);}}};Wall.window_title='';Wall.activityCount=function(count)
{Wall.runonce.add(function(){if(!count){document.title=Wall.window_title;}else{document.title='('+count+') '+Wall.window_title;}},true);};var WallLoader=function(){Wall.window_title=document.title;Wall.runonce.is_ready=true;};window.addEvent('load',function(){WallLoader();});window.addEvent('domready',function(){WallLoader();});Wall.is_request=false;Wall.request=function(url,data,callback)
{if(typeof(data)=='object'){data.format='json';}else if(typeof(data)=='string'){data+='&format=json';}
Wall.is_request=true;(new Request.JSON({secure:false,url:url,method:'post',data:data,onSuccess:function(obj){Wall.is_request=false;if($type(callback)=='function'){callback(obj);}
Wall.globalBind();en4.core.runonce.trigger();}})).send();};Wall.requestHTML=function(url,callback,$container,data)
{data=$merge({'format':'html'},data);Wall.is_request=true;var request=new Request.HTML({'url':url,'method':'get','data':data,'evalScripts':false,'onComplete':function(responseTree,responseElements,responseHTML,responseJavaScript){Wall.is_request=false;if($container&&$type($container)=='element'){$container.set('html',responseHTML);}
if($type(callback)=='function'){callback(responseHTML);}
eval(responseJavaScript);Wall.globalBind();en4.core.runonce.trigger();}});request.send();};Wall.is_setKeyEvent=false;Wall.setKeyEvent=function(fn)
{var self=this;if(this.is_setKeyEvent){return;}
window.addEvent('keyup',function(e){if(e.target.get('tag')=='html'||e.target.get('tag')=='body'){if(fn&&$type(fn)=='function'){fn(e);}}});this.is_setKeyEvent=true;};Wall.$external_div=null;Wall.externalDiv=function(){if(!this.$external_div||$type(this.$external_div)!='element'){this.$external_div=new Element('div',{'class':'wall-element-external'});this.$external_div.inject($$('body')[0]);}
return this.$external_div;};Wall.applyAll=function(fn)
{if(!fn||$type(fn)!='function'){return;}
Wall.feeds.getAll().each(function(item){fn(item);});};Wall.BlurLink=new Class({name:'Wall.BlurLink',initialize:function(element)
{element=$(element);element.addEvent('focus',function(){$try(function(){if(element){element.blur();}});});}});Wall.getWindowSize=function()
{if(typeof(document.body.clientWidth)=='number'){return{x:document.body.clientWidth,y:document.body.clientHeight};}else{return $$('body')[0].getSize();}};Wall.injectAbsolute=function(element,container,direction)
{element=$(element);container=$(container);if($type(element)!='element'||$type(container)!='element'){return;}
var build=function()
{var pos=element.getCoordinates();var page_width=Wall.getWindowSize().x;container.setStyle('position','absolute').setStyle('top',pos.top+pos.height);if(direction){container.setStyle('right',page_width-pos.left-pos.width);}else{container.setStyle('left',pos.left);}};container.inject(Wall.externalDiv(),'bottom');window.addEvent('resize',function(){build();}.bind(this));build();return container;};Wall.OverText=new Class({element:null,text:'',initialize:function(element,text)
{this.element=element=$(element);this.text=text;element.set('value',text);element.addClass('overTxtLabel');element.addEvent('focus',function(){if(element.get('value')==text){element.set('value','');}
element.removeClass('overTxtLabel');});element.addEvent('blur',function(){if(element.get('value')==''){element.set('value',text);}
if(element.get('value')==text){element.addClass('overTxtLabel');}});},clear:function()
{this.element.value=this.text;this.element.addClass('overTxtLabel');}});Wall.Loader=new Class({element:null,initialize:function(element)
{this.element=element=$(element);},hide:function()
{this.element.setStyle('display','none');},show:function()
{this.element.setStyle('display','');}});Wall.OverLoader=new Class({name:'Wall.OverLoader',Implements:[Events,Options],element:null,overloader:null,icon:null,type:'',options:{is_smoothbox:false},initialize:function(element,type,options)
{this.element=element=$(element);this.type=type||'loader1';this.setOptions(options);this.overloader=new Element('div',{'class':'wall-overloader '+this.type,'style':'display: none'});this.icon=new Element('div',{'class':'wall_icon'});this.icon.inject(this.overloader);this.build();this.overloader.inject(element,'after');},show:function()
{this.build();this.overloader.setStyle('display','');},hide:function()
{this.overloader.setStyle('display','none');},build:function()
{if(!this.element.isVisible()){return;}
var pos=this.element.getCoordinates();this.overloader.setStyle('position','absolute').setStyle('left',pos.left).setStyle('top',pos.top).setStyle('width',pos.width+((this.options.is_smoothbox)?0:1)).setStyle('height',pos.height+((this.options.is_smoothbox)?0:1)).setStyle('display','none');var loader_width=0;var loader_height=0;if(this.type=='loader1'){loader_width=16;loader_height=16;}else if(this.type=='loader2'){loader_width=48;loader_height=48;}
this.icon.setStyle('margin-left',pos.width/2-loader_width/2).setStyle('margin-top',pos.height/2-loader_height/2);}});Function.implement('Invoke',function(args){var tmp=Class.instantiate(this);var init=this.prototype.initialize;if(init){init.apply(tmp,$splat(args));}
return tmp;});Wall.elementClass=function()
{var options=Array.prototype.slice.call(arguments||[]);var newClass=options[0];if(!newClass||($type(newClass)!='class')){return;}
var name=newClass.prototype.name;if(!name){return;}
if($type($(options[1]))=='element'){var element=$(options[1]);var key=name+'_'+$uid(element);var instance=Wall.elements.get(key);if(instance){return instance;}
instance=newClass.Invoke(options.slice(1));Wall.elements.add(key,instance);return instance;}};Wall.TipFx=new Class({Implements:[Events,Options],options:{class_var:'',is_arrow:true,relative_element:null,delay:1},timeout:null,mouseActive:false,initialize:function(element,options)
{this.setOptions(options);this.element=$(element);this.createDom();},createDom:function()
{var self=this;if($type($(this.element))!='element'){return;}
this.$container=new Element('div',{'class':'wall-tips '+(this.options.class_var||''),style:'display:none'});this.$inner=new Element('div',{'class':'container','html':(this.options.html||'')});if(!Wall.isLightTheme()){this.$container.addClass('night_theme');}
if(this.options.is_arrow){this.$arrow_container=new Element('div',{'class':'arrow_container'});this.$arrow=new Element('div',{'class':'arrow'});}
this.$inner.inject(this.$container);if(this.options.is_arrow){this.$arrow.inject(this.$arrow_container);this.$arrow_container.inject(this.$container);}
this.$container.inject(Wall.externalDiv());window.addEvent('resize',function(){this.build();}.bind(this));this.build();var mouseover=function(){this.mouseActive=true;if(this.options.delay){window.clearTimeout(this.timeout);this.timeout=window.setTimeout(function(){this.build();this.$container.setStyle('display','');this.fireEvent('mouseover');}.bind(this),this.options.delay);}else{this.build();this.$container.setStyle('display','');this.fireEvent('mouseover');}}.bind(this);this.element.addEvent('mouseover',mouseover);this.$container.addEvent('mouseover',mouseover);var mouseout=function(e){this.mouseActive=false;if(this.options.delay){window.clearTimeout(this.timeout);this.timeout=window.setTimeout(function(){if(e&&$(e.relatedTarget)){}
this.$container.setStyle('display','none');this.fireEvent('mouseout');}.bind(this),this.options.delay);}else{this.$container.setStyle('display','none');this.fireEvent('mouseout');}}.bind(this);this.element.addEvent('mouseout',mouseout);this.$container.addEvent('mouseout',mouseout);this.fireEvent('complete');},build:function()
{if(!this.element.isVisible()){return;}
var dir='ltr';if($$('html')[0]){dir=$$('html')[0].get('dir');}
this.$container.setStyle('display','');var e_pos=this.element.getCoordinates();var c_pos=this.$container.getCoordinates();var w_pos=this.options.relative_element||$$('body')[0].getSize();this.$container.setStyle('display','none').setStyle('padding-bottom',2);var rebuild=function(left,top){if(left){this.$container.setStyle('left',e_pos.left);if(this.options.is_arrow){var left=(e_pos.width/2-2.5).toInt();if(left>c_pos.width/2-2.5){left=10;}
this.$arrow.setStyle('left',left);}}else{this.$container.setStyle('right',e_pos.left-(c_pos.width-e_pos.width));if(this.options.is_arrow){var right=(e_pos.width/2-2.5).toInt();if(right>c_pos.width/2-2.5){right=10;}
this.$arrow.setStyle('right',right);}}
if(top){this.$container.setStyle('top',e_pos.top-c_pos.height-1);if(this.options.is_arrow){this.$arrow_container.inject(this.$inner,'after');this.$arrow.addClass('bottom');}}else{this.$container.setStyle('top',e_pos.top+e_pos.height+1);if(this.options.is_arrow){this.$arrow_container.inject(this.$inner,'before');this.$arrow.addClass('top');}}
this.fireEvent('build');}.bind(this);if(this.options.top!=undefined&&this.options.left!=undefined){rebuild(this.options.left,this.options.top);}else{if(dir=='rtl'){rebuild(0,1);}else{rebuild(1,1);}}}});Wall.Tips=new Class({Extends:Wall.TipFx,name:'Wall.Tips',initialize:function(element,options)
{this.addEvent('onComplete',function(){var title=this.options.title||this.element.get('title');this.$inner.set('html','<div class="data"><div class="title">'+title+'</div></div>');this.element.removeProperty('title');}.bind(this));this.parent(element,options);},setTitle:function(title)
{this.$inner.set('html','<div class="data"><div class="title">'+title+'</div></div>');this.build();if(this.mouseActive){this.$container.setStyle('display','block');}}});Wall.Storage=new Class({items:{},initialize:function()
{this.items=new Hash();},add:function(key,object)
{if(this.items[key]){return;}
this.items[key]=object;return this;},get:function(key)
{var options=Array.prototype.slice.call(arguments||[]);if(options.length>1){key=options.join("_");}
return this.items[key];},getAll:function()
{return this.items},remove:function(key)
{this.items.erase(key);return this;}});Wall.dialog={};Wall.dialog.message=function(message,result,in_parent){var type=(result)?'':'error';if(result==1){type='';}else if(result==2){type='notice';}else{type='error';}
var from=null;if(in_parent&&window.parent){from=window.parent;}else{from=window;}
from.he_show_message(message,type);};Wall.dialog.confirm=function(type,callback,in_parent){if(!Wall.dialogConfirm){$try(callback);return;}
var title=en4.core.language.translate('WALL_CONFIRM_'+type.toUpperCase()+'_TITLE');var description=en4.core.language.translate('WALL_CONFIRM_'+type.toUpperCase()+'_DESCRIPTION');var from=null;if(in_parent&&window.parent){from=window.parent;}else{from=window;}
from.he_show_confirm(title,description,callback);};Wall.List=new Class({Implements:[Events,Options],params:{'tab':'all','page':1,'search':''},options:{url:{},is_edit:false,list_id:0,selected:[]},select_paging_active:false,morph:null,initialize:function(options)
{this.setOptions(options);this.init($('wall-list'));},init:function(container)
{var self=this;this.$container=$(container);Wall.globalBind();this.loader=new Wall.OverLoader(this.$container.getElement('.items-container'),'loader2');if(this.options.is_edit){this.toggle(false);this.$container.getElements('.tabs-container .selected').addClass('is_active');this.$container.getElements('.selected-container .item').addClass('is_active');this.$container.getElement('.selected_count').set('html',self.options.selected.length);}
this.$container.getElements('.tabs-container .all').addEvent('click',function(){self.toggle(true);$(this).addClass('is_active');self.params={'tab':'all','page':1,'search':''};self.getItems(self.params);});this.$container.getElements('.tabs-container .selected').addEvent('click',function(){self.toggle(false);$(this).addClass('is_active');});this.$container.getElements('.tabs-container .type').addEvent('click',function(){self.toggle(true);$(this).addClass('is_active');var type=$(this).get('rev').substr(5);self.params={'tab':type,'page':1,'search':''};self.getItems(self.params);});this.$container.getElement('.all-prev').addEvent('click',function(){if($(this).hasClass('disabled')){return;}
self.params.page--;self.getItems(self.params);});this.$container.getElement('.all-next').addEvent('click',function(){if($(this).hasClass('disabled')){return;}
self.params.page++;self.getItems(self.params);});var searchSubmit=function(){self.params.page=1;self.params.search=self.$container.getElement('.search-form input').value;self.getItems(self.params);};this.$container.getElement('.search-form form').addEvent('submit',function(e){e.stop();searchSubmit();});this.$container.getElement('.search-form a').addEvent('click',function(){searchSubmit();});this.$container.getElement('.select-prev').addEvent('click',function(){self.selectedPaging(-1);});this.$container.getElement('.select-next').addEvent('click',function(){self.selectedPaging(1);});var $form=this.$container.getElement('.form');var formSubmit=function(){var data={'label':$form.label.value,'guids':self.options.selected,'list_id':self.options.list_id};Wall.request(self.options.url.save,data,function(obj){Wall.dialog.message(obj.message,obj.result,window.parent);if(obj.result){window.parent.Wall.feeds.getAll().each(function(item){item.loadList(obj.html);var $link=item.$types.getElement('.item[rev=list-'+obj.list_id+']');if($link){$link.fireEvent('click');}
window.parent.Smoothbox.close();});}});};this.$container.getElement('.form').addEvent('submit',function(e){e.stop();formSubmit();});this.$container.getElement('.form-submit').addEvent('click',function(e){e.stop();formSubmit();});this.initItem();},toggle:function(is_all)
{var tabs=this.$container.getElements('.tabs-container ul li a');var selected=this.$container.getElements('.selected-container');var all=this.$container.getElements('.all-container');if(is_all){tabs.removeClass('is_active');selected.removeClass('is_active');all.addClass('is_active');this.$container.getElements('.all-prev, .all-next').setStyle('display','');this.$container.getElements('.select-prev, .select-next').setStyle('display','none');}else{tabs.removeClass('is_active');selected.addClass('is_active');all.removeClass('is_active');this.$container.getElements('.all-prev, .all-next').setStyle('display','none');this.$container.getElements('.select-prev, .select-next').setStyle('display','');this.checkCountSelected();this.selectedPaging(0);}},checkCountSelected:function()
{var selected=this.$container.getElements('.selected-container');if(this.options.selected.length){selected.getElement('.message').setStyle('display','none');}else{selected.getElement('.message').setStyle('display','');}},selectedPaging:function(direction)
{var self=this;if(this.select_paging_active){return;}
var $items=this.$container.getElement('.selected-container .items');var $total=this.$container.getElement('.items-container .container');var new_top=0;var top=$items.getStyle('top').toInt();var step=$total.getSize().y;var total=$items.getSize().y;if(direction==1){new_top=top-step;}else if(direction==-1){new_top=top+step;}else{if(top<=-total){new_top=top+step;}else{new_top=top;}}
if(new_top>0||new_top<=-total){return;}
if(new_top-step<=-total){this.$container.getElement('.select-next').addClass('disabled');}else{this.$container.getElement('.select-next').removeClass('disabled');}
if(new_top+step>0){this.$container.getElement('.select-prev').addClass('disabled');}else{this.$container.getElement('.select-prev').removeClass('disabled');}
if(top==new_top){return;}
this.select_paging_active=true;var morph=new Fx.Morph($items,{duration:'short'});morph.addEvent('onComplete',function(){self.select_paging_active=false;});morph.start({'top':new_top});},getItems:function()
{var self=this;this.loader.show();Wall.request(self.options.url.browse,this.params,function(obj){self.$container.getElements('.all-container .items').set('html',obj.html);if(obj.prev){self.$container.getElement('.all-prev').removeClass('disabled');}else{self.$container.getElement('.all-prev').addClass('disabled');}
if(obj.next){self.$container.getElement('.all-next').removeClass('disabled');}else{self.$container.getElement('.all-next').addClass('disabled');}
self.loader.hide();self.initItem();});},initItem:function()
{var $container=this.$container;var self=this;this.options.selected.each(function(guid){$container.getElements('.all-container .items li.item_'+guid).addClass('is_active');});var selectedClick=function(){var guid=$(this).get('rev').substr(5);$container.getElements('.all-container .items li.item_'+guid).removeClass('is_active');$(this).destroy();self.options.selected.erase(guid);self.selectedPaging(0);self.checkCountSelected();self.$container.getElement('.selected_count').set('html',self.options.selected.length);};$container.getElements('.selected-container .items li.item').addEvent('click',selectedClick);$container.getElements('.all-container .items li.item').addEvent('click',function(){var guid=$(this).get('rev').substr(5);if($(this).hasClass('is_active')){$(this).removeClass('is_active');$container.getElements('.selected-container .items li.item_'+guid).destroy();self.options.selected.erase(guid);self.$container.getElement('.selected_count').set('html',self.options.selected.length);self.selectedPaging(0);}else{$(this).addClass('is_active');if(!self.options.selected.contains(guid)){self.options.selected[self.options.selected.length]=guid;}
self.$container.getElement('.selected_count').set('html',self.options.selected.length);$(this).clone().inject($container.getElement('.selected-container .items')).addEvent('click',selectedClick);}});}});Wall.slideshows=new Wall.Storage();Wall.Slideshow=new Class({feed_uid:'',Implements:[Events,Options],options:{item_width:107,item_count:7},url:'',src:'',is_loading:false,viewClose:function()
{this.slideshow.destroy();Wall.slideshows.remove(this.feed_uid);$$('html')[0].removeClass('wall_hidescrool');},createBox:function()
{this.slideshow.inject(Wall.externalDiv());$$('html')[0].addClass('wall_hidescrool');this.build();},createDom:function()
{this.slideshow=new Element('div',{'class':'wall-slideshow wall-window'});this.container=new Element('div',{'class':'container'});this.close=new Element('a',{'class':'close wall_blurlink','href':'javascript:void(0);'});this.prev=new Element('a',{'class':'prev navigation wall_blurlink','href':'javascript:void(0);','style':'display: none'});this.next=new Element('a',{'class':'next navigation wall_blurlink','href':'javascript:void(0);','style':'display: none'});this.content=new Element('div',{'class':'content'});var html='<table cellpadding="0" cellspacing="0"><tr><td valign="middle" align="center" style="width:960px;height:600px;text-align: center;"><a href="javascript:void(0);"><img src="'+this.src+'" alt=""/></a></td></tr>';this.preview=new Element('div',{'class':'preview is_active','html':html});if(!Wall.isLightTheme()){this.slideshow.addClass('night_theme');}
if(!!navigator.userAgent.match(/MSIE/)){this.slideshow.addClass('ie');}
this.close.inject(this.slideshow);this.prev.inject(this.container);this.next.inject(this.container);this.preview.inject(this.container);this.content.inject(this.container);this.container.inject(this.slideshow);},initialize:function(src,guid,element)
{var self=this;this.feed_uid=$random(1111,9999);this.src=src;Wall.setKeyEvent(function(e){if(e.key=='right'||e.key=='up'){Wall.slideshows.getAll().each(function(item){item.next.fireEvent('click');});}
if(e.key=='left'||e.key=='down'){Wall.slideshows.getAll().each(function(item){item.prev.fireEvent('click');});}
if(e.key=='esc'){Wall.slideshows.getAll().each(function(item){item.viewClose();});}});Wall.slideshows.add(this.feed_uid,this);Wall.slideshows.taggers=new Wall.Storage();this.createDom();window.addEvent('resize',function(){self.build();});this.slideshow.addEvent('click',function(e){if(e){e.stop();if(!$(e.target).getParent('body')||$(e.target).getParent('.container')||$(e.target).hasClass('container')){return;}}
self.viewClose();});Wall.globalBind();var thumb='';if(element){element=$(element);thumb=$(element).get('src');if(!thumb){thumb=$(element).getElement('img').get('src');}}
this.createBox();self.build();this.preview.getElement('img').addEvent('load',function(){self.build();});this.close.addEvent('click',function(){self.viewClose();});this.url=en4.core.baseUrl+'wall/photo/index?subject='+guid;Wall.requestHTML(this.url,function(html){if(!html){return;}
self.preview.setStyle('display','none');self.content.setStyle('display','');self.content.set('html',html);self.initPositions();self.initItems();var $items=self.content.getElement('.photo_list .items');var new_left=($items.getElement('.item.is_active').getAllPrevious().length/self.options.item_count).toInt()*(self.options.item_width*self.options.item_count);$items.setStyle('left',-new_left);self.paging(0);self.prev.setStyle('display','').addEvent('click',function(){var $items=self.content.getElement('.photo_list .items');var $active=self.content.getElement('.photo_list .item.is_active');var result=($active.getAllPrevious().length+1)%self.options.item_count;if(result===1){self.photosPrev();}else{var $prev=$active.getPrevious();if($prev){$prev.getElement('a').fireEvent('click');}}
self.checkPagination();});self.next.setStyle('display','').addEvent('click',function(){var $items=self.content.getElement('.photo_list .items');var $active=self.content.getElement('.photo_list .item.is_active');var result=($active.getAllPrevious().length+1)%self.options.item_count;if(result===0){self.photosNext();}else{var $next=$active.getNext();if($next){$next.getElement('a').fireEvent('click');}}
self.checkPagination();});self.content.getElements('.photos_next').addEvent('click',function(){self.photosNext();});self.content.getElements('.photos_prev').addEvent('click',function(){self.photosPrev();});self.checkPagination();});},checkPagination:function()
{var nextPhotos=this.container.getElement('.photos_next');var next=this.container.getElement('.next');if(!this.container.getElement('.photo_items .item.is_active').getNext()&&(nextPhotos.hasClass('disabled')&&!nextPhotos.hasClass('has_more'))){next.addClass('disabled');}else{next.removeClass('disabled');}
var prevPhotos=this.container.getElement('.photos_prev');var prev=this.container.getElement('.prev');if(!this.container.getElement('.photo_items .item.is_active').getPrevious()&&(prevPhotos.hasClass('disabled')&&!prevPhotos.hasClass('has_more'))){prev.addClass('disabled');}else{prev.removeClass('disabled');}},photosNext:function(callback)
{var self=this;var $element=this.content.getElement('.photos_next');if($element.hasClass('has_more')&&$element.hasClass('disabled')){self.loadNext(function(){self.paging(1,function(){if($type(callback)=='function'){callback();}});});return;}
self.paging(1,function(){if($type(callback)=='function'){callback();}});self.build();},photosPrev:function(callback)
{var self=this;var $element=this.content.getElement('.photos_prev');if($element.hasClass('has_more')&&$element.hasClass('disabled')){self.loadPrev(function(){self.paging(-1,function(){if($type(callback)=='function'){callback();}});});return;}
self.paging(-1,function(){if($type(callback)=='function'){callback();}});self.build();},initPositions:function()
{var $items=this.content.getElement('.items');$items.setStyle('width',this.options.item_width*$items.getChildren().length);this.paging(0);},initItems:function(container)
{var self=this;if(!container){container=this.content;}
container.getElements('.photo_list .item a').addEvent('click',function(){var id=$(this).get('rev').substr(5);self.view(id);});container.getElements('.header .description').enableLinks();container.getElements('.photo a').addEvent('click',function(e){if(e){e.stop();if(!$(e.target).getParent('body')||$(e.target).getParent('.container')){return;}}
self.next.fireEvent('click');});Wall.globalBind();},loadPrev:function(callback)
{var self=this;if(self.is_loading){return;}
self.is_loading=true;var prev=this.content.getElement('.photos_prev');var new_url=this.url+'&p='+prev.get('rev').substr(5);var $loader=this.content.getElement('.loader');$loader.setStyle('display','block');Wall.requestHTML(new_url,function(html){$loader.setStyle('display','none');self.is_loading=false;var new_elements=new Element('div',{'html':html});var count_items=new_elements.getElements('.photo_list .item').length;self.initItems(new_elements);new_elements.getElements('.photo .item').removeClass('is_active').each(function(item){item.inject(self.content.getElement('.photo'),'top');});new_elements.getElements('.photos_info .item').removeClass('is_active').each(function(item){item.inject(self.content.getElement('.photos_info'),'top');});new_elements.getElements('.photo_list .item').removeClass('is_active').each(function(item){item.inject(self.content.getElement('.photo_list .items'),'top');});if(new_elements.getElement('.photos_prev.has_more')){prev.addClass('has_more');}else{prev.removeClass('has_more');}
self.content.getElement('.photos_prev').set('rev',new_elements.getElement('.photos_prev').get('rev'));var $items=self.content.getElement('.photo_list .items');var current_left=0;$items.setStyle('left',current_left-(count_items*self.options.item_width));self.initPositions();if(callback&&$type(callback)=='function'){callback();}});},loadNext:function(callback)
{var self=this;if(self.is_loading){return;}
self.is_loading=true;var next=this.content.getElement('.photos_next');var new_url=this.url+'&p='+next.get('rev').substr(5);var $loader=this.content.getElement('.loader');$loader.setStyle('display','block');Wall.requestHTML(new_url,function(html){$loader.setStyle('display','none');self.is_loading=false;var new_elements=new Element('div',{'html':html});self.initItems(new_elements);new_elements.getElements('.photo .item').removeClass('is_active').each(function(item){item.inject(self.content.getElement('.photo'),'bottom');});new_elements.getElements('.photos_info .item').removeClass('is_active').each(function(item){item.inject(self.content.getElement('.photos_info'),'bottom');});new_elements.getElements('.photo_list .item').removeClass('is_active').each(function(item){item.inject(self.content.getElement('.photo_list .items'),'bottom');});if(new_elements.getElement('.photos_next.has_more')){next.addClass('has_more');}else{next.removeClass('has_more');}
self.content.getElement('.photos_next').set('rev',new_elements.getElement('.photos_next').get('rev'));self.initPositions();if(callback&&$type(callback)=='function'){callback();}});},view:function(id)
{this.content.getElements('.photo_list .item').removeClass('is_active');this.content.getElements('.photo_list .item_'+id).addClass('is_active');this.content.getElements('.photo .item').removeClass('is_active');this.content.getElements('.photos_info .item').removeClass('is_active');this.content.getElements('.photo .item_'+id).addClass('is_active');this.content.getElements('.photos_info .item_'+id).addClass('is_active');this.checkPagination();},paging:function(direction,callback)
{var self=this;if(this.select_paging_active){return;}
var $items=this.content.getElement('.items');var $total=this.content.getElement('.photo_list');var new_top=0;var top=$items.getStyle('left').toInt();if(!top){top=0;}
var step=self.options.item_width*this.options.item_count;var total=$items.getSize().x;if(direction==1){new_top=top-step;}else if(direction==-1){new_top=top+step;}else{if(top<=-total){new_top=top+step;}else{new_top=top;}}
if(new_top>0||new_top<=-total){return;}
if(new_top-step<=-total){this.content.getElement('.photos_next').addClass('disabled');}else{this.content.getElement('.photos_next').removeClass('disabled');}
if(new_top+step>0){this.content.getElement('.photos_prev').addClass('disabled');}else{this.content.getElement('.photos_prev').removeClass('disabled');}
if(top==new_top){return;}
this.select_paging_active=true;var $active=self.content.getElement('.photo_list .item.is_active');var active_number=$active.getAllPrevious().length;var show_step=active_number%self.options.item_count;var index=0;if(direction==1){index=active_number+self.options.item_count-show_step;}else if(direction==-1){index=active_number-show_step-1;}
var link=self.content.getElements('.photo_list .item a')[index];if(link){link.fireEvent('click');}
var morph=new Fx.Morph($items,{duration:'long'});morph.addEvent('onComplete',function(){self.select_paging_active=false;if(callback&&$type(callback)=='function'){callback();}});morph.start({'left':new_top});},build:function()
{var pos=this.container.getCoordinates();var total=this.slideshow.getCoordinates();this.container.setStyle('position','absolute').setStyle('left',(total.width/2-pos.width/2)).setStyle('top',20);}});Wall.liketips_enabled=true;Wall.liketips=new Wall.Storage();Wall.loaders=[];Wall.LikeTips=new Class({Extends:Wall.TipFx,name:'Wall.LikeTips',is_loading:false,options:{class_var:'wall-liketips',html:'<div class="data"><span class="wall-loading">&nbsp;</span>'+en4.core.language.translate('WALL_LOADING')+'</div>',delay:250},initialize:function(element,options)
{this.parent(element,options);var self=this;var guid=element.get('rev');var loadContent=function(){var element=Wall.liketips.get(guid);if(element){if(element.get('html')==''){self.$container.setStyle('display','none');return;}
element.inject(Wall.externalDiv());self.$inner.empty();element.inject(self.$inner);self.build();if(self.mouseActive){self.$container.setStyle('display','block');}
return;}
if(Wall.loaders.contains(guid)){return;}
Wall.loaders[Wall.loaders.length]=guid;Wall.requestHTML(en4.core.baseUrl+'wall/tips/index/subject/'+guid,function(html){var element=new Element('div',{'class':''});element.set('html',html);Wall.liketips.add(guid,element);loadContent();});};this.addEvent('mouseover',loadContent);}});Wall.Items=new Class({Implements:[Events,Options],options:{params:{}},loader:null,$container:null,initialize:function(container,options)
{this.setOptions(options);var self=this;this.$container=container=$(container);Wall.globalBind();this.loader=new Wall.OverLoader(container.getElement('.items-container'),'loader2');container.getElement('.prev').addEvent('click',function(){if($(this).hasClass('disabled')){return;}
self.options.params.page--;self.getItems(self.options.params);});container.getElement('.next').addEvent('click',function(){if($(this).hasClass('disabled')){return;}
self.options.params.page++;self.getItems(self.options.params);});var searchSubmit=function(){self.options.params.page=1;self.options.params.search=container.getElement('.search-form input').value;self.getItems(self.options.params);};container.getElement('.search-form form').addEvent('submit',function(e){e.stop();searchSubmit();});container.getElement('.search-form a').addEvent('click',function(){searchSubmit();});},getItems:function()
{var self=this;this.loader.show();var url=en4.core.baseUrl+'wall/items';Wall.request(url,self.options.params,function(obj){self.$container.getElements('.items').set('html',obj.html);if(obj.prev){self.$container.getElement('.prev').removeClass('disabled');}else{self.$container.getElement('.prev').addClass('disabled');}
if(obj.next){self.$container.getElement('.next').removeClass('disabled');}else{self.$container.getElement('.next').addClass('disabled');}
self.loader.hide();});}});Wall.Comment=new Class({Implements:[Options,Events],options:{'element_key':''},$container:null,$form:null,initialize:function(options)
{this.setOptions(options);var self=this;self.init();},init:function()
{var $container=this.$container=$(this.options.element_key);var $form=this.$form=$container.getElement('.comment-form');var $post=$container.getElement('.post-comment');if($post){$container.getElement('.post-comment').addEvent('click',function(){$form.style.display='';$form.body.focus();});$($form.body).autogrow();this.attachCreateComment($form);}
Wall.globalBind();},loadComments:function(type,id,page){var self=this;Wall.requestHTML(en4.core.baseUrl+'wall/comment/list',function(html){self.$container.set('html',html);self.init();},null,{type:type,id:id,page:page});},attachCreateComment:function(formElement){var bind=this;formElement.getElements('button[type=submit]').addEvent('click',function(e){e.stop();var form_values=formElement.toQueryString();form_values+='&format=json';form_values+='&id='+formElement.identity.value;Wall.request(en4.core.baseUrl+'wall/comment/create',form_values,function(obj){bind.$container.set('html',obj.body);bind.init();});});this.$container.getElements('.load-comments').addEvent('click',function(){var data=JSON.decode($(this).get('rev'));bind.loadComments.apply(bind,data);});this.$container.getElements('.delete-comment').addEvent('click',function(){var data=JSON.decode($(this).get('rev'));bind.deleteComment.apply(bind,data);});this.$container.getElements('.like, .comment-like').addEvent('click',function(){var data=JSON.decode($(this).get('rev'));bind.like.apply(bind,data);});this.$container.getElements('.unlike, .comment-unlike').addEvent('click',function(){var data=JSON.decode($(this).get('rev'));bind.unlike.apply(bind,data);});},comment:function(type,id,body){var self=this;Wall.request(en4.core.baseUrl+'wall/comment/create',{type:type,id:id,body:body},function(obj){self.$container.set('html',obj.body);self.init();});},like:function(type,id,comment_id){var self=this;Wall.request(en4.core.baseUrl+'wall/comment/like',{type:type,id:id,comment_id:comment_id},function(obj){self.$container.set('html',obj.body);self.init();});},unlike:function(type,id,comment_id){var self=this;Wall.request(en4.core.baseUrl+'wall/comment/unlike',{type:type,id:id,comment_id:comment_id},function(obj){self.$container.set('html',obj.body);self.init();});},deleteComment:function(type,id,comment_id){if(!confirm(en4.core.language.translate('Are you sure you want to delete this?'))){return;}
var self=this;Wall.request(en4.core.baseUrl+'wall/comment/delete',{type:type,id:id,comment_id:comment_id},function(obj){if(self.$container.getElement('.comment-'+comment_id)){self.$container.getElement('.comment-'+comment_id).destroy();}
try{var commentCount=self.$container.getElement('.comments_options span');var m=commentCount.get('html').match(/\d+/);var newCount=(parseInt(m[0])!='NaN'&&parseInt(m[0])>1?parseInt(m[0])-1:0);commentCount.set('html',commentCount.get('html').replace(m[0],newCount));}catch(e){}});}});Wall.Like=new Class({Implements:[Events,Options],options:{},initialize:function(element,options)
{var self=this;this.setOptions(options);element.addEvent('click',function(){var is_unlike=(element.hasClass('unlike'))?1:0;Wall.request(en4.core.baseUrl+'wall/tips/like',{'is_unlike':is_unlike,'subject':self.options.guid},function(obj){if(obj.result){if(!is_unlike){element.set('html',en4.core.language.translate('WALL_UNLIKE'));element.addClass('unlike');}else{element.set('html',en4.core.language.translate('WALL_LIKE'));element.removeClass('unlike');}}});});}});Wall.getActionInfo=function(item){var $item=$(item);if(!$item){return false;}
var $action=$item.getParent('.wall-action-item');if(!$action){return false;}
var action_id=$action.get('rev').substr(5);return{'action_id':action_id,'action':$action,'comment_pagination':($action.hasClass('action_comment_pagination'))?1:0,'checkin':($action.getParent('.checkins'))?1:0};};Wall.getCommentInfo=function(item)
{var $item=$(item);if(!$item){return false;}
var $comment=$item.getParent('.wall-comment-item');if(!$comment){return false;}
var comment_id=$comment.get('rev').substr(5);return{'comment_id':comment_id};};Wall.UpdateHandler=new Class({Implements:[Events,Options],options:{debug:false,baseUrl:'/',identity:false,delay:5000,admin:false,idleTimeout:600000,last_id:0,subject_guid:null,feed_uid:null},state:true,activestate:1,fresh:true,lastEventTime:false,title:document.title,initialize:function(options){this.setOptions(options);},start:function(){this.state=true;this.idleWatcher=new IdleWatcher(this,{timeout:this.options.idleTimeout});this.idleWatcher.register();this.addEvents({'onStateActive':function(){this.activestate=1;this.state=true;}.bind(this),'onStateIdle':function(){this.activestate=0;this.state=false;}.bind(this)});this.loop();},stop:function(){this.state=false;},checkFeedUpdate:function(){var feed=Wall.feeds.get(this.options.feed_uid);var data=$merge(feed.params,{'minid':this.options.last_id+1,'checkUpdate':true});feed.feed.getElements('.container-get-last').destroy();feed.loadFeed(data,'top');},loop:function(){var self=this;if(!this.state){this.loop.delay(this.options.delay,this);return;}
try{this.checkFeedUpdate().addEvent('complete',function(){this.loop.delay(1250,this);}.bind(this));}catch(e){this.loop.delay(this.options.delay,this);this._log(e);}},_log:function(object){if(!this.options.debug){return;}}});function array_reverse(array,preserve_keys){var arr_len=array.length,newkey=0,tmp_arr={},key='';preserve_keys=!!preserve_keys;for(key in array){newkey=arr_len-key-1;tmp_arr[preserve_keys?key:newkey]=array[key];}
return tmp_arr;}
Wall.feeds=new Wall.Storage();Wall.Feed=new Class({Implements:[Events,Options],options:{feed_uid:'',enableComposer:true,subject_guid:''},compose:{},params:{},watcher:null,streams:{},initialize:function(options)
{this.setOptions(options);Wall.feeds.add(this.options.feed_uid,this);this.streams=new Wall.Storage();this.feed=$(this.options.feed_uid);this.initializeComposer();this.initializeFeed();Wall.globalBind();this.fireEvent('complete');window.wall_object=this;},initializeComposer:function()
{if($type(this.feed)!='element'){return;}
this.compose=new Wall.Composer({container:this.feed.getElement('.wall-social-composer'),feed_uid:this.options.feed_uid});},initializeFeed:function()
{var self=this;if($type(this.feed)!='element'){return;}
self.addEvent('share',function(service){var s_obj=Wall.services.get(service);if(s_obj.isEnabled()){this.setShareEnabled(service,1,s_obj.options.object_name);Wall.request(en4.core.baseUrl+'wall/index/service-share',{'provider':service,'status':1},function(){});}});self.addEvent('activity-share',function(service){var w_list=window.frames;for(var i=0;i<w_list.length;i++){if($type(w_list[i].wallShareActive)=='function'){w_list[i].wallShareActive(service);}}});if(Wall.rolldownload){window.addEvent('scroll',function(){var link=self.feed.getElement('.wall-stream-social.is_active .utility-viewall .pagination a:not(.wall_feed_loading)');if(!link){return;}
if(window.getScrollTop()>=window.getScrollSize().y-window.getSize().y){link.fireEvent('click');}});}
this.initShare();this.initStream();this.loadList();this.initPrivacy();this.initAction();},initShare:function()
{var self=this;var $share=this.feed.getElements('.wallShareMenu a');if(!$share){return;}
Wall.services.getAll().each(function(item){item.addEvent('change',function(){if(!item.isEnabled()){self.setShareEnabled(item.getName(),0,'');return;}
if(item.options.share_enabled){self.setShareEnabled(item.getName(),1,item.options.object_name);}});});$share.addEvent('click',function(e){e.stop();var service=$(this).get('rev');if($(this).hasClass('disabled')){var serv_obj=Wall.services.get(service);if(serv_obj.isEnabled()){self.setShareEnabled(service,1,serv_obj.options.object_name);Wall.request(en4.core.baseUrl+'wall/index/service-share',{'provider':service,'status':1},function(){});}else{Wall.services.get(service).auth({'task':'share'});}}else{var title=en4.core.language.translate('WALL_SHARE_'+service.toUpperCase());Wall.elements.get('Wall.Tips',$uid($(this))).setTitle(title);$(this).getParent('.service').getElement('.share_input').set('value',0);$(this).addClass('disabled');Wall.request(en4.core.baseUrl+'wall/index/service-share',{'provider':service,'status':0},function(){});}});},setShareEnabled:function(provider,enabled,object_name)
{var $share=this.feed.getElement('.wall-share-'+provider);if(!$share){return;}
if(enabled){$share.removeClass('disabled');}else{$share.addClass('disabled');}
this.feed.getElement('input[name="share['+provider+']"]').set('value',enabled);if(enabled){Wall.elements.get('Wall.Tips',$uid($share)).setTitle(en4.core.language.translate('WALL_SHARE_'+provider.toUpperCase()+'_ACTIVE',object_name));}else{Wall.elements.get('Wall.Tips',$uid($share)).setTitle(en4.core.language.translate('WALL_SHARE_'+provider.toUpperCase()+''));}},initStream:function()
{var self=this;var $link=this.feed.getElement('.wall-list-button');if(!$link){return;}
var $types=this.$types=Wall.injectAbsolute($link,this.feed.getElement('.wall-types'),true);$link.addEvent('click',function(){window.fireEvent('resize');if($(this).hasClass('is_active')){$(this).removeClass('is_active');$types.removeClass('is_active');}else{$(this).addClass('is_active');$types.addClass('is_active');}});$$('body')[0].addEvent('click',function(e){if(!$(e.target).getParent('.wall-lists')){$link.removeClass('is_active');$types.removeClass('is_active');}});this.feed.getElements('.wall-stream-type-social').addEvent('click',function(){self.feed.getElements('.wall-stream-type').removeClass('is_active');$(this).addClass('is_active');self.feed.getElements('.wall-stream-option').removeClass('is_active');self.feed.getElement('.wall-stream-option-social').addClass('is_active');self.feed.getElements('.wall-stream').removeClass('is_active');self.feed.getElements('.wall-stream-social').addClass('is_active');});},initPrivacy:function()
{var self=this;var $link=this.feed.getElement('.wallComposer .wall-privacy-link');if(!$link){return;}
var $privacy=this.$privacy=Wall.injectAbsolute($link,this.feed.getElement('.wallComposer .wall-privacy'));$link.addEvent('click',function(){window.fireEvent('resize');if($(this).hasClass('is_active')){$(this).removeClass('is_active');$privacy.removeClass('is_active');}else{$(this).addClass('is_active');$privacy.addClass('is_active');}});$$('body')[0].addEvent('click',function(e){if(!$(e.target).getParent('.wall-privacy-container')){$link.removeClass('is_active');$privacy.removeClass('is_active');}});$privacy.getElements('a').addEvent('click',function(){var value=$(this).get('rev');self.feed.getElement('.wallComposer .wall_privacy_input').set('value',value);Wall.elements.get('Wall.Tips',$uid($link)).setTitle($(this).getElement('.wall_text').get('text'));$privacy.getElements('a').removeClass('is_active');$(this).addClass('is_active');});},initActionPrivacy:function(action)
{var self=this;var $link=action.getElement('.wall-privacy-action-link');if(!$link){return;}
var $privacy=Wall.injectAbsolute($link,action.getElement('.wall-privacy'),true);$link.addEvent('click',function(){window.fireEvent('resize');if($(this).hasClass('is_active')){$(this).removeClass('is_active');$privacy.removeClass('is_active');}else{$(this).addClass('is_active');$privacy.addClass('is_active');}});$$('body')[0].addEvent('click',function(e){if(!$(e.target).getParent('.wall-privacy-container')){$link.removeClass('is_active');$privacy.removeClass('is_active');}});$privacy.getElements('a').addEvent('click',function(){var value=$(this).get('rev');action.getElement('.wall_privacy_input').set('value',value);$privacy.getElements('a').removeClass('is_active');$(this).addClass('is_active');var element_info=Wall.getActionInfo($link);Wall.request(en4.core.baseUrl+'wall/index/change-privacy',{'action_id':element_info.action_id,'privacy':value});});},initAction:function($container,params)
{var self=this;if(!$container){$container=this.getFeed();}
if(!params){params={};}
$container.getElements('.action-remove').addEvent('click',function(){var element=Wall.getActionInfo(this);var data={'action_id':element.action_id};var func=function(){var previous=element.action.getPrevious();element.action.addClass('wall_displaynone').inject(Wall.externalDiv());self.checkEmptyFeed();Wall.request(en4.core.baseUrl+'wall/index/delete',data,function(obj){if(obj.result){element.action.destroy();}else{element.action.removeClass('wall_displaynone');if(previous){element.action.inject(previous,'after');}else{element.action.inject(self.getFeed(),'top');}}
self.checkEmptyFeed();Wall.dialog.message(obj.message,obj.result);});};Wall.dialog.confirm('action_remove',func);});$container.getElements('.action-comment').addEvent('click',function(){var element=Wall.getActionInfo(this);var $form=element.action.getElement('.wall-comment-form');$form.setStyle('display','block');$form.body.focus();});$container.getElements('.action-like').addEvent('click',function(){var element=Wall.getActionInfo(this);var data={'action_id':element.action_id,'checkin':element.checkin};Wall.request(en4.core.baseUrl+'wall/index/like/subject/'+self.options.subject_guid,data,function(obj){if(obj.status){element.action.set('html',obj.body);self.initAction(element.action);}});});$container.getElements('.action-unlike').addEvent('click',function(){var element=Wall.getActionInfo(this);var data={'action_id':element.action_id,'checkin':element.checkin};Wall.request(en4.core.baseUrl+'wall/index/unlike/subject/'+self.options.subject_guid,data,function(obj){if(obj.status){element.action.set('html',obj.body);self.initAction(element.action);}});});$container.getElements('.wall-comment-form textarea').each(function(item){$(item).autogrow();});$container.getElements('.wall-comment-form').addEvent('submit',function(e){e.stop();if($(this).hasClass('wall_loading')){return;}
$(this).addClass('wall_loading');var element=Wall.getActionInfo(this);var action_element=Wall.getActionInfo(this);var values=$(this).toQueryString();values+='&comment_pagination='+action_element.comment_pagination+'&checkin='+element.checkin;Wall.request(en4.core.baseUrl+'wall/index/comment/subject/'+self.options.subject_guid,values,function(obj){if(obj.status){element.action.set('html',obj.body);self.initAction(element.action);}});});$container.getElements('.comment-like').addEvent('click',function(){var element=Wall.getCommentInfo(this);var action_element=Wall.getActionInfo(this);var data={'action_id':action_element.action_id,'comment_id':element.comment_id,'comment_pagination':action_element.comment_pagination,'checkin':action_element.checkin};Wall.request(en4.core.baseUrl+'wall/index/like/subject/'+self.options.subject_guid,data,function(obj){if(obj.status){action_element.action.set('html',obj.body);self.initAction(action_element.action);}});});$container.getElements('.comment-unlike').addEvent('click',function(){var element=Wall.getCommentInfo(this);var action_element=Wall.getActionInfo(this);var data={'action_id':action_element.action_id,'comment_id':element.comment_id,'comment_pagination':action_element.comment_pagination,'checkin':action_element.checkin};Wall.request(en4.core.baseUrl+'wall/index/unlike/subject/'+self.options.subject_guid,data,function(obj){if(obj.status){action_element.action.set('html',obj.body);self.initAction(action_element.action);}});});$container.getElements('.comment-remove').addEvent('click',function(){var element=Wall.getCommentInfo(this);var action_element=Wall.getActionInfo(this);var data={'action_id':action_element.action_id,'comment_id':element.comment_id,'comment_pagination':action_element.comment_pagination,'checkin':action_element.checkin};Wall.dialog.confirm('comment_remove',function(){Wall.request(en4.core.baseUrl+'wall/index/delete',data,function(obj){if(obj.result){action_element.action.set('html',obj.body);self.initAction(action_element.action);}});});});$container.getElements('.comment_next').addEvent('click',function(){var $item=$(this);var element=Wall.getActionInfo(this);var page=$(this).get('rev').substr(5).toInt();var data={'action_id':element.action_id,'comment_pagination':true,'comment_page':page};Wall.request(en4.core.baseUrl+'wall/index/view/subject/'+self.options.subject_guid,data,function(obj){if(obj.result){var html=obj.html.stripScripts(true);var $comments=$item.getParent('ul');var $container=new Element('div',{'html':html});self.initAction($container);var $items=$container.getChildren();var counter=0;var max=$items.length-1;var new_items=[];$items.each(function(item){new_items[max-counter]=item;counter++;});$comments.getElements('.pagination, .container-comment_likes').destroy();new_items.each(function(item){item.inject($comments,'top');});}});});$container.getElements('.utility-viewall .pagination a').addEvent('click',function(){$(this).addClass('wall_feed_loading');var data=$merge(self.params,{'maxid':$(this).get('rev').substr(5).toInt()});var $loader=$(this).getParent('.utility-viewall').getElement('.loader');var loader=new Wall.Loader($loader);self.getFeed().getElements('.utility-viewall .pagination').setStyle('display','none');loader.show();self.loadFeed(data,'bottom',function(){loader.hide();},{'viewall':true,preInject:function(){self.getFeed().getElements('.utility-viewall').destroy();}});});if(!params.viewall){$container.getElements('.utility-setlast').each(function(item){self.setLastId(item.get('rev').substr(5).toInt());});}
$container.getElements('.utility-setlast').destroy();$container.getElements('.utility-getlast .link').addEvent('click',function(){var data=$merge(self.params,{'minid':self.watcher.options.last_id+1,'getUpdate':true});$$(this).getParent('.utility-getlast').destroy();self.loadFeed(data,'top');});$container.getElements('.wall_grouped_other').each(function(item){new Wall.Tips(item,{title:item.getParent('li').getElement('.wall_grouped_other_html').get('html')});});var CommentLikesTooltips;$container.getElements('.comments_comment_likes').addEvent('mouseover',function(event){var el=$(event.target);if(!el.retrieve('tip-loaded',false)){el.store('tip-loaded',true);el.store('tip:title',en4.core.language.translate('WALL_LOADING'));el.store('tip:text','');var element=Wall.getCommentInfo(this);var action_element=Wall.getActionInfo(this);Wall.request(en4.core.baseUrl+'activity/index/get-likes',{action_id:action_element.action_id,comment_id:element.comment_id},function(responseJSON){el.store('tip:title',responseJSON.body);el.store('tip:text','');CommentLikesTooltips.elementEnter(event,el);});}});CommentLikesTooltips=new Tips($$('.comments_comment_likes'),{fixed:true,className:'comments_comment_likes_tips',offset:{'x':48,'y':16}});$container.getElements('.wall-privacy-container').each(function(item){self.initActionPrivacy(item);});$container.get('html').stripScripts(true);Wall.globalBind();},setLastId:function(last_id)
{if(!last_id){return;}
this.options.last_id=last_id;if(this.watcher){this.watcher.options.last_id=last_id;}},getFeed:function()
{return this.feed.getElement('.wall-feed');},checkEmptyFeed:function()
{if(!this.getFeed().getElements('.wall-action-item').length){if(!this.getFeed().getElement('.wall-empty-feed')){var element=new Element('li',{'class':'wall-empty-feed',html:'<div class="tip"><span>'+en4.core.language.translate('WALL_EMPTY_FEED')+'</span></div>'});element.inject(this.getFeed(),'bottom');}}else{this.getFeed().getElements('.wall-empty-feed').destroy();}},loadList:function(html)
{var self=this;if(!this.$types){return;}
if(html){this.$types.set('html',html);}
this.$types.getElements('li').addEvent('mouseover',function(){var $options=$(this).getElement('.options');if($options){$options.addClass('is_active');}});this.$types.getElements('li').addEvent('mouseout',function(){var $options=$(this).getElement('.options');if($options){$options.removeClass('is_active');}});this.$types.getElements('.edit').addEvent('click',function(e){e.stop();var list_id=$(this).get('rev').substr(5);var url=en4.core.baseUrl+'wall/list/index'+'?list_id='+list_id;Smoothbox.open(new Element('a',{'href':url}));});this.$types.getElements('.remove').addEvent('click',function(e){e.stop();var $element=$(this);var list_id=$element.get('rev').substr(5);var url=en4.core.baseUrl+'wall/list/remove'+'?list_id='+list_id;Wall.dialog.confirm('list_remove',function(){Wall.request(url,{},function(obj){Wall.dialog.message(obj.message,obj.result);if(obj.result){self.loadList(obj.html);if(list_id==self.params.list_id){self.$types.getElements('.item[rev=recent]').fireEvent('click');}}});});});var $loader=self.feed.getElement('.wall-list-button');this.$types.getElements('.item').addEvent('click',function(){var rev=$(this).get('rev');if(rev.substr(0,4)=='type'){self.$types.getElements('a').removeClass('is_active');$(this).addClass('is_active');var type=rev.substr(5);self.params={};self.params.mode='type';self.params.type=type;self.params.list_id=0;$loader.getElement('.wall_icon').set('class','wall_icon').addClass('wall-type-'+type);$loader.getElement('.wall_text').set('html',$(this).getElement('.wall_text').get('html'));$loader.addClass('wall_loading');self.loadFeed(self.params,null,function(){$loader.removeClass('wall_loading');});}else if(rev.substr(0,4)=='list'){self.$types.getElements('a').removeClass('is_active');$(this).addClass('is_active');var list_id=rev.substr(5);self.params={};self.params.mode='list';self.params.type='';self.params.list_id=list_id;$loader.getElement('.wall_icon').set('class','wall_icon').addClass('wall-type-list');$loader.getElement('.wall_text').set('html',$(this).getElement('.wall_text').get('html'));$loader.addClass('wall_loading');self.loadFeed(self.params,null,function(){$loader.removeClass('wall_loading');});}else if(rev=='create-new'){Smoothbox.open(new Element('a',{'href':en4.core.baseUrl+'wall/list/index'}));}else if(rev=='recent'){self.$types.getElements('a').removeClass('is_active');$(this).addClass('is_active');self.params={};self.params.mode='recent';self.params.type='';self.params.list_id=0;$loader.getElement('.wall_icon').set('class','wall_icon').addClass('wall-most-recent');$loader.getElement('.wall_text').set('html',$(this).getElement('.wall_text').get('html'));$loader.addClass('wall_loading');self.loadFeed(self.params,null,function(){$loader.removeClass('wall_loading');});}});},loadFeed:function(options,where,oncomplete,params)
{var self=this;var data=$merge(options,{'subject':self.options.subject_guid,'feedOnly':true,'format':'html'});if(!params){params={};}
Wall.activityCount(false);var request_fn=function(html){var $feed=self.getFeed();if(where){var $container=new Element('div',{'html':html});self.initAction($container,params);var $items=$container.getChildren();if($type(params.preInject)=='function'){params.preInject();}
$feed.getElements('.utility-setlast, .utility-getlast').destroy();if(where=='top'){$items.reverse();}
$items.each(function(item){item.inject($feed,where);});}else{$feed.set('html',html);self.initAction($feed,params);}
if($type(oncomplete)=='function'){oncomplete();}
self.checkEmptyFeed();};Wall.requestHTML(self.options.url_wall,request_fn,null,data);}});Wall._servicesRequest=null;Wall.ServicesRequest=new Class({Implements:[Events,Options],options:{},initialize:function(options)
{this.setOptions(options);},send:function()
{Wall.request(en4.core.baseUrl+'wall/index/services-request',this.options,function(data){this.fireEvent('complete',[data])}.bind(this));}});Wall.services=new Wall.Storage();Wall.Service={};Wall.Service.Abstract=new Class({Implements:[Events,Options],options:{enabled:false,object_id:'',object_name:'',share_enabled:false},initialize:function(options)
{var self=this;this.setOptions(options);if(Wall._servicesRequest){Wall._servicesRequest.addEvent('complete',function(obj){if(obj[self.getName()]){self.setServiceOptions(obj[self.getName()]);}});}},auth:function(data)
{data=new Hash(data);var query='/';data.each(function(item,key){query+=''+key+'/'+item+'/';});window.open(en4.core.baseUrl+'wall/'+this.getName()+'/index'+query,'','HEIGHT=600,WIDTH=850');},logout:function()
{this.setServiceOptions({'enabled':false});Wall.request(en4.core.baseUrl+'wall/'+this.getName()+'/logout',{});},setServiceOptions:function(options)
{this.setOptions(options);this.fireEvent('change');},isEnabled:function()
{return this.options.enabled;},getName:function()
{return this.name;}});Wall.Service.Facebook=new Class({Extends:Wall.Service.Abstract,name:'facebook'});Wall.Service.Twitter=new Class({Extends:Wall.Service.Abstract,name:'twitter'});Wall.Stream={};Wall.Stream.Abstract=new Class({Implements:[Events,Options],options:{url:{},feed_uid:null},$container:null,$refresh:null,is_composer_opened:false,name:'abstract',feed:null,is_loading:false,load_stream:false,getName:function()
{return this.name;},initAction:function()
{},getFeed:function()
{return this.$container.getElement('.service-feed');},initialize:function(options)
{var self=this;this.setOptions(options);this.feed=Wall.feeds.get(this.options.feed_uid);this.$container=this.feed.feed.getElement('.wall-stream-'+this.getName()+'');this.$refresh=this.feed.feed.getElement('.wall-stream-option-'+this.getName()+' a');this.initComposer();Wall.globalBind();this.init();},init:function()
{var self=this;var service=Wall.services.get(self.getName());service.addEvent('change',function(){if(service.isEnabled()){self.changeTab('stream');if(self.feed.feed.getElement('.wall-stream-'+self.getName()).isVisible()){self.feed.feed.getElement('.wall-stream-option-'+self.getName()).addClass('is_active');}
self.load_stream=true;self.loadStream();}else{self.changeTab('login');if(self.feed.feed.getElement('.wall-stream-'+self.getName()).isVisible()){self.feed.feed.getElement('.wall-stream-option-'+self.getName()).removeClass('is_active');}}});self.$refresh.addEvent('click',function(){self.loadStream();});this.$container.getElements('.stream_login_link').addEvent('click',function(){Wall.services.get(self.getName()).auth({'task':'stream'});});self.feed.feed.getElements('.wall-stream-type-'+self.getName()).addEvent('click',function(){self.feed.feed.getElements('.wall-stream-type').removeClass('is_active');$(this).addClass('is_active');self.feed.feed.getElements('.wall-stream-option').removeClass('is_active');self.feed.feed.getElements('.wall-stream').removeClass('is_active');self.feed.feed.getElements('.wall-stream-'+self.getName()).addClass('is_active');if(Wall.services.get(self.getName()).isEnabled()){self.changeTab('stream');self.feed.feed.getElement('.wall-stream-option-'+self.getName()).addClass('is_active');if(!self.load_stream){self.load_stream=true;self.loadStream();}}else{self.changeTab('login');self.feed.feed.getElement('.wall-stream-option-'+self.getName()).removeClass('is_active');}});if(Wall.rolldownload){window.addEvent('scroll',function(){var link=self.feed.feed.getElement('.wall-stream-'+self.getName()+'.is_active .utility-viewall .pagination a:not(.wall_feed_loading)');if(!link){return;}
if(window.getScrollTop()>=window.getScrollSize().y-window.getSize().y){link.fireEvent('click');}});}},loadStream:function()
{var self=this;if(this.is_loading){return;}
this.is_loading=true;this.changeTab('loader');Wall.request(en4.core.baseUrl+'wall/'+this.getName()+'/stream',{},function(obj){self.is_loading=false;self.changeTab('stream');if(!obj||!obj.enabled){return;}
obj.html.stripScripts(true);self.getFeed().set('html',obj.html);self.initAction(self.getFeed());});},changeTab:function(tab)
{if(tab=='stream'&&this.is_loading){this.changeTab('loader');return;}
this.$container.getElements('.wall-stream-tab').removeClass('is_active');this.$container.getElements('.wall-stream-tab-'+tab).addClass('is_active');this.$container.getElements('.wall-stream-option').removeClass('is_active');if(tab!='login'){this.$container.getElements('.wall-stream-option-'+this.getName()).removeClass('is_active');}},initComposer:function()
{var self=this;var container=this.$container.getElement('.wallComposer');container.getElement('textarea').autogrow();container.getElement('.labelBox').addEvent('click',function(){this.open();}.bind(this));container.getElement('.textareaBox .close').addEvent('click',function(){this.close();}.bind(this));container.getElement('.inputBox').addEvent('click',function(){$(this).getElement('textarea').focus();});var loader=new Wall.OverLoader(container.getElement('.wallTextareaContainer'),'loader2');container.getElement('form').addEvent('submit',function(e){e.stop();if(!$(this).body.get('value')){return;}
loader.show();Wall.request(en4.core.baseUrl+'wall/'+self.getName()+'/post',$(this).toQueryString(),function(){loader.hide();self.close();self.deactivate();self.loadStream();});});},open:function()
{this.deactivate();if(this.is_composer_opened){return;}
this.is_composer_opened=true;this.$container.getElements('.toolsBox a').addClass('is_active');this.$container.getElement('.labelBox').removeClass('is_active');var textarea_box=this.$container.getElement('.textareaBox');var fx=new Fx.Morph(textarea_box,{'duration':50});fx.addEvent('onStart',function(){textarea_box.setStyles({'height':30,'overflow':'hidden'});textarea_box.addClass('is_active');}.bind(this));fx.addEvent('onComplete',function(){textarea_box.setStyles({'height':'auto','overflow':'visible'});this.$container.getElement('.submitMenu').addClass('is_active');}.bind(this));fx.start({'height':[30,64]});},close:function()
{this.deactivate();if(!this.is_composer_opened){return;}
this.is_composer_opened=false;var textarea_box=this.$container.getElement('.textareaBox');textarea_box.getElement('textarea').set('value','');var fx=new Fx.Morph(textarea_box,{'duration':50});fx.addEvent('onStart',function(){this.$container.getElements('.toolsBox a').removeClass('is_active');this.$container.getElement('.submitMenu').removeClass('is_active');textarea_box.setStyles({'height':64,'overflow':'hidden'});}.bind(this));fx.addEvent('onComplete',function(){textarea_box.setStyles({'height':30,'overflow':'visible'});textarea_box.removeClass('is_active');var label=this.$container.getElement('.labelBox');var labelFx=new Fx.Morph(label,{'duration':1000});labelFx.addEvent('onStart',function(){label.addClass('is_active').setStyle('opacity',0);}).addEvent('onComplete',function(){}.bind(this)).start({'opacity':[0,1]});}.bind(this));fx.start({'height':[64,30]});},deactivate:function()
{this.$container.getElement('.textareaBox textarea').set('value','');}});Wall.Stream.Facebook=new Class({Extends:Wall.Stream.Abstract,name:'facebook',initAction:function($container)
{var self=this;var $feed=this.getFeed();if(!$container){$container=$feed;}
$container.getElements('.utility-viewall .pagination a').addEvent('click',function(){$(this).addClass('wall_feed_loading');var loader=$(this).getParent('.utility-viewall').getElement('.loader');$feed.getElements('.utility-viewall .pagination').setStyle('display','none');var next=$(this).get('rev').substr(5);loader.show();Wall.request(en4.core.baseUrl+"wall/facebook/stream",{'next':next,'viewall':true},function(obj){if(!obj.enabled){Wall.services.get(self.getName()).setServiceOptions({'enabled':false});return;}
obj.html.stripScripts(true);var div=new Element('div',{'html':obj.html});self.initAction(div);var children=div.getChildren();$feed.getElements('.utility-viewall').destroy();if(children.length){children.each(function(item){item.inject($feed,'bottom');});}});});}});Wall.Stream.Twitter=new Class({Extends:Wall.Stream.Abstract,name:'twitter',initAction:function($container)
{var self=this;var $feed=this.getFeed();if(!$container){$container=$feed;}
var intentRegex=/twitter\.com(\:\d{2,4})?\/intent\/(\w+)/,windowOptions='scrollbars=yes,resizable=yes,toolbar=no,location=yes',width=550,height=420,winHeight=screen.height,winWidth=screen.width;var handle=function(e){e=e||window.event;if(!e){return;}
var target=e.target||e.srcElement,m,left,top;while(target&&target.nodeName.toLowerCase()!=='a'){target=target.parentNode;}
if(target&&target.nodeName.toLowerCase()==='a'&&target.href){m=target.href.match(intentRegex);if(m){left=Math.round((winWidth/2)-(width/2));top=0;if(winHeight>height){top=Math.round((winHeight/2)-(height/2));}
window.open(target.href,'intent',windowOptions+',width='+width+',height='+height+',left='+left+',top='+top);e.returnValue=false;e.preventDefault&&e.preventDefault();}}};$container.getElements('a').addEvent('click',handle);$container.getElements('.utility-viewall .pagination a').addEvent('click',function(){$(this).addClass('wall_feed_loading');var loader=$(this).getParent('.utility-viewall').getElement('.loader');$feed.getElements('.utility-viewall .pagination').setStyle('display','none');var next=$(this).get('rev').substr(5);loader.show();Wall.request(en4.core.baseUrl+"wall/twitter/stream",{'next':next,'viewall':true},function(obj){if(!obj.enabled){Wall.services.get(self.getName()).setServiceOptions({'enabled':false});return;}
obj.html.stripScripts(true);var div=new Element('div',{'html':obj.html});self.initAction(div);var children=div.getChildren();$feed.getElements('.utility-viewall').destroy();if(children.length){children.each(function(item){item.inject($feed,'bottom');});}});});}});$extend(Element.NativeEvents,{'paste':2,'input':2});Element.Events.paste={base:(Browser.Engine.presto||(Browser.Engine.gecko&&Browser.Engine.version<19))?'input':'paste',condition:function(e){this.fireEvent('paste',e,1);return false;}};Wall.Composer=new Class({Implements:[Events,Options],options:{container:'',feed_uid:''},container:null,textarea:null,elements:{},composer:{},is_opened:false,initialize:function(options)
{var self=this;this.setOptions(options);this.elements=new Hash(this.elements);this.composer=new Hash(this.composer);this.plugins=new Hash(this.plugins);var container=this.container=$(this.options.container);if($type(container)!='element'){return;}
container.getElement('.labelBox').addEvent('click',function(){this.open();}.bind(this));container.getElement('.textareaBox .close').addEvent('click',function(){this.close();}.bind(this));container.getElement('.inputBox').addEvent('click',function(){self.elements.body.focus();});this.elements.textarea=this.container.getElement('textarea');this.elements.textarea.store('Composer');this.attach();this.getTray();this.getMenu();this.pluginReady=false;var loader=new Wall.OverLoader(container.getElement('.wallTextareaContainer'),'loader2');this.getForm().addEvent('submit',function(e){e.stop();if(this.getContent()==''&&!this.pluginReady){return;}
self.saveContent();self.fireEvent('editorSubmit');loader.show();Wall.request(en4.core.baseUrl+'wall/index/post',this.getForm().toQueryString(),function(obj){loader.hide();var feed=Wall.feeds.get(this.options.feed_uid);var element=new Element('div',{'html':obj.body});feed.initAction(element);element.getChildren().each(function(item){item.inject(feed.getFeed(),'top');});feed.checkEmptyFeed();feed.setLastId(obj.last_id);this.signalPluginReady(false);this.close();}.bind(this));}.bind(this));},open:function()
{this.deactivate();if(this.is_opened){return;}
this.is_opened=true;this.container.getElements('.toolsBox a').addClass('is_active');this.container.getElement('.labelBox').removeClass('is_active');var textarea_box=this.container.getElement('.textareaBox');var fx=new Fx.Morph(textarea_box,{'duration':50});fx.addEvent('onStart',function(){textarea_box.setStyles({'height':30,'overflow':'hidden'});textarea_box.addClass('is_active');}.bind(this));fx.addEvent('onComplete',function(){textarea_box.setStyles({'height':'auto','overflow':'visible'});this.container.getElement('.submitMenu').addClass('is_active');}.bind(this));fx.start({'height':[30,64]});},close:function()
{this.deactivate();if(!this.is_opened){return;}
this.is_opened=false;var textarea_box=this.container.getElement('.textareaBox');this.setContent('');var fx=new Fx.Morph(textarea_box,{'duration':50});fx.addEvent('onStart',function(){this.container.getElements('.toolsBox a').removeClass('is_active');this.container.getElement('.submitMenu').removeClass('is_active');textarea_box.setStyles({'height':64,'overflow':'hidden'});}.bind(this));fx.addEvent('onComplete',function(){textarea_box.setStyles({'height':30,'overflow':'visible'});textarea_box.removeClass('is_active');var label=this.container.getElement('.labelBox');var labelFx=new Fx.Morph(label,{'duration':1000});labelFx.addEvent('onStart',function(){label.addClass('is_active').setStyle('opacity',0);}).addEvent('onComplete',function(){}.bind(this)).start({'opacity':[0,1]});}.bind(this));fx.start({'height':[64,30]});},getMenu:function(){if(!$type(this.elements.menu)){if(!$type(this.elements.menu)){this.elements.menu=this.container.getElement('.toolsBox')}}
return this.elements.menu;},getTray:function(){if(!$type(this.elements.tray)){if(!$type(this.elements.tray)){this.elements.tray=this.container.getElement('.wall-compose-tray');}}
return this.elements.tray;},getInputArea:function(){if(!$type(this.elements.inputarea)){var form=this.elements.textarea.getParent('form');this.elements.inputarea=new Element('div',{'styles':{'display':'none'}}).inject(form);}
return this.elements.inputarea;},getForm:function(){return this.elements.textarea.getParent('form');},makeFormInputs:function(data){$H(data).each(function(value,key){this.setFormInputValue(key,value);}.bind(this));},setFormInputValue:function(key,value){var elName='composerForm'+key.capitalize();if(!this.composer.has(elName)){this.composer.set(elName,new Element('input',{'type':'hidden','name':'composer['+key+']','value':value||''}).inject(this.getInputArea()));}
this.composer.get(elName).value=value;},attach:function(){var self=this;this.elements.textarea.addClass('compose-textarea').setStyle('display','none');this.elements.container=new Element('div',{'id':'compose-container','class':'compose-container','styles':{}});this.elements.container.wraps(this.elements.textarea);this.elements.body=new Element('div',{'class':'compose-content','styles':{'display':'block'},'events':{'keypress':function(event){if(event.key=='a'&&event.control){if(Browser.Engine.gecko){fix_gecko_select_all_contenteditable_bug(this,event);}}}}}).inject(this.elements.textarea,'before');this.elements.body.addEvent('blur',function(e){if(''==this.get('html').replace(/\s/,'').replace(/<[^<>]+?>/ig,''))
{if(!Browser.Engine.trident){this.set('html','<br />');}else{this.set('html','<span></span>');}
if(self.options.hideSubmitOnBlur){(function(){if(!self.hasActivePlugin()){self.getMenu().setStyle('display','none');}}).delay(250);}}});if(self.options.hideSubmitOnBlur){this.getMenu().setStyle('display','none');this.elements.body.addEvent('focus',function(e){self.getMenu().setStyle('display','');});}
$(this.elements.body);this.elements.body.contentEditable=true;this.elements.body.designMode='On';['MouseUp','MouseDown','ContextMenu','Click','Dblclick','KeyPress','KeyUp','KeyDown','Focus','Blur','Paste'].each(function(eventName){var method=(this['editor'+eventName]||function(){}).bind(this);this.elements.body.addEvent(eventName.toLowerCase(),method);}.bind(this));this.editor=new Wall_Editor({'element':this.elements.body});this.setContent(this.elements.textarea.value);this.fireEvent('attach',this);this.plugins.each(function(){});},detach:function(){this.fireEvent('detach',this);return this;},focus:function(){(function(){this.elements.textarea.focus();this.fireEvent('focus',this);}).bind(this).delay(10);return this;},getContent:function(){return this.cleanup(this.elements.body.get('html'));},setContent:function(newContent){if(!newContent.trim()&&!Browser.Engine.trident)newContent='<br />';this.elements.body.set('html',newContent);return this;},saveContent:function(){this.elements.textarea.set('value',this.getContent());return this;},cleanup:function(html){return html.replace(/<(br|p|div)[^<>]*?>/ig,"\r\n").replace(/<[^<>]+?>/ig,'').replace(/(\r\n?|\n){3,}/ig,"\n\n").trim();},addPlugin:function(plugin){var key=plugin.getName();this.plugins.set(key,plugin);plugin.setComposer(this);return this;},addPlugins:function(plugins){plugins.each(function(plugin){this.addPlugin(plugin);}.bind(this));},getPlugin:function(name){return this.plugins.get(name);},activate:function(name){this.deactivate();this.plugins.get(name).activate();},deactivate:function(){var self=this;this.plugins.each(function(plugin){plugin.detach();plugin.deactivate();});this.composer.each(function(value,key){value.destroy();self.composer.erase(key);});this.getTray().empty();this.getTray().setStyle('display','none');this.signalPluginReady(false);},signalPluginReady:function(state){this.pluginReady=state;},hasActivePlugin:function(){var active=false;this.plugins.each(function(plugin){active=active||plugin.active;});return active;},editorMouseUp:function(e){this.fireEvent('editorMouseUp',e);},editorMouseDown:function(e){this.fireEvent('editorMouseDown',e);},editorContextMenu:function(e){this.fireEvent('editorContextMenu',e);},editorClick:function(e){this.fireEvent('editorClick',e);},editorDoubleClick:function(e){this.fireEvent('editorDoubleClick',e);},editorKeyPress:function(e){this.keyListener(e);this.fireEvent('editorKeyPress',e);},editorKeyUp:function(e){this.fireEvent('editorKeyUp',e);},editorKeyDown:function(e){this.fireEvent('editorKeyDown',e);},editorFocus:function(e){this.fireEvent('editorFocus',e);},editorBlur:function(e){this.fireEvent('editorBlur',e);},editorPaste:function(e){this.fireEvent('editorPaste',e);},keyListener:function(e){},_lang:function(){try{if(arguments.length<1){return'';}
var string=arguments[0];if($type(this.options.lang)&&$type(this.options.lang[string])){string=this.options.lang[string];}
if(arguments.length<=1){return string;}
var args=new Array();for(var i=1,l=arguments.length;i<l;i++){args.push(arguments[i]);}
return string.vsprintf(args);}catch(e){alert(e);}}});Wall.Composer.Plugin={};Wall.Composer.Plugin.Interface=new Class({Implements:[Options,Events],name:'interface',active:false,composer:false,options:{loadingImage:'application/modules/Core/externals/images/loading.gif'},elements:{},persistentElements:['activator','loadingImage'],params:{},initialize:function(options){this.params=new Hash();this.elements=new Hash();this.reset();this.setOptions(options);},getName:function(){return this.name;},setComposer:function(composer){this.composer=composer;this.attach();return this;},getComposer:function(){if(!this.composer)throw"No composer defined";return this.composer;},attach:function(){this.reset();},detach:function(){this.reset();if(this.elements.activator){this.elements.activator.destroy();this.elements.erase('menu');}},reset:function(){this.elements.each(function(element,key){if($type(element)=='element'&&!this.persistentElements.contains(key)){element.destroy();this.elements.erase(key);}}.bind(this));this.params=new Hash();this.elements=new Hash();},activate:function(){if(this.active)return;this.active=true;this.getComposer().open();this.getComposer().getTray().setStyle('display','block');var submitButtonEl=$(this.getComposer().options.submitElement);if(submitButtonEl){submitButtonEl.setStyle('display','none');}
switch($type(this.options.loadingImage)){case'element':break;case'string':this.elements.loadingImage=new Asset.image(this.options.loadingImage,{'class':'wall-compose-loading-image wall-compose-'+this.getName()+'-loading-image'});break;default:this.elements.loadingImage=new Asset.image('loading.gif',{'class':'wall-compose-loading-image wall-compose-'+this.getName()+'-loading-image'});break;}},deactivate:function(){if(!this.active)return;this.active=false;this.reset();var submitButtonEl=$(this.getComposer().options.submitElement);if(submitButtonEl){submitButtonEl.setStyle('display','');}
this.getComposer().signalPluginReady(false);},ready:function(){this.getComposer().signalPluginReady(true);var submitEl=$(this.getComposer().options.submitElement);if(submitEl){submitEl.setStyle('display','');}},makeActivator:function(){if(!this.elements.activator){this.elements.activator=new Element('a',{'class':'wall-compose-activator wall-compose-'+this.getName()+'-activator wall_blurlink','href':'javascript:void(0);','html':'&nbsp;','title':this._lang(this.options.title),'events':{'click':this.activate.bind(this)}}).inject(this.getComposer().getMenu());new Wall.Tips(this.elements.activator);new Wall.BlurLink(this.elements.activator);}},makeMenu:function(){if(!this.elements.menu){var tray=this.getComposer().getTray();this.elements.menu=new Element('div',{'class':'wall-compose-container wall-compose-tray-headline  wall-compose-'+this.getName()+'-menu'}).inject(tray);this.elements.menuTitle=new Element('span',{'html':this._lang(this.options.title)+' ('}).inject(this.elements.menu);this.elements.menuClose=new Element('a',{'href':'javascript:void(0);','html':this._lang('cancel'),'events':{'click':function(e){e.stop();this.getComposer().deactivate();}.bind(this)}}).inject(this.elements.menuTitle);this.elements.menuTitle.appendText(')');}},makeBody:function(){if(!this.elements.body){var tray=this.getComposer().getTray();this.elements.body=new Element('div',{'class':'wall-compose-body wall-compose-'+this.getName()+'-body'}).inject(tray);}},makeLoading:function(action){if(!this.elements.loading){if(action=='empty'){this.elements.body.empty();}else if(action=='hide'){this.elements.body.getChildren().each(function(element){element.setStyle('display','none')});}else if(action=='invisible'){this.elements.body.getChildren().each(function(element){element.setStyle('height','0px').setStyle('visibility','hidden')});}
this.elements.loading=new Element('div',{'class':'wall-compose-loading wall-compose-'+this.getName()+'-loading'}).inject(this.elements.body);var image=this.elements.loadingImage||(new Element('img',{'class':'wall-compose-loading-image wall-compose-'+this.getName()+'-loading-image'}));image.inject(this.elements.loading);new Element('span',{'html':this._lang('Loading...')}).inject(this.elements.loading);}},makeError:function(message,action){if(!$type(action))action='empty';message=message||'An error has occurred';message=this._lang(message);this.elements.error=new Element('div',{'class':'wall-compose-error wall-compose-'+this.getName()+'-error','html':message}).inject(this.elements.body);},makeFormInputs:function(data){this.ready();this.getComposer().getInputArea().empty();data.type=this.getName();$H(data).each(function(value,key){this.setFormInputValue(key,value);}.bind(this));},setFormInputValue:function(key,value){var elName='attachmentForm'+key.capitalize();if(!this.elements.has(elName)){this.elements.set(elName,new Element('input',{'type':'hidden','name':'attachment['+key+']','value':value||''}).inject(this.getComposer().getInputArea()));}
this.elements.get(elName).value=value;},_lang:function(){try{if(arguments.length<1){return'';}
var string=arguments[0];if($type(this.options.lang)&&$type(this.options.lang[string])){string=this.options.lang[string];}
if(arguments.length<=1){return string;}
var args=new Array();for(var i=1,l=arguments.length;i<l;i++){args.push(arguments[i]);}
return string.vsprintf(args);}catch(e){alert(e);}}});Wall.camera_list=new Wall.Storage();Wall.Camera=new Class({Implements:[Events,Options],options:{m:''},shootEnabled:true,initialize:function(options)
{var self=this;this.setOptions(options);this.createDom();window.addEvent('resize',function(){self.build();});Wall.setKeyEvent(function(e){if(e.key=='esc'){Wall.camera_list.getAll().each(function(item){item.viewClose();});}
if(e.key=='space'){Wall.camera_list.getAll().each(function(item){item.fireEvent('freeze');});}});Wall.camera_list.add($random(1111,9999),this);this.camera.addEvent('click',function(e){if(e){e.stop();if(!$(e.target).getParent('body')||$(e.target).getParent('.container')||$(e.target).hasClass('container')){return;}}
self.viewClose();});webcam.set_hook('onLoad',function(){self.shootEnabled=true;});webcam.set_hook('onComplete',function(msg){self.upload.removeClass('wall_loading');msg=JSON.decode(msg);if(msg.error){alert(msg.message);}
else{self.fireEvent('success',msg);self.viewClose();}});webcam.set_hook('onError',function(e){alert(e);});this.close.addEvent('click',function(){self.viewClose();});this.cancel.addEvent('click',function(){self.togglePane();webcam.reset();});this.freeze.addEvent('click',function(){self.togglePane();if(!self.shootEnabled){return false;}
webcam.freeze();});this.upload.addEvent('click',function(){self.upload.addClass('wall_loading');webcam.upload();});this.createBox();Wall.globalBind();},viewClose:function()
{this.fireEvent('cancel');this.camera.destroy();$$('html')[0].removeClass('wall_hidescrool');},createBox:function()
{this.camera.inject(Wall.externalDiv());webcam.set_swf_url(en4.core.basePath+'application/modules/Wall/externals/webcam/webcam.swf');webcam.set_api_url(en4.core.baseUrl+'wall/camera/upload?format=json&m='+this.options.m);webcam.set_quality(80);webcam.set_shutter_sound(true,en4.core.basePath+'application/modules/Wall/externals/webcam/shutter.mp3');var webcamera_element=(new Element('div',{'class':'embed','id':'wall_camera_embed'})).inject(this.container,'top');$$('html')[0].addClass('wall_hidescrool');this.build();webcamera_element.innerHTML=webcam.get_html(600,480);},togglePane:function()
{var self=this;if(this.upload.isVisible()){var fx=new Fx.Morph(this.freeze,{'duration':500});this.freeze.setStyle('display','none');fx.start({'opacity':[0,1]});fx.addEvent('complete',function(){self.freeze.setStyle('display','block');});var fx2=new Fx.Morph(this.cancel,{'duration':500});this.cancel.setStyle('display','block');fx2.start({'opacity':[1,0]});fx2.addEvent('complete',function(){self.cancel.setStyle('display','none');});var fx3=new Fx.Morph(this.upload,{'duration':500});this.upload.setStyle('display','block');fx3.start({'opacity':[1,0]});fx3.addEvent('complete',function(){self.upload.setStyle('display','none');});}else{var out_fx=new Fx.Morph(this.freeze,{'duration':500});this.freeze.setStyle('display','block');out_fx.start({'opacity':[1,0]});out_fx.addEvent('complete',function(){self.freeze.setStyle('display','none');});var out_fx2=new Fx.Morph(this.cancel,{'duration':500});this.cancel.setStyle('display','none');out_fx2.start({'opacity':[0,1]});out_fx2.addEvent('complete',function(){self.cancel.setStyle('display','block');});var out_fx3=new Fx.Morph(this.upload,{'duration':500});this.upload.setStyle('display','none');out_fx3.start({'opacity':[0,1]});out_fx3.addEvent('complete',function(){self.upload.setStyle('display','block');});}},createDom:function()
{this.camera=new Element('div',{'class':'wall-camera wall-window'});this.container=new Element('div',{'class':'container'});if(!Wall.isLightTheme()){this.camera.addClass('night_theme');}
if(!!navigator.userAgent.match(/MSIE/)){this.camera.addClass('ie');}
this.close=new Element('a',{'href':'javascript:void(0);','class':'close wall_blurlink'});this.submit_menu=new Element('div',{'class':'submit-menu'});this.freeze=new Element('a',{'href':'javascript:void(0);','class':'freeze wall-button wall_blurlink','html':'<span class="wall_icon">&nbsp;</span>'+en4.core.language.translate('WALL_CAMERA_FREEZE')});this.cancel=new Element('a',{'href':'javascript:void(0);','style':'display:none','class':'cancel wall-button wall_blurlink','html':'<span class="wall_icon">&nbsp;</span>'+en4.core.language.translate('WALL_CAMERA_CANCEL')});this.upload=new Element('a',{'href':'javascript:void(0);','style':'display:none','class':'upload wall-button wall_blurlink','html':'<span class="wall_icon">&nbsp;</span>'+en4.core.language.translate('WALL_CAMERA_UPLOAD')});this.close.inject(this.camera);this.freeze.inject(this.submit_menu);this.cancel.inject(this.submit_menu);this.upload.inject(this.submit_menu);this.submit_menu.inject(this.container);this.container.inject(this.camera);},build:function()
{var pos=this.container.getCoordinates();var total=this.camera.getCoordinates();this.container.setStyle('position','absolute').setStyle('left',(total.width/2-pos.width/2)).setStyle('top',20);}});Wall.lightHexColor=function(hex)
{if(hex[0]=="#")hex=hex.substr(1);if(hex.length==3){var temp=hex;hex='';temp=/^([a-f0-9])([a-f0-9])([a-f0-9])$/i.exec(temp).slice(1);for(var i=0;i<3;i++)hex+=temp[i]+temp[i];}
var result=/^([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i.exec(hex);if(!result){return 150;}
var triplets=result.slice(1);return 0.213*parseInt(triplets[0],16)+0.715*parseInt(triplets[1],16)+0.072*parseInt(triplets[2],16);};Wall.lightDiv=null;Wall.isLightTheme=function()
{if(!Wall.lightDiv){Wall.lightDiv=new Element('div',{style:'display:none','class':'wall-theme-foreground'});Wall.lightDiv.inject(Wall.externalDiv());}
var hex=Wall.lightDiv.getStyle('background-color');if(hex=='transparent'){hex=Wall.lightDiv.removeClass('wall-theme-foreground').addClass('wall-theme-background').getStyle('background-color');}
return Wall.lightHexColor(hex)>100;};var Wall_Editor=new Class({Implements:[Events,Options],options:{win:window},element:null,initialize:function(options)
{this.setOptions(options);this.init();},init:function()
{var self=this;if(this.options.element){this.element=$(this.options.element);if(this.element){this.element.addEvent('paste',function(){self.clearHtmlTags();});}}},getRange:function()
{if($type(this.options.win.getSelection)&&this.options.win.getSelection().rangeCount){return this.options.win.getSelection().getRangeAt(0);}else if(this.options.win.document.selection&&$type(this.options.win.document.selection.createRange)){return this.options.win.document.selection.createRange();}},clearHtmlTags:function()
{var self=this;if(!self.element.innerHTML.match(/<[^<>]+?>/i)){return;}
this.setContent(self.element.innerHTML.replace(/<(br|p|div)[^<>]*?>/ig,"<br />").replace(/<[^<>]+?>/ig,'').replace(/(\r\n?|\n){3,}/ig,"<br />").trim());},getCaretAndText:function()
{var range=this.getRange();var caretPos=0;var text='';if(!range){return;}
if(window.getSelection){caretPos=range.endOffset;}else if(document.selection){var tl=this.element.innerText.length;var selection=document.selection;var range_t=selection.createRange();if(range_t==null||range_t['text']==null){}else{var sl=range.text.length;range.moveStart("character",-tl);caretPos=range.text.length;}}
if(this.getRange().startContainer){text=this.getRange().startContainer.data;}else if(this.getRange().parentElement()){text=this.element.innerText;}
return{caret:caretPos,text:text};},cleanup:function(content)
{return content.replace(/<(br|p|div)[^<>]*?>/ig,"\r\n").replace(/<[^<>]+?>/ig,'').replace(/(\r\n?|\n){3,}/ig,"\n\n").trim();},moveCaretToEnd:function()
{this.element.focus();var range=this.getRange();if(window.getSelection){range.setStart(this.element.firstChild,10);range.setEnd(this.element.firstChild,10);}else if(typeof this.element.createTextRange!="undefined"){var range=this.element.createTextRange();range.collapse(false);range.select();}},setCaretAfterElement:function(element)
{if(!element){return;}
this.element.focus();if(window.getSelection){window.getSelection().collapse(element.nextSibling,1);}else if(document.selection){this.getRange().moveToElementText(element);}},getContent:function(){return this.cleanup(this.element.get('html'));},setContent:function(newContent){if(!newContent.trim()&&!Browser.Engine.trident)newContent='<br />';this.element.set('html',newContent.replace(/\r\n/ig,"<br />"));return this;}});function Wall_htmlspecialchars(text){var chars=Array("&","<",">",'"',"'");var replacements=Array("&amp;","&lt;","&gt;","&quot;","'");for(var i=0;i<chars.length;i++){var re=new RegExp(chars[i],"gi");if(re.test(text)){text=text.replace(re,replacements[i]);}}
return text;};var Lasso=new Class({Implements:[Options,Events],active:false,options:{autoHide:true,cropMode:false,globalTrigger:false,min:false,max:false,ratio:false,contain:false,trigger:null,border:'#999',color:'#7389AE',opacity:.3,zindex:10000,bgimage:'./blank.gif'},binds:{},initialize:function(options){this.setOptions(options);this.box=new Element('div',{'styles':{'display':'none','position':'absolute','z-index':this.options.zindex}}).inject((this.container)?this.container:document.body);this.overlay=new Element('div',{'class':'lasso-overlay','styles':{'position':'relative','background':'url('+this.options.bgimage+')','height':'100%','width':'100%','z-index':this.options.zindex+1}}).inject(this.box);this.mask=new Element('div',{'styles':{'position':'absolute','background-color':this.options.color,'opacity':this.options.opacity,'height':'100%','width':'100%','z-index':this.options.zindex-1}});if(this.options.cropMode){this.mask.setStyle('z-index',this.options.zindex-2).inject(this.container);this.options.trigger=this.mask;}else{this.mask.inject(this.overlay);}
this.trigger=$(this.options.trigger);var antStyles={'position':'absolute','width':1,'height':1,'overflow':'hidden','z-index':this.options.zindex+1};if(this.options.border.test(/\.(jpe?g|gif|png)/))antStyles.backgroundImage='url('+this.options.border+')';else var antBorder='1px dashed '+this.options.border;this.marchingAnts={};['left','right','top','bottom'].each(function(side,idx){switch(side){case'left':style=$merge(antStyles,{top:0,left:-1,height:'100%'});break;case'right':style=$merge(antStyles,{top:0,right:-1,height:'100%'});break;case'top':style=$merge(antStyles,{top:-1,left:0,width:'100%'});break;case'bottom':style=$merge(antStyles,{bottom:-1,left:0,width:'100%'});break;}
if(antBorder)style['border-'+side]=antBorder;this.marchingAnts[side]=new Element('div',{'styles':style}).inject(this.overlay);},this);this.binds.start=this.start.bindWithEvent(this);this.binds.move=this.move.bindWithEvent(this);this.binds.end=this.end.bindWithEvent(this);this.attach();document.body.onselectstart=function(e){e=new Event(e).stop();return false;};this.removeDOMSelection=(document.selection&&document.selection.empty)?function(){document.selection.empty();}:(window.getSelection)?function(){var s=window.getSelection();if(s&&s.removeAllRanges)s.removeAllRanges();}:$lambda(false);this.resetCoords();},attach:function(){this.trigger.addEvent('mousedown',this.binds.start);},detach:function(){if(this.active)this.end();this.trigger.removeEvent('mousedown',this.binds.start);},start:function(event){if((!this.options.autoHide&&event.target==this.box)||(!this.options.globalTrigger&&(this.trigger!=event.target)))return false;this.active=true;document.addEvents({'mousemove':this.binds.move,'mouseup':this.binds.end});this.resetCoords();if(this.options.contain)this.getContainCoords();if(this.container)this.getRelativeOffset();this.setStartCoords(event.page);this.fireEvent('start');return true;},move:function(event){if(!this.active)return false;this.removeDOMSelection();var s=this.coords.start,m=event.page,box=this.coords.box={},c=this.coords.container;if(this.container){m.y-=this.offset.top;m.x-=this.offset.left;}
var f=this.flip={y:(s.y>m.y),x:(s.x>m.x)};box.y=(f.y)?[m.y,s.y]:[s.y,m.y];box.x=(f.x)?[m.x,s.x]:[s.x,m.x];if(this.options.contain){if(box.y[0]<c.y[0])box.y[0]=c.y[0];if(box.y[1]>c.y[1])box.y[1]=c.y[1];if(box.x[0]<c.x[0])box.x[0]=c.x[0];if(box.x[1]>c.x[1])box.x[1]=c.x[1];}
if(this.options.max){if(box.x[1]-box.x[0]>this.options.max[0]){if(f.x)box.x[0]=box.x[1]-this.options.max[0];else box.x[1]=box.x[0]+this.options.max[0];}
if(box.y[1]-box.y[0]>this.options.max[1]){if(f.y)box.y[0]=box.y[1]-this.options.max[1];else box.y[1]=box.y[0]+this.options.max[1];}}
if(this.options.ratio){var ratio=this.options.ratio;var r={x:(box.x[1]-box.x[0])/ratio[0],y:(box.y[1]-box.y[0])/ratio[1]};if(r.x>r.y){if(f.x)box.x[0]=box.x[1]-(r.y*ratio[0]);else box.x[1]=box.x[0]+(r.y*ratio[0]);}else if(r.x<r.y){if(f.y)box.y[0]=box.y[1]-(r.x*ratio[1]);else box.y[1]=box.y[0]+(r.x*ratio[1]);}}
this.refresh();return true;},refresh:function(){var c=this.coords,box=this.coords.box,cc=this.coords.container;c.w=box.x[1]-box.x[0];c.h=box.y[1]-box.y[0];c.top=box.y[0];c.left=box.x[0];this.box.setStyles({'display':'block','top':c.top,'left':c.left,'width':c.w,'height':c.h});this.fireEvent('resize',this.getRelativeCoords());},end:function(event){if(!this.active)return false;this.active=false;document.removeEvents({'mousemove':this.binds.move,'mouseup':this.binds.end});if(this.options.autoHide)this.resetCoords();else if(this.options.min){if(this.coords.w<this.options.min[0]||this.coords.h<this.options.min[1])this.resetCoords();}
var ret=(this.options.autoHide)?null:this.getRelativeCoords();this.fireEvent('complete',ret);return true;},setStartCoords:function(coords){if(this.container){coords.y-=this.offset.top;coords.x-=this.offset.left;}
this.coords.start=coords;this.coords.w=0;this.coords.h=0;this.box.setStyles({'display':'block','top':this.coords.start.y,'left':this.coords.start.x});},resetCoords:function(){this.coords={start:{x:0,y:0},move:{x:0,y:0},end:{x:0,y:0},w:0,h:0};this.box.setStyles({'display':'none','top':0,'left':0,'width':0,'height':0});this.getContainCoords();},getRelativeCoords:function(){var box=this.coords.box,cc=$merge(this.coords.container),c=this.coords;if(!this.options.contain)cc={x:[0,0],y:[0,0]};return{x:(box.x[0]-cc.x[0]).toInt(),y:(box.y[0]-cc.y[0]).toInt(),w:(c.w).toInt(),h:(c.h).toInt()};},getContainCoords:function(){var tc=this.trigger.getCoordinates(this.container);this.coords.container={y:[tc.top,tc.top+tc.height],x:[tc.left,tc.left+tc.width]};},getRelativeOffset:function(){this.offset=this.container.getCoordinates();},reset:function(){this.detach();},destroy:function(){this.detach();this.mask.destroy();this.overlay.destroy();this.box.destroy();}});;Lasso.Crop=new Class({Extends:Lasso,options:{autoHide:false,cropMode:true,contain:true,handleSize:8,preset:false,handleStyle:{'border':'1px solid #000','background-color':'#ccc',opacity:.75},handlePreventsDefault:true},initialize:function(img,options){this.img=$(img);if(this.img.get('tag')!='img')return false;var coords=this.img.getCoordinates();var widthFix=coords.width-2;var heightFix=coords.height-2;this.container=new Element('div',{'id':'lassoMask','styles':{'position':'relative','width':widthFix,'height':heightFix,'background':'url('+this.img.get('src')+') no-repeat'}}).inject(this.img,'after');this.img.setStyle('display','none');options.p=this.container;this.crop=new Element('span',{styles:{'position':'absolute','top':0,'left':0,'width':coords.width,'height':coords.height,'padding':0,'margin':0,'z-index':this.options.zindex-1,'background-image':'url('+this.img.get('src')+')'}}).inject(this.container);this.parent(options);this.binds.handleMove=this.handleMove.bind(this);this.binds.handleEnd=this.handleEnd.bind(this);this.binds.handles={};this.handles={};this.handlesGrid={'NW':[0,0],'N':[0,1],'NE':[0,2],'W':[1,0],'E':[1,2],'SW':[2,0],'S':[2,1],'SE':[2,2]};['NW','N','NE','W','E','SW','S','SE'].each(function(handle){var grid=this.handlesGrid[handle];this.binds.handles[handle]=this.handleStart.bindWithEvent(this,[handle,grid[0],grid[1]]);this.handles[handle]=new Element("div",{'styles':$merge({'position':'absolute','display':'block','visibility':'hidden','width':this.options.handleSize,'height':this.options.handleSize,'overflow':'hidden','cursor':(handle.toLowerCase()+'-resize'),'z-index':this.options.zindex+2},this.options.handleStyle),'events':{'mousedown':this.binds.handles[handle]}}).inject(this.box,'bottom');this.handles[handle].style.visibility='hidden';},this);this.binds.drag=this.handleStart.bindWithEvent(this,['DRAG',1,1]);this.overlay.addEvent('mousedown',this.binds.drag);this.setDefault();},setDefault:function(){if(!this.options.preset)return this.resetCoords();this.getContainCoords();this.getRelativeOffset();var c=this.coords.container,d=this.options.preset;this.coords.start={x:d[0],y:d[1]};this.active=true;this.move({page:{x:d[2]+this.offset.left,y:d[3]+this.offset.top}});this.active=false;},handleStart:function(event,handle,row,col){this.currentHandle={'handle':handle,'row':row,'col':col};document.addEvents({'mousemove':this.binds.handleMove,'mouseup':this.binds.handleEnd});event.page.y-=this.offset.top;event.page.x-=this.offset.left;this.coords.hs={'s':event.page,'b':$merge(this.coords.box)};this.active=true;if(this.options.handlePreventsDefault){event.stop();}},handleMove:function(event){var box=this.coords.box,c=this.coords.container,m=event.page,cur=this.currentHandle,s=this.coords.start;m.y-=this.offset.top;m.x-=this.offset.left;if(cur.handle=='DRAG'){var hs=this.coords.hs,xm=m.x-hs.s.x,ym=m.y-hs.s.y,diff;box.y[0]=hs.b.y[0]+ym;box.y[1]=hs.b.y[1]+ym;box.x[0]=hs.b.x[0]+xm;box.x[1]=hs.b.x[1]+xm;if((diff=box.y[0]-c.y[0])<0){box.y[0]-=diff;box.y[1]-=diff;}
if((diff=box.y[1]-c.y[1])>0){box.y[0]-=diff;box.y[1]-=diff;}
if((diff=box.x[0]-c.x[0])<0){box.x[0]-=diff;box.x[1]-=diff;}
if((diff=box.x[1]-c.x[1])>0){box.x[0]-=diff;box.x[1]-=diff;}
return this.refresh();}
if(cur.row==0&&box.y[1]<m.y){cur.row=2;}
if(cur.row==2&&box.y[0]>m.y){cur.row=0;}
if(cur.col==0&&box.x[1]<m.x){cur.col=2;}
if(cur.col==2&&box.x[0]>m.x){cur.col=0;}
if(cur.row==0||cur.row==2){s.y=(cur.row)?box.y[0]:box.y[1];if(cur.col==0){s.x=box.x[1];}
if(cur.col==1){s.x=box.x[0];m.x=box.x[1];}
if(cur.col==2){s.x=box.x[0];}}
if(!this.options.ratio){if(cur.row==1){if(cur.col==0){s.y=box.y[0];m.y=box.y[1];s.x=box.x[1];}
else if(cur.col==2){s.y=box.y[0];m.y=box.y[1];s.x=box.x[0];}}}
m.y+=this.offset.top;m.x+=this.offset.left;this.move(event);if(this.options.handlePreventsDefault){event.stop();}},handleEnd:function(event){document.removeEvents({'mousemove':this.binds.handleMove,'mouseup':this.binds.handleEnd});this.active=false;this.currentHandle=false;if(this.options.min&&(this.coords.w<this.options.min[0]||this.coords.h<this.options.min[1])){if(this.options.preset)this.setDefault();else this.resetCoords();}
if(this.options.handlePreventsDefault){event.stop();}},end:function(event){if(!this.parent(event))return false;if(this.options.min&&(this.coords.w<this.options.min[0]||this.coords.h<this.options.min[1])){this.setDefault();}},resetCoords:function(){this.parent();this.coords.box={x:[0,0],y:[0,0]};this.hideHandlers();this.crop.setStyle('clip','rect(0px 0px 0px 0px)');},showHandlers:function(){var box=this.coords.box;if(this.options.min&&(this.coords.w<this.options.min[0]||this.coords.h<this.options.min[1]))this.hideHandlers();else{var tops=[],lefts=[],pxdiff=(this.options.handleSize/2)+1;for(var cell=0,cells=2;cell<=cells;cell++){tops[cell]=((cell==0)?0:((cell==2)?box.y[1]-box.y[0]:(box.y[1]-box.y[0])/2))-pxdiff;lefts[cell]=((cell==0)?0:((cell==2)?box.x[1]-box.x[0]:(box.x[1]-box.x[0])/2))-pxdiff;}
for(var handleID in this.handlesGrid){var grid=this.handlesGrid[handleID],handle=this.handles[handleID];if(!this.options.ratio||(grid[0]!=1&&grid[1]!=1)){if(this.options.min&&this.options.max){if((this.options.min[0]==this.options.max[0])&&(grid[1]%2)==0)continue;if(this.options.min[1]==this.options.max[1]&&(grid[0]%2)==0)continue;}
handle.setStyles({'visibility':'visible','top':tops[grid[0]],'left':lefts[grid[1]]});}}}},hideHandlers:function(){for(handle in this.handles){this.handles[handle].setStyle('visibility','hidden');}},refresh:function(){this.parent();var box=this.coords.box,cc=this.coords.container;if(Browser.Engine.trident&&Browser.Engine.version<5&&this.currentHandle&&this.currentHandle.col===1)
this.overlay.setStyle('width','100.1%').setStyle('width','100%');this.crop.setStyle('clip','rect('+(box.y[0])+'px '+(box.x[1])+'px '+(box.y[1])+'px '+(box.x[0])+'px )');this.showHandlers();},destroy:function(){this.parent();this.img.inject(this.container,'after');this.img.setStyle('display','');this.container.destroy();}});;var Observer=new Class({Implements:[Options,Events],options:{periodical:false,delay:1000},initialize:function(el,onFired,options){this.element=$(el)||$$(el);this.addEvent('onFired',onFired);this.setOptions(options);this.bound=this.changed.bind(this);this.resume();},changed:function(){var value=this.element.get('value');if($equals(this.value,value))return;this.clear();this.value=value;this.timeout=this.onFired.delay(this.options.delay,this);},setValue:function(value){this.value=value;this.element.set('value',value);return this.clear();},onFired:function(){this.fireEvent('onFired',[this.value,this.element]);},clear:function(){$clear(this.timeout||null);return this;},pause:function(){if(this.timer)$clear(this.timer);else this.element.removeEvent('keyup',this.bound);return this.clear();},resume:function(){this.value=this.element.get('value');if(this.options.periodical)this.timer=this.changed.periodical(this.options.periodical,this);else this.element.addEvent('keyup',this.bound);return this;}});var $equals=function(obj1,obj2){return(obj1==obj2||JSON.encode(obj1)==JSON.encode(obj2));};;var Autocompleter=new Class({Implements:[Options,Events],options:{minLength:1,markQuery:true,width:'inherit',maxChoices:10,injectChoice:null,customChoices:null,emptyChoices:null,visibleChoices:true,className:'autocompleter-choices',zIndex:42,delay:1,observerOptions:{},fxOptions:{},autoSubmit:false,overflow:false,overflowMargin:25,selectFirst:true,filter:null,filterCase:false,filterSubset:false,forceSelect:false,selectMode:true,choicesMatch:null,multiple:false,separator:', ',separatorSplit:/\s*[,;]\s*/,autoTrim:false,allowDupes:false,cache:true,relative:true,tokenFormat:'object',tokenIdKey:'id',tokenValueKey:'label',prefetchOnInit:false,alwaysOpen:false,ignoreKeys:false,ignoreOverlayFix:false},initialize:function(element,options){this.element=$(element);this.setOptions(options);this.build();this.observer=new Observer(this.element,this.prefetch.bind(this),$merge({'delay':this.options.delay},this.options.observerOptions));this.queryValue=null;if(this.options.filter)this.filter=this.options.filter.bind(this);var mode=this.options.selectMode;this.typeAhead=(mode=='type-ahead');this.selectMode=(mode===true)?'selection':mode;this.cached=[];if(this.options.prefetchOnInit)this.prefetch.delay(this.options.delay+50,this);},build:function(){if($(this.options.customChoices)){this.choices=this.options.customChoices;}else{this.choices=new Element('ul',{'class':this.options.className,'styles':{'zIndex':this.options.zIndex}}).inject(document.body);this.relative=false;if(this.options.relative){this.choices.inject(this.element,'after');this.relative=this.element.getOffsetParent();}
if(!this.options.ignoreOverlayFix)this.fix=new OverlayFix(this.choices);}
if(!this.options.separator.test(this.options.separatorSplit)){this.options.separatorSplit=this.options.separator;}
if(!this.options.alwaysOpen){this.fx=(!this.options.fxOptions)?null:new Fx.Tween(this.choices,$merge({'property':'opacity','link':'cancel','duration':200},this.options.fxOptions)).addEvent('onStart',Chain.prototype.clearChain).set(0);}
this.element.setProperty('autocomplete','off').addEvent((Browser.Engine.trident||Browser.Engine.webkit)?'keydown':'keypress',this.onCommand.bind(this)).addEvent('click',this.onCommand.bind(this,[false]));if(!this.options.alwaysOpen){this.element.addEvent('focus',this.toggleFocus.create({bind:this,arguments:true,delay:100})).addEvent('blur',this.toggleFocus.create({bind:this,arguments:false,delay:100}));}},destroy:function(){if(this.fix)this.fix.destroy();this.choices=this.selected=this.choices.destroy();},toggleFocus:function(state){this.focussed=state;if(!state)this.hideChoices(true);this.fireEvent((state)?'onFocus':'onBlur',[this.element]);},onCommand:function(e){if(!e&&this.focussed)return this.prefetch();if(e&&e.key&&!e.shift&&!this.options.ignoreKeys){switch(e.key){case'enter':e.stop();if(!this.selected){if(!this.options.customChoices){this.element.value='';}
return true;}
if(this.selected&&this.visible){this.choiceSelect(this.selected);return!!(this.options.autoSubmit);}
break;case'up':case'down':var value=this.element.value;if(!this.prefetch()&&this.queryValue!==null){var up=(e.key=='up');this.choiceOver((this.selected||this.choices)[(this.selected)?((up)?'getPrevious':'getNext'):((up)?'getLast':'getFirst')](this.options.choicesMatch),true);this.element.value=value;}
return false;case'esc':this.hideChoices(true);if(!this.options.customChoices)this.element.value='';break;case'tab':if(this.selected&&this.visible){this.choiceSelect(this.selected);return!!(this.options.autoSubmit);}else{this.hideChoices(true);if(!this.options.customChoices)this.element.value='';break;}}}
this.fireEvent('onCommand',e);return true;},setSelection:function(finish){var tokenInfo=this.selected.retrieve('autocompleteChoice');var input=(this.options.tokenFormat=='object'?tokenInfo[this.options.tokenValueKey]:tokenInfo);var value=input;var start=this.queryValue.length,end=input.length;if((input.substr(0,start)||'').toLowerCase()!=(this.queryValue||'').toLowerCase())start=0;if(this.options.multiple){var split=this.options.separatorSplit;value=this.element.value;start+=this.queryIndex;end+=this.queryIndex;var old=value.substr(this.queryIndex).split(split,1)[0];value=value.substr(0,this.queryIndex)+input+value.substr(this.queryIndex+old.length);if(finish){var tokens=value.split(this.options.separatorSplit).filter(function(entry){return this.test(entry);},/[^\s,]+/);if(!this.options.allowDupes)tokens=[].combine(tokens);var sep=this.options.separator;value=tokens.join(sep)+sep;end=value.length;}}
if(this.options.autocompleteType=='tag')this.observer.setValue(value);this.opted=value;if(finish||this.selectMode=='pick')start=end;$try(function(){this.element.selectRange(start,end)}.bind(this));this.fireEvent('onSelection',[this.element,this.selected,value,input]);},showChoices:function(){var match=this.options.choicesMatch,first=this.choices.getFirst(match);this.selected=this.selectedValue=null;if(this.fix){var pos=this.element.getCoordinates(this.relative),width=this.options.width||'auto';this.choices.setStyles({'width':(width===true||width=='inherit')?pos.width:width});}
if(!first)return;if(!this.visible){this.visible=true;this.choices.setStyle('display','');if(this.fx)this.fx.start(1);this.fireEvent('onShow',[this.element,this.choices]);}
if(this.options.selectFirst||this.typeAhead||first.inputValue==this.queryValue)this.choiceOver(first,this.typeAhead);var items=this.choices.getChildren(match),max=this.options.maxChoices;var styles={'overflowY':'hidden','height':''};this.overflown=false;if(items.length>max){var item=items[max-1];styles.overflowY='scroll';styles.height=item.getCoordinates(this.choices).bottom;this.overflown=true;};this.choices.setStyles(styles);if(this.fix)this.fix.show();if(this.options.visibleChoices){var scroll=document.getScroll(),size=document.getSize(),coords=this.choices.getCoordinates();if(coords.right>scroll.x+size.x)scroll.x=coords.right-size.x;if(coords.bottom>scroll.y+size.y)scroll.y=coords.bottom-size.y;window.scrollTo(Math.min(scroll.x,coords.left),Math.min(scroll.y,coords.top));}},hideChoices:function(clear){if(clear){var value=this.element.value;if(this.options.forceSelect)value=this.opted;if(this.options.autoTrim){value=value.split(this.options.separatorSplit).filter($arguments(0)).join(this.options.separator);}
this.observer.setValue(value);}
if(!this.visible)return;this.visible=false;if(this.selected)this.selected.removeClass('autocompleter-selected');this.observer.clear();var hide=function(){this.choices.setStyle('display','none');if(this.fix)this.fix.hide();}.bind(this);if(this.fx)this.fx.start(0).chain(hide);else hide();this.fireEvent('onHide',[this.element,this.choices]);},prefetch:function(){var value=this.element.value,query=value;if(this.options.multiple){var split=this.options.separatorSplit;var values=value.split(split);var index=this.element.getSelectedRange().start;var toIndex=value.substr(0,index).split(split);var last=toIndex.length-1;index-=toIndex[last].length;query=values[last];}
if(query.length<this.options.minLength){this.hideChoices();}else{if(query===this.queryValue||(this.visible&&query==this.selectedValue)){if(this.visible)return false;this.showChoices();}else{this.queryValue=query;this.queryIndex=index;if(!this.fetchCached())this.query();}}
return true;},fetchCached:function(){switch(true){case(!this.options.cache):case(!this.cachedQueryValue||this.queryValue.length<this.cachedQueryValue.length):case(this.queryValue.indexOf(this.cachedQueryValue)==-1):return false;break;}
if(this.cached.length<this.options.maxChoices)
{this.update(this.filter(this.cached));return true;}
var newChoices=this.filter(this.cached,this.queryValue);if(newChoices.length>=this.cached.length)
{this.update(this.filter(this.cached));return true;}
return false;},update:function(tokens){$(this.choices).empty();this.cached=tokens;this.cachedQueryValue=this.queryValue;var type=tokens&&$type(tokens);if(!type||(type=='array'&&!tokens.length)||(type=='hash'&&!tokens.getLength())){(this.options.emptyChoices||this.hideChoices).call(this);}else{if(this.options.maxChoices<tokens.length&&!this.options.overflow)tokens.length=this.options.maxChoices;tokens.each(this.options.injectChoice||function(token){tokenValue=(this.options.tokenFormat=='object'?token[this.options.tokenValueKey]:token);var choice=new Element('li',{'html':this.markQueryValue(tokenValue)});this.addChoiceEvents(choice).inject(this.choices);choice.store('autocompleteChoice',token);},this);this.showChoices();}},choiceOver:function(choice,selection){if(!choice||choice==this.selected)return;if(this.selected)this.selected.removeClass('autocompleter-selected');this.selected=choice.addClass('autocompleter-selected');this.fireEvent('onSelect',[this.element,this.selected,selection]);if(!this.selectMode)this.opted=this.element.value;if(!selection)return;this.selectedValue=this.selected.retrieve('autocompleteChoice');if(this.overflown){var coords=this.selected.getCoordinates(this.choices),margin=this.options.overflowMargin,top=this.choices.scrollTop,height=this.choices.offsetHeight,bottom=top+height;if(coords.top-margin<top&&top)this.choices.scrollTop=Math.max(coords.top-margin,0);else if(coords.bottom+margin>bottom)this.choices.scrollTop=Math.min(coords.bottom-height+margin,bottom);}
if(this.selectMode)this.setSelection();},choiceSelect:function(choice){if(choice)this.choiceOver(choice);this.setSelection(true);this.queryValue=false;if(!this.options.alwaysOpen){this.hideChoices();}else{this.observer.setValue('');this.prefetch.delay(this.options.delay,this);}
this.fireEvent('onChoiceSelect',choice);if(this.options.autocompleteType=='message'){this.element.value='';var token=choice.retrieve('autocompleteChoice');if(token.friends){var friend_ids="";for(var id in token.friends){if(friend_ids=="")friend_ids=id;else friend_ids=friend_ids+","+id;}
this.doAddValueToHidden(token.label,friend_ids,'toValues',true,' tag_friend');}
else this.doAddValueToHidden(choice.id,token.id,'toValues',true);}},doAddValueToHidden:function(name,toID,hideLoc,newItem,list){var hiddenInputField=document.getElementById(hideLoc);var previousToValues=hiddenInputField.value;if(this.checkSpanExists(name,toID)){if(previousToValues==''){document.getElementById(hideLoc).value=toID;}
else{document.getElementById(hideLoc).value=previousToValues+","+toID;}
this.doPushSpan(name,toID,newItem,hideLoc,list);}},doPushSpan:function(name,toID,newItem,hideLoc,list){var myElement=new Element("span");if(newItem){myElement.id="tospan_"+name+"_"+toID;myElement.innerHTML=name+" <a href='javascript:void(0);' onclick='this.parentNode.destroy();removeFromToValue(\""+toID+"\", \""+hideLoc+"\");'>x</a>";}
else{myElement.id="tospan_"+name+"_"+toID;myElement.innerHTML=name+" <a href='javascript:void(0);' onclick='this.parentNode.destroy();removeFromToValue(\""+toID+"\", \""+hideLoc+"\");'>x</a>";}
$('toValues-wrapper').setStyle('height','auto');if(list==null)list="";myElement.addClass("tag"+list);document.getElementById('toValues-element').appendChild(myElement);this.fireEvent('push');},checkToValue:function(toID,toValues){var checkValue=true;var checkMulti=toID.search(/,/);var x;var toValueArray=toValues.split(",");if(checkMulti!=-1){var recipientsArray=toID.split(",");var multiBool=false;for(var i=0;i<recipientsArray.length;i++){var tempBool=true;for(var x=0;x<toValueArray.length;x++){if(toValueArray[x]==recipientsArray[i]){tempBool=false;}}
multiBool=multiBool||tempBool;}
checkValue=multiBool;}
else{for(x in toValueArray)
{if(toValueArray[x]==toID){checkValue=false;}}}
return checkValue;},checkSpanExists:function(name,toID){var span_id="tospan_"+name+"_"+toID;if($(span_id)){return false;}
else return true;},filter:function(tokens,queryValue){queryValue=queryValue||this.queryValue;tokens=tokens||this.tokens;var regex=new RegExp(((this.options.filterSubset)?'':'^')+queryValue.escapeRegExp(),(this.options.filterCase)?'':'i');if(this.options.tokenFormat=='object'){var key=this.options.tokenValueKey;return tokens.filter(function(token){return regex.test(token[key]);});}else{return tokens.filter(function(token){return regex.test(token);});}
return tokens;},markQueryValue:function(str){return(!this.options.markQuery||!this.queryValue)?str:str.replace(new RegExp('('+((this.options.filterSubset)?'':'^')+this.queryValue.escapeRegExp()+')',(this.options.filterCase)?'':'i'),'<span class="autocompleter-queried">$1</span>');},addChoiceEvents:function(el){return el.addEvents({'mouseover':this.choiceOver.bind(this,el),'click':this.choiceSelect.bind(this,el)});}});var OverlayFix=new Class({initialize:function(el){if(Browser.Engine.trident){this.element=$(el);this.relative=this.element.getOffsetParent();this.fix=new Element('iframe',{'frameborder':'0','scrolling':'no','src':'javascript:false;','styles':{'position':'absolute','border':'none','display':'none','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'}}).inject(this.element,'after');}},show:function(){if(this.fix){var coords=this.element.getCoordinates(this.relative);delete coords.right;delete coords.bottom;this.fix.setStyles($extend(coords,{'display':'','zIndex':(this.element.getStyle('zIndex')||1)-1}));}
return this;},hide:function(){if(this.fix)this.fix.setStyle('display','none');return this;},destroy:function(){if(this.fix)this.fix=this.fix.destroy();}});Element.implement({getSelectedRange:function(){if(!Browser.Engine.trident)return{start:this.selectionStart,end:this.selectionEnd};var pos={start:0,end:0};var range=this.getDocument().selection.createRange();if(!range||range.parentElement()!=this)return pos;var dup=range.duplicate();if(this.type=='text'){pos.start=0-dup.moveStart('character',-100000);pos.end=pos.start+range.text.length;}else{var value=this.value;var offset=value.length-value.match(/[\n\r]*$/)[0].length;dup.moveToElementText(this);dup.setEndPoint('StartToEnd',range);pos.end=offset-dup.text.length;dup.setEndPoint('StartToStart',range);pos.start=offset-dup.text.length;}
return pos;},selectRange:function(start,end){if(Browser.Engine.trident){var diff=this.value.substr(start,end-start).replace(/\r/g,'').length;start=this.value.substr(0,start).replace(/\r/g,'').length;var range=this.createTextRange();range.collapse(true);range.moveEnd('character',start+diff);range.moveStart('character',start);range.select();}else{this.focus();this.setSelectionRange(start,end);}
return this;}});Autocompleter.Base=Autocompleter;;Autocompleter.Local=new Class({Extends:Autocompleter,options:{minLength:0,delay:200},initialize:function(element,tokens,options){this.parent(element,options);this.tokens=tokens;},query:function(){this.update(this.filter());}});;Autocompleter.Request=new Class({Extends:Autocompleter,options:{postData:{},ajaxOptions:{},postVar:'value',delay:250},query:function(){var data=$unlink(this.options.postData)||{};data[this.options.postVar]=this.queryValue;var indicator=$(this.options.indicator);if(indicator)indicator.setStyle('display','');var cls=this.options.indicatorClass;if(cls)this.element.addClass(cls);this.fireEvent('onRequest',[this.element,this.request,data,this.queryValue]);this.request.send({'data':data});},queryResponse:function(){var indicator=$(this.options.indicator);if(indicator)indicator.setStyle('display','none');var cls=this.options.indicatorClass;if(cls)this.element.removeClass(cls);return this.fireEvent('onComplete',[this.element,this.request]);}});Autocompleter.Request.JSON=new Class({Extends:Autocompleter.Request,initialize:function(el,url,options){this.parent(el,options);this.request=new Request.JSON($merge({'url':url,'link':'cancel'},this.options.ajaxOptions)).addEvent('onComplete',this.queryResponse.bind(this));},queryResponse:function(response){this.parent();this.update(response);}});Autocompleter.Request.HTML=new Class({Extends:Autocompleter.Request,initialize:function(el,url,options){this.parent(el,options);this.request=new Request.HTML($merge({'url':url,'link':'cancel','update':this.choices},this.options.ajaxOptions)).addEvent('onComplete',this.queryResponse.bind(this));},queryResponse:function(tree,elements){this.parent();if(!elements||!elements.length){this.hideChoices();}else{this.choices.getChildren(this.options.choicesMatch).each(this.options.injectChoice||function(choice){var value=choice.innerHTML;choice.inputValue=value;this.addChoiceEvents(choice.set('html',this.markQueryValue(value)));},this);this.showChoices();}}});Autocompleter.Ajax={Base:Autocompleter.Request,Json:Autocompleter.Request.JSON,Xhtml:Autocompleter.Request.HTML};;var Tagger=new Class({Implements:[Events,Options],options:{'title':false,'description':false,'transImage':'application/modules/Core/externals/images/trans.gif','existingTags':[],'tagListElement':false,'linkElement':false,'noTextTagHref':true,'guid':false,'enableCreate':false,'enableDelete':false,'createRequestOptions':{'url':'','data':{'format':'json'}},'deleteRequestOptions':{'url':'','data':{'format':'json'}},'cropOptions':{'preset':[10,10,58,58],'min':[48,48],'max':[128,128],'handleSize':8,'opacity':.6,'color':'#7389AE','border':'externals/moolasso/crop.gif'},'suggestProto':'local','suggestParam':[],'suggestOptions':{'minLength':0,'maxChoices':100,'delay':250,'selectMode':'pick','multiple':false,'className':'message-autosuggest','filterSubset':true,'tokenFormat':'object','tokenValueKey':'label','injectChoice':$empty,'onPush':$empty,'prefetchOnInit':true,'alwaysOpen':true,'ignoreKeys':true}},initialize:function(el,options){el=$(el);if(el.get('tag')!='img'){this.image=el.getElement('img');}else{this.image=el;}
this.element=el;this.count=0;this.setOptions(options);this.options.existingTags.each(this.addTag.bind(this));},begin:function(){if(!this.options.enableCreate)return;this.getCrop();this.getForm();this.getSuggest();this.fireEvent('onBegin');},end:function(){if(this.crop){this.crop.destroy();delete this.crop;}
if(this.form){this.form.destroy();delete this.form;}
if(this.suggest){delete this.suggest;}
this.fireEvent('onEnd');},getCrop:function(){if(!this.crop){var options=$merge(this.options.cropOptions,{});this.crop=new Lasso.Crop(this.image,options);this.crop.addEvent('resize',this.onMove.bind(this));this.crop.refresh();}
return this.crop;},getForm:function(){if(!this.form){this.form=new Element('div',{'id':'tagger_form','class':'tagger_form','styles':{'position':'absolute','z-index':'100000','width':'150px'}}).inject(this.element,'after');if(this.options.title){new Element('div',{'class':'media_photo_tagform_titlebar','html':this.options.title}).inject(this.form);}
this.formContainer=new Element('div',{'class':'media_photo_tagform_container'}).inject(this.form);if(this.options.description){new Element('div',{'class':'media_photo_tagform_text','html':this.options.description}).inject(this.formContainer);}
this.input=new Element('input',{'id':'tagger_input','class':'tagger_input','type':'text','styles':{}}).inject(this.formContainer);this.choices=new Element('div',{'class':'tagger_list'}).inject(this.formContainer);var submitContainer=new Element('div',{'class':'media_photo_tagform_submits'}).inject(this.formContainer);var self=this;new Element('a',{'id':'tag_save','href':'javascript:void(0);','html':en4.core.language.translate('Save'),'events':{'click':function(){var data={};data.label=self.input.value;if($type(data.label)&&data.label!=''){data.extra=self.coords;self.createTag(data);}}}}).inject(submitContainer);new Element('a',{'id':'tag_cancel','href':'javascript:void(0);','html':en4.core.language.translate('Cancel'),'events':{'click':function(){this.end();}.bind(this)}}).inject(submitContainer);this.input.focus();}
return this.form;},getSuggest:function(){if(!this.suggest){var self=this;var options=$merge(this.options.suggestOptions,{'overflow':true,'maxChoices':4,'customChoices':this.choices,'injectChoice':function(token){var choice=new Element('li',{'class':'autocompleter-choices','html':token.photo||'','id':token.guid});new Element('div',{'html':this.markQueryValue(token.label),'class':'autocompleter-choice'}).inject(choice);new Element('input',{'type':'hidden','value':JSON.encode(token)}).inject(choice);this.addChoiceEvents(choice).inject(this.choices);choice.store('autocompleteChoice',token);},'onChoiceSelect':function(choice){var data=JSON.decode(choice.getElement('input').value);data.extra=self.coords;self.createTag(data);},'emptyChoices':function(){this.fireEvent('onHide',[this.element,this.choices]);},'onCommand':function(e){switch(e.key){case'enter':self.createTag({label:self.input.value,extra:self.coords});break;}}});if(this.options.suggestProto=='local'){this.suggest=new Autocompleter.Local(this.input,this.options.suggestParam,options);}else if(this.options.suggestProto=='request.json'){this.suggest=new Autocompleter.Request.JSON(this.input,this.options.suggestParam,options);}}
return this.suggest;},getTagList:function(){if(!this.tagList){if(!this.options.tagListElement){this.tagList=new Element('div',{'class':'tag_list'}).inject(this.element,'after');}else{this.tagList=$(this.options.tagListElement);}}
return this.tagList;},onMove:function(coords){this.coords=coords;var pos={x:0,y:0};var form=this.getForm();form.setStyles({'top':pos.y+coords.y+20,'left':pos.x+coords.x+coords.w+20});},addTag:function(params){if('object'!=$type(params)){return;}
var baseX=0,baseY=0,baseW=0,baseH=0;["x","y","w","h"].each(function(key){params.extra[key]=parseInt(params.extra[key]);});if(this.options.noTextTagHref&&params.tag_type=='core_tag'){delete params.href;}
var tag=new Element('div',{'id':'tag_'+params.id,'class':'tag_div','html':'<img src="'+this.options.transImage+'" width="100%" height="100%" />','styles':{'position':'absolute','width':params.extra.w,'height':params.extra.h,'top':baseY+params.extra.y,'left':baseX+params.extra.x},'events':{'mouseover':function(){this.showTag(params.id);}.bind(this),'mouseout':function(){this.hideTag(params.id);}.bind(this)}}).inject(this.element,'after');var label=new Element("span",{'id':'tag_label_'+params.id,'class':'tag_label','html':params.text,'styles':{'position':'absolute'}}).inject(this.element,'after');var labelPos={};labelPos.top=(baseY+params.extra.y+tag.getSize().y);labelPos.left=Math.round((baseX+params.extra.x)+(tag.getSize().x/2)-(label.getSize().x/2));if(this.element.getSize().y<labelPos.top.toInt()+20){labelPos.top=baseY+params.extra.y-label.getSize().y;}
label.setStyles(labelPos);this.hideTag(params.id);var isFirst=(!$type(this.count)||this.count==0);this.getTagList().setStyle('display','');if(!isFirst)new Element('span',{'id':'tag_comma_'+params.id,'class':'tag_comma','html':','}).inject(this.getTagList());var info=new Element('span',{'id':'tag_info_'+params.id,'class':'tag_info media_tag_listcontainer'}).inject(this.getTagList());var activator=new Element('a',{'id':'tag_activator_'+params.id,'class':'tag_activator','href':params.href||null,'html':params.text,'events':{'mouseover':function(){this.showTag(params.id);}.bind(this),'mouseout':function(){this.hideTag(params.id);}.bind(this)}}).inject(info);if(this.checkCanRemove(params.id))
{info.appendText(' (');var destroyer=new Element('a',{'id':'tag_destroyer_'+params.id,'class':'tag_destroyer albums_tag_delete','href':'javascript:void(0);','html':en4.core.language.translate('delete'),'events':{'click':function(){this.removeTag(params.id);}.bind(this)}}).inject(info);info.appendText(')');}
this.count++;},createTag:function(params){if(!this.options.enableCreate)return;var requestOptions=$merge(this.options.createRequestOptions,{'data':$merge(params,{}),'onComplete':function(responseJSON){this.addTag(responseJSON);}.bind(this)});var request=new Request.JSON(requestOptions);request.send();this.end();},removeTag:function(id){if(!this.checkCanRemove(id))return;var next=$('tag_info_'+id).getNext();if(next&&next.get('html').trim()==',')next.destroy();$('tag_'+id).destroy();$('tag_label_'+id).destroy();$('tag_info_'+id).destroy();this.count--;var requestOptions=$merge(this.options.deleteRequestOptions,{'data':{'tagmap_id':id},'onComplete':function(responseJSON){}.bind(this)});var request=new Request.JSON(requestOptions);request.send();},checkCanRemove:function(id){var tagData;this.options.existingTags.each(function(datum){if(datum.tagmap_id==id){tagData=datum;}});if(this.options.enableDelete)return true;if(tagData){if(tagData.tag_type+'_'+tagData.tag_id==this.options.guid)return true;if(tagData.tagger_type+'_'+tagData.tagger_id==this.options.guid)return true;}
return false;},showTag:function(id){$('tag_'+id).removeClass('tag_div_hidden');$('tag_label_'+id).removeClass('tag_label_hidden');},hideTag:function(id){$('tag_'+id).addClass('tag_div_hidden');$('tag_label_'+id).addClass('tag_label_hidden');}});;window.webcam={version:'1.0.9',ie:!!navigator.userAgent.match(/MSIE/),protocol:location.protocol.match(/https/i)?'https':'http',callback:null,swf_url:'webcam.swf',shutter_url:'shutter.mp3',api_url:'',loaded:false,quality:90,shutter_sound:true,stealth:false,hooks:{onLoad:null,onComplete:null,onError:null},set_hook:function(name,callback){if(typeof(this.hooks[name])=='undefined')
return alert("Hook type not supported: "+name);this.hooks[name]=callback;},fire_hook:function(name,value){if(this.hooks[name]){if(typeof(this.hooks[name])=='function'){this.hooks[name](value);}
else if(typeof(this.hooks[name])=='array'){this.hooks[name][0][this.hooks[name][1]](value);}
else if(window[this.hooks[name]]){window[this.hooks[name]](value);}
return true;}
return false;},set_api_url:function(url){this.api_url=url;},set_swf_url:function(url){this.swf_url=url;},get_html:function(width,height,server_width,server_height){if(!server_width)server_width=width;if(!server_height)server_height=height;var html='';var flashvars='shutter_enabled='+(this.shutter_sound?1:0)+'&shutter_url='+escape(this.shutter_url)+'&width='+width+'&height='+height+'&server_width='+server_width+'&server_height='+server_height;if(this.ie){html+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+this.protocol+'://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'+width+'" height="'+height+'" id="webcam_movie" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+this.swf_url+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+flashvars+'"/></object>';}
else{html+='<embed id="webcam_movie" src="'+this.swf_url+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="webcam_movie" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+flashvars+'" />';}
this.loaded=false;return html;},getFlashMovieObject:function(movieName){if(window[movieName])
return window[movieName];if(document.embeds[movieName])
return document.embeds[movieName];if(window.document[movieName])
return window.document[movieName];if(document[movieName])
return document[movieName];return null;},get_movie:function(){if(!this.loaded)return alert("ERROR: Movie is not loaded yet");var movie=this.getFlashMovieObject('webcam_movie');if(!movie)alert("ERROR: Cannot locate movie 'webcam_movie' in DOM");return movie;},set_stealth:function(stealth){this.stealth=stealth;},snap:function(url,callback,stealth){if(callback)this.set_hook('onComplete',callback);if(url)this.set_api_url(url);if(typeof(stealth)!='undefined')this.set_stealth(stealth);this.get_movie()._snap(this.api_url,this.quality,this.shutter_sound?1:0,this.stealth?1:0);},freeze:function(){this.get_movie()._snap('',this.quality,this.shutter_sound?1:0,0);},upload:function(url,callback){if(callback)this.set_hook('onComplete',callback);if(url)this.set_api_url(url);this.get_movie()._upload(this.api_url);},reset:function(){this.get_movie()._reset();},configure:function(panel){if(!panel)panel="camera";this.get_movie()._configure(panel);},set_quality:function(new_quality){this.quality=new_quality;},set_shutter_sound:function(enabled,url){this.shutter_sound=enabled;this.shutter_url=url?url:'shutter.mp3';},flash_notify:function(type,msg){switch(type){case'flashLoadComplete':this.loaded=true;this.fire_hook('onLoad');break;case'error':if(!this.fire_hook('onError',msg)){alert("JPEGCam Flash Error: "+msg);}
break;case'success':this.fire_hook('onComplete',msg.toString());break;default:alert("jpegcam flash_notify: "+type+": "+msg);break;}}};;eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5(){4 j=n 1b==\'5\';5 1o(){3(l.17){8 18}4 d=M;3(d&&d.1U&&d.1l&&d.2O){2B(l.R);l.R=m;B(4 i=0;i<l.G.1p;i++){l.G[i].1G()}l.G=m;l.17=1j}}4 l=j?1b:5(f){3(l.17){8 f()}3(l.R){l.G.Z(f)}v{l.G=[f];l.R=1N(1o,13)}};5 D(b,a){3(a){B(P I a){3(a.1d(P)){b[P]=a[P]}}}8 b}5 y(b){2l(1t(b)){O\'X\':b=b.q(H 29(\'(["\\\\\\\\])\',\'g\'),\'\\\\$1\');b=b.q(/^\\s?(\\d+)%/,"$26");8\'"\'+b+\'"\';O\'1n\':8\'[\'+1m(b,5(a){8 y(a)}).1k(\',\')+\']\';O\'5\':8\'"5()"\';O\'u\':4 c=[];B(4 d I b){3(b.1d(d)){c.Z(\'"\'+d+\'":\'+y(b[d]))}}8\'{\'+c.1k(\',\')+\'}\'}8 1V(b).q(/\\s/g," ").q(/\\\'/g,"\\"")}5 1t(a){3(a===m||a===12){8 18}4 b=n a;8(b==\'u\'&&a.Z)?\'1n\':b}3(F.1h){F.1h("1O",5(){1M=5(){};1K=5(){}})}5 1m(c,a){4 b=[];B(4 i I c){3(c.1d(i)){b[i]=a(c[i])}}8 b}5 w(p,c){4 a=M.2K;4 d=\'<u Y="\'+p.Y+\'" W="\'+p.W+\'"\';3(a&&!p.C){p.C="2A"+(""+2x.2v()).1B(9)}3(p.C){d+=\' C="\'+p.C+\'"\'}3(p.Q||!a){d+=\' 2s="\'+p.J+\'" 2o="2m/x-2k-1D"\'}v{d+=\' 2i="2h:2g-2f-2c-2b-2a"\'}d+=\'>\';3(p.Q||a){d+=\'<1a 19="28" 1f="\'+p.J+\'" />\'}4 e=D({},p);e.Y=e.W=e.C=e.Q=e.J=m;B(4 k I e){3(e[k]!==m){d+=\'<1a 19="\'+k+\'" 1f="\'+e[k]+\'" />\'}}4 b="";3(c){B(4 f I c){3(c[f]!==m){b+=f+\'=\'+(n c[f]==\'u\'?y(c[f]):c[f])+\'&\'}}b=b.1B(0,b.1p-1);d+=\'<1a 19="27" 1f=\\\'\'+b+\'\\\' />\'}d+="</u>";8 d}5 K(f,c,g){4 h=o.N();D(T,{24:5(){8 f},23:5(){8 22},N:5(){8 h},21:5(){8 g},1Z:5(){8 f.1Y},w:5(){8 w(c,g)}});4 b=c.t;4 a=c.16;4 d=!b||o.14(b);3(d){c.L=c.t=c.16=m;f.E=w(c,g)}v 3(b&&a&&o.14([6,1T])){D(c,{J:a});g={1S:1R.11,1Q:\'1P\',1W:M.1X};f.E=w(c,g)}v{3(f.E.q(/\\s/g,\'\')!==\'\'){}v{f.E="<1r>K t "+b+" 1L 20 1i 1J</1r>"+"<1q>"+(h[0]>0?"1I t 1i "+h:"25 2H 2G 1D 2E 2D")+"</1q>"+(f.1H==\'A\'?"<p>2C 1F 2z 2y 1E t</p>":"<p>2w 1E t 2t <a 11=\'1C://1u.1s.1A/1z/1y\'>1F</a></p>");3(f.1H==\'A\'){f.11=\'1C://1u.1s.1A/1z/1y\'}}}3(!d&&c.L){4 e=c.L.1G(T);3(n e==\'X\'){f.E=e}}}F.o=5(d,c,e){3(n d==\'X\'){4 b=M.1l(d);3(b){d=b}v{l(5(){o(d,c,e)});8}}3(!d){8}4 a={Y:\'1v%\',W:\'1v%\',2r:1j,2q:\'1w\',2p:\'2n\',t:m,L:m,16:m,Q:18};3(n c==\'X\'){c={J:c}}D(a,c);8 H K(d,a,e)};D(F.o,{N:5(){4 d=[0,0];3(1e.15&&n 1e.15["1x K"]=="u"){4 f=1e.15["1x K"].2u;3(n f!="12"){f=f.q(/^.*\\s+(\\S+\\s+\\S+$)/,"$1");4 c=V(f.q(/^(.*)\\..*$/,"$1"),10);4 a=/r/.2j(f)?V(f.q(/^.*r(.*)$/,"$1"),10):0;d=[c,a]}}v 3(F.U){1c{4 b=H U("z.z.7")}1g(e){1c{b=H U("z.z.6");d=[6,0];b.2F="1w"}1g(2e){3(d[0]==6){8}}1c{b=H U("z.z")}1g(2d){}}3(n b=="u"){f=b.2I("$t");3(n f!="12"){f=f.q(/^\\S+\\s+(.*)$/,"$1").2J(",");d=[V(f[0],10),V(f[2],10)]}}}8 d},14:5(c){4 a=o.N();4 b=(a[0]>c[0])||(a[0]==c[0]&&a[1]>=c[1]);8 b},2L:l,y:y,w:w});3(j){1b.2M.o=5(b,a){8 T.2N(5(){o(T,b,a)})}}})();',62,175,'|||if|var|function|||return||||||||||||||null|typeof|flashembed||replace|||version|object|else|getHTML||asString|ShockwaveFlash||for|id|extend|innerHTML|window|ready|new|in|src|Flash|onFail|document|getVersion|case|key|w3c|timer||this|ActiveXObject|parseInt|height|string|width|push||href|undefined||isSupported|plugins|expressInstall|done|false|name|param|jQuery|try|hasOwnProperty|navigator|value|catch|attachEvent|is|true|join|getElementById|map|array|isDomReady|length|h3|h2|adobe|typeOf|www|100|always|Shockwave|getflashplayer|go|com|substring|http|flash|latest|here|call|tagName|Your|required|__flash_savedUnloadHandler|or|__flash_unloadHandler|setInterval|onbeforeunload|PlugIn|MMplayerType|location|MMredirectURL|65|getElementsByTagName|String|MMdoctitle|title|firstChild|getApi|greater|getFlashvars|conf|getConf|getContainer|You|1pct|flashvars|movie|RegExp|444553540000|96B8|11cf|eee|ee|AE6D|D27CDB6E|clsid|classid|test|shockwave|switch|application|high|type|quality|allowscriptaccess|allowfullscreen|data|from|description|random|Download|Math|download|to|_|clearInterval|Click|installed|plugin|AllowScriptAccess|no|have|GetVariable|split|all|domReady|prototype|each|body'.split('|'),0,{}));function he_show_message(message,type,delay){var text='';var duration=400;var delay=(delay==undefined)?3000:delay;text=message;if(window.$message_container==undefined){window.$message_container=new Element('div',{'class':'he_message_container'});$(document.body).adopt(window.$message_container);}
var className='he_msg_text';if(type=='error'){className='he_msg_error';}else if(type=='notice'){className='he_msg_notice';}else{className='he_msg_text';}
var $message=new Element('div',{'class':className,'styles':{'opacity':0}});var $close_btn=new Element('a',{'class':'he_close','href':'javascript://','events':{'click':function(){$message.fade('out');$message.removeClass('visible');window.setTimeout(function(){$message.dispose();if(window.$message_container.getElements('.visible').length==0){window.$message_container.empty();};},duration);}}});$message.addClass('visible');$message.adopt($close_btn);$message.adopt('html',new Element('span',{'html':message}));window.$message_container.adopt($message);$message.set('tween',{duration:duration});$message.fade('in');window.setTimeout(function(){$message.fade('out');$message.removeClass('visible');window.setTimeout(function(){if(window.$message_container.getElements('.visible').length==0){window.$message_container.empty();};},duration);},delay);}
function he_show_image(src,element)
{if(!src){return false;}
var $element=(element)?$(element):$('he_temp_photo_start');if(!$element){$element=new Element('div',{'id':'he_temp_photo_start'});$element.setStyles({'position':'fixed','top':'50%','left':'50%'});$$('body')[0].grab($element);}
var close_title=(typeof(en4.core.language.translate)=='undefined')?language.translate('close'):en4.core.language.translate('close');var instance=new Imagezoom({'image':src,'startElement':$element,'closeText':close_title});instance.show();}
function he_replace_form_error(msg)
{var $container=$$('.global_form .errors li');if($container.length!=1){return false;}
$container.set('html',msg);var $error_link=$container.getElement('a.smoothbox');if($error_link){Smoothbox.bind($error_link);}}
function he_add_lang_vars(data)
{if(!data){return;}
var obj_link=en4.core.language.options.lang;for(var key in data){obj_link[key]=data[key];}}
function object_to_query_string(object)
{var query="";for(key in object){query+='&params['+key+']='+object[key];}
return query;}
var HEContacts=new Class({Implements:[Events,Options],options:{m:'hecore',l:'',c:'',t:'',params:{},nli:0,keyword:'',p:1,ipp:30,total:0,contacts:[],itemClass:'item',filterField:'contacts_filter',filterSubmit:'contacts_filter_submit',container:'he_contacts_list',activeClass:'active',hiddenClass:'hidden',disabledClass:'disabled',visibleClass:'visible',listType:'all',contactsCountNode:'selected_contacts_count',submitButtonNode:'submit_contacts',selectAllNode:'select_all_contacs',moreNode:'contacts_more',listTypeAll:'he_contacts_list_all',listTypeSelected:'he_contacts_list_selected',format:'json'},url:'hecore/index/contacts',block:false,$filter:null,$container:null,$items:null,$selectedCount:null,$submit:null,$filterSubmit:null,$selectAll:null,$more:null,$listAll:null,$listSelected:null,needPagination:false,onLoad:false,onClose:false,width:550,height:390,initialize:function(options){this.setOptions(options);},box:function(){var self=this;var url=this.url+this.getQuery();var $element=new Element('a',{'href':url,'class':'smoothbox'});Smoothbox.open($element,{'mode':'Request',width:this.width,height:this.height,'onLoad':function(){self.init();if(self.onLoad){self.onLoad();self.onLoad=false;}},'onClose':function(){if(self.onClose){self.onClose();self.onClose=false;}}});},getQuery:function(){var query=object_to_query_string(this.options.params);return'?m='+this.options.m+'&l='+this.options.l+'&c='+this.options.c+'&t='+this.options.t+'&nli='+this.options.nli+query;},init:function(){this.$filter=$(this.options.filterField);this.$container=$(this.options.container);this.$selectedCount=$(this.options.contactsCountNode);this.$submit=$(this.options.submitButtonNode);this.$filterSubmit=$(this.options.filterSubmit);this.$selectAll=$(this.options.selectAllNode);this.$more=$(this.options.moreNode);this.$listAll=$(this.options.listTypeAll);this.$listSelected=$(this.options.listTypeSelected);this.$items=$$(this.$container.getElements('.'+this.options.itemClass));$('TB_ajaxContent').addClass('hecore_he_list_window');var self=this;if(this.$items.length>0){this.$items.removeEvents('click').addEvent('click',function(){this.blur();self.chooseContact(this);});}
if(this.$submit){this.$submit.removeEvents('click').addEvent('click',function(){self.submit();});}
if(this.$more){this.$more.removeEvents('click').addEvent('click',function(){self.more();});}
if(this.$listAll){this.$listAll.removeEvents('click').addEvent('click',function(){self.chooseList('all');});}
if(this.$listSelected){this.$listSelected.removeEvents('click').addEvent('click',function(){self.chooseList('selected');});}
if(this.$filterSubmit){this.$filterSubmit.removeEvents('click').addEvent('click',function(){self.search();});}
if(this.$selectAll){this.$selectAll.removeEvents('click').addEvent('click',function(){var value=this.checked?1:0;self.chooseAll(value);});}
if(this.$filter){this.$filter.removeEvents('keyup').addEvent('keyup',function(event){if(event.code==13){self.search();}});}},chooseList:function(type){this.options.listType=type;switch(type){case'all':this.$listSelected.removeClass(this.options.activeClass);this.$listAll.addClass(this.options.activeClass);this.$items.removeClass(this.options.hiddenClass);this.$items.setStyle('opacity',1);if(this.needPagination){this.$more.removeClass(this.options.hiddenClass);}
break;case'selected':this.$listSelected.addClass(this.options.activeClass);this.$listAll.removeClass(this.options.activeClass);this.$items.addClass(this.options.hiddenClass);if(this.$more){this.$more.addClass(this.options.hiddenClass);}
var $items=$$(this.$container.getElements('.'+this.options.activeClass));$items.removeClass(this.options.hiddenClass);break;}},chooseContact:function($node){$node=$($node);if(!$node){return;}
if($node.hasClass(this.options.disabledClass)){return;}
var contactId=parseInt($node.id.substr(8));if(this.options.contacts.indexOf(contactId)==-1){this.select($node,contactId);}else{this.deselect($node,contactId);}
var self=this;this.initCount();setTimeout(function(){self.no_result();},650);},select:function($node,contactId){$node=$($node);if(!$node){return;}
if($node.hasClass(this.options.disabledClass)){return;}
if(!contactId){contactId=parseInt($node.id.substr(8));}
$node=$($node);if(!$node.hasClass(this.options.activeClass)){$node.addClass(this.options.activeClass);}
if(this.options.contacts.indexOf(contactId)==-1){this.options.contacts.push(contactId);}
if(this.options.listType=='selected'){this.show($node,true);}},deselect:function($node,contactId){$node=$($node);if(!$node){return;}
if($node.hasClass(this.options.disabledClass)){return;}
if(!contactId){contactId=parseInt($node.id.substr(8));}
$node=$($node);if($node.hasClass(this.options.activeClass)){$node.removeClass(this.options.activeClass);}
if(this.options.contacts.indexOf(contactId)>-1){this.options.contacts.splice(this.options.contacts.indexOf(contactId),1);}
if(this.options.listType=='selected'){this.hide($node,true);}},initCount:function(){if(this.$selectedCount){this.$selectedCount.set('text',this.options.contacts.length)}},submit:function(){eval("window.parent."+this.options.c+"(["+this.options.contacts.toString()+"])");window.parent.Smoothbox.close();},chooseAll:function(choose){var self=this;if(choose){$$(this.$items).each(function($item){$item=$($item);if($item.hasClass(self.options.disabledClass)){return;}
self.select($item);});}else{$$(this.$items).each(function($item){$item=$($item);if($item.hasClass(self.options.disabledClass)){return;}
self.deselect($item);});}
this.initCount();},search:function(){this.options.keyword=this.$filter.value;this.options.p=1;if(this.options.listType!='all'){this.chooseList('all');}
this.getItems(true);},more:function(){this.options.p++;this.getItems();},getItems:function(replace){if(replace===undefined){replace=false;}
if(this.block){return false;}
this.block=true;var self=this;new Request.JSON({url:self.url,method:'post',data:self.options,onSuccess:function(response){self.block=false;self.respond(response,replace);}}).send();},respond:function(response,replace){if(replace===undefined){replace=false;}
if(replace){this.$container.set('html',response.html);}else{var html=this.$container.get('html')+response.html;this.$container.set('html',html);}
if(this.$more){this.needPagination=response.need_pagination;if(!this.needPagination){this.$more.addClass(this.options.hiddenClass);}else{this.$more.removeClass(this.options.hiddenClass);}}
this.init();},hide:function($node,fx){var self=this;$node=$($node);if(!$node){return;}
var func=function(){if(!$node.hasClass(self.options.hiddenClass)){$node.addClass(self.options.hiddenClass);}}
if(fx){setTimeout(func,650);$node.tween('opacity',[1,0]);}else{$node.setStyle('opacity',0);func();}},show:function($node,fx){var self=this;$node=$($node);if(!$node){return;}
var func=function(){if($node.hasClass(self.options.hiddenClass)){$node.removeClass(self.options.hiddenClass);}
if($node.hasClass(self.options.disabledClass)){$node.setStyle('opacity',.5);}}
$node.setStyle('visibility','visible');if(fx){setTimeout(func,650);if($node.hasClass(this.options.disabledClass)){$node.tween('opacity',[0,.5]);}else{$node.tween('opacity',[0,1]);}}else{$node.setStyle('opacity',1);func();}},no_result:function(){if($$('.visible').length==0){this.show($('no_result'));}else{this.hide($('no_result'));}}});var he_contacts={callback:'',contacts:[],title:'',list_type:'',keyword:'',params:{},onLoad:false,onClose:false,width:550,height:390,box:function(module,list,callback,title,params,not_logged_in){this.params=params;not_logged_in=not_logged_in===undefined?0:1;var options={c:callback,listType:"all",m:module,l:list,p:1,params:params,nli:not_logged_in};window.HE_CONTACTS=new HEContacts(options);if(this.onLoad){window.HE_CONTACTS.onLoad=this.onLoad;}
if(this.onClose){window.HE_CONTACTS.onClose=this.onClose;}
window.HE_CONTACTS.width=this.width;window.HE_CONTACTS.height=this.height;window.HE_CONTACTS.box();},init:function(){var self=this;if(!$('contacts_filter')){return;}
$('contacts_filter').addEvent('keyup',function(){self.keyword=this.value;self.search_contacts();});var contacts=[];for(var i=0;i<this.contacts.length;i++){contacts.push(parseInt(this.contacts[i]));}
this.contacts=contacts;},search_contacts:function(){var self=this;var selector="";if(this.list_type=='selected'){selector='#he_contacts_list .active';$$('#he_contacts_list .item').removeClass('visible');$$('#he_contacts_list .item').removeClass('hidden');$$('#he_contacts_list .item').addClass('hidden');$$('#he_contacts_list .active').addClass('visible');$$('#he_contacts_list .active').removeClass('hidden');}else{selector='#he_contacts_list .item';}
var $items=$$(selector);$items.each(function($item){if(!$item.getElement('span.name').get('html').test(self.keyword,'i')){self.hide($item);}else{self.show($item);}});self.no_result();},choose_contact:function(contact_id){if($("contact_"+contact_id).hasClass("disabled")){return;}
if(this.contacts.indexOf(contact_id)==-1){$("contact_"+contact_id).addClass("active");this.contacts[this.contacts.length]=contact_id;}
else{$("contact_"+contact_id).removeClass("active");this.contacts.splice(this.contacts.indexOf(contact_id),1);if(this.list_type=='selected'){this.hide($("contact_"+contact_id),true);}}
var self=this;if($('selected_contacts_count')!=undefined){$('selected_contacts_count').set('text',self.contacts.length)}
setTimeout(function(){self.no_result();},650);},choose_all_contacts:function($el){var $list_items=$('he_contacts_list').getChildren('a');for(var i in $list_items)
{if(typeof $list_items[i].getProperty=='function'){$id=parseInt($list_items[i].getProperty('id').substr(8));if($el.checked){if(this.contacts.indexOf($id)==-1){this.choose_contact($id);}
if($('checkbox_'+$id)!=undefined&&!$('checkbox_'+$id).checked){$('checkbox_'+$id).checked=true;}}
else
if(this.contacts.indexOf($id)!=-1){this.choose_contact($id);if($('checkbox_'+$id)!=undefined&&$('checkbox_'+$id).checked){$('checkbox_'+$id).checked=false;}}}}
if($('selected_contacts_count')!=undefined){$('selected_contacts_count').set('text',this.contacts.length)}},add_class:function($el,css_class,$el2){$el.addClass(css_class);$el2.removeClass(css_class);},no_result:function(){if($$('.visible').length==0){this.show($('no_result'));}else{this.hide($('no_result'));}},send:function(){eval("window.parent."+this.callback+"(["+this.contacts.toString()+"])");window.parent.Smoothbox.close();},hide:function($element,fx){var func=function(){if(!$element.hasClass('hidden')){$element.addClass('hidden');}
$element.removeClass('visible');}
if(fx){setTimeout(func,650);$element.tween('opacity',[1,0]);}else{$element.setStyle('visibility','hidden');$element.setStyle('opacity',0);func();}},show:function($element,fx){var func=function(){if(!$element.hasClass('visible')){$element.addClass('visible');}
$element.removeClass('hidden');if($element.hasClass('disabled')){$element.setStyle('opacity',.5);}}
if(fx){setTimeout(func,650);if($element.hasClass('disabled')){$element.tween('opacity',[0,.5]);}else{$element.tween('opacity',[0,1]);}}else{$element.setStyle('visibility','visible');$element.setStyle('opacity',1);func();}},showElements:function($elements){var self=this;$elements.each(function($element){self.show($element);});},hideElements:function($elements){var self=this;$elements.each(function($element){self.hide($element);});},select:function(type){var self=this;if(this.list_type==type){return;}
this.list_type=type;this.search_contacts();}}
function form_redirect_level(url,$formElement)
{$$($formElement.form.elements).each(function($el){$el.disabled=true;});window.location.href=url+'?level_id='+$formElement.value;}
var he_list={list_type:'',keyword:'',page:1,ajax_url:'',module:'',list:'',params:{},onLoad:false,onClose:false,width:550,height:390,box:function(module,list,title,params){this.params=params;var self=this;var not_logged_in=0;var query=object_to_query_string(params);var $el=new Element('a',{'href':'hecore/index/list?m='+module+'&l='+list+'&t='+title+'&nli='+not_logged_in+query,'class':'smoothbox'});Smoothbox.open($el,{'mode':'Request',width:this.width,height:this.height,'onLoad':function(){self.init();if(self.onLoad){self.onLoad();self.onLoad=false;}
if(self.onClose){self.onClose();self.onClose=false;}}});},init:function(){var self=this;$('TB_ajaxContent').addClass('hecore_he_list_window');$('list_filter_btn').addEvent('click',function(){self.page=1;self.get_items();});$('list_filter').addEvent('keydown',function(event){if(event.key=='enter'){self.page=1;self.get_items();}});},select:function(list_type){if(list_type==this.list_type){return;}
this.keyword='';this.page=1;this.list_type=list_type;this.get_items();},get_items:function(){var self=this;this.keyword=$('list_filter').value;$('he_list').innerHTML='';$('he_contacts_loading').setStyle('display','block');if(this.params.list_type){this.params.list_type=self.list_type;}
var query=object_to_query_string(this.params);new Request.JSON({'url':self.ajax_url+'?nocache='+Math.random()+query,'method':'post','data':{'format':'json','keyword':self.keyword,'list_type':self.list_type,'p':self.page,'m':self.module,'l':self.list},onSuccess:function(response){$('he_list').innerHTML=response.html;$('he_contacts_loading').setStyle('display','none');}}).send();},set_page:function(page){this.page=page;this.get_items();}}
function he_show_confirm(title,message,callback,options)
{if(window.$he_confirm_container==undefined){window.$he_confirm_container=new Element('div',{'class':'he_confirm_container'});var $link=window.$he_confirm_container;var $title=new Element('div',{'class':'he_confirm_title'});var $description=new Element('div',{'class':'he_confirm_desc'});if(typeof(en4.core.language.translate)=='undefined'){var confirm_label=language.translate('Confirm');var or_label=language.translate('or');var cancel_label=language.translate('Cancel');}else{var confirm_label=en4.core.language.translate('Confirm');var or_label=en4.core.language.translate('or');var cancel_label=en4.core.language.translate('Cancel');}
var $tools=new Element('div',{'class':'he_confirm_tools'});var $confirm_btn=new Element('button',{'class':'confirm_btn','html':confirm_label});var $or_text=new Element('span',{'class':'or_btn','html':or_label});var $cancel_btn=new Element('a',{'class':'cancel_btn','href':'javascript://','html':cancel_label});$tools.adopt($confirm_btn,$or_text,$cancel_btn);$link.adopt($title,$description,$tools);var $hidden_cont=new Element('div',{'class':'display_none'});$hidden_cont.adopt($link);$(document.body).adopt($hidden_cont);}
var $link=window.$he_confirm_container;if(title&&title.length>0){$link.getElement('.he_confirm_title').removeClass('display_none').set('html',title);}else{$link.getElement('.he_confirm_title').addClass('display_none');}
if(message&&message.length>0){$link.getElement('.he_confirm_desc').removeClass('display_none').set('html',message);}else{$link.getElement('.he_confirm_desc').addClass('display_none');}
if(options&&options.confirm_label!=undefined)
$link.getElement('.he_confirm_tools .confirm_btn').set('html',options.confirm_label);if(options&&options.cancel_label!=undefined)
$link.getElement('.he_confirm_tools .cancel_btn').set('html',options.cancel_label);if(options&&options.or_label!=undefined)
$link.getElement('.he_confirm_tools .or_btn').set('html',options.or_label);var width=(options&&options.width)?options.width:500;var height=(options&&options.height)?options.height:100;Smoothbox.open($link,{mode:'Inline',width:width,height:height});$('TB_ajaxContent').getElement('.he_confirm_tools .cancel_btn').addEvent('click',function(){Smoothbox.close();});if(callback&&typeof(callback)=='function'){$('TB_ajaxContent').getElement('.he_confirm_tools .confirm_btn').addEvent('click',function(){Smoothbox.close();callback();});}}
var he_friend={link:'settings_toggler',$link:null,form:'settings_form',$form:null,container:'he_friend_conatainer',$container:null,ipp:'friends_ipp',$ipp:null,loader:'he_friends_loader',$loader:null,privacy:'friends_privacy',$privacy:null,list:'friend_list',$list:null,url:{},init:function(){var self=this;this.$link=$(this.link);this.$form=$(this.form);this.$container=$(this.container);this.$ipp=$(this.ipp);this.$loader=$(this.loader);this.$privacy=$(this.privacy);this.$list=$(this.list);this.$link.addEvent('click',function(){self.toggle_settings();});this.$link.addEvent('focus',function(){this.blur();});this.$ipp.addEvent('change',function(){self.change_ipp(this.value);});this.$privacy.addEvent('change',function(){self.change_privacy(this.value);});this.$list.addEvent('click',function(){self.list_box();});},list_box:function(){he_contacts.box('hecore','getFriends','he_friend.save_friends',en4.core.language.translate('Choose Friends'),{'object':window.en4.core.subject.type,'object_id':window.en4.core.subject.id},0);},see_all:function(list_type){he_list.box('hecore','getMutualFriends',en4.core.language.translate('Friends'),{'object':window.en4.core.subject.type,'object_id':window.en4.core.subject.id,'list_type':list_type});},toggle_settings:function(){if(this.$link.getParent().hasClass('active')){this.$link.getParent().removeClass('active');}else{this.$link.getParent().addClass('active');}
if(this.$form.hasClass('hidden')){this.$form.removeClass('hidden');}else{this.$form.addClass('hidden');}},change_ipp:function(value){var self=this;var url=this.url.change_ipp;this.show_loader();new Request.JSON({'url':url+'?&rand='+Math.random(),'method':'post','data':{'format':'json','value':value},onSuccess:function(response){self.$container.set('html',response.html);self.hide_loader();}}).send();},change_privacy:function(value){var self=this;var url=this.url.change_privacy;this.$privacy.disabled=true;new Request.JSON({'url':url+'?&rand='+Math.random(),'method':'post','data':{'format':'json','value':value},onSuccess:function(response){self.$privacy.disabled=false;}}).send();},show_loader:function(){this.$loader.removeClass('hidden');this.$container.addClass('hidden');},hide_loader:function(){this.$loader.addClass('hidden');this.$container.removeClass('hidden');},save_friends:function(user_ids){var self=this;var url=this.url.save_list;this.show_loader();new Request.JSON({'url':url+'?&rand='+Math.random(),'method':'post','data':{'format':'json','value':user_ids},onSuccess:function(response){self.$container.set('html',response.html);self.hide_loader();}}).send();}}
var HETips=new Class({Implements:[Events,Options],options:{url:'',ajax:true,cache:true,delay:300,className:'he-tool-tip',id:'he-tool-tip-id',display:'top',htmlElement:'',visibleOnHover:true},elements:null,cache:{},tip:null,timeout:null,block:false,request:null,show:true,initialize:function(elements,options){this.elements=elements;this.setOptions(options);this.tip=this.getTipBlock();this.bind();},getTipBlock:function(){var self=this;if($(this.options.id)){return $(this.options.id);}
var $container=new Element('div',{'class':self.options.className+' hidden','id':self.options.id,'style':'position:absolute;'});var $header=new Element('div',{'class':'he-tip-title'});var $content=new Element('div',{'class':'he-tip'});var $footer=new Element('div',{'class':'he-tip-footer'});var $clr=new Element('div',{'class':'clr'});$container.appendChild($header);$container.appendChild($content);$container.appendChild($footer);$container.appendChild($clr);$$('body')[0].appendChild($container);return $container;},bind:function(){var self=this;$$(this.elements).each(function($item){self.bindItem($item);});},bindItem:function($item){var self=this;$item=$($item);$item.addEvents({'mouseover':function(){var id=this.id;var element=this;self.show=true;self.timeout=window.setTimeout(function(){self.hint(id,element);},self.options.delay);},'mouseout':function(){window.clearTimeout(self.timeout);self.show=false;self.timeout=window.setTimeout(function(){self.hideTip();},self.options.delay);}});},hint:function(id,element){var self=this;if(this.options.htmlElement){this.show=true;var html=$(element).getParent().getElement(this.options.htmlElement).innerHTML;this.showTip(html,element);this.block=false;return;}
if(this.cache[id]&&this.options.cache){this.show=true;this.showTip(this.cache[id],element);this.block=false;return;}
if(this.block&&this.options.ajax){return;}
this.block=true;self.showTip('',element);this.request=new Request.JSON({'method':'post','url':self.options.url+'?rand='+Math.random(),'data':{'id':id,'format':'json'},onSuccess:function(response){self.cache[id]=response.html;self.showTip(response.html,element);self.block=false;self.fireEvent('onRequestSuccess',[response,element]);}}).send();},getPos:function($element){var data=$($element).getPosition();return data;},showTip:function(html,element){if(html==''){html='<span class="loader_icon">&nbsp;</span>';this.tip.addClass('he_loader');}else{this.tip.removeClass('he_loader');}
this.tip=$(this.tip);element=$(element);var data=this.getPos(element);var x=data.x;var y=data.y;this.tip.getElements('.he-tip')[0].set('html',html);this.tip.style.left=x+'px';this.tip.style.top=y+'px';if(html!=''&&this.show){this.tip.removeClass('hidden');}
this.tip.style.top=(parseInt(this.tip.style.top)-$(this.tip).getSize().y)+'px';var self=this;this.tip.removeEvents('mouseover').removeEvents('mouseout').addEvents({'mouseover':function(){if(self.options.visibleOnHover){window.clearTimeout(self.timeout);}},'mouseout':function(){self.timeout=window.setTimeout(function(){self.hideTip();},self.options.delay);}});this.fireEvent('onShow',[this.tip,element]);},hideTip:function(){this.tip.addClass('hidden');this.fireEvent('onHide',[this.tip]);},getDocHeight:function(){var D=document;return Math.max(Math.max(D.body.scrollHeight,D.documentElement.scrollHeight),Math.max(D.body.offsetHeight,D.documentElement.offsetHeight),Math.max(D.body.clientHeight,D.documentElement.clientHeight));}});;function initImageZoom(_options,$object){var options=$extend({rel:'imagezoom'},_options||{});var elements=$$(document.links).filter(function(el){if((el.rel)&&(el.rel.indexOf(options.rel)!=-1))
return true;else
return false;});for(var i=0;i<elements.length;i++){var el=elements[i];el.addEvent("click",function(){this.blur();var sEl=this;var imgCap="";if(this.getElements("img").length>0)
sEl=this.getElements("img")[0];if((sEl.alt)&&(sEl.alt!=""))
imgCap=sEl.alt;else if(sEl.title)
imgCap=sEl.title;else if(sEl.parentNode.title)
imgCap=sEl.parentNode.title;var _options=$extend({image:this.href,caption:imgCap,startElement:sEl},options||{});_options.image=this.href;_options.caption=imgCap;var $object=new Imagezoom(_options);$object.preloadImage();$object.show();return false;});}}
var Imagezoom=function(_options){var options=$extend({image:false,caption:"",enableCaptions:true,startElement:false,x:10,y:10,initWidth:50,initHeight:50,draggable:true,loadImage:"application/modules/Hecore/externals/images/imagezoom/loading.gif",loadDelay:150,duration:800,closeDuration:500,transition:Fx.Transitions.Cubic.easeOut,startOpacity:0.6,closeText:'Close',rel:'imagezoom',showCaptionBar:true,overlay:false,overlayColor:"#000",overlayOpacity:.75},_options||{});var box=document.createElement("div");var instance=this;var tl=document.createElement("div");tl.className="s s_tl";var tr=document.createElement("div");tr.className="s s_tr";var bl=document.createElement("div");bl.className="s s_bl";var br=document.createElement("div");br.className="s s_br";var top=document.createElement("div");top.className="s s_top";var bottom=document.createElement("div");bottom.className="s s_bottom";var left=document.createElement("div");left.className="s s_left";var right=document.createElement("div");right.className="s s_right";this.preloadImage=function(){if(options.image!=false){var img=new Image();img.src=options.image;img.style.visibility="hidden";img.style.position="absolute";img.style.top="-9999999999px";img.setAttribute("id","imagezoom-"+options.image);$$('body')[0].appendChild(img);}}
this.getImage=function(){if(($('imagezoom-'+options.image))&&($('imagezoom-'+options.image).width!="0")){var img=$('imagezoom-'+options.image).clone();img.setAttribute("id","");img.style.position="relative";img.style.top="0px";img.style.visibility="visible";}else{instance.preloadImage();window.setTimeout(function(){instance.getImage();},50);}
return img;}
this.show=function(){if(options.image!=false){box.style.position="absolute";box.style.overflow="hidden";box.setAttribute("id","imagezoom-open-"+options.image);if(options.startElement!=false)
options.startElement.blur();var x=options.x;var y=options.y;var boxWidth=options.initWidth;var boxHeight=options.initHeight;if(options.startElement!=false){x=options.startElement.getPosition().x;y=options.startElement.getPosition().y;boxWidth=options.startElement.offsetWidth;boxHeight=options.startElement.offsetHeight;}
box.style.left=x+"px";box.style.top=y+"px";box.style.width=boxWidth+"px";box.style.height=boxHeight+"px";var fx=new Fx.Morph(box);fx.set({opacity:options.startOpacity});box.className="imagezoom";$$('body')[0].appendChild(box);box.style.cursor="pointer";box.addEvent("click",function(){var fx=new Fx.Morph(box,{duration:200});fx.start({opacity:0}).chain(function(){$$('body')[0].removeChild(box);});});this.loadImage();}}
this.loadImage=function(){if(box.getElements(".loading").length==0){var loading=new Image();loading.src=options.loadImage;loading.className="loading";box.appendChild(loading);}
if($('imagezoom-'+options.image)){var el=$('imagezoom-'+options.image);if(el.width!="0"){var newEl=new Image();newEl.src=options.image;window.setTimeout(function(){instance.insertImage(newEl)},options.loadDelay);}else{window.setTimeout(function(){instance.loadImage();},50);}}else{instance.preloadImage();window.setTimeout(function(){instance.loadImage();},50);}}
this.insertImage=function(img){box.removeEvents("click");box.style.cursor="default";box.style.overflow="visible";var w=img.width;var h=img.height;var maxSize=window.getSize();if(maxSize){var maxH=maxSize.y-40;if(h>maxH){w=w*maxH/h;h=maxH;}}
img.style.width=w+"px";img.style.height=h+"px";img.className='image';var ptop=(window.getSize().y/2)+window.getScroll().y-(h/2);var pleft=(window.getSize().x/2)+window.getScroll().x-(w/2);var fx=new Fx.Morph(box,{duration:options.duration,transition:options.transition});fx.start({top:ptop,left:pleft,width:w,height:h,opacity:1}).chain(function(){if(options.overlay==true){if(!$('imagezoom_overlay')){var overlay=$(document.createElement("div"));overlay.setAttribute("id","imagezoom_overlay");overlay.style.backgroundColor=options.overlayColor;overlay.setOpacity(0);$$('body')[0].appendChild(overlay);}else{var overlay=$('imagezoom_overlay');}
overlay.style.width=window.getScrollSize().x+"px";overlay.style.height=window.getScrollSize().y+"px";var overlayfx=new Fx.Morph(overlay,{duration:600});overlayfx.start({opacity:options.overlayOpacity});}
var close=$(document.createElement("div"));close.innerHTML="<span>"+options.closeText+"</span>";close.className="close";close.addEvent("click",function(){instance.close(true);});var loading=box.getElements(".loading");if(loading.length>0)
box.removeChild(loading[0]);var elements=[close,tl,tr,bl,br,top,bottom,left,right,img];for(var i=0;i<elements.length;i++){var elFx=new Fx.Morph(elements[i],{duration:600});if(!Browser.Engine.trident){elFx.set({opacity:0});}
box.adopt(elements[i]);if(!Browser.Engine.trident){elFx.start({opacity:1});}}
var caption;if((options.caption!="")&&(options.enableCaptions==true)){caption=document.createElement("div");caption.className="caption";caption.innerHTML="<p>"+options.caption+"</p>";box.appendChild(caption);}
instance.addSetNavigation();if(box.getElements(".caption").length>0){caption=box.getElements(".caption")[0];var cfx=new Fx.Morph(caption,{duration:200});cfx.set({opacity:0});if(options.showCaptionBar==true){caption.className+=" visibleCaption";var cStartFx=new Fx.Morph(caption,{duration:600});cStartFx.start({opacity:1});}
box.addEvent("mouseenter",function(){cfx.start({opacity:1}).chain(function(){caption.className+=" visibleCaption";});});box.addEvent("mouseleave",function(){cfx.start({opacity:0}).chain(function(){caption.className=caption.className.replace(/visibleCaption/g,"");});});close.addEvent("mouseenter",function(){cfx.start({opacity:0}).chain(function(){caption.className=caption.className.replace(/visibleCaption/g,"");});});box.getElements(".image")[0].addEvent("click",function(){var action="show";if(caption.className.indexOf("visibleCaption")!=-1)
action="hide";if(action=="show")
cfx.start({opacity:1}).chain(function(){caption.className+=" visibleCaption";});else
cfx.start({opacity:0}).chain(function(){caption.className=caption.className.replace(/visibleCaption/g,"");});});}
top.style.width=box.offsetWidth+"px";bottom.style.width=box.offsetWidth+"px";left.style.height=box.offsetHeight+"px";right.style.height=box.offsetHeight+"px";if(options.draggable==true)
var move=new Drag.Move(box,{handle:img});});}
this.addSetNavigation=function(){var links=$$(document.links).filter(function(link){if((link.rel)&&(link.rel.indexOf(options.rel)!=-1))
return true;else
return false;});var set=false;for(var i=0;i<links.length;i++){if((links[i].href.indexOf(options.image)!=-1)&&(links[i].rel)&&(links[i].rel.indexOf(options.rel+'['!=-1))){var rel=links[i].getAttribute("rel");set=instance.scanRel("after",options.rel+"[",this.scanRel("before","]",rel));}}
if(set!=false){var prevLink=false;var nextLink=false;var setLinks=new Array();for(i=0;i<links.length;i++){if(links[i].rel.indexOf(options.rel+"["+set+"]")!=-1){setLinks[setLinks.length]=links[i];}}
for(i=0;i<setLinks.length;i++){var link=setLinks[i];if((link.href.indexOf(options.image)!=-1)&&(link.rel)&&(link.rel.indexOf(options.rel!=-1))){if(i!=0)
prevLink=setLinks[i-1];if(i!=setLinks.length-1)
nextLink=setLinks[i+1];}}
if((prevLink!=false)||(nextLink!=false)){if(box.getElements(".caption").length==0){var caption=document.createElement("div");caption.className="caption";box.appendChild(caption);}else{var caption=box.getElements(".caption")[0];}}
if(prevLink!=false){var previousButton=$(document.createElement("div"));previousButton.className="previous";var prevCap='';if(prevLink.title)
prevCap=prevLink.title;var prevEl=prevLink;if(prevLink.getElements("img").length>0)
prevEl=prevLink.getElements("img")[0];previousButton.addEvent("click",function(){var newOptions=$unlink(options);var imagezoomPrev=new Imagezoom($extend(newOptions,{image:prevLink.href,caption:prevCap,rel:options.rel,startElement:prevEl,showCaptionBar:true}));instance.close();imagezoomPrev.show();});caption.appendChild(previousButton);}
if(nextLink!=false){var nextButton=$(document.createElement("div"));nextButton.className="next";var nextCap='';if(nextLink.title)
nextCap=nextLink.title;var nextEl=nextLink;if(nextLink.getElements("img").length>0)
nextEl=nextLink.getElements("img")[0];nextButton.addEvent("click",function(){var newOptions=$unlink(options);var imagezoomNext=new Imagezoom($extend(newOptions,{image:nextLink.href,caption:nextCap,rel:options.rel,startElement:nextEl,showCaptionBar:true}));instance.close();imagezoomNext.show();});caption.appendChild(nextButton);}}}
this.scanRel=function(where,needle,string){var newstring='';if(where=="after"){var startpos=string.indexOf(needle)+needle.length;var endpos=string.length;}else if(where=="before"){var startpos=0;var endpos=string.indexOf(needle);}
for(var i=startpos;i<endpos;i++){newstring+=string.charAt(i);}
return newstring;}
this.close=function(hideOverlay){var img=box.getElements(".image")[0];box.removeChild(img);var close=box.getElements(".close")[0];box.removeChild(close);var caption=box.getElements(".caption");if(caption.length>0)
box.removeChild(caption[0]);var s=box.getElements(".s");for(var i=0;i<s.length;i++)
box.removeChild(s[i]);var x=options.x;var y=options.y;var boxWidth=options.initWidth;var boxHeight=options.initHeight;if(options.startElement!=false){x=options.startElement.getPosition().x;y=options.startElement.getPosition().y;boxWidth=options.startElement.offsetWidth;boxHeight=options.startElement.offsetHeight;}
if((hideOverlay==true)&&($('imagezoom_overlay'))){var oFx=new Fx.Morph($('imagezoom_overlay'),{duration:options.closeDuration});oFx.start({opacity:0}).chain(function(){$$('body')[0].removeChild($('imagezoom_overlay'));});}
var fx=new Fx.Morph(box,{duration:options.closeDuration});fx.start({left:x,top:y,width:boxWidth,height:boxHeight,opacity:options.startOpacity}).chain(function(){fx.start({opacity:0}).chain(function(){$$('body')[0].removeChild(box);});});}}
