function SearchMoreOptionsButtonController(portletNamespace,searchInputEnabledOnAdvanced){var QUERY_TEXT_INPUT_ID="queryText";var CONTAINER_ID="wiwSearchMoreOptionContainer";var MORE_COMPONENT_ID="wiwSearchMoreOptions";var LESS_COMPONENT_ID="wiwSearchLessOptions";var ADVANCED_SEARCH_OPEN="advancedSearchOpen";var SEARCH_BUTTON_ADVANCED_ID="search-button-advanced";var SEARCH_BUTTON_TEXT_VALUE_ID="wiwSearchButtonTextValue";var SEARCH_BUTTON_ICON_ID="wiwSearchButtonIcon";var SEARCH_INPUT_ADVANCED_ID=
"queryText";var isOpen=false;this.setup=function(){var searchMoreButton=AUI().one("#"+portletNamespace+MORE_COMPONENT_ID);var searchLessButton=AUI().one("#"+portletNamespace+LESS_COMPONENT_ID);var searchButtonAdvanced=AUI().one("#"+portletNamespace+SEARCH_BUTTON_ADVANCED_ID);var searchInputAdvanced=document.getElementById(portletNamespace+SEARCH_INPUT_ADVANCED_ID);var inputHtmlElemWrapper=searchInputAdvanced.closest(".input-text-wrapper");var searchInputTextValue=document.getElementById(SEARCH_BUTTON_TEXT_VALUE_ID);
var searchButtonIcon=document.getElementById(SEARCH_BUTTON_ICON_ID);isOpen=document.getElementById(ADVANCED_SEARCH_OPEN).getAttribute("value")=="true";var mainSearchWrapper=AUI().one(".main-search-block-wrapper");var handler=function(){isOpen=!isOpen;AUI().one("#"+portletNamespace+CONTAINER_ID).setStyle("display",isOpen?"block":"none");if(!searchInputEnabledOnAdvanced)AUI().one("#"+portletNamespace+QUERY_TEXT_INPUT_ID).set("disabled",isOpen?"true":"");searchMoreButton.setStyle("display",isOpen?"none":
"");searchLessButton.setStyle("display",isOpen?"":"none");searchButtonAdvanced.setAttribute("class",isOpen?"btn btn-mobile-screen input-group-addon btn-primary btn-default wiw-search-button-expanded":"btn btn-mobile-screen input-group-addon btn-primary btn-default");inputHtmlElemWrapper.setAttribute("style",isOpen?"max-width:100%;width:100% !important":"");searchInputTextValue.setAttribute("style",isOpen?"":"display: none");searchButtonIcon.setAttribute("style",isOpen?"position:absolute; left:3px":
"");mainSearchWrapper.setStyle("width",isOpen?"100%":"");if(isOpen)AUI().one("#_eu_europa_publications_portlet_wiw_searchportlet_SearchPortlet_entityName").focus()};searchMoreButton.on("click",handler);searchLessButton.on("click",handler);var enablePerson=function(){enableControl("entityName",false);enableControl("lastName",true);enableControl("firstName",true);enableControl("searchPosition",true)};var enableEntity=function(){enableControl("entityName",true);enableControl("lastName",false);enableControl("firstName",
false);enableControl("searchPosition",false)};var enableControl=function(controlName,status){var controlInput=AUI().one("#"+portletNamespace+controlName);if(controlInput)if(status)controlInput.removeAttribute("disabled");else controlInput.setAttribute("disabled",true)};var setCheckBoxOnChange=function(controlName,checkBoxControl,enableFunction){var controlInput=AUI().one("#"+portletNamespace+controlName);if(controlInput)controlInput.on("change",function(e){checkBoxControl.set("checked",true);enableFunction()})};
var limitPerson=AUI().one("#"+portletNamespace+"limitPerson");if(limitPerson){limitPerson.on("change",function(e){var val=e.currentTarget.get("checked");if(val===true)enablePerson();else enableEntity()});setCheckBoxOnChange("lastName",limitPerson,enablePerson);setCheckBoxOnChange("firstName",limitPerson,enablePerson);setCheckBoxOnChange("searchPosition",limitPerson,enablePerson);if(limitPerson.get("checked"))enablePerson()}var limitEntity=AUI().one("#"+portletNamespace+"limitEntity");if(limitEntity){limitEntity.on("change",
function(e){var val=e.currentTarget.get("checked");if(val===true)enableEntity();else enablePerson()});setCheckBoxOnChange("entityName",limitEntity,enableEntity);if(limitEntity.get("checked"))enableEntity()}};this.getState=function(){return isOpen};this.shouldTextBeFilled=function(){if(!searchInputEnabledOnAdvanced)return false;return!isOpen}}
function QueryTextAutocompleteController(portletNamespace,maxResults,dataSourceUrl){var SEARCH_NODE_ID="queryText";this.setup=function(){AUI().use("autocomplete-list","datasource-io",function(A){var datasource=new A.DataSource.IO({source:A.one("#"+portletNamespace+"autocompleteEUOrganizationURL").val()});var nodeId="#"+portletNamespace+SEARCH_NODE_ID;var autoComplete=new A.AutoCompleteList({allowBrowserAutocomplete:false,activateFirstItem:true,inputNode:nodeId,maxResults:maxResults,on:{select:function(event){var result=
event.result.raw;A.one(nodeId).val(result.code)}},render:true,source:datasource,requestTemplate:"\x26"+portletNamespace+"keywords\x3d{query}",resultListLocator:function(response){var responseData=A.JSON.parse(response[0].responseText);return responseData.response},resultTextLocator:function(result){return result.label},width:400})})}}
AUI().ready("*",function(A){var portletNamespace=A.one("#wiwSearchPortalNamespace").val();var searchInputEnabledOnAdvanced=A.one("#"+portletNamespace+"searchInputEnabledOnAdvanced").val()==="true";var searchMoreOptionsController=new SearchMoreOptionsButtonController(portletNamespace,searchInputEnabledOnAdvanced);searchMoreOptionsController.setup();var maxResults=A.one("#"+portletNamespace+"maxNoOfDisplayResultsAtAutocomplete").val();validateMainSearch=function(namespace,queryTextParam,minSearchChars,
errorContainerClassName){var result=false;AUI().use("node","classnamemanager","selector-css3",function(Y){var ipt=Y.one("#"+namespace+queryTextParam);var queryTextInput=document.getElementById(namespace+queryTextParam);var getCN=Y.ClassNameManager.getClassName,SEARCH_CLS_PH_TEXT=getCN("placeholder","text");if(!ipt.hasClass(SEARCH_CLS_PH_TEXT)){minSearchChars=minSearchChars!=undefined?minSearchChars:2;if(queryTextInput!=undefined)changeInput(queryTextInput.value,minSearchChars,queryTextInput,errorContainerClassName);
if(ipt.get("value").length>=minSearchChars||!searchMoreOptionsController.shouldTextBeFilled()){result=true;return}}result=false});return result};changeInput=function(value,minSearchChars,element,errorContainerClassName){AUI().use("opportal-labels",function(A){if(value)inputLength=value.length;else inputLength=0;if(inputLength>=minSearchChars){removeValidationMessage(undefined,undefined,undefined,undefined,errorContainerClassName);element.parentNode.className="control-group search-text-input"}else if(inputLength>
0){removeValidationMessage(undefined,undefined,undefined,undefined,errorContainerClassName);var errorContainer=document.createElement("div");errorContainer.className=errorContainerClassName;errorContainer.innerHTML='\x3cdiv role\x3d"alert" class\x3d"search-input-alert minLength"\x3e'+A.opportalLabels.get("eu.europa.publications.MainSearch.insertMinText",minSearchChars)+"\x3c/div\x3e";element.parentNode.className="control-group search-text-input error";element.parentNode.appendChild(errorContainer)}else{removeValidationMessage(undefined,
undefined,undefined,undefined,errorContainerClassName);if(searchMoreOptionsController.shouldTextBeFilled()){var errorContainer=document.createElement("div");errorContainer.className=errorContainerClassName;errorContainer.innerHTML='\x3cdiv role\x3d"alert" class\x3d"search-input-alert custom"\x3e'+A.opportalLabels.get("eu.europa.publications.MainSearch.insertText")+"\x3c/div\x3e";element.parentNode.className="control-group search-text-input error";element.parentNode.appendChild(errorContainer)}}})}});
