GL_Status=function(){this.E_SUCCESS=100;this.E_JSON_PARSE=200;this.E_JSON_STRUCTURE=300;this.E_AUTH=400;this.E_HTTP=500;this.E_GENERAL=600;this.E_SQL=700;this.E_NODATA=800;this.E_EMAIL=900;this.E_PROTOCOL=1000;this.E_VALIDATION=1100};GL_Function=function(){this.FN_LOGIN=100;this.FN_REGISTER=200;this.FN_FORGOT=300;this.FN_LOGOUT=400;this.FN_CREATE_INVITE=500;this.FN_CHECK_INVITE=600;this.FN_CONF_GET=700;this.FN_CONF_SET=800;this.FN_CHECK_REGISTRATION_COMPLETENESS=900;this.FN_GET_SERVER_EVENT=1000;this.FN_LIGHTBOX=1100;this.FN_GET_SESSION=1200};GL_Event=function(){this.EV_NULL=0;this.EV_LIGHTBOX=100};BrowserDetect.init();var gl_status=new GL_Status();var gl_function=new GL_Function();var gl_event=new GL_Event();var App={dt_start:null,_log:"",logIt:function(A){this._log+=A+"\n"},cur_browser:{browser:BrowserDetect.browser,version:parseFloat(BrowserDetect.version),OS:BrowserDetect.OS},cookie_jar:null,session:{},constructor:function(){this.cookie_jar=new CookieJar({expires:1800,path:"/",domain:"."+JS_HTTP_HOST,secure:true});this.dt_start=(new Date()).getTime()},on_success_OEServiceX:function(C){var B=C.responseJSON;var A=B.r34;cookie_monster.data.r34={client_id:A.client_id,browser:A.browser};cookie_monster.save();logIt("ID Generated: "+A.client_id)},check_min_client:function(B,A){if((this.cur_browser.browser==B)&&(this.cur_browser.version>=A)){return true}return false},show_client:function(){alert(this.cur_browser.browser+" "+this.cur_browser.version)},show_client_raw:function(){alert(navigator.userAgent)},check_cookie:function(A){var B=A.getHeader("Set-Cookie");if(!B){return }(B.split("\n")).each((function(C){name_value=(C.strip().split(";")[0]).strip();name=(name_value.split("=")[0]).strip();value=(name_value.split("=")[1]).strip();if((value=="")||(value=="deleted")){this.cookie_jar.remove(name)}expires_value=(C.strip().split(";")[1]).strip();expires=(expires_value.split("=")[0]).strip();value=(expires_value.split("=")[1]).strip()}).bind(this))},ajax_response_handler:function(B){var A=B;switch(parseInt(A.r.responseJSON.status)){case gl_status.E_SUCCESS:A.fn_success();break;case gl_status.E_AUTH:A.fn_auth_error();break;case gl_status.E_JSON_STRUCTURE:A.fn_error();break;case gl_status.E_JSON_PARSE:A.fn_error();break;default:A.fn_error();break}}};var XmlUtil={toString:function(A){var B=new XMLSerializer();return B.serializeToString(A)}};if(window.location.href.match("https")){JS_HTTP_HOST=window.location.href.substring(8,window.location.href.length)}else{JS_HTTP_HOST=window.location.href.substring(7,window.location.href.length)}if((idx=JS_HTTP_HOST.indexOf("/"))>=0){JS_HTTP_HOST=JS_HTTP_HOST.substring(0,idx)}App.constructor();enforce_client();gl_Lightbox=null;gl_pe_serverEvent=null;oeW=window;document.observe("dom:loaded",function(){});Event.observe(oeW,"load",function(){if(!App.cookie_jar.get("oe_insecure")){if($("nav_links")){var A=$("nav_links").childElements().last().firstDescendant();c1="color:#F90;";c2="color:#000;";c=c1;A.observe("oe:effect_end",function(){c=oe_swap({v:c,v1:c1,v2:c2});A.morph(c)});A.morph(c)}}else{if($("nav_links")){$("nav_links").childElements().last().remove();$("nav_links").childElements().last().firstDescendant().update("logout");$("nav_links").childElements().last().firstDescendant().setAttribute("href","javascript:logout_session()")}}var B=true;$A(document.getElementsByTagName("script")).findAll(function(C){return(C.src&&C.src.match(/\/oe\.js(\?.*)$/))}).each(function(D){var C=D.src.match(/\?.*events=([a-z,]*)/);if(C[1]=="no"){B=false}});if(B){handleServerEvents()}});function enforce_client(){Event.observe(window,"load",function(){if(!(App.check_min_client("Firefox",2)||App.check_min_client("Explorer",6)||App.check_min_client("Safari",525.2))){document.location.href="/supported.php"}})}function object_path_set_val(D,C,E){ra=C.split(".");if(ra.length==1){D[ra[0]]=E}else{var A="";for(var B=1;B<ra.length;B++){A+=ra[B]+"."}A=A.substr(0,A.length-1);if(D[ra[0]]==null){D[ra[0]]=new Object()}object_path_set_val(D[ra[0]],A,E)}}function get_config(C,B){var A={fn:gl_function.FN_CONF_GET,xpath:C};new Ajax.Request("/a/s/ConfService.php",{method:"post",contentType:"application/json",onSuccess:function(D){B(D.responseJSON.value)},postBody:Object.toJSON(A),onFailure:function(D){alert("AJAX error, check network connection.\n\n"+D.responseJSON.msg)}})}function save_config(C,B){var A={fn:gl_function.FN_CONF_SET,xpath:C,value:B};new Ajax.Request("/a/s/ConfService.php",{method:"post",contentType:"application/json",onSuccess:function(D){alert(D.responseJSON.msg)},postBody:Object.toJSON(A),onFailure:function(D){alert("AJAX error, check network connection.\n\n"+D.responseJSON.msg)}})}function oe_ajax_response_handler(B,A){switch(parseInt(B.status)){case gl_status.E_SUCCESS:A.fn_success(B);break;case gl_status.E_AUTH:A.fn_auth_error(B);break;case gl_status.E_JSON_STRUCTURE:A.fn_error(B);break;case gl_status.E_JSON_PARSE:A.fn_error(B);break;default:A.fn_error(B);break}}function logout_session(){if(!window.location.href.match("https")){window.location.href="https://"+JS_HTTP_HOST+"/a/reg/login.php?logout=1";return }post={fn:gl_function.FN_LOGOUT};new Ajax.Request("https://"+JS_HTTP_HOST+"/a/s/RegAuthService.php",{method:"post",contentType:"application/json",onSuccess:on_logout_session,postBody:Object.toJSON(post),onFailure:function(A){alert("AJAX error, check network connection.")}})}function on_logout_session(A){App.ajax_response_handler({r:A,fn_success:function(){if($("msg")){$("msg").innerHTML=this.r.responseJSON.msg}App.check_cookie(this.r);window.location.href="/"},fn_auth_error:function(B){if($("msg")){$("msg").innerHTML=this.r.responseJSON.msg}alert(this.r.responseJSON.msg)},fn_error:function(B){if($("msg")){$("msg").innerHTML=this.r.responseJSON.msg}alert(this.r.responseJSON.msg)}})}function handleServerEvents(){document.observe("oe:lightbox_closed",function(){reset_ServerEvent_polling()});gl_Lightbox=new Lightbox();gl_Lightbox.available=true;gl_pe_serverEvent=new PeriodicalExecuter(pollServerEvent,5)}function pollServerEvent(){if(!gl_Lightbox.available){return }gl_Lightbox.available=false;gl_pe_serverEvent.stop();var A={fn:gl_function.FN_GET_SERVER_EVENT};new Ajax.Request("https://"+JS_HTTP_HOST+"/a/s/EventService.php",{method:"post",contentType:"application/json",onSuccess:function(B){if(B.responseJSON.ev!=null){processServerEvent(B.responseJSON.ev,B.responseJSON.arg)}},postBody:Object.toJSON(A),onFailure:function(B){reset_ServerEvent_polling()}})}function processServerEvent(B,A){if(B==gl_event.EV_LIGHTBOX){gl_Lightbox.show_lightbox(A.src,A.width,A.height,A.caption)}else{reset_ServerEvent_polling()}}function reset_ServerEvent_polling(){gl_Lightbox.available=true;if((new Date()).getTime()<(App.dt_start+(10*60*1000))){gl_pe_serverEvent=new PeriodicalExecuter(pollServerEvent,15)}}function oe_swap(B){var A=B;return(A.v==A.v1)?A.v2:A.v1};