jQuery.fn.stalker=function(){var $win,$doc,$stalker,$transitionElems,offsetY,placeholder,lastScrollPosY,stalkerHeight,isInitialized,selector;function isSupported(){if(jQuery.browser.msie&&jQuery.browser.version<7||(!jQuery.os.mac&&jQuery.browser.mozilla&&getBrowserVersionAsInt()<191)){return false}return true}function getBrowserVersionAsInt(){return parseInt(jQuery.browser.version.replace(/\.*/g,"").substring(0,3),10)}function getInactiveProperties(){if(jQuery.os.windows||jQuery.os.linux){return{position:"absolute",top:offsetY}}else{return{position:"fixed",top:offsetY-$win.scrollTop()}}}function needToApplyFlickerFix(){var browserVersion=jQuery.browser.version.replace(/\.*/g,"").substring(0,3);return jQuery.browser.mozilla&&browserVersion<192}function initialize(){$stalker=jQuery(selector),offsetY=$stalker.offset().top,$transitionElems=$stalker.prevAll(":visible");function setStalkerHeight(){$stalker.css("overflow","hidden");stalkerHeight=$stalker.height();$stalker.css("overflow","")}function createPlaceholder(){placeholder=jQuery("<div />").addClass("stalker-placeholder").css({visibility:"hidden",height:stalkerHeight}).insertBefore($stalker)}function setPlaceholderHeight(){if(!$stalker.hasClass("detached")){placeholder.height($stalker.height())}else{placeholder.height($stalker.removeClass("detached").height());$stalker.addClass("detached")}}setStalkerHeight();createPlaceholder();setPlaceholderHeight();$stalker.css(getInactiveProperties());$stalker.bind("stalkerHeightUpdated",setPlaceholderHeight);$stalker.bind("positionChanged",setStalkerPosition);if(needToApplyFlickerFix()){$stalker.addClass("fix-ff35-flicker")}isInitialized=true}function offsetPageScrolling(){function setScrollPostion(scrollTarget){var docHeight=jQuery.getDocHeight(),scrollPos;if(scrollTarget>=0&&scrollTarget<=docHeight){scrollPos=scrollTarget}else{if(scrollTarget>=$win.scrollTop()){scrollPos=docHeight}else{if(scrollTarget<0){scrollPos=0}}}$win.scrollTop(scrollPos)}function pageUp(){if(!isInitialized){initialize()}var scrollTarget=jQuery(window).scrollTop()-jQuery(window).height();setScrollPostion(scrollTarget+stalkerHeight)}function pageDown(){if(!isInitialized){initialize()}var scrollTarget=jQuery(window).scrollTop()+jQuery(window).height();setScrollPostion(scrollTarget-stalkerHeight)}jQuery(function(){$doc.bind("keydown keypress keyup",{combi:"pagedown",disableInInput:true},function(e){if(!jQuery.browser.mozilla&&e.type==="keydown"){pageDown()}else{if(jQuery.browser.mozilla&&e.type==="keypress"){pageDown()}}e.preventDefault()});$doc.bind("keydown keypress keyup",{combi:"pageup",disableInInput:true},function(e){if(!jQuery.browser.mozilla&&e.type==="keydown"){pageUp()}else{if(jQuery.browser.mozilla&&e.type==="keypress"){pageUp()}}e.preventDefault()});$doc.bind("keydown keypress keyup",{combi:"space",disableInInput:true},function(e){if(!jQuery.browser.mozilla&&e.type==="keydown"){pageDown()}else{if(jQuery.browser.mozilla&&e.type==="keypress"){pageDown()}}e.preventDefault()});$doc.bind("keydown keypress keyup",{combi:"shift+space",disableInInput:true},function(e){if(!jQuery.browser.mozilla&&e.type==="keydown"){pageUp()}else{if(jQuery.browser.mozilla&&e.type==="keypress"){pageUp()}}e.preventDefault()})})}function containDropdownsInWindow(){$doc.bind("showLayer",function(e,type,obj){var stalkerOffset,targetHeight;if(!isInitialized){initialize()}if(type==="dropdown"&&obj.$.parents(selector).length!==-1){stalkerOffset=($stalker.hasClass("detached")?0:$stalker.offset().top);targetHeight=jQuery(window).height()-$stalker.height()-stalkerOffset;if(targetHeight<=parseInt(obj.$.attr("scrollHeight"),10)){AJS.containDropdown.containHeight(obj,targetHeight)}else{AJS.containDropdown.releaseContainment(obj)}obj.reset();if(needToApplyFlickerFix()){$stalker.height($stalker.attr("scrollHeight"))}}}).bind("hideLayer",function(){if(needToApplyFlickerFix()){$stalker.height("")}})}if(!isSupported()){return}$win=jQuery(window);$doc=jQuery(document);selector=this.selector;offsetPageScrolling();containDropdownsInWindow();$doc.click(function(e){if(jQuery(e.target).parents(selector).length!==0&&!isInitialized){initialize()}});$doc.bind("showLayer",function(e,type){if($transitionElems){$transitionElems.css("opacity","")}if(jQuery.browser.mozilla&&type==="popup"){setStalkerPosition()}});jQuery(".stalker-placeholder, "+this.selector).offsetAnchors();function setStalkerPosition(){function getOpacitySetting(){var opacityTarget=1-$win.scrollTop()/offsetY;if(opacityTarget>1){return""}else{if(opacityTarget<0){return 0}else{return opacityTarget}}}if(!isInitialized){initialize()}$transitionElems.css("opacity",getOpacitySetting());if(offsetY<=$win.scrollTop()){if(!$stalker.hasClass("detached")){$stalker.css({top:0,position:"fixed"}).addClass("detached")}}else{$stalker.css(getInactiveProperties()).removeClass("detached")}lastScrollPosY=$win.scrollTop()}$win.scroll(setStalkerPosition).resize(function(){if($stalker){$stalker.trigger("stalkerHeightUpdated")}});$doc.mouseup(function(){if(lastScrollPosY&&$win.scrollTop()===lastScrollPosY){$transitionElems.css("opacity","   ")}});return this};
jQuery.fn.offsetAnchors=function(){var currentTargetName,isClick,offsetScroll,offsetElemSelector=this.selector;offsetScroll=function(){var targetElemName,targetScroll,targetElemOffset,offsetElem,offsetElemHeight,offsetElemY,targetElem;targetElemName=window.location.href.replace(/.*#(.*)/,"$1");if(targetElemName===currentTargetName&&!isClick){return}if(!/\w+/.test(targetElemName)){return}offsetElem=jQuery(offsetElemSelector);offsetElemHeight=offsetElem.outerHeight();offsetElemY=offsetElem.offset().top;targetElem=jQuery("#"+targetElemName);if(targetElem.length===0){targetElem=jQuery("a[name="+targetElemName+"]")}if(!targetElem.is("visible")){targetElem=targetElem.parent()}targetElemOffset=targetElem.offset().top;if(targetElem.length>0&&(jQuery(window).scrollTop()>offsetElemY+offsetElemHeight)){targetScroll=targetElemOffset-30-offsetElemHeight;if(jQuery.browser.safari){jQuery(function(){window.setTimeout(function(){jQuery(window).scrollTop(targetScroll)},100)})}else{jQuery(window).scrollTop(targetScroll)}currentTargetName=targetElemName}};if(/#.+/.test(window.location.href)){jQuery(window).one("scroll",offsetScroll)}jQuery(document).click(function(){isClick=true;jQuery(window).one("scroll",offsetScroll);window.setTimeout(function(){jQuery("html,body").unbind("scroll",offsetScroll);isClick=null},20)});jQuery.fn.offsetAnchors=function(){throw"Anchors can only be offset from a single element. Current offset elem is: "+offsetElemSelector}};
jQuery("#stalker.stalker").stalker();jQuery(function(){var openInNewWindow=function(e){e.preventDefault();e.stopPropagation();var $this=jQuery(this);jQuery(document).click();window.open($this.attr("href"),"screenshot","width=800,height=700,scrollbars=yes,status=yes")};jQuery(document).keydown(function(e){if(e.keyCode===27){jQuery("#comment-issue.active").click()}});AJS.$("#comment-issue").click(function(e){var elem=jQuery(this);if(elem.hasClass("active")){elem.removeClass("active");jQuery("#stalker").removeClass("action");jQuery("#stalker form").hide();AJS.$("#comment").val("")}else{elem.addClass("active");jQuery("#stalker").addClass("action");jQuery("#stalker form").show();AJS.$("#comment").focus()}jQuery("#stalker").trigger("stalkerHeightUpdated");e.preventDefault()});jQuery(".module #issuetable tr").hover(function(){jQuery(this).addClass("hover")},function(){if(!AJS.dropDown.current){jQuery(this).removeClass("hover")}});jQuery(document).bind("hideLayer",function(e,type,obj){if(type==="dropdown"&&obj.$.parent().hasClass("action-dropdown")){obj.$.closest("tr").removeClass("hover")}});var updateCommentElemHeight=function(e){var elem=jQuery(this),maxHeight=350,scrollHeight=parseInt(elem.attr("scrollHeight"),10);if(scrollHeight-5<=maxHeight){if(scrollHeight-elem.height()>5){elem.height(scrollHeight)}}else{elem.height(maxHeight)}};jQuery(document).bind("showWikiInput",function(e,previewElem){jQuery("#stalker").trigger("stalkerHeightUpdated");jQuery("#comment").bind("change",updateCommentElemHeight).bind("keyup",updateCommentElemHeight).bind("keydown",updateCommentElemHeight).focus();return arguments.callee}());jQuery(document).bind("showWikiPreview",function(){jQuery("#stalker").trigger("stalkerHeightUpdated")});jQuery("#add_comment_cancel").click(function(e){var elem=jQuery("#comment-issue");elem.removeClass("active");jQuery("#stalker").removeClass("action");jQuery("#stalker form").hide();AJS.$("#comment").val("");jQuery("#stalker").trigger("stalkerHeightUpdated");e.preventDefault()});AJS.$("#commentDiv input[type='submit']").click(function(e){if(AJS.$("#comment").val()===""){e.preventDefault();AJS.$("#emptyCommentErrMsg").show()}});AJS.$("#attach-screenshot").click(openInNewWindow);AJS.$("#tt_include_subtasks input").click(function(e){if(AJS.$(this).is(":checked")){AJS.$("#tt_info_single").hide();AJS.$("#tt_info_aggregate").show()}else{AJS.$("#tt_info_aggregate").hide();AJS.$("#tt_info_single").show()}});if(jQuery.browser.mozilla&&/^1\.9\.1/.test(jQuery.browser.version)&&!jQuery.os.mac){var stalker=jQuery("#stalker");var setStalkerWidth=function(){var contentWidth=jQuery("#main-content").outerWidth();if(contentWidth<1000){stalker.width(contentWidth)}else{stalker.css("width","")}};jQuery(window).resize(setStalkerWidth);setStalkerWidth();stalker.trigger("stalkerHeightUpdated")}var toggleVotingAndWatching=function(trigger,className,resultContainer,issueOpTrigger,i18n){var classNameOn=className+"-on";var classNameOff=className+"-off";var method="POST";if(trigger.hasClass(classNameOn)){method="DELETE"}var restPath="/voters";if(className.indexOf("watch")!==-1){restPath="/watchers"}trigger.removeClass(classNameOn).removeClass(classNameOff);AJS.$(AJS.$.ajax({url:contextPath+"/rest/api/1.0/issues/"+trigger.attr("rel")+restPath,type:method,dataType:"json",success:function(response){if(method==="POST"){trigger.addClass(classNameOn).attr("title",i18n.titleOn);issueOpTrigger.attr("title",i18n.titleOn).text(i18n.textOn)}else{trigger.addClass(classNameOff).attr("title",i18n.titleOff);issueOpTrigger.attr("title",i18n.titleOff).text(i18n.textOff)}resultContainer.text(response.count)},error:function(XMLHttpRequest,textStatus,errorThrown){alert(i18n.errorText);if(method==="POST"){trigger.addClass(classNameOff).attr("title",i18n.titleOff);issueOpTrigger.attr("title",i18n.titleOff).text(i18n.textOff)}else{trigger.addClass(classNameOn).attr("title",i18n.titleOn);issueOpTrigger.attr("title",i18n.titleOn).text(i18n.textOn)}}})).throbber({target:trigger})};AJS.$("#toggle-vote-issue").click(function(e){e.preventDefault();AJS.$("#toggle_voting_label").click()});AJS.$("#toggle-watch-issue").click(function(e){e.preventDefault();AJS.$("#toggle_watching_label").click()});AJS.$("#toggle_voting_label").click(function(e){e.preventDefault();var i18n={titleOn:AJS.params.issueOpTitleUnvote,titleOff:AJS.params.issueOpTitleVote,textOn:AJS.params.issueOpUnvote,textOff:AJS.params.issueOpVote,errorText:AJS.params.errorVoting};toggleVotingAndWatching(AJS.$(this),"icon-vote",AJS.$("#votes-data"),AJS.$("#toggle-vote-issue"),i18n)});AJS.$("#toggle_watching_label").click(function(e){e.preventDefault();var i18n={titleOn:AJS.params.issueOpTitleUnwatch,titleOff:AJS.params.issueOpTitleWatch,textOn:AJS.params.issueOpUnwatch,textOff:AJS.params.issueOpWatch,errorText:AJS.params.errorWatching};toggleVotingAndWatching(AJS.$(this),"icon-watch",AJS.$("#watchers-data"),AJS.$("#toggle-watch-issue"),i18n)});AJS.$(".shorten").shorten();AJS.moveInProgress=false;AJS.$(document).bind("moveToStarted",function(){AJS.moveInProgress=true}).bind("moveToFinished",function(){AJS.moveInProgress=false});AJS.$(".issue-data-block").mouseover(function(){if(!AJS.moveInProgress){AJS.$(".issue-data-block.focused").removeClass("focused");AJS.$(this).addClass("focused")}});AJS.$(".issuePanelContainer").mouseout(function(){if(!AJS.moveInProgress){AJS.$(".issue-data-block.focused").removeClass("focused")}});if(jQuery.browser.msie&&parseInt(jQuery.browser.version,10)===7){jQuery("a.twixi").bind("focus",function(e){e.preventDefault()})}else{jQuery(document).bind("moveToFinished",function(event,target){jQuery("a.twixi:visible",target).focus()})}});jQuery(function(){if(AJS.dropDown.actionDropdowns.length>0){jQuery.each(AJS.dropDown.actionDropdowns,function(){this.addCallback("refreshSuccess",function(){AJS.containDropdown(this,".active-area")});this.addCallback("show",function(){AJS.containDropdown(this,".active-area")})})}});jQuery(function(){if(jQuery.browser.msie&&jQuery.browser.version<7){return}var initFancyBoxForClass=function(aClassName){var closeFancyBox=function(){jQuery(aClassName).fancybox.close()};var isFireFoxLinux=function(){return jQuery.os.linux&&jQuery.browser.mozilla};var useOverlay=true;if(isFireFoxLinux()){useOverlay=false}var fancyBoxOptions={"zoomSpeedIn":300,"zoomSpeedOut":300,"imageScale":true,"centerOnScroll":false,"overlayShow":useOverlay,callbackOnStart:function(){jQuery("#header").css("zIndex","-1");if(useOverlay){jQuery("body").addClass("fancybox-show")}},"callbackOnShow":function(){jQuery(document).click(function(){closeFancyBox()})},"callbackOnClose":function(){jQuery("#header").css("zIndex","");if(useOverlay){jQuery("body").removeClass("fancybox-show")}jQuery(document).unbind("click",closeFancyBox);if(jQuery.browser.safari){var top=AJS.$(window).scrollTop();AJS.$(window).scrollTop(10+5*(top==10)).scrollTop(top)}}};jQuery(aClassName).fancybox(fancyBoxOptions)};initFancyBoxForClass("a.gallery")});
jQuery.fn.shorten=function(){var defaults={numRows:1,separators:["</span>,","</a>,",","],cookieName:"jira.viewissue.cong.cookie"};return function(options){var that=this;options=AJS.$.extend(defaults,options);options.viewMoreMsg=AJS.params.viewMoreMsg||"Click to view {0} more";options.hideMsg=AJS.params.hideMsg||"Hide";var refreshAll=function(){if(AJS.$.browser.msie){AJS.$(that).attr("position","absolute").attr("position","relative")}};var getNumberOfRows=function(obj){var $obj=AJS.$(obj);return Math.round($obj.height()/getLineHeight($obj))};var getLineHeight=function(obj){var tempDiv=AJS.$("<div style='position:absolute; visibility:hidden'>A</div>");obj.append(tempDiv);var height=tempDiv.height();tempDiv.remove();return height};var reduceByWord=function(text){var str=AJS.$.trim(text);for(var i=0;i<options.separators.length;i++){var separator=options.separators[i];var sepIndex=str.toLowerCase().lastIndexOf(separator);if(sepIndex!==-1){return str.substring(0,sepIndex+separator.length-1)}}return text};this.each(function(index){var elem=AJS.$(this);var elemId=elem.attr("id");var elemRows=getNumberOfRows(elem);if(elemRows>options.numRows){var hideLink=AJS.$('<a href="#'+elemId+'-shortened" class="icon icon-hide" title="'+options.hideMsg+'"><span>'+options.hideMsg+"</span></a>");var original=elem.clone().removeClass("shorten").append(hideLink).attr("id",elemId+"-expanded").hide();elem.after(original);var numReduced=0;while(elemRows>options.numRows){var htmlToReduce=elem.html();var reducedHtml=reduceByWord(htmlToReduce);if(htmlToReduce!=reducedHtml){elem.html(reducedHtml);elem.append(ellipsis);elemRows=getNumberOfRows(elem);numReduced++}else{break}}var ellipsis=AJS.$('<a class="ellipsis" href="#'+elemId+'-expanded">('+numReduced+")</a>");reducedHtml=elem.html();elem.attr("id",elemId+"-shortened");ellipsis.attr("title",AJS.format(options.viewMoreMsg,numReduced)).click(function(e){e.preventDefault();original.show();elem.hide();if(elemId&&elemId!==""){saveToConglomerateCookie(options.cookieName,elemId,"shown")}refreshAll()});hideLink.click(function(e){e.preventDefault();original.hide();elem.show();if(elemId&&elemId!==""){saveToConglomerateCookie(options.cookieName,elemId,"hidden")}refreshAll()});elem.append(ellipsis);var preference="hidden";if(elemId&&elemId!==""){preference=readFromConglomerateCookie(options.cookieName,elemId,"hidden")}if(preference==="shown"){original.show();elem.hide()}}});refreshAll();return that}}();
