/* Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * Version: 3.0.2
 * 
 * Requires: 1.2.2+
 */
(function(c){var a=["DOMMouseScroll","mousewheel"];c.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var d=a.length;d;){this.addEventListener(a[--d],b,false)}}else{this.onmousewheel=b}},teardown:function(){if(this.removeEventListener){for(var d=a.length;d;){this.removeEventListener(a[--d],b,false)}}else{this.onmousewheel=null}}};c.fn.extend({mousewheel:function(d){return d?this.bind("mousewheel",d):this.trigger("mousewheel")},unmousewheel:function(d){return this.unbind("mousewheel",d)}});function b(f){var d=[].slice.call(arguments,1),g=0,e=true;f=c.event.fix(f||window.event);f.type="mousewheel";if(f.wheelDelta){g=f.wheelDelta/120}if(f.detail){g=-f.detail/3}d.unshift(f,g);return c.event.handle.apply(this,d)}})(jQuery);(function(f){var g={btnPrev:null,btnNext:null,btnDisabledClass:"disabled",btnGo:null,mouseWheel:false,list:null,speed:200,easing:null,vertical:false,circular:true,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null};f.fn.carousel=function(k){var i=(typeof k=="string"),j=Array.prototype.slice.call(arguments,1);if(i&&k[0]=="_"){return this}if(i){var h=f.data(this[0],"carousel");return(h?h[k].apply(h,j):undefined)}return this.each(function(){var l=f.data(this,"carousel");(!l&&!i&&f.data(this,"carousel",new a(this,k)));(l&&i&&f.isFunction(l[k])&&l[k].apply(l,j))})};function d(h,i){return parseInt(f.css(h[0],i),10)||0}function e(h){return h[0].offsetWidth+d(h,"marginLeft")+d(h,"marginRight")}function b(h){return h[0].offsetHeight+d(h,"marginTop")+d(h,"marginBottom")}var a=function(i,h){this.options=f.extend({},this.defaults,h);this.element=f(i);this._init()};var c={defaults:g,_init:function(){this._init_styles();this._init_buttons();this._check_classes()},refresh:function(h){f.extend(this.options,h);if(!h||(!"start" in h)){this.options.start=this.curr}this._init_styles();this._check_classes()},_init_styles:function(){var j=this.options,i=this.element,q=j.list?f(j.list):i.children("ul");var k=q.children("li"),w=k.length,t=j.visible,y=j.start;j.start=Math.min(f.isFunction(y)?y.call(i[0],w,t):y,k.length-1);if(j.circular){q.prepend(k.slice(w-t-1+1).clone(true)).append(k.slice(0,t).clone(true));j.start+=t}var u=q.children("li"),p=u.length,x=j.start;i.css("visibility","visible");u.css({overflow:j.vertical?"hidden":"visible","float":j.vertical?"none":"left"});q.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});i.css({overflow:"hidden",position:"relative","z-index":"2",left:"0px"});var m=j.vertical?b(u):e(u);var r=m*p;var n=m*t;u.css(j.vertical?{height:m}:{width:m});var l=j.vertical?"top":"left",h=j.vertical?"height":"width";q.css(h,r+"px").css(l,-(x*m));i.css(h,n+"px");this.ul=q;this.li=u;this.liSize=m;this.curr=x},_init_buttons:function(){var h=this,j=this.element,i=this.options;f.each(["btnPrev","btnNext"],function(k,l){if(i[l]){h["$"+l]=(f.isFunction(i[l])?i[l].call(j[0]):f(i[l])).click(function(){var p=h.options,n=h.curr,m=k==0?n-p.scroll:n+p.scroll;return h.go(m)})}});if(i.btnGo){f.each(i.btnGo,function(k,l){f(l).click(function(){var m=h.options;return h.go(m.circular?m.visible+k:k)})})}if(i.mouseWheel&&j.mousewheel){j.mousewheel(function(l,n){var m=h.options,k=h.curr;return n>0?h.go(k-m.scroll):h.go(k+m.scroll)})}},_check_classes:function(){var i=this.options,h=this.li.length;if(!i.circular){if(i.btnPrev){this.$btnPrev.toggleClass(i.btnDisabledClass,i.start==0)}if(i.btnNext){this.$btnNext.toggleClass(i.btnDisabledClass,i.start+i.visible>=h)}}},_vis:function(){return this.li.slice(this.curr).slice(0,this.options.visible)},go:function(m){var q=this,h=this.options,l=this.ul,p=this.li,k=p.length,j=this.liSize,r=this.curr,n=h.visible;var i=h.vertical?"top":"left";if(h.beforeStart){h.beforeStart.call(q.element[0],q._vis(),r,m)}if(h.circular){if(m<=h.start-n-1){l.css(i,-((k-(n*2))*j)+"px");r=m==h.start-n-1?k-(n*2)-1:k-(n*2)-h.scroll}else{if(m>=k-n+1){l.css(i,-((n)*j)+"px");r=m==k-n+1?n+1:n+h.scroll}else{r=m}}}else{if(h.btnPrev){q.$btnPrev.toggleClass(h.btnDisabledClass,h.btnPrev&&m<=0)}if(h.btnNext){q.$btnNext.toggleClass(h.btnDisabledClass,h.btnNext&&m>k-n)}if(m<0){r=0}else{if(m>k-n){r=k-n}else{r=m}}}l.stop(true,false).animate(i=="left"?{left:-(r*j)}:{top:-(r*j)},h.speed,h.easing,function(){if(h.afterEnd){var s=!h.circular&&(m>=k-n);var o=!h.circular&&(m<=0);h.afterEnd.call(q.element[0],q._vis(),o,s)}});this.curr=r;return false}};f.extend(a.prototype,c)})(jQuery);(function ProfileModule(h,e,d,k){var f=null;e.init_user_content=function(){var z=h("#user_content");if(!z.length){return}e.init_common_content(z);v(z);setTimeout(o,1);var B=document.getElementById("active_section"),A=B.getAttribute("rel");switch(A){case"stats":s(z);break;case"calendar":g(z);break;case"people":u(z);break;case"overview":w(z);break;case"views":y(z);break;default:r(z)}if(e.patch_calendar_share_forms){e.patch_calendar_share_forms(A==="calendar")}};e.init_bio_edit_form=function(){var z=h("#cboxLoadedContent");var A=e.initForm("form",z,"html",function(C,D,B){j(C)},function(B,C){j(B.responseText)});z.find("a.close").click(e.close_colorbox);e.bind_ajax(z);A.find("textarea:enabled:not(.hasLimiter)").maxlength({feedback:"label.limit_text"}).addClass("hasLimiter");h("input.clearonfocus",A).clearOnFocus();A.find("select.distance_description").change(c);A.find("input.autocomplete").change(x).autocomplete("/users/auto_complete_for_user_name",h.extend({matchSubset:0,onItemSelect:m,onNoResults:m},d.autocompleteSettings))};function j(z){var A=h.trim(z);if(A){h.fn.colorbox.resize(A)}else{e.reload_active_sections()}}function o(){var B=h("#billbord-features");if(B.children().length>1){B.cycle({fx:"fade",speed:5000,timeout:2500})}var A=h("#trophy-bubble"),z=A.outerWidth()/2;A.css({marginLeft:-z,opacity:0}).removeClass("to-be-placed").fadeTo(400,1);h("#achievements .tooltip").tooltip(d.tooltip_settings).removeClass("tooltip")}e.profile_post_deleted=function(z){e.when_removed_post(h("#post_"+z).closest("li"))};e.init_location_chooser_form=function(){var A=e.initFormPopup();A.find("input.autocomplete").autocomplete("/location/autocomplete_location?detail=high",h.extend({delay:500,onItemSelect:l,onNoResults:l},d.autocompleteSettings));var z=h.data(A[0],"submitinfo");z.onsuccess=e.reload_active_sections;z.onfailure=z.oncomplete;z.oncomplete=null};function q(z){if(!f){f=createDefaultEventDelegationHandler();z.click(f)}}function u(z){if(!f){q(z)}var A=f.handlers;A.length=0;A.append(e.EventDelegation.PEOPLE_CLICK_HANDLERS_SET);return A}function r(z){if(!f){q(z)}var A=f.handlers;A.length=0;A.append(e.EventDelegation.POST_CLICK_HANDLERS_SET);return A}function v(A){var z=A.find("div.photo-identifier:not(initialized)");if(z.length){z.mouseenter(function(){h(this).find("div.change_photo").stop().animate({opacity:1})}).mouseleave(function(){h(this).find("div.change_photo").stop().animate({opacity:0})}).mouseleave().addClass("initialized")}}function c(){var A=h(this);var z=A.val().split(" ");if(z.length>1){A.siblings("input.other_distance_text:first").val(z[0]);A.siblings("select.distance_unit:first").val(z[1])}else{A.siblings("input.other_distance_text:first").val("0")}A.siblings("input.extended_distance_description:first").val(A.find("option:selected").text())}function x(){return m(null)}function m(z,A){if(z){h("#bio_history_entry_user_id").val(z.extra)}else{h("#bio_history_entry_user_id").val("")}}function l(z,A){if(z){var B=z.extra;h("#post_lat").val(B[0]);h("#post_lng").val(B[1]);h(A).change()}else{h("#post_lat").val("");h("#post_lng").val("");h(A).change()}}function p(){e.profileViewGraph(ProfileViewStats)}function y(z){if(e.profileViewGraph){setTimeout(p,1)}else{var A=[];if(h.browser.msie&&typeof k.CanvasRenderingContext2D=="undefined"&&typeof G_vmlCanvasManager=="undefined"){A.push("plugins/excanvas.min.js")}A.push("/javascripts/v3/modules/stats_views.min.js");h.xLazyLoader({js:A,name:"profile_stats",success:p})}u(z)}function b(z){var A=h("#filters-form");h("select[name='month']",A).change(function(){if(isset(h(this).val())){var B=new Date(h("select[name='year']",A).val(),parseInt(h(this).val())-1,1);h(e).trigger(d.EVENTS.dates_changed,{date:B,period:"m"})}});h("select[name='week']",A).change(function(){if(isset(h(this).val())){var B=DatefromYearWeek(h("select[name='year']",A).val(),parseInt(h(this).val()),user_preferences.week_start===0);h(e).trigger(d.EVENTS.dates_changed,{date:B,period:"w"})}});A=A.historyParamsForm({donotsubmitonchange:"select[name='graphdata']"});if(h("input[name='stats_section']").val()=="workouts"){h("select[name='graphdata']",A).change(function(){setTimeout(function(){e.ProfileStatsModuleInstance.buildGraphs()},100)})}else{h("select[name='graphdata']",A).change(function(){var B=h(this);h("input[name='stats_for']",A).val(B.val().split("_")[0]);A.submitParamsForm()})}h("a.stats_section",A).click(function(){var C=h(this);var B=C.attr("rev");h("input[name='stats_section']",A).val(B);if(B=="workouts"){h("input[name='stats_for']",A).val("workouts")}else{h("input[name='stats_for']",A).val(h("select[name='graphdata']",A).val().split("_")[0])}h("a.stats_section",A).removeClass("selected");C.addClass("selected");A.submitParamsForm()});A.find("input.autocomplete.username").autocomplete("/users/auto_complete_for_username",h.extend({delay:500,onItemSelect:function(B,C){if(B){A.submitParamsForm()}},selectFirst:true,selectOnly:true},d.autocompleteSettings)).keydown(function(C){var B=C.which||C.keyCode;if(h(this).hasClass("initial_value")){h(this).addClass("with_value").removeClass("initial_value")}if(B==13){A.submitParamsForm()}}).next().click(function(){h(this).hide();h(this).prev().removeClass("with_value").addClass("ac_input").addClass("initial_value");h(this).prev().val(h(this).closest(".autocomplete_container").find(".default_input_value").html());A.submitParamsForm();return false});h("input.clearonfocus",A).clearOnFocus();h("a.fc_button_this_week,a.fc_button_this_month",A).click(function(){if(h("select[name='year']",A).val(k.profile_stats_variables.current.year).length==0){h("<input type='hidden' name='year' />").appendTo(A).val(k.profile_stats_variables.current.year)}if(h(this).hasClass("fc_button_this_week")){h("select[name='split']",A).val("weekly");if(h("select[name='week']",A).val(k.profile_stats_variables.current.week).length==0){h("<input type='hidden' name='week' />").appendTo(A).val(k.profile_stats_variables.current.week)}h("a.fc_button_week",A).removeClass("selected")}else{h("select[name='split']",A).val("monthly");if(h("select[name='month']",A).val(k.profile_stats_variables.current.month).length==0){h("<input type='hidden' name='month' />").appendTo(A).val(k.profile_stats_variables.current.month)}h("a.fc_button_month",A).removeClass("selected")}A.submitParamsForm();return false});h("a.fc_button_split",A).click(function(){h("a.fc_button_split",A).removeClass("selected");h(this).addClass("selected");var B=h(this).attr("rel");h("select[name='split']",A).val(B);if(B=="monthly"){if(h("a.fc_button_this_month.selected",A).length>0){h("select[name='month']",A).val("");h("a.fc_button_this_month",A).removeClass("selected")}}if(B=="weekly"){if(h("a.fc_button_this_week.selected",A).length>0){h("select[name='week']",A).val("");h("a.fc_button_this_week",A).removeClass("selected")}}A.submitParamsForm();return false});e.ProfileStatsModuleInstance.buildGraphs();if(!(k.tablesorter_hidden_raw_parser)){h.tablesorter.addParser({id:"hidden_raw_parser",is:function(B){return false},format:function(C){var B=C.match(/<span.*<\/span>/gi);return B==null?0:h.tablesorter.formatFloat(B.join("").replace(/(<([^>]+)>)/ig,""))},type:"numeric"});k.tablesorter_hidden_raw_parser=true}h("#graphdata_detail div.table-stats table",z).tablesorter({headers:{0:{sorter:"hidden_raw_parser"},1:{sorter:"hidden_raw_parser"},2:{sorter:"hidden_raw_parser"},3:{sorter:"hidden_raw_parser"},4:{sorter:"hidden_raw_parser"},5:{sorter:"hidden_raw_parser"},6:{sorter:"hidden_raw_parser"},7:{sorter:"hidden_raw_parser"},8:{sorter:"hidden_raw_parser"}},sortList:[[0,1]]})}function s(z){if(e.ProfileStatsModuleInstance){b(z)}else{var A=k.profile_stats_bundle_sources;h.xLazyLoader({js:A.js,css:A.css,name:"profile_stats_bundle",success:function(){b(z)}})}}function g(z){u(z);if(e.init_kalendar_content){e.init_kalendar_content()}else{var A=k.kalendar_sources;h.xLazyLoader({js:A.js,css:A.css,name:"kalendar",success:function(){e.init_kalendar_content()}})}}function w(z){u(z);z.find("div.highlighted-carousel-container").carousel({btnNext:function(){return h(this).next(".btn-next")},btnPrev:function(){return h(this).prev(".btn-previous")},afterEnd:i,visible:5,start:function(A,B){return A-B},mouseWheel:!!h.fn.mousewheel,circular:false})}var i=function(E,z,F){if(z){var A=h(this),C=A.prev(".btn-previous");if(!C.isLoading()){var D=E.filter(":first");if(D.is(".last")){return}var B=A.siblings("a.remote").attr("href");B+=(B.indexOf("?")>=0?"&":"?")+"item="+D.find("a.username").attr("rel");h.ajax({button:C,container:A,url:B,cache:true,success:function(K){var J=h.trim(K);if(J){var G=h(J),M=G.find("li"),H=this.container.find("ul"),L=M.length;if(L){var I=G.find(".btn-previous");if(!I.length){M.filter(":first").addClass("last")}H.prepend(M);this.container.carousel("refresh",{start:L-1});return}}this.container.find("li:first").addClass("last");this.button.addClass("disabled")},complete:function(G){this.button.setLoading(false)}});C.setLoading()}}};var n={m:"month",w:"week",d:"day"},a={m:"monthly",w:"weekly",y:"yearly"};var t=function(z,J){var B=J.date,G=J.period.charAt(0),F=document;var I=F.getElementById("profile-calendar-tab"),H=I.getAttribute("href"),A={period:n[G]||"month",period_start:B.to_date_db()};I.setAttribute("href",h.param.querystring(H,A));var E=F.getElementById("profile-stats-tab"),C=E.getAttribute("href"),D={split:a[G]||"weekly",year:B.getFullYear(),month:B.getMonth()+1,week:B.getWeekNumber(user_preferences.week_start===0)};E.setAttribute("href",h.param.querystring(C,D))};h(e).bind(d.EVENTS.dates_changed,t)})(jQuery,Strands,globalVariables,this);function openLocationMap(){var a=$("#profile_location_maps div.active a.located").text();var b=[];b.push('<div class="modal-window sizeable">');b.push('<div class="title-bar"><div class="background-extension"><h2>');b.push(a);b.push("</h2></div></div>");b.push('<div class="content"><div class="background-extension">');b.push('<div id="div_location_map" class="loading" style="height:500px;width:680px;"></div>');b.push("</div></div>");b.push('<div class="footer-bar no-buttons"><div class="background-extension"></div></div>');b.push("</div>");$.fn.colorbox($.extend({html:b.join(""),open:true},globalVariables.thickboxSettings),bind(this,location_callback));return false}function location_callback(){var mapData=eval(this.name);var map=new GMap2(document.getElementById("div_location_map"));$("#detailsToggleMapType").toggle(function(){$(this).html("normal");map.setMapType(G_NORMAL_MAP)},function(){$(this).html("sat");map.setMapType(G_SATELLITE_MAP)},function(){$(this).html("hybrid");map.setMapType(G_HYBRID_MAP)},function(){$(this).html("rel");map.setMapType(G_PHYSICAL_MAP)});map.addControl(new GSmallMapControl());map.enableScrollWheelZoom();map.disableDoubleClickZoom();map.setMapType(G_PHYSICAL_MAP);map.setCenter(new GLatLng(mapData[0],mapData[1]),14);map.addOverlay(new GMarker(new GLatLng(mapData[0],mapData[1])))};
