function isdefined(a){return(typeof(window[a])=="undefined")?false:true}function showHide(a){jQuery("#"+a+"_hide").hide();jQuery("#"+a+"_show").show();jQuery("#"+a+"_show2").show();jQuery("#"+a+"_focus").focus()}function hideShow(a){jQuery("#"+a+"_show").hide();jQuery("#"+a+"_show2").hide();jQuery("#"+a+"_hide").show()}function uncheckRadioButtons(a){for(i=0;i<a.elements.length;i++){if(a.elements[i].type=="radio"){a.elements[i].checked=false}}}function email(b,a){document.write('<a href="mailto&#58;'+b+"&#64;"+a+'">'+b+"&#64;"+a+"</a>")}function getCookieVal(b){var a=document.cookie.indexOf(";",b);if(a==-1){a=document.cookie.length}return unescape(document.cookie.substring(b,a))}function getCookie(a){var f=a+"=";var d=f.length;var b=document.cookie.length;var e=0;while(e<b){var c=e+d;if(document.cookie.substring(e,c)==f){return getCookieVal(c)}e=document.cookie.indexOf(" ",e)+1;if(e===0){break}}return""}function getExpDate(b,a,d){var c=new Date();if(typeof b=="number"&&typeof a=="number"&&typeof d=="number"){c.setDate(c.getDate()+parseInt(b,10));c.setHours(c.getHours()+parseInt(a,10));c.setMinutes(c.getMinutes()+parseInt(d,10));return c.toGMTString()}}var jsen=getCookie("jsen");if(!jsen){document.cookie="jsen=1; path=/; expires="+getExpDate(3650,0,0);window.location.reload()}function clearSampleInput(a){a.target.value="";$(a.target).removeClass("form_sampleinput")}function setFormControlSampleInput(b,a){$(b).addClass("form_sampleinput").one("focus",clearSampleInput).get(0).value=a}var validators={email:function(b){var a=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(a.test(b)==false){return"Invalid e-mail address"}return null},password:function(a){if(a.length<5){return"Must be at least 5 characters long."}if(a.length>20){return"Cannot be longer than 20 characters."}return null},name:function(a){if(a.length>30){return"Cannot be longer than 30 characters."}return null},title:function(a){if(a.length>255){return"Cannot be longer than 255 characters."}return null},urlpart:function(a){if(a.length>24){return"Cannot be longer than 24 characters."}a=a.toLowerCase();var b=/^[0-9a-z_ ]+$/;if(!a.match(b)){return"Can only contain simple letters, numbers and underscores."}return null},exist:function(a){if(a.length==0){return"Required"}return null}};function doSuccess(a){setTimeout("doSuccess2('"+a.id+"')",100)}function doSuccess2(a){$("#"+a+"_div").removeClass("error");$("#"+a+"_div").addClass("success");$("#"+a+"_si").html("<span class=formsuccessmark>&#10003;</span>");$("#"+a+"_msg").html("");$("#"+a+"_msg").css("display","none");$("#"+a+"_hos").css("display","none")}function doError(b,a){$("#"+b.id+"_div").removeClass("success");$("#"+b.id+"_si").html("");$("#"+b.id+"_hos").css("display","inline");if(a){$("#"+b.id+"_msg").html("<span class=formfailuremark>!</span>"+a)}if(b.form.firstSubmitAttempted){$("#"+b.id+"_msg").css("display","block");$("#"+b.id+"_div").addClass("error")}else{$("#"+b.id+"_msg").css("display","none")}}function validateAndSubmitForm(a){if(!a.firstSubmitAttempted){a.firstSubmitAttempted=1;a.fieldsToValidateInThisForm.each(function(){if(this.needsValidationOnSubmit){validateFormField(this)}})}return checkWhetherFormIsValid(a)}function checkWhetherFormIsValid(c){var b=$("#"+c.id+" :submit").get(0);var a=true;$(b.form.fieldsToValidateInThisForm).each(function(){if(!this.valid){a=false}});return a}function formFieldIsEmpty(a){if(a.value==""){return true}if(a.validatetype=="richtext"){return false}return false}function validateFormField(b){if(b.validatetype=="submit"){return}if(b.id==""){console.log("validateFormField: form field "+b.name+" has no id; cannot validate");return}var c=validators[b.validatetype];if(!(c)){return true}var a=b.valid;if(formFieldIsEmpty(b)){if(b.isoptional){doSuccess(b);b.valid=true}else{doError(b,"Required field");b.valid=false}}else{var d=c(b.value);if(d==null){doSuccess(b);b.valid=true}else{doError(b,d);b.valid=false}}if(b.form.firstSubmitAttempted){b.needsValidationOnSubmit=false}if(b.valid!=a){checkWhetherFormIsValid(b.form)}return b.valid}function initFormValidation(){$("input[validatetype],textarea[validatetype]").each(function(){var d=this.attributes.validatetype.value;if(d=="submit"){var c=this;var b=c.form;if(b.id==""){console.log("initFormValidation: missing form id; cannot enable form validation");return}if(b.formValidationInitialized){return}b.formValidationInitialized=1;c.valid=true;c.needsValidationOnSubmit=false;b.fieldsToValidateInThisForm=$("#"+b.id+" input[validatetype],#"+b.id+" textarea[validatetype]");$(b).bind("submit",function(e){return validateAndSubmitForm(b)})}else{var a=false;if(this.attributes.optional&&(this.attributes.optional.value=="true")){a=true}this.validatetype=d;if(d=="richtext"){this.valid=true}else{if(!formFieldIsEmpty(this)){this.valid=true}else{this.valid=a}}this.needsValidationOnSubmit=true;this.isoptional=a;if(a){$("#"+this.id+"_hos").append(" (optional)")}if(d!="richtext"){$(this).bind("change",function(){validateFormField(this)})}}})}function requestfocus(a){pagefocus=a;setFocusToPageDefault()}function checkfocus(a){if(pagefocus!=null&&a==pagefocus){setFocusToPageDefault()}}function setfocus(b){if(!b){return}var d=b.substring(0,1);if(d!="."&&d!="#"){b="#"+b}var a=jQuery(b);if(a.size()>0){a.focus();focusAssigned=true}}var getDefaultFocus=null;function setFocusToPageDefault(){if(pagefocus==null){return}if(focusAssigned){return}if(pagefocus=="default"){setfocus(getDefaultFocus())}else{setfocus(pagefocus)}}getDefaultFocus=function(){var a=jQuery("#loginfield");if(a.size()>0){if(userhint!=null){return"password"}else{return"loginfield"}}else{return"mainsearchfield"}};$.fn.autoResize=function(b){var a=$.extend({onResize:function(){},animate:true,animateDuration:150,animateCallback:function(){},extraSpace:20,limit:1000},b);this.filter("textarea").each(function(){var d=$(this).css({resize:"none","overflow-y":"hidden"}),e=d.height(),c=(function(){var k=["height","width","lineHeight","textDecoration","letterSpacing"],h={};$.each(k,function(l,m){h[m]=d.css(m)});return d.clone().removeAttr("id").removeAttr("name").css({position:"absolute",top:0,left:-9999}).css(h).attr("tabIndex","-1").insertBefore(d)})(),g=null,f=function(){c.height(0).val($(this).val()).scrollTop(10000);var k=Math.max(c.scrollTop(),e)+a.extraSpace,h=$(this).add(c);if(g===k){return}g=k;if(k>=a.limit){$(this).css("overflow-y","");return}a.onResize.call(this);a.animate&&d.css("display")==="block"?h.stop().animate({height:k},a.animateDuration,a.animateCallback):h.height(k)};d.unbind(".dynSiz").bind("keyup.dynSiz",f).bind("keydown.dynSiz",f).bind("change.dynSiz",f)});return this};var allUIMenus=[];$.fn.menu=function(b){var c=this;var b=b;var a=new Menu(c,b);allUIMenus.push(a);$(this).mousedown(function(){if(!a.menuOpen){a.showLoading()}}).click(function(){if(a.menuOpen==false){a.showMenu()}else{a.kill()}return false})};function Menu(e,d){var c=this;var e=$(e);var b=$('<div class="fg-menu-container ui-widget ui-widget-content ui-corner-all">'+d.content+"</div>");this.menuOpen=false;this.menuExists=false;var d=jQuery.extend({content:null,width:180,maxHeight:180,positionOpts:{posX:"left",posY:"bottom",offsetX:0,offsetY:0,directionH:"right",directionV:"down",detectH:true,detectV:true,linkToFront:false},showSpeed:200,callerOnState:"ui-state-active",loadingState:"ui-state-loading",linkHover:"ui-state-hover",linkHoverSecondary:"li-hover",crossSpeed:200,crumbDefaultText:"Choose an option:",backLink:true,backLinkText:"Back",flyOut:false,flyOutOnState:"ui-state-default",nextMenuLink:"ui-icon-triangle-1-e",topLinkText:"All",nextCrumbLink:"ui-icon-carat-1-e",chooseItemCallback:function(f,g){$("#menuSelection").text($(f).text())}},d);var a=function(){$.each(allUIMenus,function(f){if(allUIMenus[f].menuOpen){allUIMenus[f].kill()}})};this.recreate=function(g,f){c.kill();e=g;b.remove();b.find("ul").html(f);c.create()};this.getCaller=function(){return e};this.kill=function(){e.removeClass(d.loadingState).removeClass("fg-menu-open").removeClass(d.callerOnState);b.find("li").removeClass(d.linkHoverSecondary).find("a").removeClass(d.linkHover);if(d.flyOutOnState){b.find("li a").removeClass(d.flyOutOnState)}if(d.callerOnState){e.removeClass(d.callerOnState)}if(b.is(".fg-menu-ipod")){c.resetDrilldownMenu()}if(b.is(".fg-menu-flyout")){c.resetFlyoutMenu()}b.parent().hide();c.menuOpen=false;$(document).unbind("click",a);$(document).unbind("keydown")};this.showLoading=function(){e.addClass(d.loadingState)};this.showMenu=function(){a();if(!c.menuExists){c.create()}e.addClass("fg-menu-open").addClass(d.callerOnState);b.parent().show().click(function(){c.kill();return false});b.hide().slideDown(d.showSpeed).find(".fg-menu:eq(0)");c.menuOpen=true;e.removeClass(d.loadingState);$(document).click(a);$(document).keydown(function(g){var h;if(g.which!=""){h=g.which}else{if(g.charCode!=""){h=g.charCode}else{if(g.keyCode!=""){h=g.keyCode}}}var f=($(g.target).parents("div").is(".fg-menu-flyout"))?"flyout":"ipod";switch(h){case 37:if(f=="flyout"){$(g.target).trigger("mouseout");if($("."+d.flyOutOnState).size()>0){$("."+d.flyOutOnState).trigger("mouseover")}}if(f=="ipod"){$(g.target).trigger("mouseout");if($(".fg-menu-footer").find("a").size()>0){$(".fg-menu-footer").find("a").trigger("click")}if($(".fg-menu-header").find("a").size()>0){$(".fg-menu-current-crumb").prev().find("a").trigger("click")}if($(".fg-menu-current").prev().is(".fg-menu-indicator")){$(".fg-menu-current").prev().trigger("mouseover")}}return false;break;case 38:if($(g.target).is("."+d.linkHover)){var l=$(g.target).parent().prev().find("a:eq(0)");if(l.size()>0){$(g.target).trigger("mouseout");l.trigger("mouseover")}}else{b.find("a:eq(0)").trigger("mouseover")}return false;break;case 39:if($(g.target).is(".fg-menu-indicator")){if(f=="flyout"){$(g.target).next().find("a:eq(0)").trigger("mouseover")}else{if(f=="ipod"){$(g.target).trigger("click");setTimeout(function(){$(g.target).next().find("a:eq(0)").trigger("mouseover")},d.crossSpeed)}}}return false;break;case 40:if($(g.target).is("."+d.linkHover)){var k=$(g.target).parent().next().find("a:eq(0)");if(k.size()>0){$(g.target).trigger("mouseout");k.trigger("mouseover")}}else{b.find("a:eq(0)").trigger("mouseover")}return false;break;case 27:a();break;case 13:if($(g.target).is(".fg-menu-indicator")&&f=="ipod"){$(g.target).trigger("click");setTimeout(function(){$(g.target).next().find("a:eq(0)").trigger("mouseover")},d.crossSpeed)}break}})};this.create=function(){b.css({width:d.width}).appendTo("body").find("ul:first").not(".fg-menu-breadcrumb").addClass("fg-menu");b.find("ul, li a").addClass("ui-corner-all");b.find("ul").attr("role","menu").eq(0).attr("aria-activedescendant","active-menuitem").attr("aria-labelledby",e.attr("id"));b.find("li").attr("role","menuitem");b.find("li:has(ul)").attr("aria-haspopup","true").find("ul").attr("aria-expanded","false");b.find("a").attr("tabindex","-1");if(b.find("ul").size()>1){if(d.flyOut){c.flyout(b,d)}else{c.drilldown(b,d)}}else{b.find("a").click(function(){c.chooseItem(this);return false})}if(d.linkHover){var f=b.find(".fg-menu li a");f.hover(function(){var g=$(this);$("."+d.linkHover).removeClass(d.linkHover).blur().parent().removeAttr("id");$(this).addClass(d.linkHover).focus().parent().attr("id","active-menuitem")},function(){$(this).removeClass(d.linkHover).blur().parent().removeAttr("id")})}if(d.linkHoverSecondary){b.find(".fg-menu li").hover(function(){$(this).siblings("li").removeClass(d.linkHoverSecondary);if(d.flyOutOnState){$(this).siblings("li").find("a").removeClass(d.flyOutOnState)}$(this).addClass(d.linkHoverSecondary)},function(){$(this).removeClass(d.linkHoverSecondary)})}c.setPosition(b,e,d);c.menuExists=true};this.chooseItem=function(f){c.kill();d.chooseItemCallback(f,d)}}Menu.prototype.flyout=function(c,b){var a=this;this.resetFlyoutMenu=function(){var d=c.find("ul ul");d.removeClass("ui-widget-content").hide()};c.addClass("fg-menu-flyout").find("li:has(ul)").each(function(){var f=c.width();var g,e;var d=$(this).find("ul");d.css({left:f,width:f}).hide();$(this).find("a:eq(0)").addClass("fg-menu-indicator").html("<span>"+$(this).find("a:eq(0)").text()+'</span><span class="ui-icon '+b.nextMenuLink+'"></span>').hover(function(){clearTimeout(e);var h=$(this).next();if(!fitVertical(h,$(this).offset().top)){h.css({top:"auto",bottom:0})}if(!fitHorizontal(h,$(this).offset().left+100)){h.css({left:"auto",right:f,"z-index":999})}g=setTimeout(function(){h.addClass("ui-widget-content").show(b.showSpeed).attr("aria-expanded","true")},300)},function(){clearTimeout(g);var h=$(this).next();e=setTimeout(function(){h.removeClass("ui-widget-content").hide(b.showSpeed).attr("aria-expanded","false")},400)});$(this).find("ul a").hover(function(){clearTimeout(e);if($(this).parents("ul").prev().is("a.fg-menu-indicator")){$(this).parents("ul").prev().addClass(b.flyOutOnState)}},function(){e=setTimeout(function(){d.hide(b.showSpeed);c.find(b.flyOutOnState).removeClass(b.flyOutOnState)},500)})});c.find("a").click(function(){a.chooseItem(this);return false})};Menu.prototype.drilldown=function(l,k){var g=this;var e=l.find(".fg-menu");var b=$('<ul class="fg-menu-breadcrumb ui-widget-header ui-corner-all ui-helper-clearfix"></ul>');var o=$('<li class="fg-menu-breadcrumb-text">'+k.crumbDefaultText+"</li>");var n=(k.backLink)?k.backLinkText:k.topLinkText;var m=(k.backLink)?"fg-menu-prev-list":"fg-menu-all-lists";var h=(k.backLink)?"ui-state-default ui-corner-all":"";var f=(k.backLink)?'<span class="ui-icon ui-icon-triangle-1-w"></span>':"";var d=$('<li class="'+m+'"><a href="#" class="'+h+'">'+f+n+"</a></li>");l.addClass("fg-menu-ipod");if(k.backLink){b.addClass("fg-menu-footer").appendTo(l).hide()}else{b.addClass("fg-menu-header").prependTo(l)}b.append(o);var c=function(p){if(p.height()>k.maxHeight){p.addClass("fg-menu-scroll")}p.css({height:k.maxHeight})};var a=function(p){p.removeClass("fg-menu-scroll").removeClass("fg-menu-current").height("auto")};this.resetDrilldownMenu=function(){$(".fg-menu-current").removeClass("fg-menu-current");e.animate({left:0},k.crossSpeed,function(){$(this).find("ul").each(function(){$(this).hide();a($(this))});e.addClass("fg-menu-current")});$(".fg-menu-all-lists").find("span").remove();b.empty().append(o);$(".fg-menu-footer").empty().hide();c(e)};e.addClass("fg-menu-content fg-menu-current ui-widget-content ui-helper-clearfix").css({width:l.width()}).find("ul").css({width:l.width(),left:l.width()}).addClass("ui-widget-content").hide();c(e);e.find("a").each(function(){if($(this).next().is("ul")){$(this).addClass("fg-menu-indicator").each(function(){$(this).html("<span>"+$(this).text()+'</span><span class="ui-icon '+k.nextMenuLink+'"></span>')}).click(function(){var w=$(this).next();var v=$(this).parents("ul:eq(0)");var u=(v.is(".fg-menu-content"))?0:parseFloat(e.css("left"));var t=Math.round(u-parseFloat(l.width()));var s=$(".fg-menu-footer");a(v);c(w);e.animate({left:t},k.crossSpeed);w.show().addClass("fg-menu-current").attr("aria-expanded","true");var q=function(z){var y=z;var A=$(".fg-menu-current");var x=A.parents("ul:eq(0)");A.hide().attr("aria-expanded","false");a(A);c(x);x.addClass("fg-menu-current").attr("aria-expanded","true");if(x.hasClass("fg-menu-content")){y.remove();s.hide()}};if(k.backLink){if(s.find("a").size()==0){s.show();$('<a href="#"><span class="ui-icon ui-icon-triangle-1-w"></span> <span>Back</span></a>').appendTo(s).click(function(){var x=$(this);var y=parseFloat(e.css("left"))+l.width();e.animate({left:y},k.crossSpeed,function(){q(x)});return false})}}else{if(b.find("li").size()==1){b.empty().append(d);d.find("a").click(function(){g.resetDrilldownMenu();return false})}$(".fg-menu-current-crumb").removeClass("fg-menu-current-crumb");var r=$(this).find("span:eq(0)").text();var p=$('<li class="fg-menu-current-crumb"><a href="javascript://" class="fg-menu-crumb">'+r+"</a></li>");p.appendTo(b).find("a").click(function(){if($(this).parent().is(".fg-menu-current-crumb")){g.chooseItem(this)}else{var x=-($(".fg-menu-current").parents("ul").size()-1)*180;e.animate({left:x},k.crossSpeed,function(){q()});$(this).parent().addClass("fg-menu-current-crumb").find("span").remove();$(this).parent().nextAll().remove()}return false});p.prev().append(' <span class="ui-icon '+k.nextCrumbLink+'"></span>')}return false})}else{$(this).click(function(){g.chooseItem(this);return false})}})};Menu.prototype.setPosition=function(l,h,k,g){var b=l;var f=h;var e={refX:f.offset().left,refY:f.offset().top,refW:f.getTotalWidth(),refH:f.getTotalHeight()};var k=k;var d,c;var a;if(g){a=b.parents(".positionHelper");a.css({position:"absolute",left:e.refX,top:e.refY,width:e.refW,height:e.refH})}else{a=$('<div class="positionHelper"></div>');a.css({position:"absolute",left:e.refX,top:e.refY,width:e.refW,height:e.refH});b.wrap(a)}switch(k.positionOpts.posX){case"left":d=0;break;case"center":d=e.refW/2;break;case"right":d=e.refW;break}switch(k.positionOpts.posY){case"top":c=0;break;case"center":c=e.refH/2;break;case"bottom":c=e.refH;break}d+=k.positionOpts.offsetX;c+=k.positionOpts.offsetY;if(k.positionOpts.directionV=="up"){b.css({top:"auto",bottom:c});if(k.positionOpts.detectV&&!fitVertical(b)){b.css({bottom:"auto",top:c})}}else{b.css({bottom:"auto",top:c});if(k.positionOpts.detectV&&!fitVertical(b)){b.css({top:"auto",bottom:c})}}if(k.positionOpts.directionH=="left"){b.css({left:"auto",right:d});if(k.positionOpts.detectH&&!fitHorizontal(b)){b.css({right:"auto",left:d})}}else{b.css({right:"auto",left:d});if(k.positionOpts.detectH&&!fitHorizontal(b)){b.css({left:"auto",right:d})}}if(k.positionOpts.linkToFront){f.clone().addClass("linkClone").css({position:"absolute",top:0,right:"auto",bottom:"auto",left:0,width:f.width(),height:f.height()}).insertAfter(b)}};function sortBigToSmall(d,c){return c-d}jQuery.fn.getTotalWidth=function(){return $(this).width()+parseInt($(this).css("paddingRight"))+parseInt($(this).css("paddingLeft"))+parseInt($(this).css("borderRightWidth"))+parseInt($(this).css("borderLeftWidth"))};jQuery.fn.getTotalHeight=function(){return $(this).height()+parseInt($(this).css("paddingTop"))+parseInt($(this).css("paddingBottom"))+parseInt($(this).css("borderTopWidth"))+parseInt($(this).css("borderBottomWidth"))};function getScrollTop(){return self.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop}function getScrollLeft(){return self.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft}function getWindowHeight(){var a=document.documentElement;return self.innerHeight||(a&&a.clientHeight)||document.body.clientHeight}function getWindowWidth(){var a=document.documentElement;return self.innerWidth||(a&&a.clientWidth)||document.body.clientWidth}function fitHorizontal(c,b){var a=parseInt(b)||$(c).offset().left;return(a+$(c).width()<=getWindowWidth()+getScrollLeft()&&a-getScrollLeft()>=0)}function fitVertical(b,a){var c=parseInt(a)||$(b).offset().top;return(c+$(b).height()<=getWindowHeight()+getScrollTop()&&c-getScrollTop()>=0)}Number.prototype.pxToEm=String.prototype.pxToEm=function(f){f=jQuery.extend({scope:"body",reverse:false},f);var e=(this=="")?0:parseFloat(this);var d;var c=function(){var g=document.documentElement;return self.innerWidth||(g&&g.clientWidth)||document.body.clientWidth};if(f.scope=="body"&&$.browser.msie&&(parseFloat($("body").css("font-size"))/c()).toFixed(1)>0){var a=function(){return(parseFloat($("body").css("font-size"))/c()).toFixed(3)*16};d=a()}else{d=parseFloat(jQuery(f.scope).css("font-size"))}var b=(f.reverse==true)?(e*d).toFixed(2)+"px":(e/d).toFixed(2)+"em";return b};(function(d){var a={put:function(g,h){(h||window).location.hash=encodeURIComponent(g)},get:function(g){var h=((g||window).location.hash).replace(/^#/,"");return d.browser.fx?h:decodeURIComponent(h)}};var f={id:"__jQuery_history",init:function(){var g='<iframe id="'+this.id+'" style="display:none" src="javascript:false;" />';d("body").prepend(g);return this},_document:function(){return d("#"+this.id)[0].contentWindow.document},put:function(g){var h=this._document();h.open();h.close();a.put(g,h)},get:function(){return a.get(this._document())}};var c={appState:undefined,callback:undefined,init:function(g){},check:function(){},load:function(g){}};d.history=c;var e={init:function(h){c.callback=h;var g=a.get();c.appState=g;c.callback(g);setInterval(c.check,100)},check:function(){var g=a.get();if(g!=c.appState){c.appState=g;c.callback(g)}},load:function(g){if(g!=c.appState){a.put(g);c.appState=g;c.callback(g)}},loadWithoutCallback:function(g){if(g!=c.appState){a.put(g);c.appState=g}},};var b={init:function(h){c.callback=h;var g=a.get();c.appState=g;f.init().put(g);c.callback(g);setInterval(c.check,100)},check:function(){var g=f.get();if(g!=c.appState){a.put(g);c.appState=g;c.callback(g)}},load:function(g){if(g!=c.appState){a.put(g);f.put(g);c.appState=g;c.callback(g)}},loadWithoutCallback:function(g){if(g!=c.appState){a.put(g);f.put(g);c.appState=g}},};if(d.browser.msie&&(d.browser.version<8||document.documentMode<8)){d.extend(c,b)}else{d.extend(c,e)}})(jQuery);jQuery.iTTabs={doTab:function(a){pressedKey=a.charCode||a.keyCode||-1;if(pressedKey==9){if(window.event){window.event.cancelBubble=true;window.event.returnValue=false}else{a.preventDefault();a.stopPropagation()}if(this.createTextRange){document.selection.createRange().text="\t";this.onblur=function(){this.focus();this.onblur=null}}else{if(this.setSelectionRange){start=this.selectionStart;end=this.selectionEnd;this.value=this.value.substring(0,start)+"\t"+this.value.substr(end);this.setSelectionRange(start+1,start+1);this.focus()}}return false}},destroy:function(){return this.each(function(){if(this.hasTabsEnabled&&this.hasTabsEnabled==true){jQuery(this).unbind("keydown",jQuery.iTTabs.doTab);this.hasTabsEnabled=false}})},build:function(){return this.each(function(){if(this.tagName=="TEXTAREA"&&(!this.hasTabsEnabled||this.hasTabsEnabled==false)){jQuery(this).bind("keydown",jQuery.iTTabs.doTab);this.hasTabsEnabled=true}})}};jQuery.fn.extend({EnableTabs:jQuery.iTTabs.build,DisableTabs:jQuery.iTTabs.destroy});if(!this.JSON){this.JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,_96=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,_97,_98={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function _99(_9a){_96.lastIndex=0;return _96.test(_9a)?'"'+_9a.replace(_96,function(a){var c=_98[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+_9a+'"'}function str(key,_9b){var i,k,v,_9c,_9d=gap,_9e,_9f=_9b[key];if(_9f&&typeof _9f==="object"&&typeof _9f.toJSON==="function"){_9f=_9f.toJSON(key)}if(typeof rep==="function"){_9f=rep.call(_9b,key,_9f)}switch(typeof _9f){case"string":return _99(_9f);case"number":return isFinite(_9f)?String(_9f):"null";case"boolean":case"null":return String(_9f);case"object":if(!_9f){return"null"}gap+=_97;_9e=[];if(Object.prototype.toString.apply(_9f)==="[object Array]"){_9c=_9f.length;for(i=0;i<_9c;i+=1){_9e[i]=str(i,_9f)||"null"}v=_9e.length===0?"[]":gap?"[\n"+gap+_9e.join(",\n"+gap)+"\n"+_9d+"]":"["+_9e.join(",")+"]";gap=_9d;return v}if(rep&&typeof rep==="object"){_9c=rep.length;for(i=0;i<_9c;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,_9f);if(v){_9e.push(_99(k)+(gap?": ":":")+v)}}}}else{for(k in _9f){if(Object.hasOwnProperty.call(_9f,k)){v=str(k,_9f);if(v){_9e.push(_99(k)+(gap?": ":":")+v)}}}}v=_9e.length===0?"{}":gap?"{\n"+gap+_9e.join(",\n"+gap)+"\n"+_9d+"}":"{"+_9e.join(",")+"}";gap=_9d;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(_a0,_a1,_a2){var i;gap="";_97="";if(typeof _a2==="number"){for(i=0;i<_a2;i+=1){_97+=" "}}else{if(typeof _a2==="string"){_97=_a2}}rep=_a1;if(_a1&&typeof _a1!=="function"&&(typeof _a1!=="object"||typeof _a1.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":_a0})}}if(typeof JSON.parse!=="function"){JSON.parse=function(_a3,_a4){var j;function _a5(_a6,key){var k,v,_a7=_a6[key];if(_a7&&typeof _a7==="object"){for(k in _a7){if(Object.hasOwnProperty.call(_a7,k)){v=_a5(_a7,k);if(v!==undefined){_a7[k]=v}else{delete _a7[k]}}}}return _a4.call(_a6,key,_a7)}_a3=String(_a3);cx.lastIndex=0;if(cx.test(_a3)){_a3=_a3.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(_a3.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+_a3+")");return typeof _a4==="function"?_a5({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());(function(w){var B={},A=/\{\{[\s]*?/g,q=/[\s]*?\}\}/g,p=/\{%[\s]*?/g,n=/[\s]*?%\}/g,m=new RegExp(A.source+"[\\w\\-\\.]+?"+q.source,"g"),l=new RegExp(p.source+"[\\w]+?(?:[ ]+?!?[\\w\\-\\.]*?)*?"+n.source,"g"),k=new RegExp(p.source+"end[\\w]*?"+n.source,"g"),u={"for":{expectsEndTag:true,render:function M(X){var W=this.args,V=this.subNodes,T=V.length,S=[],Y,R,Q,Z,P,a,U;if(W.length===3&&W[1]==="in"){R=W[0];Q=W[2];Z=N(Q,X);P=Z.length;for(Y=0;Y<P;Y++){U={};U[R]=Z[Y];U._index=Y;a=w.extend({},X,U);for(j=0;j<T;j++){S.push(V[j].render(a))}}return S.join("")}else{throw new L("Bad for tag syntax. Use {% for <item> in <array> %}")}}},"if":{expectsEndTag:true,render:function J(R){var Q=[],S=this.subNodes;var P=this.args[0];var a=true;if(P.charAt(0)=="!"){a=false;P=P.slice(1)}if(!!N(P,R)===a){w.each(S,function(T,U){Q.push(U.render(R))})}return Q.join("")}},},f={render:function(a){return this.text||""}},e={render:function(a){var P=a[this.name]===undefined?"":a[this.name];if(P===""&&this.name.search(/\./)!==-1){return N(this.name,a)}return d(P)}};function L(a){if(!(this instanceof L)){return new L(a)}this.message=a;return this}L.prototype=new SyntaxError();L.prototype.name="TemplateSyntaxError";var c=(function(){if("abc".split(/(b)/).length===3){return function a(Q,P){return String.prototype.split.call(Q,P)}}else{return function a(W,V){if(Object.prototype.toString.call(V)==="[object RegExp]"){var U=V.ignoreCase?new RegExp(V.source,"gi"):new RegExp(V.source,"g"),T,R="",Q=[],S,P=W.length;for(S=0;S<P;S++){R+=W.charAt(S);T=R.match(U);if(T!==null&&T.length>0){Q.push(R.replace(T[0],""));Q.push(T[0]);R=""}}if(R!==""){Q.push(R)}return Q}else{return String.prototype.split.call(W,V)}}}}());function x(a){return a.search(l)!==-1}function I(a){return a.search(k)!==-1}function H(a){return a.search(m)!==-1}function G(a){return a.replace(/^[\s]+/,"").replace(/[\s]+$/,"")}function d(a){if(a instanceof w){return F(a)}else{if(a!==null&&!E(a)&&typeof(a)==="object"){if(typeof(a.toHTML)==="function"){return d(a.toHTML())}else{return a.toString()}}else{return a}}}function N(S,Q){var P=c(S,"."),R=Q[P[0]],a;for(a=1;a<P.length;a++){if(R!==undefined){R=R[P[a]]}else{return""}}R=R===undefined?"":R;return d(R)}function F(a){return w(document.createElement("div")).append(a).html()}function D(P){if(P===undefined){return P}var a=function(){};a.prototype=P;return new a()}function C(){var a=[];w.each(B,function(P,Q){a.push([P,Q])});return a}function r(a){return typeof B[a]==="string"?B[a]:a}function E(a){return Object.prototype.toString.apply(a)==="[object Array]"}function o(a,P){return E(a)?w.each(a,P):P(0,a)}function v(a){return(function(P){var Q=[];for(i=0;i<P.length;i++){(function(R){return R===""?null:Q.push(R)}(P[i]))}return Q}(c(a,new RegExp("("+m.source+"|"+l.source+"|"+k.source+")"))))}function z(a){return a.slice(1)}function t(P,a){return a.concat([P])}function s(P){var a=D(e);a.name=G(P.replace(A,"").replace(q,""));return a}function b(P){var a=D(f);a.text=P;return a}function O(a){return(function(Q,R){var P=R[0];return R.length===0?[Q,[],true]:I(P)?[Q,z(R)]:H(P)?arguments.callee(t(s(P),Q),z(R)):x(P)?h(Q,R,arguments.callee):arguments.callee(t(b(P),Q),z(R))}([],a))}function g(a){return(function(Q,P){for(i=0;i<P.length;i++){(function(R){return R===""?null:Q.push(R)}(G(P[i])))}return Q}([],c(a.replace(p,"").replace(n,""),/[\s]+?/)))}function h(V,T,Q){var R=g(T[0]),P=R[0],a=z(R),U=D(u[P]),S;if(U===undefined){throw new L("Unknown Block Tag.")}U.args=a;T=z(T);if(U.expectsEndTag===true){S=O(T);if(S[2]!==undefined){throw new L("A block tag was expecting an ending tag but it was not found.")}U.subNodes=S[0];T=S[1]}V=t(U,V);return Q(V,T)}function y(R,Q){var P=r(R),a=[];o(Q,function(V,W){var U=O(v(P),W),T=U[0];if(U[1].length!==0){throw new L("An unexpected end tag was found.")}w.each(T,function S(X,Y){a.push(Y.render(W))})});return(function(S){return S.charAt(0)==="<"?w(S):S}(G(a.join(""))))}w.extend({tempest:function(){var a=arguments;if(a.length===0){return C()}else{if(a.length===2&&typeof(a[0])==="string"&&typeof(a[1])==="object"){return y(a[0],a[1])}else{if(a.length===1&&typeof(a[0])==="string"){return B[a[0]]}else{if(a.length===2&&typeof(a[0])==="string"&&typeof(a[1])==="string"){B[a[0]]=a[1].replace(/^\s+/g,"").replace(/\s+$/g,"").replace(/[\n\r]+/g,"");return B[a[0]]}else{throw new TypeError("jQuery.tempest can't handle the given arguments.")}}}}}});w.fn.tempest=function(){var a=Array.prototype.slice.call(arguments,0);var P=null;if(a.length==2&&typeof a[0]=="string"&&typeof a[1]=="object"){P=function(){w(this).html(w.tempest(a[0],a[1]))}}else{if(a.length==3&&typeof a[0]=="string"&&typeof a[1]=="string"&&typeof a[2]=="object"){P=function(){w(this)[a[0]](w.tempest(a[1],a[2]))}}else{throw new TypeError(["jQuery(selector).tempest was passed the wrong number or type","of arguments. Received "+a].join(" "))}}return this.each(P)};w.tempest.tags=u;if(window.testTempestPrivates===true){w.tempest._test={};function K(a,P){w.tempest._test[a]=P}K("isBlockTag",x);K("isEndTag",I);K("isVarTag",H);K("cleanVal",d);K("getValFromObj",N);K("jQueryToString",F);K("makeObj",D);K("storedTemplates",C);K("chooseTemplate",r);K("isArray",E);K("renderEach",o);K("tokenize",v);K("cdr",z);K("append",t);K("makeVarNode",s);K("makeTextNode",b);K("makeNodes",O);K("makeBits",g);K("makeBlockNode",h);K("renderToJQ",y);K("strip",G)}w(document).ready(function(){w(".tempest-template").each(function(a){B[w(this).attr("title")]=G((w(this).val()||w(this).html()).replace(/[\n\r]+/g," "));w(this).remove()})})}(jQuery));function jsonSuccessful(a){if(!a||a.success==false){alert("Failed: "+a.message);return false}return true}var ajaxHasBeenInitialized=false;var globalSpinner;function initAjax(){if(ajaxHasBeenInitialized){return}ajaxHasBeenInitialized=true;globalSpinner=$('<div class="ajaxspinner_outer"><img src="/images/spinner.gif" class="ajaxspinner" /></div>');globalSpinner.prependTo("#globalspinner").hide();$.ajaxSetup({url:"/tasks/master.ax",cache:false,type:"POST",dataType:"json",error:function(c,b,a){alert("AJAX error: "+(a?a:c.status+" "+b));document.reload()},})}function showSpinner(a){globalSpinner.show();if(!a){return{remove:function(){globalSpinner.hide()}}}if(a.hasClass("fg-button")){a.addClass("ui-state-loading");return{remove:function(){a.removeClass("ui-state-loading");globalSpinner.hide()}}}var b=[];a.each(function(){var f=$(this);var e=$('<div class="ajaxspinner_outer"><img src="/images/spinner.gif" class="ajaxspinner" /></div>');b[b.length]=e;e.prependTo(f);if(f.outerHeight()>0){var d=f.offset();var c=$("<div />").addClass("ajax-spinner-overlay").css({width:f.width(),height:f.outerHeight(),top:d.top,left:d.left,}).appendTo(e)}});return{remove:function(){for(var c=0;c<b.length;c++){b[c].remove()}globalSpinner.hide()}};return spinner}function hideSpinner(a){globalSpinner.hide();a.find("div.ajaxspinner_outer").remove()}var fgbuttonsInitialized=false;function initFGButtons(){if(fgbuttonsInitialized){return}fgbuttonsInitialized=true;$(".ui-state-default:not(.ui-state-disabled), .icon-button").live("mouseenter",function(){$(this).addClass("ui-state-hover")}).live("mouseleave",function(){$(this).removeClass("ui-state-hover")}).live("mousedown",function(){var a=$(this);a.parents(".fg-buttonset-single:first").find(".fg-button.ui-state-active").removeClass("ui-state-active");if(a.is(".ui-state-active.fg-button-toggleable, .fg-buttonset-multi .ui-state-active")){a.removeClass("ui-state-active")}else{a.addClass("ui-state-active")}}).live("mouseup",function(){var a=$(this);if(!a.is(".fg-button-toggleable, .fg-buttonset-single .fg-button,  .fg-buttonset-multi .fg-button")){a.removeClass("ui-state-active")}})}function createContextMenu(g,e,f){var d;var c;return{showMenu:function(m,l){d=l;var k=b(d);if(!k){return}if(!c){c=a(m,k)}else{c.recreate(m,k)}c.showMenu()}};function a(l,k){var o='<ul id="'+g+'">'+k+"</ul>";var m={content:o,flyOut:true,showSpeed:100,crossSpeed:100,chooseItemCallback:function(s,r){var q=$(s).attr("action");var p=c.getCaller();if(f.hasOwnProperty(q)){f[q](d,p)}else{alert("unknown action: "+q)}}};var n=new Menu(l,m);allUIMenus.push(n);return n}function b(){var k=e(d);if(!k||k.length==0){return null}return h(k)}function h(o){var k=[];var n=false;var l;for(l=0;l<o.length;l++){var m=o[l];if(m){if(n){k[k.length]='<li class="divider"><a href="#" action="';n=false}else{k[k.length]='<li><a href="#" action="'}k[k.length]=m[1];k[k.length]='">';k[k.length]=m[0];k[k.length]="</a></li>"}else{n=true}}return k.join("")}}function dump(a,h,f){if(!h){h=1}if(f>=h){return""}var e="";if(!f){f=0}var d="";for(var c=0;c<f+1;c++){d+="    "}if(typeof(a)=="object"){for(var g in a){var b=a[g];if(typeof(b)=="object"){e+=d+"'"+g+"' ...\n";e+=dump(b,h,f+1)}else{e+=d+"'"+g+"' => \""+b+'"\n'}}}else{e="===>"+a+"<===("+typeof(a)+")"}return e}var initExpandablesDone=false;function setupExpandables(){if(initExpandablesDone){return}initExpandablesDone=true;enableExpandables($(document))}function enableExpandables(a){a.find(".expandable").each(function(){var b=$(this).find("> .expandlink");var d=$(this).find("> .expandcontent");var c=b.attr("setfocus");b.bind("click",function(){b.hide();d.show();setfocus(c);return false});d.find("> a.hideexpandable").bind("click",function(){d.hide();b.show()}).hover(function(){d.addClass("expandcontent-hoverclose")},function(){d.removeClass("expandcontent-hoverclose")})})}function getURLAnchor(){var b=new String(window.location);var a=b.lastIndexOf("#");if(a==-1){return""}return b.substring(a)}function supportGeneratedURLs(){var a=getURLAnchor();if(a!=""){$("a.generatedurl").each(function(){this.href=this.href+a})}}Function.prototype.method=function(a,b){if(!this.prototype[a]){this.prototype[a]=b;return this}};String.method("trim",function(){return this.replace(/^\s+|\s+$/g,"")});Number.method("integer",function(){return Math[this<0?"ceil":"floor"](this)});function makeClosable(b,a){if(!b||b.size()==0){return}var c=$('<a href="#" class="closeicon icon-button ui-icon ui-icon-close ui-state-default"></a>');b.prepend(c);c.bind("click",function(){if(a){a(b)}})}function initNotesView(){setupExpandables();autosizeNotes(16*5)}function popupTextEditor(b,a,n,m,l){var k=$("<div></div>");k.attr("title",b);var e=$($.tempest("simpletexteditor"));e.find(".editorlabel").text(a);var c=e;var h=c.find("input.inlineedit");setFieldWithSilentDefault(h,a,m);k.append(e);var g=n.offset();var d=$("body");var f=[g.left-d.scrollLeft(),g.top-d.scrollTop()];c.bind("submit",function(){var o=h[0].value;k.dialog("close");try{l(o)}catch(p){}return false});k.dialog({modal:true,closeOnEscape:true,position:f,width:240,open:function(){h.focus().select()}});return false}var reassignPrototypeLabels=(function(){var a=1;return function(b){try{b.find("label").each(function(){var e=b.find("#"+this.htmlFor);var d="prtun"+a;a=a+1;e[0].id=d;this.htmlFor=d})}catch(c){}}})();function autosizeNote(f,e,d){if(f.hasClass("autosized")){return}var c=f.height();if(c==0){return}f.addClass("autosized");if(c<=e+8){return}f.addClass("resizablenote_active");f.after(d);f.height(e);var a=f.siblings("a.upsizenote");var b=f.siblings("a.downsizenote");a.css("display","block");a.bind("click",function(g){f.height("auto");a.hide();b.css("display","block");return false}).hover(function(){f.addClass("resizablenote_resizehover")},function(){f.removeClass("resizablenote_resizehover")});b.bind("click",function(g){f.height(e);b.hide();a.css("display","block");return false}).hover(function(){f.addClass("resizablenote_resizehover")},function(){f.removeClass("resizablenote_resizehover")})}function resizeNote(a,c){var b=a.find(".resizablenote");if(b.hasClass("autosized")){b.siblings("a.upsizenote, a.downsizenote").remove();b.height("auto");b.removeClass("autosized").removeClass("resizablenote_active")}autosizeNote(b,c,notesResizeLinksHTML)}var notesResizeLinksHTML='<a class="upsizenote" href=""><div style="float:left;">&or;</div><div style="float:right;">&or;</div><div style="text-align:center;">&or;</div></a><a class="downsizenote" href=""><div style="float:left;">&and;</div><div style="float:right;">&and;</div><div style="text-align:center;">&and;</div></a>';function autosizeNotes(d,a){var c=(a)?a.find(".resizablenote"):$(".resizablenote");var b;if(!a){b=$("ul.toptaskbranch")}else{if(a.hasClass("toptaskbranch")){b=a}else{b=a.find("ul.toptaskbranch")}}if(b.size()==1){if(b.children().size()==1){return}}c.each(function(){autosizeNote($(this),d,notesResizeLinksHTML)})}function autosizeSets(b){var a=$(".resizableset");if(a.size()<=1){return}var c='<a class="upsizenote resizableset_resizelink" href=""><div style="float:left;">&or;</div><div style="float:right;">&or;</div><div style="text-align:center;">show all</div></a><a class="downsizenote resizableset_resizelink" href=""><div style="float:left;">&and;</div><div style="float:right;">&and;</div><div style="text-align:center;">&and;</div></a>';a.each(function(){autosizeNote($(this),b,c)})}var currentSearchResultsSelection;function initSearchResults(){selectSearchResults("all");$("#searchresultstabs").show()}function selectSearchResults(a){if(a==currentSearchResultsSelection){return}if(a!="notes"&&a!="tasks"){a="all"}$("#srt_"+currentSearchResultsSelection).hide();$("#srt_"+a).show();currentSearchResultsSelection=a;if(a=="notes"){$("#searchnotescolumn").width(700).css("float","left").show();$("#searchtaskscolumn").hide()}else{if(a=="tasks"){$("#searchnotescolumn").hide();$("#searchtaskscolumn").width(700).css("float","left").show()}else{$("#searchnotescolumn").width("48%").css("float","left").show();$("#searchtaskscolumn").width("48%").css("float","right").show()}}return false}function initSearchTasks(){initAjax();var b={};b.enableDragAndDrop=false;b.searchview={activateTasks:function(d){d.find(".planningviewonly").hide()}};createTasksAjaxClient(b);createTasksAjaxServer("search",b);var a=$("#searchquery").text();var c=$("<span>Searching tasks...</span>");c.css("color","#999").appendTo("#tasksearchresults");b.server.pageinitSearch(a);setPageURL=createSetPageURLFunction(function(d){if(d.substring(0,4)=="note"){return}if(d.substring(0,5)=="focus"){b.server.setViewID(d)}})}function createEditableTaskNote(k,h,g,f){var e=k.find(".tasknote_outer");var d;var c;d=$($.tempest("edittasknote"));c=$('<textarea name="notes" wrap="virtual" />');d.prepend(c);var b=e.find(".tasknote");b.hide();h.append(d);setFieldWithSilentDefault(c,"Add notes to this task",g);c.autoResize({animate:false,extraSpace:17}).trigger("change");var a=d.find("a");a.bind("click",function(){f();return false});c.bind("keypress",function(l){if(l.metaKey&&l.which==13){c.blur();f();return false}return true});return{setNotes:function(l){if(l){b.show()}else{b.empty()}},getNotesAndClose:function(){if(!d){return null}var l=c.attr("value").trim();d.remove();return l},}}$("input.hasSilentDefault, textarea.hasSilentDefault").live("focus",function(b){var a=$(this).attr("silentdefault");if(a){if(this.value==a){this.value="";$(this).removeClass("silent-default")}}return true}).live("blur",function(b){var a=$(this).attr("silentdefault");if(a){if(this.value){$(this).removeClass("silent-default")}else{this.value=a;$(this).addClass("silent-default")}}return true});function setFieldWithSilentDefault(c,b,a){c=$(c.get(0));if(!b){if(a||a===""){c.initialValue(a)}return}c.addClass("hasSilentDefault");c.parents("form").bind("submit",function(e){var d=c.attr("silentdefault");if(d){if(c.val()==d){c.val("");c.removeClass("silent-default")}}return true});c.attr("silentdefault",b);if(a||a===""){c.val(a)}if(!c.val()){c.val(b);c.addClass("silent-default")}}function createTasksAjaxClient(m){var r=[];var n={addAPI:function(y,x){r[r.length]=y;n[y]=x},handleJSONResponse:function(A){if(!jsonSuccessful(A)){location.reload();return}A=A.ops;for(var z=0;z<A.length/2;z++){var y=A[z*2];var x=A[z*2+1];n[y](x)}}};m.client=n;n.addAPI("alert",function(x){alert(x)});n.addAPI("browserRedirect",function(x){setPageURL(x)});n.addAPI("browserReload",function(){window.location.reload()});n.addAPI("listProjects",function(x){m.projectsfgmenu=x.fgmenu;k.list(x.projects)});var s;(function(){s=function(G){var F={};var E=D(G);var H=E.find(".tasklogical");F.getListItemWS=function(){return E};return F};function D(F){var E=$.tempest("task",{task:F,canbecompleted:F.canbecompleted});E.find(".tasktarget").data("task",F);if(!m.enableDragAndDrop){E.find(".taskdraggable a.focusontask").attr("title","Click to focus on this task (drag disabled in this page)")}A(E,F);C(E,F);if(F.cost){E.find(".cost").text(F.cost);E.find(".subtle").removeClass("subtle")}B(E,F);z(E,F);y(E,F);return E}function x(E,F){if(!E.id){return}$(".tasklogical[taskid="+E.id+"]").each(function(){var H=$(this);var G=H.data("task");G=$.extend(G,E);H.data("task",G);F(H,G)})}n.addAPI("setTaskCanBeCompleted",function(E){x(E,function(G,F){A(G,F)})});n.addAPI("setTaskIsProject",function(E){x(E,function(F,G){y(F,G)})});n.addAPI("setTaskNameNotes",function(E){x(E,function(F,G){F.find(".taskname_outer").html(G.namelink);C(F,G);H(F);function H(I){resizeNote(I,17*3)}})});n.addAPI("setTaskProjects",function(E){x(E,function(G,F){z(G,F)})});n.addAPI("setTaskTimeframe",function(E){x(E,function(F,G){B(F,G)})});function y(E,F){if(!E.hasClass("tasklogical")){E=E.find(".tasklogical")}if(F.isproject){E.addClass("isproject");E.find(".isprojectlabel").show()}else{E.removeClass("isproject");E.find(".isprojectlabel").hide()}}function C(F,G){var E=F.find(".tasknote");if(G.notes){E.css("display","block");E.html(G.notes)}else{E.hide()}}function B(F,G){var I=G.timeframe;var E=F.find(".edittimeframelink");E.text(I.description);if(I.id=="asap"){E.addClass("subtle")}else{E.removeClass("subtle")}var H=E.parents(".tasklogical");if(G.active==-1){H.addClass("isoverdue")}else{H.removeClass("isoverdue")}if(G.active==0){H.addClass("isinactive")}else{H.removeClass("isinactive")}}function A(E,F){if(F.canbecompleted){E.find(".canbecompleted").show();E.find(".cantbecompleted").hide()}else{E.find(".canbecompleted").hide();E.find(".cantbecompleted").show()}}function z(L,H){L=L.find(".taskprojects");var I=H.projects;var F={};if(I&&I.length>0){var G=['[<ul class="projectpaths">'];for(var K=0;K<I.length;K++){var M=I[K];G[G.length]="<li><ul>";for(var J=0;J<M.length;J++){var E=M[J];if(!F[E.id]){G[G.length]='<li><a class="focusontask tasktarget" taskid="';G[G.length]=E.id;G[G.length]='" href="#focus';G[G.length]=E.id;G[G.length]='" title="Focus on this project">';G[G.length]=E.name;G[G.length]="</a></li>"}F[E.id]=true}G[G.length]="</ul></li>"}G[G.length]="</ul>]";G[G.length]='<a href="#" class="edittaskprojects subtle">(edit)</a>';L.html(G.join(""))}else{if(H.projectsedit&&H.projectsedit.length>0){L.html('<a href="#" class="edittaskprojects subtle">(edit projects)</a>')}else{L.html('<a href="#" class="edittaskprojects subtle">(assign to a project)</a>')}}}})();function f(y){var x=y.attr("taskid");if(!x){return}if(m.viewSelect){m.viewSelect.assignNextAction(x)}}function c(x,z){var y=x.attr("taskid");if(!y){return}if(m.currentview&&y==m.currentview.focusTaskId){return}$("body").scrollTop(0);m.server.focusOnTask(y,z)}function h(x){g("deleteTask",x)}function g(B,y){var A=e(y);if(!A){return}var z=x(y);m.server[B](A,z);function x(E){var D=E.parents("li.tasklistitem");var C;if(D.hasClass("expandable")){C=true}else{C=false;p(D)}return C}}function o(z,y){var x=z.attr("taskid");if(!x){return}m.server.setTaskIsProject(x,y)}makeClosable($("#taskbubble"),function(x){x.find("ul.listing").empty()});$(".tasklogical").live("mouseenter",function(){if(!dragIsActive()){$(this).addClass("task_hover")}}).live("mouseleave",function(){if(!dragIsActive()){$(this).removeClass("task_hover")}});$("#tasksajax .tasktarget a.focusontask").live("click",function(y){var z=$(this);if(z.parents(".taskdraggable").size()>0){preventDragging=true}y.stopPropagation();var x=z;if(!x.hasClass("tasktarget")){x=z.parents(".tasktarget")}c(x,false);return false});$("li.expandable a.expandactionlink").live("click",function(){var x=$(this);var y=x.data("branch");y.toggle();x.toggleClass("expandactiondown");if(!y.is(":hidden")){q(x.parents("li.expandable"));y.addClass("taskbranch_collapsehover")}return false}).live("mouseenter",function(){var x=$(this).data("branch");if(x&&!x.is(":hidden")){x.addClass("taskbranch_collapsehover")}}).live("mouseleave",function(){var x=$(this).data("branch");if(x&&!x.is(":hidden")){x.removeClass("taskbranch_collapsehover")}});$(".expandcontract a.expandalllink").live("click",function(y){var x=$(this).parents(".tasksview");x.find("a.expandactionlink").addClass("expandactiondown").each(function(){$(this).data("branch").show()});q(x);return false});$(".expandcontract a.collapsealllink").live("click",function(y){var x=$(this).parents(".tasksview");x.find("a.expandactionlink").removeClass("expandactiondown").each(function(){$(this).data("branch").hide()});return false});$(".tasksview a.taskname").live("click",function(){var B=$(this).parents(".taskname_outer");B.css("overflow-x","visible");var A=B.empty();var y=B.parents(".tasktarget");var z=y.data("task");var x=$.tempest("edittaskname",{});var D=x.find("input.inlineedit");setFieldWithSilentDefault(D,"Task name",z.nameunicode);x.prependTo(B);D.focus();var C=createEditableTaskNote(y,B.find("form"),z.notesunicode,function(){x.submit()});x.bind("submit",function(){var G=D[0].value;x.remove();var F=C.getNotesAndClose();if(!F){z.notes=null;z.notesunicode=null}if(G==z.nameunicode||G==""){B.append(z.namelink)}else{if(G.indexOf("&")==-1&&G.indexOf("http:")==-1){$('<a href="#" class="taskname"></a>').text(G).appendTo(B)}}if((G!=z.nameunicode&&G!="")||F!=z.notesunicode){m.server.setTaskNameNotes(z,G,F)}else{if(z.notes){var E=y.find(".tasknote");E.show()}}return false});return false});$(".tasksview a.edittaskcost").live("click",function(){var y=$(this);var x=y.parents(".tasktarget").data("task");var z=y.parents(".taskcost_outer");popupTextEditor("Edit time estimate for: "+x.name,"Time estimate:",$(event.target),x.cost,function(A){if(A){z.find(".cost").text(A);x.cost=A;z.removeClass("subtle")}else{z.find(".cost").text("?");x.cost="";z.addClass("subtle")}m.server.setTaskCost(x,A)})});$("#closefocustask").bind("click",function(){m.server.unfocus()});$("input.completeaction").live("change",function(x){if(m.currentview.scopeTimeframe.id=="completed"){x.stopPropagation();m.server.saveTaskCompleted(e($(this)),this.checked);return}if(!this.checked){return}x.stopPropagation();g("completeTask",$(this))});$("a.edittaskprojects").live("click",function(){var F=false;var G=$(this);var E=G.parents(".taskprojects");var x=E.parents(".tasklogical").data("task");E.hide();var D=$('<div class="assignprojectgroup ui-widget"><div class="projectslabel">Projects:&nbsp;</div></div>');var C=$("<div />");D.append(C);var B=$('<a href="#" class="assignprojectbutton fg-button fg-button-icon-right ui-state-default ui-corner-all noproject"><span class="ui-icon ui-icon-triangle-1-s"></span>Assign to a project</a>');D.append(B);var A=$('<a href="#" class="okbutton fg-button fg-button-left ui-state-default ui-corner-all">OK</a>');A.bind("click",function(){D.remove();E.show();if(F){m.server.refreshView()}return false});D.append(A);D.append('<div style="clear: both;" />');E.before(D);if(x.projectsedit&&x.projectsedit.length>0){z(x)}else{y();B.trigger("click")}return false;function y(){B.menu({content:m.projectsfgmenu,flyOut:true,showSpeed:100,crossSpeed:100,chooseItemCallback:function(J,I){var H=$(J).attr("projectid");E.addClass("subtle");F=true;m.server.assignProject(x.id,H,B,function(K){E.removeClass("subtle");if(K.setTaskProjects){z(K.setTaskProjects)}})}})}function z(I){var L=I.projectsedit;var K;C.empty();if(L){for(var J=0;J<L.length;J++){var H=L[J];if(H.dependid){K=$('<a href="#" class="unassignproject fg-button fg-button-icon-right ui-state-default ui-corner-all"><span class="ui-icon ui-icon-close"></span><span class="projectname"></span></a>');K.bind("click",{dependid:H.dependid},function(M){$(this).remove();E.addClass("subtle");F=true;m.server.unassignProject(I.id,M.data.dependid,function(N){E.removeClass("subtle");if(N.setTaskProjects){z(N.setTaskProjects)}});return false})}else{K=$('<button class="staticproject fg-button fg-button-style ui-state-default ui-state-disabled ui-corner-all"><span class="projectname"></span></button>')}K.find("span.projectname").html(H.name);C.append(K)}}y()}});var k=(function(){var x={};x.list=function(C){var B=$("#projects-sidebox-content");if(B.size()==0){return}if(C.length==0){B.text("No projects.")}else{var A=t(C,z,1);B.html(A);y(A)}};return x;function z(A){var B=$.tempest("projectlink",{task:A});return B}function y(A){setupTaskDragAndDrop(A,w)}})();$("#addprojectbutton").bind("click",function(){var A=$(this);A.hide();var x=$($.tempest("newproject"));var z=x.find("form");var y=z.find("input.inlineedit");setFieldWithSilentDefault(y,"Project name","");z.bind("submit",function(){var B=y[0].value;x.remove();A.show();if(B!=""){m.server.addProject(B)}return false});$("#projects-sidebox-content ul.toptaskbranch").prepend(x);y.focus();return false});$("#tasksajax a.edittimeframelink").live("click",function(z){var y=$(this);var x=y.parents(".tasklogical").data("task");v({setTimeframeCallback:function(A,C,B){m.server.setTaskTimeframe(x,A,C,B)},dialogTitle:x.name,timeframe:x.timeframe,});return false});function v(z){z=$.extend({startPickerLabel:"Start",duePickerLabel:"Due",nowConstrained:true,isViewTimeframe:false,},z);var y=$("<div></div>");y.attr("title",z.dialogTitle);y.append($.tempest("edittimeframe",z));var x=y.find(".timeframedialog");var L;function M(N){L=N;x.find("li").removeClass("current");x.find("a[timeframeid]").each(function(){var O=$(this);var P=O.attr("timeframeid");if(P==N){O.parents("li").addClass("current")}})}M(z.timeframe.id);var J=(function(){var Q=x.find(".startdatepicker");var P=Q.find(".datepicker");var O=null;var N=null;if(z.timeframe.start){O=$.datepicker.formatDate("yy-mm-dd",new Date(z.timeframe.start));N=O}return{getSelectedDate:function(){return O},hasChanged:function(){return(N!=O)},open:function(){var R={changeMonth:true,changeYear:true,showOtherMonths:true,selectOtherMonths:true,dateFormat:"yy-mm-dd",onSelect:function(S){O=S;if(!G(L).due){E()}else{B(S);K.setMinDate(O)}}};if(z.nowConstrained){R.minDate=0}if(z.timeframe.start){R.defaultDate=new Date(z.timeframe.start);K.setMinDate(R.defaultDate)}I();Q.show();P.datepicker(R)},close:function(){Q.hide();O=null}}})();var K=(function(){var Q=x.find(".duedatepicker");var P=Q.find(".datepicker");var O=null;var N=0;if(z.timeframe.due){O=$.datepicker.formatDate("yy-mm-dd",new Date(z.timeframe.due))}return{setMinDate:function(R){N=R;P.datepicker("option","minDate",N);var S=P.datepicker("getDate");if(S){O=$.datepicker.formatDate("yy-mm-dd",S);A(O)}},getSelectedDate:function(){return O},open:function(){var R={changeMonth:true,changeYear:true,showOtherMonths:true,selectOtherMonths:true,dateFormat:"yy-mm-dd",onSelect:function(S){O=S;E()}};if(N||z.nowConstrained){R.minDate=N}if(z.timeframe.due){R.defaultDate=new Date(z.timeframe.due)}I();Q.show();P.datepicker(R)},close:function(){Q.hide();O=null}}})();function I(){var N=y.dialog("option","width");if(N<480){y.dialog("option","width",480);y.dialog("option","position",y.dialog("option","position"))}}function E(){var O=J.getSelectedDate();var N=K.getSelectedDate();if(L=="todo_on"){O=N}y.dialog("close");z.setTimeframeCallback(L,O,N)}x.find("a[timeframeid]").each(function(){var O=$(this);var N=O.attr("timeframeid");O.find("span.startdatepickerlink").text(""+z.timeframe.startDescription);O.find("span.duedatepickerlink").text(""+z.timeframe.dueDescription);O.bind("click",function(){M(N);var P=G(N);if(!P.start&&!P.due){y.dialog("close");if(z.timeframe.id!=N){z.setTimeframeCallback(N)}return false}if(P.start){J.open()}else{J.close()}if(P.due){K.open()}else{K.close()}return false})});x.find("a.okbutton").bind("click",function(){if(L!=z.timeframe.id||(G(L).start&&J.hasChanged())){E()}else{y.dialog("close")}return false});var F=$(event.target).offset();var H=$("body");var D=[F.left-H.scrollLeft(),F.top-H.scrollTop()];var C=G(L);y.dialog({modal:true,closeOnEscape:true,position:D,width:(C.start||C.due)?480:260,open:function(){if(C.start){J.open()}if(C.due){K.open()}}});function B(O){var N=$.datepicker.parseDate("yy-mm-dd",O);O=$.datepicker.formatDate("M d",N);x.find("span.startdatepickerlink").text(O)}function A(O){var N=$.datepicker.parseDate("yy-mm-dd",O);O=$.datepicker.formatDate("M d",N);x.find("span.duedatepickerlink").text(O)}function G(N){return{start:(N=="due_between"||N=="todo_after"),due:(N=="todo_on"||N=="due_by"||N=="due_between")}}return false}(function(){$(".taskdraggable, .taskname").live("contextmenu",function(){var z=$(this);var y=z.parents(".tasklogical").data("task");x.showMenu(z,y);return false});var x=createContextMenu("taskContextMenu",function(z){var y=[["Focus on this task","focus"]];y[y.length]=null;if(z.isproject){y[y.length]=["Convert from project to task","noproject"]}else{y[y.length]=["Convert to project","project"]}if(m.currentview&&m.currentview.viewMode=="execution"&&z.active!=0){y[y.length]=["Make this the Next Action","nextaction"]}y[y.length]=null;y[y.length]=["Delete task","delete"];return y},{focus:function(y,A){var z=A.parents(".tasklogical");c(z)},"delete":function(y,A){var z=A.parents(".tasklogical");h(z)},nextaction:function(y,z){var A=z.parents(".tasklogical");f(A)},project:function(y,A){var z=A.parents(".tasklogical");o(z,true)},noproject:function(y,A){var z=A.parents(".tasklogical");o(z,false)}})})();n.addAPI("listSearchResults",function(z){var B=z.tasks;if(B.length==0){$("#tasksearchresults").html("No matching tasks found.");return}var C=$("<ul />");d(B);for(var A=0;A<B.length;A++){var y=B[A];var x=s(y);C.append(x.getListItemWS())}$("#tasksearchresults").html(C);b(C)});if($("#mainview").size()>0){(function(){$("#addtaskbutton").bind("click",function(){var J=$(this);J.hide();var I=$($.tempest("newtask"));var H=I.find(".tasklogical");makeClosable(H,function(){F()});function F(){J.show();I.remove()}var E=I.find(".taskname_outer");var D=$.tempest("edittaskname",{});var C=D.find("input.inlineedit");setFieldWithSilentDefault(C,"Task name","");D.prependTo(E);var G=createEditableTaskNote(I,D,null,function(){D.submit()});D.bind("submit",function(){var L=C[0].value;var K=G.getNotesAndClose();F();if(L!=""){m.server.addTask(m.currentview,L,K,J)}return false});m.mainview.find(".viewcontent").prepend(I);C.focus();return false});n.addAPI("addTask",function(D){u(D);var C=s(D).getListItemWS();C.hide();var E=m.mainview.find("ul.toptaskbranch");if(E.size()==0){y();E=$('<ul class="toptaskbranch" />');m.mainview.find(".viewcontent").html(E)}E.prepend(C);C.fadeIn(300);b(C)});n.addAPI("listCompletedView",function(D){m.mainview.find(".expandcontract").hide();if(D.length==0){x();return}y();d(D);var F=$('<ul class="toptaskbranch">');for(var E=0;E<D.length;E++){var C=D[E];F.append(s(C).getListItemWS())}F.find("input.completeaction").attr("checked","true");m.mainview.find(".viewcontent").html(F);b(F)});n.addAPI("listDeadlinesView",function(J){m.mainview.find(".expandcontract").hide();if(J.length==0){x();return}y();var I=$('<div class="deadlines"></div>');for(var H=0;H<J.length;H++){var E=J[H];var G=$('<div class="day"></div>');G.append("<h4>"+E.day+"</h4>");var D=E.tasks;for(var F=0;F<D.length;F++){var C=D[F];d(D);G.append(s(C).getListItemWS())}I.append(G)}m.mainview.find(".viewcontent").html(I);b(I)});n.addAPI("listEmptyView",function(){x()});n.addAPI("listExecutionView",function(C){if(C.length==0){x();return}y();d(C);var D=t(C,function(E){return s(E).getListItemWS()});if(D.treeisflat){m.mainview.find(".expandcontract").hide()}else{m.mainview.find(".expandcontract").show()}m.mainview.find(".viewcontent").html(D);b(D)});n.addAPI("listPlanningView",function(C){if(C.length==0){x();return}y();d(C);var D=t(C,function(F){return s(F).getListItemWS()});var E=C[C.length-1].id;$('<div class="planningviewonly" style="position: relative;"><div class="dropspace taskdroppable tasktarget" dropop="planningafter" taskid="'+E+'"></div></div>').appendTo(D);if(D.treeisflat){m.mainview.find(".expandcontract").hide()}else{m.mainview.find(".expandcontract").show()}m.mainview.find(".viewcontent").html(D);b(D)});n.addAPI("moveTaskToBubble",function(I){var H=m.mainview.find('.tasklogical[taskid="'+I+'"]');if(H.size()==0){return}var G=$(H.get(0));var D=G.data("task");var C=G.parents("li.tasklistitem");var F=$("#taskbubble");F.show();var J=$("#taskbubblelist");J.empty();l(C,J);for(var E=1;E<H.size();E++){p($(H.get(E)).parents("li.tasklistitem"))}});n.addAPI("promptRenameView",function(C){m.viewSelect.promptRenameView(C)});n.addAPI("setFocusTask",function(C){var D=s(C).getListItemWS();D.find(".planningviewonly").remove();m.mainview.find(".viewprefs .focustask .listing").html(D);b(D)});n.addAPI("setView",function(C){m.currentview=C;setPageURL(C.id);m.viewSelect.refresh();B.setScope(C.scopeTimeframe);if(C.scopeTimeframe.id=="completed"){z.hide();C.focusTaskId=0}else{z.setViewMode(C.viewMode,m.mainview)}if(C.focusTaskId==0){m.mainview.find(".viewprefs .focustask").hide()}else{m.mainview.find(".viewprefs .focustask").show()}if(C.scopeTimeframe.allowAddTask){$("#addtaskbutton").show()}else{$("#addtaskbutton").hide()}});n.addAPI("setViewSelectList",function(C){m.viewSelect.setViewTabs(C)});function y(){m.mainview.find(".emptytasklist").hide();m.mainview.find(".tasklistprefs").show()}function x(){m.mainview.find(".tasklistprefs").hide();m.mainview.find(".emptytasklist").show();m.mainview.find(".viewcontent").empty();m.mainview.find(".expandcontract").hide()}function A(E){var D=[];var C;m.mainview.find(".toptaskbranch > li.tasklistitem > .tasktarget").each(function(){C=$(this).attr("taskid");if(C&&C!=E){D[D.length]=C}});return D}m.mainview=$("#mainview");m.mainview.checkForEmptyBranches=function(){if(m.currentview&&m.currentview.viewMode!="deadlines"){if(m.mainview.find("ul.toptaskbranch li").size()==0){x()}}};m.mainview.activateTasks=function(C){z.updateTasks(C)};var z=(function(){var F={};var E=$("#mainview");var D=E.find(".viewcontent");var C=["planning"];var H=E.find(".modeswitcher");var G=null;F.hide=function(){H.hide()};F.setViewMode=function(L,J){H.show();if(G!==null){if(G===L){return}}G=L;for(var K=0;K<C.length;K++){var I=C[K];if(I==G){D.addClass(I+"view")}else{D.removeClass(I+"view")}}H.find('a[viewmode!="'+L+'"]').removeClass("ui-state-active not-clickable");H.find('a[viewmode="'+L+'"]').addClass("ui-state-active not-clickable");F.updateTasks(J)};F.updateTasks=function(I){if(!I){return}if(!G){return}if(G=="planning"){I.find(".planningviewonly").show()}else{I.find(".planningviewonly").hide()}};H.find("a").bind("click",function(){var I=$(this).attr("viewmode");F.setViewMode(I);m.server.setViewMode(I)});return F})();var B=(function(){var F={};var C=$("#mainview");var E=C.find("a.scopeswitcherlink");var D=null;E.bind("click",function(G){if(!D){return false}v({setTimeframeCallback:function(J,I,H){m.server.setViewTimeframe(m.currentview,J,I,H)},dialogTitle:"Select the scope/timeframe for this view",timeframe:D,startPickerLabel:"Begin",duePickerLabel:"End",nowConstrained:false,isViewTimeframe:true,});return false});F.setScope=function(G){D=G;E.find("span").text(G.description)};return F})();m.viewSelect=(function(){var F={};var E=[];$(".viewselectlist ul a, .viewselectlist li.current").live("click",function(){var H=$(this).attr("viewid");if(H!=m.currentview.id){m.server.setViewID(H)}return false}).live("contextmenu",function(){var I=$(this);var H=$(this).attr("viewid");C.showMenu(I,H);return false});F.setViewTabs=function(H){E=H;F.refresh()};F.assignNextAction=function(I){var H=A(I);m.server.assignNextAction(I,H)};F.promptRenameView=function(J,H){if(!H){H=$('.viewselectlist ul *[viewid="'+J+'"]')}var I=F.getView(J);if(!I){return}popupTextEditor("Rename View","New view name:",H,I.displayname,function(K){if(K==I.displayname){return}G(J,K)})};var C=createContextMenu("viewSelectMenu",function(I){var H=[["Make this the default view","default"],["Rename this view","rename"],["Replace with current settings","replace"],null,["Delete this view","delete"],];return H},{"default":function(H){m.server.saveDefaultView(H)},rename:F.promptRenameView,"delete":function(H){m.server.deleteView(H)},replace:function(I,H){m.server.replaceView(I,m.currentview)}});function G(J,I){var H=F.getView(J);if(!H){return}H.displayname=I;if(m.currentview.id==J){m.currentview.displayname=I}F.refresh();m.server.renameView(J,I)}$(".viewselectlist .viewinfoname").live("contextmenu",function(){var I=$(this);var H=$(this).attr("viewid");D.showMenu(I,m.currentview);return false});var D=createContextMenu("viewNameMenu",function(H){var I=[];if(!H.saved){I[I.length]=["Save this view","save"]}return I},{save:function(H){m.server.saveNewView(H)}});F.getView=function(J){for(var I=0;I<E.length;I++){var H=E[I];if(H.id==J){return H}}return null};F.refresh=function(){var L=E;if(!L){return}var K=m.currentview;if(!K){return}$(document).attr("title",K.displayname+" - Animist Tasks");var O=$("<ul></ul>");var J,I;for(var M=0;M<L.length;M++){I=L[M];if(K&&I.id==K.id){J=$('<li class="current taskdroppable" dropop="mergefocus"><span>'+I.displayname+"</span></li>");J.attr("viewid",I.id);J.appendTo(O)}else{var N=$('<a href="#'+I.id+'" class="taskdroppable" dropop="mergefocus"><span>'+I.displayname+"</span></a>");N.attr("viewid",I.id);J=$("<li></li>");J.append(N).appendTo(O)}J.attr("id","viewselect_"+I.id)}if(!K.saved){J=$('<li class="viewinfoname taskdroppable" dropop="mergefocus"></li>');J.attr("viewid",K.id);J.html(K.displayname).appendTo(O)}m.mainview.find(".viewselectlist").html(O);O.sortable({axis:"x",distance:5,opacity:0.7,revert:100,items:"li:not(.viewinfoname)",update:function(Q,T){var S=$(this).sortable("toArray");for(var R=0;R<S.length;R++){S[R]=S[R].substr(11)}H(S);var P="";for(var R=0;R<S.length;R++){P=P+S[R];if(R<S.length-1){P=P+","}}m.server.saveViewOrder(P)}});O.disableSelection();function H(R){var S=[];for(var Q=0;Q<R.length;Q++){var P=F.getView(R[Q]);if(P){S[S.length]=P}}E=S}};return F})()})()}function d(z){for(var y=0;y<z.length;y++){var x=z[y];u(x)}}function u(x){x.canbecompleted=y(x.canbecompleted);x.isproject=y(x.isproject);function y(z){if(!z||z==="false"){return false}return true}}function t(E,C,M){M=M||0;var K=$('<ul class="toptaskbranch">');var I=[];var H=K;var G=0;var F,D,B,z,A,L;K.treeisflat=true;for(L=0;L<E.length;L++){A=E[L];D=F;B=A.indent||0;F=C(A);if(B<G){var y=G-B;for(var J=0;J<y;J++){H=I.pop()}}else{if(B>G){K.treeisflat=false;z=$('<ul class="taskbranch">');if(B<=M){z.data("expandbydefault",true)}D.addClass("expandable");D.append(z);I[I.length]=H;H=z}}G=B;H.append(F)}var x=K.find("li.expandable");x.prepend('<div class="expandactioncell"><a href="#" class="expandactionlink"><span></span></a></div>');K.find("li:not(.expandable)").addClass("notexpandable");x.each(function(){var N=$(this);var O=N.find("> .expandactioncell > a.expandactionlink");var P=N.find("> ul");O.data("branch",P);if(P.data("expandbydefault")){O.addClass("expandactiondown")}else{P.hide()}});return K}function b(x){reassignPrototypeLabels(x);if(m.enableDragAndDrop){setupTaskDragAndDrop(x,w)}if(m.mainview){m.mainview.activateTasks(x)}if(m.searchview){m.searchview.activateTasks(x)}q(x);preventDragging=false}function e(x){if(x.hasClass("tasktarget")){return x.attr("taskid")}return x.parents(".tasktarget").attr("taskid")}function w(D,B,A){var y=$(B.draggable);var x=e(y);var E=A.attr("dropop");if(E=="mergefocus"){var C=A.attr("viewid");m.server.mergeFocus(C,x)}else{var z=e(A);if(x==z){return}if(m.currentview&&m.currentview.viewMode=="planning"){if(E=="before"){E="planningbefore"}else{if(E=="after"){E="planningafter"}}}m.server.drop(x,z,E)}}function q(x){autosizeNotes(17*3,x)}function p(y,x){y.fadeOut(300,function(){y.remove();a();if(x){x()}})}function l(x,y){x.detach();x.prependTo(y);a()}function a(){if(m.mainview){m.mainview.checkForEmptyBranches()}}}function initMasterTasksView(){initFGButtons();initAjax();var a={};a.enableDragAndDrop=true;createTasksAjaxClient(a);createTasksAjaxServer("tasks",a);setPageURL=createSetPageURLFunction(function(b){a.server.setViewID(b)});a.server.pageinit(function(){a.mainview.find(".viewprefs").show();$("#addtaskbutton").show();$("#sidebar").show()})}function createSetPageURLFunction(c){var b;function a(e){if(!e&&b){$.history.loadWithoutCallback(b);return false}else{if(!e){return false}else{if(b!=e){b=e;return true}else{return false}}}}$.history.init(function(f){var e=a(f);if(e){c(f)}});var d=function(e){if(e.substring(0,1)=="/"){window.location=e;return}var f=a(e);if(f){$.history.loadWithoutCallback(e)}};return d}function createTasksAjaxServer(b,c){function a(h,k,g){for(var f in h){var e=h[f];if(e&&typeof e=="object"){h[f]=JSON.stringify(e)}}h.page=b;var l=showSpinner(k);$.ajax({data:h,success:function(m){if(l){l.remove()}c.client.handleJSONResponse(m);if(g&&m.success==true){g(m)}}})}var d={addTask:function(e,f,h,g){a({op:"addTask",view:e,name:f,notes:h},g)},addProject:function(e){a({op:"addProject",name:e},$("#mainview, #projects-sidebox-content"))},assignNextAction:function(e,f){a({op:"assignNextAction",view:c.currentview,task:e,taskids:f.join(",")},$("#mainview .viewcontent"))},assignProject:function(h,g,f,e){a({op:"assignProject",view:c.currentview,task:h,projectid:g},f,e)},completeTask:function(f,e){a({op:"completeTask",view:c.currentview,task:f,refreshTasks:e},e?$("#mainview .viewcontent"):null)},deleteTask:function(e,f){a({op:"deleteTask",view:c.currentview,task:e,refreshTasks:f},f?$("#mainview .viewcontent"):null)},deleteView:function(e){a({op:"deleteView",view:c.currentview,viewid:e})},drop:function(g,f,e){if(g==f){return}a({op:"drop",view:c.currentview,dropop:e,from:g,to:f},$("#mainview .viewcontent"))},focusOnTask:function(f,e){if(!e){e=false}a({op:e?"mergeFocus":"focusOnTask",task:f},e?$("#mainview .viewcontent"):$("#mainview"))},mergeFocus:function(f,e){a({op:"mergeFocus",viewid:f,task:e},$("#mainview"))},pageinit:function(e){a({op:"pageinit",pageinitview:$.history.appState},$("#mainview"),e)},pageinitSearch:function(e){a({op:"pageinitSearch",query:e},$("#tasksearchresults"))},refreshAll:function(){a({op:"refreshAll",view:c.currentview,},$("#tasksajax"))},refreshView:function(){a({op:"refreshView",view:c.currentview,},$("#mainview"))},renameView:function(f,e){a({op:"renameView",viewid:f,newName:e})},replaceView:function(f,e){a({op:"replaceView",viewid:f,view:e})},saveDefaultView:function(e){a({op:"saveDefaultView",viewid:e})},saveNewView:function(e){a({op:"saveNewView",view:e,},$("#mainview .viewcontent"))},saveTaskCompleted:function(f,e){a({op:"saveTaskCompleted",task:f,completed:e})},saveViewOrder:function(e){a({op:"saveViewOrder",viewOrder:e})},setTaskIsProject:function(e,f){a({op:"setTaskIsProject",task:e,isproject:f},$("#projects-sidebox-content, .tasklogical[taskid="+e+"]"))},setTaskCost:function(e,f){a({op:"setTaskCost",task:e.id,cost:f})},setTaskNameNotes:function(e,g,f){a({op:"setTaskNameNotes",task:e.id,name:g,notes:f})},setTaskTimeframe:function(h,g,f,e){a({op:"setTaskTimeframe",view:c.currentview,task:h.id,timeframeid:g,start:f,due:e,})},setView:function(e,f){a({op:"setView",view:e,makecustom:(f&&true)||false},$("#mainview .viewcontent"))},setViewID:function(e){a({op:"setViewID",viewid:e},$("#mainview .viewcontent"))},setViewMode:function(e){if(!c.currentview||c.currentview.viewMode==e){return}c.currentview.viewMode=e;c.server.setView(c.currentview,false)},setViewTimeframe:function(e,h,g,f){a({op:"setViewTimeframe",view:e,timeframeid:h,start:g,due:f,makecustom:true},$("#mainview .viewcontent"))},unassignProject:function(g,f,e){a({op:"unassignProject",view:c.currentview,task:g,dependid:f},null,e)},unfocus:function(){a({op:"unfocus",view:c.currentview},$("#mainview"))},};c.server=d}var preventDragging=false;var dragHelperNeedsInit=false;var taskBeingDragged={dragon:false};function dragIsActive(){return(taskBeingDragged.dragon)}function setupTaskDragAndDrop(b,d){if(b){b=b.find(".taskdraggable")}else{b=$(".taskdraggable")}b.draggable({revert:"invalid",helper:function(h){dragHelperNeedsInit=true;var k=e(h.target);return document.createElement("div")},cursor:"crosshair",cursorAt:{top:-1,left:-1},opacity:0.81,drag:function(m){if(dragHelperNeedsInit){dragHelperNeedsInit=false;var l=e(m.target);var k=$('<div class="dragtaskhelper" />');k.append("<b>"+l+"</b><br />(this task comes <i>before</i> the task it is dragged onto)");k.addClass("ui-corner-all");$(".ui-draggable-dragging").append(k)}else{var h=$(m.target);taskBeingDragged.draggable=h;if(taskBeingDragged.refreshDroppables){taskBeingDragged.refreshDroppables=false;h.draggable("option","refreshPositions",true)}else{if(h.draggable("option","refreshPositions")){h.draggable("option","refreshPositions",false)}}}},start:function(h,k){if(preventDragging){preventDragging=false;$("body").css("cursor","auto");return false}taskBeingDragged.dragon=true;taskBeingDragged.taskid=c(h.target);taskBeingDragged.draggable=null;taskBeingDragged.wset=a(h.target);taskBeingDragged.refreshDroppables=true;taskBeingDragged.wset.removeClass("task_hover");$(h.target).addClass("taskbeingdragged")},stop:function(h,k){taskBeingDragged.dragon=false;$(h.target).removeClass("taskbeingdragged");$(".taskdroppable_showondrag").css("display","none")}});$(".taskdroppable").droppable({accept:".taskdraggable",activeClass:"taskdropactive",hoverClass:"taskdrophover",drop:function(k,h){d(k,h,$(this))}});if(d){return}$(".task").hover(function(k){if(taskBeingDragged.dragon){if(taskBeingDragged.taskid==c(this)){return}a(this).find(".taskdroppable_showondrag").css("display","block");taskBeingDragged.refreshDroppables=true}if(!taskBeingDragged.dragon){var h=f(this,"dependid");if(h!=0){$("#deletedepend"+h).show()}}},function(){if(taskBeingDragged.taskid==c(this)){return}if(taskBeingDragged.dragon){a(this).find(".taskdroppable_showondrag").css("display","none")}if(!taskBeingDragged.dragon){var h=f(this,"dependid");if(h!=0){$("#deletedepend"+h).hide()}}});function a(h){var k=$(h);if(k.hasClass("tasktarget")){return k}return k.parents(".tasktarget")}function g(l){var k=a(l)[0];var h=$(k).find(".taskname");if(h.size()>1){h=$(h.get(0))}return h}function e(h){return g(h).text()}function f(h,k){return a(h).attr(k)}function c(h){return f(h,"taskid")}}var tinyMCEInitialized=false;function initTinyMCE(){if(tinyMCEInitialized){return}tinyMCEInitialized=true;tinyMCE.init({mode:"specific_textareas",editor_selector:"mceEditor",theme:"advanced",width:"100%",height:"300",theme_advanced_path:false,theme_advanced_statusbar_location:"bottom",theme_advanced_resizing:true,theme_advanced_toolbar_location:"bottom",theme_advanced_toolbar_align:"left",theme_advanced_buttons1:"bold,italic,separator,bullist,numlist,outdent,indent,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,pagebreak,separator,formatselect,separator,fullscreen",theme_advanced_buttons2:"link,unlink,separator,pastetext,pasteword,charmap,separator,undo,redo,separator,removeformat,cleanup",theme_advanced_buttons3:"",plugins:"paste,pagebreak,fullscreen",content_css:"/res/site.css",body_class:"tinymce_edit_content ",})};