function AdvanceMediaSearch(){this.mContainer=null;this.mPositionRefernceElement=null;this.mPanel=null;this.mMediaCollectionsContainer=null;this.mMediaCollectionsListContainer=null;this.mSearchOptionsContainer=null;this.mSearchValuesContainer=null;this.mSearchTermsContainer=null;this.mSearchIntroText=null;this.mToggleMediaCollectionsButton=null;this.mMediaCollectionsText=null;this.mNewSearchTermButton=null;this.mHelpButton=null;this.mCloseButton=null;this.mTitleButton=null;this.mSelectedTitleButton=null;this.mSearchValueInput=null;this.mAddSearchValueButton=null;this.mListAllButton=null;this.mAddSearchDateValueButton=null;this.mSearchValueContainer=null;this.mSearchStartDate=null;this.mSearchEndDate=null;this.mSearchDateContainer=null;this.mLoadingContainer=null;this.mAdvanceSearchInstructionText=null;this.mSubmitSearchButton=null;this.mSearchHeaderContainer=null;this.mMediaCollections=null;this.mSearchTermTemplate=null;this.mMediaSearchOperators=null;this.mMediaSearchDateOperators=null;this.mMediaFields=null;this.mCurrentSearchOption=null;this.mTermConditions=$([{displayName:"And",value:" AND ",className:"matchAll"},{displayName:"Or",value:" OR ",className:"matchAny"}]);this.mCurrentTermCondition=this.mTermConditions[0];this.mSuggestionCache=$(new Array());this.helpTipPopUp=null;this.helpTip=null;this.advancedSearchShowTip=null;this.showTip=null;this.mAnimate=true;this.mIsHidden=false;this.mLoading=false;this.mIsRequestSuggestionMode=true;this.mBatchSetSearchValuesTimeout=null;this.mRequestMediaFieldsFunction=null;this.mRequestSuggestionFunction=null;this.mToggleSearchFunction=null;this.mSort=null;this.mSearchUrl=null;this.mHelpUrl=null;this.mAdvancedHelpUrl=null;this.CLASSNAME="advanceMediaSearchContainer";this.MEDIA_COLLECTION_CLASSNAME="mediaCollectionsContainer";this.SEARCH_OPTIONS_CONTAINER_CLASSNAME="searchOptionsContainer";this.SEARCH_VALUES_CONTAINER_CLASSNAME="searchValuesContainer";this.SEARCH_TERMS_CONTAINER_CLASSNAME="searchTermsContainer";this.SEARCH_TERM_CONTAINER_CLASSNAME="searchTermContainer";this.SEARCH_HEADER_CONTAINER_CLASSNAME="searchHeaderContainer";this.EXPANDED_CLASSNAME="expanded";this.REMOVE_BUTTON_CLASSNAME="removeButton";this.CLOSE_BUTTON_CLASSNAME="closeButton";this.HELP_BUTTON_CLASSNAME="helpButton";this.TERM_CONDITION_BUTTON_CLASSNAME="termConditionButton";this.NEW_SEARCH_TERM_BUTTON_CLASSNAME="newSearchTermButton";this.CURRENT_SEARCH_TERM_CLASSNAME="currentSearchTerm";this.LOADING_CONTAINER_CLASSNAME="loadingContainer";this.SEARCH_VALUE_CONTAINER_CLASSNAME="searchValue";this.SUBMIT_SEARCH_BUTTON_CLASSNAME="submitSearchButton";this.SEARCH_DATE_CONTAINER_CLASSNAME="searchDateContainer";this.FIRST_SEARCH_TERM_VALUE_CLASSNAME="firstSearchTermValue";this.SEARCH_TITLE_CLASSNAME="searchTitle";this.SEARCH_SELECTED_TITLE_CLASSNAME="searchSelectedTitle";this.ADVANCE_SEARCH_SUGGESTIONS_TEXT="Enter a letter or phrase to see a list of known values:";this.ADVANCE_SEARCH_VALUES_TEXT="Enter search values and click add:";this.ADVANCE_SEARCH_DATE_VALUE_TEXT="Enter a start and/or end year";this.ADVANCED_SEARCH_TEXT="Advanced Search";this.ALTERNATE_ADVANCED_SEARCH_TEXT="Alternate Advanced Search";this.SEARCH_INTRO_TEXT="Use the following form to construct an advanced search query.";this.ERROR_SELECT_MEDIA_FIELD_TEXT="Please select a media field first.";this.ERROR_SELECT_MEDIA_COLLECTION_TEXT="Please select at least one media collection.";this.MEDIA_COLLECTION_TEXT="Collections: ";this.SELECT_MEDIA_FIELD_DEFAULT_TEXT="Select a field";this.HELP_BUTTON_TEXT="Help";this.CLOSE_BUTTON_TEXT="Close";this.ADD_SEARCH_VALUE_BUTTON_TEXT="Add";this.LIST_ALL_BUTTON_TEXT="%";this.SUBMIT_SEARCH_BUTTON_TEXT="Search";this.HELP_TARGET="help";this.REMOVE_SEARCH_TERM_INSTRCUTION="Click to remove.";this.TERM_CONDITION_BUTTON_INSTRCUTION="Match All / Match Any";this.SEARCH_TERM_REMOVE_BUTTON_ELEMENT_INDEX=0;this.SEARCH_TERM_MEDIA_FIELD_ELEMENT_INDEX=2;this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX=3;this.SEARCH_TERM_VALUE_ELEMENT_INDEX=4;this.SEARCH_VALUES_WIDTH=200;this.SEARCH_VALUE_INPUT_WIDTH=this.SEARCH_VALUES_WIDTH-10;this.SEARCH_DATE_INPUT_WIDTH=40;this.SEARCH_TERM_MIN_HEIGHT=30;this.SEARCH_TERMS_CONTAINER_GAP=5;this.INNER_ELEMENT_SIZE_PERCENTAGE=0.97;this.REMOVE_BUTTON_WIDTH=20;this.MAX_LOADING_TIME=46000;this.MIN_LOADING_TIME=800;this.SUGGESTION_BATCH_SIZE=50;this.SUGGESTION_BATCH_DELAY=300;this.SELECT_NO_VALUE="-";this.SUGGESTION_KEYDOWN_PAUSE=500;this.COLLECTION_NAME_LENGTH=26;this.init=function(){this.mPanel=$(document.createElement("div"));this.mLoadingContainer=$(document.createElement("div"));this.mSearchHeaderContainer=$(document.createElement("div"));this.mSearchIntroText=$(document.createElement("p"));this.mSearchOptionsContainer=$(document.createElement("div"));this.mMediaCollectionsContainer=$(document.createElement("div"));this.mMediaCollectionsListContainer=$(document.createElement("div"));this.mSearchValuesContainer=$(document.createElement("div"));this.mSearchValueInput=$(document.createElement("input"));this.mAddSearchValueButton=$(document.createElement("a"));this.mListAllButton=$(document.createElement("a"));this.mAddSearchDateValueButton=$(document.createElement("a"));this.mSearchStartDate=$(document.createElement("input"));this.mSearchEndDate=$(document.createElement("input"));this.mSearchDateContainer=$(document.createElement("div"));this.mSearchValueContainer=$(document.createElement("div"));this.mSearchTermsContainer=$(document.createElement("div"));this.mToggleMediaCollectionsButton=$(document.createElement("a"));this.mNewSearchTermButton=$(document.createElement("a"));this.mHelpButton=$(document.createElement("a"));this.mCloseButton=$(document.createElement("a"));this.mMediaCollectionsText=$(document.createElement("span"));this.mAdvanceSearchInstructionText=$(document.createElement("span"));this.mSubmitSearchButton=$(document.createElement("a"));this.mTitleButton=$(document.createElement("span"));this.mSelectedTitleButton=$(document.createElement("span"));this.mPanel.style.visibility="hidden";this.mPanel.addClassName(this.CLASSNAME);this.mLoadingContainer.addClassName(this.LOADING_CONTAINER_CLASSNAME);this.mMediaCollectionsContainer.addClassName(this.MEDIA_COLLECTION_CLASSNAME);this.mSearchValuesContainer.addClassName(this.SEARCH_VALUES_CONTAINER_CLASSNAME);this.mSearchTermsContainer.addClassName(this.SEARCH_TERMS_CONTAINER_CLASSNAME);this.mSearchOptionsContainer.addClassName(this.SEARCH_OPTIONS_CONTAINER_CLASSNAME);this.mNewSearchTermButton.addClassName(this.NEW_SEARCH_TERM_BUTTON_CLASSNAME);this.mSubmitSearchButton.addClassName(this.SUBMIT_SEARCH_BUTTON_CLASSNAME);this.mSearchDateContainer.addClassName(this.SEARCH_DATE_CONTAINER_CLASSNAME);this.mSearchHeaderContainer.addClassName(this.SEARCH_HEADER_CONTAINER_CLASSNAME);this.mCloseButton.addClassName(this.CLOSE_BUTTON_CLASSNAME);this.mHelpButton.addClassName(this.HELP_BUTTON_CLASSNAME);this.mTitleButton.addClassName(this.SEARCH_TITLE_CLASSNAME);this.mSelectedTitleButton.addClassName(this.SEARCH_SELECTED_TITLE_CLASSNAME);this.mPanel.appendChild(this.mLoadingContainer);this.mSearchHeaderContainer.appendChild(this.mTitleButton);this.mSearchHeaderContainer.appendChild(this.mSelectedTitleButton);this.mSearchHeaderContainer.appendChild(this.mCloseButton);this.mSearchHeaderContainer.appendChild(this.mHelpButton);this.mPanel.appendChild(this.mSearchHeaderContainer);this.mPanel.appendChild(this.mSearchIntroText);this.mPanel.appendChild(this.mMediaCollectionsContainer);this.mSearchDateContainer.appendChild(this.mSearchStartDate);this.mSearchDateContainer.appendChild($(document.createElement("span")).update(" to "));this.mSearchDateContainer.appendChild(this.mSearchEndDate);this.mSearchDateContainer.appendChild(this.mAddSearchDateValueButton);this.mSearchValuesContainer.appendChild(this.mSearchDateContainer);this.mSearchValuesContainer.appendChild(this.mSearchValueInput);this.mSearchValuesContainer.appendChild(this.mAddSearchValueButton);this.mSearchValuesContainer.appendChild(this.mListAllButton);this.mSearchValuesContainer.appendChild(this.mSearchValueContainer);this.mSearchOptionsContainer.appendChild(this.mAdvanceSearchInstructionText);this.mSearchOptionsContainer.appendChild(this.mSubmitSearchButton);this.mSearchOptionsContainer.appendChild(this.mSearchValuesContainer);this.mSearchTermsContainer.appendChild(this.mNewSearchTermButton);this.mSearchOptionsContainer.appendChild(this.mSearchTermsContainer);this.mPanel.appendChild(this.mSearchOptionsContainer);this.mContainer.appendChild(this.mPanel);this.mSearchIntroText.update(this.SEARCH_INTRO_TEXT);this.mDimensions=$([this.mPanel.getWidth(),this.mPanel.getHeight()]);this.mToggleMediaCollectionsButton.href="javascript: var aButton;";this.mNewSearchTermButton.href="javascript: var aButton;";this.mHelpButton.id="AdvancedSearchHelp";this.mCloseButton.href="javascript: var aButton;";this.mAddSearchValueButton.href="javascript: var aButton;";this.mAddSearchValueButton.update(this.ADD_SEARCH_VALUE_BUTTON_TEXT);this.mListAllButton.href="javascript: var aButton;";this.mListAllButton.update(this.LIST_ALL_BUTTON_TEXT);this.mAddSearchDateValueButton.href="javascript: var aButton;";this.mAddSearchDateValueButton.update(this.ADD_SEARCH_VALUE_BUTTON_TEXT);this.mSearchValueInput.type="text";this.mAdvanceSearchInstructionText.update(this.ADVANCE_SEARCH_SUGGESTIONS_TEXT);this.mSubmitSearchButton.href="javascript: var aButton;";this.mSubmitSearchButton.update(this.SUBMIT_SEARCH_BUTTON_TEXT);this.mTitleButton.update(this.ADVANCED_SEARCH_TEXT);this.mSelectedTitleButton.update(this.ALTERNATE_ADVANCED_SEARCH_TEXT);var B=this;this.mToggleMediaCollectionsButton.onclick=function(){B.mToggleMediaCollectionsButton.blur();B.toggleMediaCollections()};this.mMediaCollectionsText.onclick=function(){B.mToggleMediaCollectionsButton.blur();B.toggleMediaCollections()};this.mNewSearchTermButton.onclick=function(){B.mNewSearchTermButton.blur();B.appendSearchTerm()};this.mCloseButton.onclick=function(){B.mCloseButton.blur();B.toggle()};this.mHelpButton.onclick=function(){B.mHelpButton.blur();B.toggleHelpControl()};this.mSubmitSearchButton.onclick=function(){B.mSubmitSearchButton.blur();return B.submitSearch()};this.mTitleButton.onclick=function(){B.mToggleSearchFunction()};this.mPanel.style.position="absolute";this.mPanel.style.top=0+"px";this.mPanel.style.right=0+"px";this.mPanel.style.overflowX="hidden";this.mPanel.style.overflowY="hidden";this.mLoadingContainer.hide();this.mLoadingContainer.style.position="absolute";this.mLoadingContainer.style.left=1+"px";this.mLoadingContainer.style.top=1+"px";this.mLoadingContainer.style.width=150+"px";this.mLoadingContainer.style.height=500+"px";this.mLoadingContainer.style.zIndex=99999;jshSetOpacity(this.mLoadingContainer,0.75);var C=Math.round(this.INNER_ELEMENT_SIZE_PERCENTAGE*this.mDimensions[0]);this.mSearchHeaderContainer.style.cssFloat="left";this.mSearchHeaderContainer.style.styleFloat="left";this.mSearchHeaderContainer.style.width=C-10+"px";this.mSearchHeaderContainer.style.marginBottom=20+"px";this.mSearchIntroText.style.width=C+"px";this.mSearchIntroText.style.overflow="hidden";this.mSearchIntroText.style.clear="both";this.mMediaCollectionsContainer.style.width=C+"px";this.mMediaCollectionsContainer.style.overflow="auto";this.mMediaCollectionsListContainer.style.width=(C-20)+"px";this.mMediaCollectionsListContainer.style.overflow="hidden";this.mMediaCollectionsListContainer.style.display="none";this.mSearchOptionsContainer.style.width=C+"px";var D=[13,0];var A=jshBorderOffset(this.mNewSearchTermButton,[0,0]);this.mSearchTermsContainerWidth=(C-this.SEARCH_VALUES_WIDTH-A[0]-this.SEARCH_TERMS_CONTAINER_GAP);this.mSearchTermsContainer.style.width=this.mSearchTermsContainerWidth+"px";this.mSearchTermsContainer.style.position="absolute";this.mSearchTermsContainer.style.zIndex=500;this.mSearchTermsContainer.style.left=(D[0])+"px";D=Position.positionedOffset(this.mMediaCollectionsContainer);D[1]+=this.mMediaCollectionsContainer.getHeight();this.mSearchValuesContainer.style.width=(this.SEARCH_VALUES_WIDTH)+"px";this.mSearchValuesContainer.style.height=(this.mDimensions[1]-D[1]-55)+"px";this.mSearchValuesContainer.style.position="absolute";this.mSearchValuesContainer.style.left=((D[0]+C)-this.SEARCH_VALUES_WIDTH)+"px";this.mSearchValuesContainer.style.overflow="hidden";this.mSearchValuesContainer.style.zIndex=400;this.mAdvanceSearchInstructionText.style.width=(this.mSearchTermsContainerWidth)+"px";this.mAdvanceSearchInstructionText.style.position="absolute";this.mAdvanceSearchInstructionText.style.right=(this.SEARCH_VALUES_WIDTH+20)+"px";this.mSubmitSearchButton.style.position="absolute";this.mSubmitSearchButton.style.right=(32)+"px";D=Position.positionedOffset(this.mMediaCollectionsContainer);this.mSubmitSearchButton.style.top=D[1]-7+"px";this.mNewSearchTermButton.style.display="block";this.mNewSearchTermButton.style.width=(this.mSearchTermsContainer.getWidth()-A[0]-this.REMOVE_BUTTON_WIDTH)+"px";this.mNewSearchTermButton.style.height=(this.SEARCH_TERM_MIN_HEIGHT)+"px";this.constructMediaCollectionContainer();this.appendSearchTerm();this.constructSearchValues();this.mPanel.hide();this.mIsHidden=true;this.mPanel.style.visibility=""};this.constructSearchValues=function(){this.mSearchValueInput.style.width=(this.SEARCH_VALUE_INPUT_WIDTH-this.mListAllButton.getWidth()-5)+"px";this.mAddSearchValueButton.hide();this.mListAllButton.show();this.mSearchStartDate.style.width=(this.SEARCH_DATE_INPUT_WIDTH)+"px";this.mSearchEndDate.style.width=(this.SEARCH_DATE_INPUT_WIDTH)+"px";this.mSearchDateContainer.hide();this.mSearchValueContainer.style.overflow="auto";this.mSearchValueContainer.style.width=(this.SEARCH_VALUE_INPUT_WIDTH)+"px";this.mSearchValueContainer.style.height=(this.mSearchValuesContainer.getHeight()-this.mSearchValueContainer.offsetTop-5)+"px";var A=this;this.mSearchValueInput.advanceMediaSearch=this;this.mAddSearchValueButton.onclick=function(){A.mAddSearchValueButton.blur();A.addSearchValueToCurrentSearchOption(A.mSearchValueInput.value);A.mSearchValueInput.value=""};this.mAddSearchDateValueButton.onclick=function(){A.mAddSearchDateValueButton.blur();A.addSearchValueToCurrentSearchOption(A.mSearchStartDate.value+"..."+A.mSearchEndDate.value);A.mSearchStartDate.value="";A.mSearchEndDate.value=""};this.mListAllButton.onclick=function(){A.mListAllButton.blur();A.addSearchValueToCurrentSearchOption("");A.mSearchValueInput.value="%";A.requestSuggestions("%")};this.mSearchStartDate.onkeydown=function(C){var B=jshGetEvent(C).keyCode;if((B>=48&&B<=57)||(B>=96&&B<=105)||(B==8||B==9||B==46||B==37||B==39)){return true}return false};this.mSearchEndDate.onkeydown=function(C){var B=jshGetEvent(C).keyCode;if((B>=48&&B<=57)||(B>=96&&B<=105)||(B==8||B==9||B==46||B==37||B==39)){return true}return false};this.setSuggestionMode(true)};this.constructMediaCollectionContainer=function(){this.mMediaCollectionsContainer.appendChild(this.mToggleMediaCollectionsButton);this.mMediaCollectionsContainer.appendChild(this.mMediaCollectionsText);this.mMediaCollectionsContainer.appendChild(this.mMediaCollectionsListContainer);if(this.mMediaCollections){var F=null;var B=null;var E=null;var D=null;for(var C=0;C<this.mMediaCollections.length;C++){F=this.mMediaCollections[C];B=$(document.createElement("div"));E=$(document.createElement("input"));D=$(document.createElement("label"));E.type="checkbox";E.id=F.abbreviatedName;E.name=F.abbreviatedName;E.value=F.abbreviatedName;var A=this;E.onclick=function(){A.updateMediaCollectionsUI();A.requestMediaFields()};D.htmlFor=F.abbreviatedName;var G=F.collectionName;if(F.collectionName.length>this.COLLECTION_NAME_LENGTH){G=F.collectionName.truncate(this.COLLECTION_NAME_LENGTH,"...")}D.update(G);B.appendChild(E);B.appendChild(D);this.mMediaCollectionsListContainer.appendChild(B)}}};this.appendSearchTerm=function(){var B=$(document.createElement("div"));var G=$(document.createElement("a"));var D=$(document.createElement("a"));var H=this.constructMediaFieldsSelect();var E=this.constructMediaSearchOperatorsSelect();var I=$(document.createElement("div"));B.appendChild(G);B.appendChild(D);B.appendChild(H);B.appendChild(E);B.appendChild(I);this.mSearchTermsContainer.insertBefore(B,this.mNewSearchTermButton);G.href="javascript: var aButton;";G.title=this.REMOVE_SEARCH_TERM_INSTRCUTION;G.addClassName(this.REMOVE_BUTTON_CLASSNAME);G.mRemovalElement=B;G.onclick=function(){C.removeSearchTerm(G.mRemovalElement)};G.style.position="absolute";G.style.left=(-4)+"px";D.href="javascript: var aButton;";D.title=this.TERM_CONDITION_BUTTON_INSTRCUTION;D.addClassName(this.TERM_CONDITION_BUTTON_CLASSNAME);I.style.overflow="hidden";var A=jshBorderOffset(this.mNewSearchTermButton,[0,0]);B.addClassName(this.SEARCH_TERM_CONTAINER_CLASSNAME);B.style.overflow="hidden";B.style.width=(this.mSearchTermsContainer.getWidth()-A[0]-(this.REMOVE_BUTTON_WIDTH))+"px";B.style.height=this.SEARCH_TERM_MIN_HEIGHT+"px";B.mDefaultWidth=(this.mSearchTermsContainerWidth-A[0]-(this.REMOVE_BUTTON_WIDTH));B.mExpandedWidth=(this.mSearchTermsContainerWidth+A[0]+this.SEARCH_TERMS_CONTAINER_GAP-(this.REMOVE_BUTTON_WIDTH)-2);for(var F=0;F<B.childNodes.length;F++){if(B.childNodes[F]!=G){B.childNodes[F].style.cssFloat="left";B.childNodes[F].style.styleFloat="left"}}var C=this;B.onclick=function(){C.updateSearchTermUI(B)};H.onchange=function(){C.clearSearchValues();C.clearSearchTermValues(I);C.updateSearchTermUI();C.updateSearchValuesUI()};E.onchange=function(){C.clearSearchValues();C.clearSearchTermValues(C.mCurrentSearchOption.childNodes[C.SEARCH_TERM_VALUE_ELEMENT_INDEX]);C.setSuggestionMode(null,E);C.updateSearchTermUI();C.mSearchValueInput.focus()};D.onclick=function(){D.blur();C.toggleTermCondition()};I.value=$(new Array());this.updateSearchTermUI(B)};this.toggleTermCondition=function(){if(this.mCurrentTermCondition){var A=this.mTermConditions.indexOf(this.mCurrentTermCondition);A++;this.mCurrentTermCondition=this.mTermConditions[A%this.mTermConditions.length]}else{this.mCurrentTermCondition=this.mTermConditions[0]}this.updateSearchTermUI()};this.updateSearchTermUI=function(D){if(D&&(D!=this.mCurrentSearchOption)){this.clearSearchValues();this.mSearchValueInput.value="";if(this.mCurrentSearchOption){this.mCurrentSearchOption.removeClassName(this.CURRENT_SEARCH_TERM_CLASSNAME);this.mCurrentSearchOption.style.width=this.mCurrentSearchOption.mDefaultWidth+"px";this.mCurrentSearchOption.style.borderRightWidth="1px"}this.mCurrentSearchOption=D;this.mCurrentSearchOption.addClassName(this.CURRENT_SEARCH_TERM_CLASSNAME);this.mCurrentSearchOption.style.width=this.mCurrentSearchOption.mExpandedWidth+"px";this.mCurrentSearchOption.style.borderRightWidth="0px";this.setSuggestionMode(true,this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX])}if(this.mSearchTermsContainer.childNodes.length==2){this.mSearchTermsContainer.childNodes[0].childNodes[this.SEARCH_TERM_REMOVE_BUTTON_ELEMENT_INDEX].style.visibility="hidden"}else{this.mSearchTermsContainer.childNodes[0].childNodes[this.SEARCH_TERM_REMOVE_BUTTON_ELEMENT_INDEX].style.visibility="visible"}if(this.isSearchOptionsValid()){this.mNewSearchTermButton.style.visibility="visible"}else{this.mNewSearchTermButton.style.visibility="hidden"}if(this.mCurrentTermCondition){for(var B=0;B<this.mTermConditions.length;B++){this.mSearchTermsContainer.removeClassName(this.mTermConditions[B].className)}this.mSearchTermsContainer.addClassName(this.mCurrentTermCondition.className)}var E=this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_VALUE_ELEMENT_INDEX];var C=this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX].offsetLeft+this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX].getWidth();E.style.width=(this.mCurrentSearchOption.mDefaultWidth-C-10)+"px";var A=this.SEARCH_TERM_MIN_HEIGHT;if(E.value.length>0){A=this.SEARCH_TERMS_CONTAINER_GAP;for(var B=0;B<E.childNodes.length;B++){if(B==0){E.childNodes[B].addClassName(this.FIRST_SEARCH_TERM_VALUE_CLASSNAME)}else{E.childNodes[B].removeClassName(this.FIRST_SEARCH_TERM_VALUE_CLASSNAME)}A+=E.childNodes[B].getHeight();A+=jshMarginOffset(E.childNodes[B],[0,0])[1]}A=Math.max(this.SEARCH_TERM_MIN_HEIGHT,A)}E.style.height=(A)+"px";this.mCurrentSearchOption.style.height=(A)+"px";this.updateDimensions()};this.updateSearchOperators=function(){var A;for(var B=0;B<this.mSearchTermsContainer.childNodes.length;B++){A=this.mSearchTermsContainer.childNodes[B];this.constructMediaSearchOperatorsSelect(A.childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX],this.isMediaFieldDate(A))}};this.updateSearchValuesUI=function(){if(this.mIsRequestSuggestionMode==false){if(this.isMediaFieldDate(this.mCurrentSearchOption)){this.mAdvanceSearchInstructionText.update(this.ADVANCE_SEARCH_DATE_VALUE_TEXT);this.mSearchDateContainer.show();this.mSearchValueInput.hide();this.mAddSearchValueButton.hide();this.mListAllButton.hide()}else{this.mAdvanceSearchInstructionText.update(this.ADVANCE_SEARCH_VALUES_TEXT);this.mSearchValueInput.style.width=(this.SEARCH_VALUE_INPUT_WIDTH-this.mAddSearchValueButton.getWidth()-5)+"px";this.mAddSearchValueButton.show();this.mListAllButton.hide();this.mSearchValueInput.show();this.mSearchDateContainer.hide();var A=this;this.mSearchValueInput.onkeydown=function(C){var B=jshGetEvent(C).keyCode;if(B==13){A.addSearchValueToCurrentSearchOption(A.mSearchValueInput.value);A.mSearchValueInput.value=""}}}}else{this.mAdvanceSearchInstructionText.update(this.ADVANCE_SEARCH_SUGGESTIONS_TEXT);if(this.mListAllButton.getWidth()>0){this.mSearchValueInput.style.width=(this.SEARCH_VALUE_INPUT_WIDTH-this.mListAllButton.getWidth()-5)+"px"}this.mAddSearchValueButton.hide();this.mListAllButton.show();this.mSearchValueInput.show();this.mSearchDateContainer.hide();this.mSearchValueInput.onkeydown=Static_AdvanceMediaSearchRequest_RequestSuggestions}};this.updateMediaCollectionsUI=function(){var A=this.getSelectedMediaCollections();this.mMediaCollectionsText.update("Collections: Searching "+A.length+" of "+this.mMediaCollections.length)};this.updateDimensions=function(){if(this.mSearchTermsContainer.getHeight()>=(this.mPanel.getHeight()-75)){var A=(this.mSearchTermsContainer.getHeight()+this.mNewSearchTermButton.getHeight()+50);this.mPanel.style.height=A+"px";this.mSearchValuesContainer.style.height=(A-60)+"px";this.mSearchValueContainer.style.height=(this.mSearchValuesContainer.getHeight()-this.mSearchValueContainer.offsetTop-5)+"px"}};this.removeSearchTerm=function(A){if(A){if(this.mSearchTermsContainer.childNodes.length>2){this.mSearchTermsContainer.removeChild(A);this.updateSearchTermUI(this.mSearchTermsContainer.childNodes[this.mSearchTermsContainer.childNodes.length-2])}}};this.constructMediaFieldsSelect=function(A){if(!A){A=$(document.createElement("select"))}A.options.length=0;A.options[0]=new Option(this.SELECT_MEDIA_FIELD_DEFAULT_TEXT,this.SELECT_NO_VALUE);if(this.mMediaFields){for(var B=1;B<=this.mMediaFields.length;B++){if(!this.mMediaFields[B-1].fieldName){this.mMediaFields[B-1].fieldName=""}A.options[B]=new Option(this.mMediaFields[B-1].displayName,this.mMediaFields[B-1].fieldName);A.options[B].title=this.mMediaFields[B-1].displayName;var C=this.getSelectedMediaCollections();if(C&&(C.length>1)&&(B==this.mMediaFields.length)){A.options[B].selected=true}}}return A};this.constructMediaSearchOperatorsSelect=function(A,D){if(!A){A=$(document.createElement("select"))}A.options.length=0;var B=(D==true)?this.mMediaSearchDateOperators:this.mMediaSearchOperators;if(B){for(var C=0;C<B.length;C++){A.options[C]=new Option(B[C].displayName,B[C].value);A.options[C].title=B[C].value}}return A};this.render=function(B,A){if(B&&A){this.mContainer=B;this.mPositionRefernceElement=A;this.init()}};this.updatePosition=function(){if(this.mPanel&&this.mPositionRefernceElement){var C=Position.cumulativeOffset(this.mPositionRefernceElement);var A=jshGetWindowSize();var B=$([0,0]);B[0]=A[0]-(C[0]+this.mPositionRefernceElement.getWidth());B[1]=C[1]+this.mPositionRefernceElement.getHeight();this.mPanel.style.right=B[0]+"px";this.mPanel.style.top=B[1]+"px"}};this.hide=function(){this.mIsHidden=true;if(this.mAnimate==true){this.mPanel.style.overflowY="hidden";var B=this;var A=function(){B.mPanel.hide()};ElementEffects.animateElementGrowth(this.mPanel,[0,0],55,0.45,A)}else{this.mPanel.hide()}};this.show=function(){this.mIsHidden=false;this.mPanel.show();this.updatePosition();if(this.mAnimate==true){var A=this;var B=function(){A.mPanel.style.overflowY="hidden"};this.mPanel.style.width=0+"px";this.mPanel.style.height=0+"px";ElementEffects.animateElementGrowth(this.mPanel,this.mDimensions,55,0.45,B)}};this.toggle=function(){if(this.mIsHidden==true){this.show();this.initiateAdvancedSearchHelp();this.showHelpTipPopUp()}else{this.hide();this.closeAdvancedSearchHelp()}};this.toggleMediaCollections=function(){if(this.mMediaCollectionsListContainer.visible()){this.mToggleMediaCollectionsButton.className="";this.mMediaCollectionsListContainer.hide()}else{this.mToggleMediaCollectionsButton.className=this.EXPANDED_CLASSNAME;this.mMediaCollectionsListContainer.show()}};this.setSort=function(A){this.mSort=A};this.getSort=function(){return this.mSort};this.setSearchUrl=function(A){this.mSearchUrl=A};this.setMediaCollections=function(B,A){this.mMediaCollections=B};this.setSelectedCollections=function(D){if(D){var C=this.mMediaCollectionsListContainer.getElementsBySelector("input");for(var A=0;A<D.length;A++){for(var B=0;B<C.length;B++){if(C[B]&&C[B].value==D[A].abbreviatedName){C[B].checked=true;break}}}this.requestMediaFields();this.updateMediaCollectionsUI()}};this.setRequestMediaFieldsFunction=function(A){this.mRequestMediaFieldsFunction=A};this.requestMediaFields=function(){if(this.mRequestMediaFieldsFunction){var A=this.getSelectedMediaCollections();this.mRequestMediaFieldsFunction(A)}};this.setMediaFields=function(C){this.mMediaFields=C;var B=this.mSearchTermsContainer.childNodes;for(var A=0;A<B.length;A++){if(B[A]&&(B[A]!=this.mNewSearchTermButton)){this.constructMediaFieldsSelect(B[A].childNodes[this.SEARCH_TERM_MEDIA_FIELD_ELEMENT_INDEX]);this.clearSearchTermValues(B[A].childNodes[this.SEARCH_TERM_VALUE_ELEMENT_INDEX]);B[A].childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX].selectedIndex=0}}this.updateSearchTermUI();this.updateSearchValuesUI();this.setSuggestionMode(true,this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX])};this.setMediaSearchOperators=function(A){this.mMediaSearchOperators=A};this.setMediaSearchDateOperators=function(A){this.mMediaSearchDateOperators=A};this.setAnimate=function(A){this.mAnimate=A};this.setToggleSearchFunction=function(A){this.mToggleSearchFunction=A};this.setRequestSuggestionFunction=function(A){this.mRequestSuggestionFunction=A};this.requestSuggestions=function(B){if(this.mIsRequestSuggestionMode==true){var C=this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_MEDIA_FIELD_ELEMENT_INDEX].value;var A=this.getSelectedMediaCollections();if((!C||C==this.SELECT_NO_VALUE)&&C!=""){this.mSearchValueContainer.update(this.ERROR_SELECT_MEDIA_FIELD_TEXT)}else{if(!A||(A.length<1)){this.mSearchValueContainer.update(this.ERROR_SELECT_MEDIA_COLLECTION_TEXT)}else{if(B&&this.mRequestSuggestionFunction&&this.mCurrentSearchOption){if(this.mSuggestionCache[B+"-"+C+"-"+A.join("-")]){this.setSuggestions(this.mSuggestionCache[B+"-"+C+"-"+A])}else{this.startLoadingState(this.mSearchValuesContainer);this.mRequestSuggestionFunction(B,C,A)}}}}}};this.setSuggestions=function(A,C,D,B){if(A){this.setSearchValues(A);this.endLoadingState();if(C&&D&&B){this.mSuggestionCache[C+"-"+D+"-"+B.join("-")]=A}}};this.clearSearchValues=function(){if(this.mBatchSetSearchValuesTimeout){clearTimeout(this.mBatchSetSearchValuesTimeout);this.mBatchSetSearchValuesTimeout=null}this.mSearchValueContainer.update("")};this.appendSearchValue=function(C){if(C){C=C.replace(/\\"/g,'"')}var B=this.findSearchValue(C);if(B){ElementEffects.blinkColor(B)}else{var A=this;B=$(document.createElement("span"));B.update(C);B.value=C;B.title=C;B.onclick=function(E){var D=jshGetSourceElement(E);A.addSearchValueToCurrentSearchOption(D.value)};this.mSearchValueContainer.appendChild(B)}};this.findSearchValue=function(B){for(var A=0;A<this.mSearchValueContainer.childNodes.length;A++){if(this.mSearchValueContainer.childNodes[A].value==B){return this.mSearchValueContainer.childNodes[A]}}return null};this.setSearchValues=function(C,B){if(B!=true){this.clearSearchValues()}if(C){for(var D=0;D<this.SUGGESTION_BATCH_SIZE;D++){if(C.length<=D){break}this.appendSearchValue(C[D]);C[D]=null}C=C.compact();if(C.length>0){var E=C;var A=this;this.mBatchSetSearchValuesTimeout=setTimeout(function(){A.setSearchValues(E,true)},this.SUGGESTION_BATCH_DELAY)}}};this.addSearchValueToCurrentSearchOption=function(G){if(G&&(G!="...")&&this.mCurrentSearchOption){var E=this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_VALUE_ELEMENT_INDEX];var B=E.value.indexOf(G);if(B<0){var H=G;var D=this.mCurrentSearchOption.childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX].value;E.value.push(H);var A=$(document.createElement("div"));var J=$(document.createElement("span")).update(G);var I=$(document.createElement("a"));A.appendChild(I);A.appendChild(J);E.appendChild(A);var C=this;I.onclick=function(){C.removeSearchValue(G,E)};A.value=G;A.addClassName(this.SEARCH_VALUE_CONTAINER_CLASSNAME);A.style.width=(E.getWidth())+"px";I.href="javascript: var aButton;";I.style.height=J.getHeight()+"px";J.style.width=(A.getWidth()-I.getWidth()-25)+"px"}else{var F=E.childNodes[B].childNodes[1];ElementEffects.blinkColor(F)}this.updateSearchTermUI()}};this.removeSearchValue=function(C,B){if(C&&B){var A=B.value.indexOf(C);B.value[A]=null;B.value=B.value.compact();B.removeChild(B.childNodes[A]);this.updateSearchTermUI()}};this.clearSearchTermValues=function(A){if(A){A.value.clear();A.update("")}};this.getSelectedMediaCollections=function(){var C=$(new Array());var B=this.mMediaCollectionsListContainer.getElementsBySelector("input");for(var A=0;A<B.length;A++){if(B[A]&&B[A].checked){C.push(B[A].value)}}return C};this.setSuggestionMode=function(A,B){if(B){if(B.value=="="){A=true}else{A=false}}this.mIsRequestSuggestionMode=(A==true);this.updateSearchValuesUI()};this.isMediaFieldDate=function(C){var B=false;if(C){var D=C.childNodes[this.SEARCH_TERM_MEDIA_FIELD_ELEMENT_INDEX];if(D&&this.mMediaFields){for(var A=0;A<this.mMediaFields.length;A++){if(this.mMediaFields[A].fieldName==D.value){B=this.mMediaFields[A].dateField;break}}}}return B};this.isSearchOptionsValid=function(){var C=false;var B=this.mSearchTermsContainer.childNodes;if(B){C=true;for(var A=0;A<B.length;A++){if(B[A]&&(B[A]!=this.mNewSearchTermButton)){if((B[A].childNodes[this.SEARCH_TERM_MEDIA_FIELD_ELEMENT_INDEX].value==this.SELECT_NO_VALUE)||(B[A].childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX].value==this.SELECT_NO_VALUE)||(!B[A].childNodes[this.SEARCH_TERM_VALUE_ELEMENT_INDEX].value)||(B[A].childNodes[this.SEARCH_TERM_VALUE_ELEMENT_INDEX].value.length<1)){C=false;break}}}}return C};this.generateQueryString=function(){var H=null;if(this.isSearchOptionsValid()){var D;H=new Array();for(var G=0;G<this.mSearchTermsContainer.childNodes.length-1;G++){D=this.mSearchTermsContainer.childNodes[G];var F=this.isMediaFieldDate(D);var C=D.childNodes[this.SEARCH_TERM_VALUE_ELEMENT_INDEX].value;var B=D.childNodes[this.SEARCH_TERM_OPERATOR_ELEMENT_INDEX].value;if(!F&&(B=="=")){for(var E=0;E<C.length;E++){C[E]='"'+C[E]+'"'}}if(F){B="="}H.push(D.childNodes[this.SEARCH_TERM_MEDIA_FIELD_ELEMENT_INDEX].value);H.push(B);H.push(C.join(" OR "));if(G<this.mSearchTermsContainer.childNodes.length-2){H.push(this.mCurrentTermCondition.value+" ")}}H=H.join("")}if(H){H+=" LIMIT:";var A=this.getSelectedMediaCollections();for(var G=0;G<A.length;G++){H+=A[G]+","}if(H[H.length-1]==","){H=H.substring(0,H.length-1)}H=H.replace("&","%26");H=H.replace("#","%23")}return H};this.submitSearch=function(){var B=this.generateQueryString();if(B){var A=jshAppendParameter(this.mSearchUrl,"q",B);A=jshAppendParameter(A,"sort",this.mSort);window.location.href=A;return false}else{ElementEffects.blinkBorder(this.mCurrentSearchOption)}return true};this.startLoadingState=function(D){if(this.mLoading!=true){this.mLoading=true;if(this.mMinimumLoadingTimeout){clearTimeout(this.mMinimumLoadingTimeout)}var B=jshBorderOffset(D);var C=Position.positionedOffset(D);this.mLoadingStartTime=new Date();this.mLoadingContainer.style.width=(D.getWidth()-B[0])+"px";this.mLoadingContainer.style.height=(D.getHeight()-B[1])+"px";this.mLoadingContainer.style.left=(C[0]+(B[0]))+"px";this.mLoadingContainer.style.top=(C[1]+(B[1]))+"px";this.mLoadingContainer.show();var A=this;setTimeout(function(){A.endLoadingState(true)},this.MAX_LOADING_TIME)}};this.endLoadingState=function(C){if((C==true)||((this.mLoadingStartTime-new Date())>this.MIN_LOADING_TIME)){if(this.mLoading!=null){this.mLoading=null;this.mMinimumLoadingTimeout=null;this.mLoadingStartTime=null;this.mLoadingContainer.hide()}}else{var B=this.MIN_LOADING_TIME-(this.mLoadingStartTime-new Date());B=Math.min(B,this.MIN_LOADING_TIME);var A=this;this.mMinimumLoadingTimeout=setTimeout(function(){A.endLoadingState(true)},B)}};this.setHelpObjects=function(B,A){this.helpTipPopUp=B;this.helpTip=A};this.showHelpTipPopUp=function(){this.helpTipPopUp.setHelpUrl(this.mAdvancedHelpUrl);this.helpTip.setHelpUrl(this.mAdvancedHelpUrl);if(this.advancedSearchShowTip=="true"){this.helpTipPopUp.loadContentAndShow()}};this.setAdvancedSearchHelpUrl=function(A){this.mAdvancedHelpUrl=A};this.setHelpUrl=function(A){this.mHelpUrl=A};this.setAdvancedSearchShowTip=function(A){this.advancedSearchShowTip=A};this.setShowTip=function(A){this.showTip=A};this.toggleHelpControl=function(){this.helpTip.setHelpUrl(this.mAdvancedHelpUrl);this.helpTip.loadContentAndShow()};this.closeAdvancedSearchHelp=function(){this.helpTip.setHelpUrl(this.mHelpUrl);this.helpTipPopUp.setHelpUrl(this.mHelpUrl);this.helpTip.hide();this.helpTipPopUp.hide();this.setShowTip(this.showTip);this.helpTipPopUp.setShowTipParameter("showTip=false")};this.initiateAdvancedSearchHelp=function(){this.helpTip.hide();this.helpTipPopUp.hide();this.setShowTip(this.advancedSearchShowTip);this.helpTipPopUp.setShowTip(this.advancedSearchShowTip);this.helpTipPopUp.setShowTipParameter("&advancedSearchShowTip=false")}}function Static_AdvanceMediaSearchRequest_RequestSuggestions(C){var B=jshGetSourceElement(C);if(B&&B.advanceMediaSearch){var A=B.advanceMediaSearch;if(A.mLastKeyDownTimeOut){clearTimeout(A.mLastKeyDownTimeOut)}A.mLastKeyDownTimeOut=setTimeout(function(){A.requestSuggestions(A.mSearchValueInput.value)},A.SUGGESTION_KEYDOWN_PAUSE)}};