OT
[OTB Korea] Visual Merchandising Assistant - Luxury Group (Maison Margiela, Marni, Jil Sander) Job Details | OTB Spa
OTB
Publiée le
20/07/2026
Contrat
Stage · 4-6 mois
Localisation
Seoul, KR
Taille équipe
15-50 emp.
Rémunération
Inconnue
Missions clés
Support la execution diaria delle stagioni · Gestire delle équipes
Profil recherché
Bac +8 (Doctorat) · 5-10 ans d'expérience · Fashion · Design
Outils & compétences
Adobe Photoshop, Adobe Illustrator, SketchUp
Le poste en détail
Calzaturificio Stephen is a historic Italian manufacturer of luxury men’s and women’s footwear. Founded in 1967, the Vicenza-based shoe factory has its roots in the tradition of Italian artisan production and is committed to respecting its rules and traditions, while also devoting itself to innovation. Every shoe is crafted with extreme precision, combining tradition and innovation, and embodying the true essence of Made in Italy. The entire production process occurs within the company, leading to the creation of luxury products of the highest quality. Professionalism, competence, and exceptional service have always been Calzaturificio Stephen essential values, qualities that allowed the manufacturer to establish important partnerships with famous maisons across the world. Calzaturificio Stephen is a long-standing supplier of OTB, crafting creations for some of its brands, such as Maison Margiela, and has become part of the Group through its Staff International subsidiary. Company Name: OTB Korea Job Title: Visual Merchandising (VM) Assistant – Luxury Group Report to: VM Manager Job Mission: To support the implementation of visual merchandising strategies and guidelines across the Luxury Group (Maison Margiela, Marni, and Jil Sander) boutiques in Korea, ensuring consistent brand presentation and an elevated client experience. The role supports the execution of seasonal displays, product launches, store openings, events, and other visual merchandising initiatives to strengthen brand image and contribute to retail performance. MAIN DUTIES AND RESPONSIBILITIES: 1. Visual Displays Support the VM team in updating displays for new product launches and seasonal campaigns. Support the development and execution of local VM strategies in line with HQ guidelines. Coordinate store visit schedules considering merchandise deliveries and boutique operations. Deliver regular display guidelines for flexible display change Ensure stores maintain VM standards Follow Up on store opening and ad-hoc projects Photograph displays results to report to HQ and share with other stores Request new guidelines to HQ before seasonal display Collaborate with the Merchandising team to confirm product selection and quantities for displays Collaborate with Retail, Merchandising, Marketing and HQ to ensure timely execution of VM initiatives Prepare VM reports and presentation materials for HQ and internal stakeholders. Coordinate with external vendors to support VM installations and special projects. 2. Inventory Management Manage orders for VM props, display materials, and visual assets. Distribute new VM props from HQ to boutiques and provide guidance on their usage and maintenance. Conduct regular inventory checks in collaboration with store staff. Visit warehouse to conduct inventory checks and dispose of obsolete props. Support purchase requests and invoice processing related to VM activities. Requirements Qualification: BA degree or above. A major in Fashion, Design, or a related field is preferred. Min. 2 years of relevant experience in Fashion or Consumer Goods industry Qualitative visual merchandising skills Proficiency in Adobe Photoshop, Adobe Illustrator, and SketchUp is required. Understanding fashion basic knowledge in luxury market Proactive mindset and communication skills Fluency in spoken and written English Proficiency in MS Office is required Willingness to make frequent visits to boutiques. Flexibility to work outside regular business hours when required for store openings, installations, or events. Ability to support the transportation and on-site installation of VM props and materials. Willingness and ability to travel domestically as required. How to Apply? Email to '[email protected]' Submit your CV in both Korean and English Include Position Title “Visual Merchandising (VM) Assistant” in the subject of the e-mail Recruitment Process: Application > 1st Interview > 2nd Interview (Field Test) > 3rd Interview > Offer * Field Test: Approximately 2 hours of in-store practical assessment covering RTW, Bags, and Shoes categories, followed by photo documentation and a brief presentation. Remark: Interviews will be notified individually to those who pass the application screening. If the contents of the application form are different from the facts or if proof is impossible, admission may be cancelled, or regular disadvantages may occur. Job Posting closes as soon as the recruitment is complete, so please apply quickly if you are interested. #LI-AR #OTB .buttontext8630a370e0f79c1d a{ border: 1px solid transparent; } .buttontext8630a370e0f79c1d a:focus{ border: 1px dashed #E00122 !important; outline: none !important; } Privacy policy available here: apps.otb.net/hr-gdpr/ Privacy policy available here: https://apps.otb.net/hr-gdpr/ Location: Seoul, KR #job-location.job-location-inline { display: inline; } Seniority: Professional Employment Type: Full time Function: Retail Apply now » Find similar jobs: Retail LEGAL TERMS COOKIE CUSTOMIZE CHOISES Opens in a new tab. Opens in a new tab. Opens in a new tab. © 2024 OTB SPA - ALL RIGHTS RESERVED - VAT IT01571110244 .onoffswitch .onoffswitch-inner:before { content: "Yes"; } .onoffswitch .onoffswitch-inner:after { content: "No"; } × Cookie Consent Manager When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. Because we respect your right to privacy, you can choose not to allow some types of cookies. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. Required Cookies These cookies are required to use this website and can't be turned off. Required Cookies Show More Details Required Cookies Provider Description Enabled SAP as service provider We use the following session cookies, which are all required to enable the website to function: "route" is used for session stickiness "careerSiteCompanyId" is used to send the request to the correct data center "JSESSIONID" is placed on the visitor's device during the session so the server can identify the visitor "Load balancer cookie" (actual cookie name may vary) prevents a visitor from bouncing from one instance to another Cookies from provider SAPasserviceprovider are required and cannot be turned off Confirm My Choices Reject All Cookies Accept All Cookies var fblink = "https://www.facebook.com/sharer/sharer.php?u=https://www.otb.net/en/otb-career/"; var twlink = "https://twitter.com/share?url=https://www.otb.net/en/otb-career/&text=OTBCareers+%23OTB"; var gplink = "https://plus.google.com/share?url=https://www.otb.net/en/otb-career/"; var otbLogoNeroLink = "//rmkcdn.successfactors.com/97ed9e27/246948a9-ef35-4453-adac-7.svg"; var otbLogoBiancoLink = "//rmkcdn.successfactors.com/97ed9e27/3a497940-1080-46cd-911f-b.png"; var dieselLogoLink = "//rmkcdn.successfactors.com/97ed9e27/81ca2e04-e637-4367-8770-f.png"; var staffInternationalLogoLink = "//rmkcdn.successfactors.com/97ed9e27/5fefe6c6-57db-42a9-90ca-f.png" var jilSanderLogoLink = "//rmkcdn.successfactors.com/97ed9e27/8ab092a3-ab55-4ad7-9abd-4.png" var lrVicenzaLogoLink = "//rmkcdn.successfactors.com/97ed9e27/c17309c3-0285-4490-be81-3.jpg" var margielaLogoLink = "//rmkcdn.successfactors.com/97ed9e27/cfb68932-cb07-418b-a56f-4.png" var marniLogoLink = "//rmkcdn.successfactors.com/97ed9e27/e9483489-1609-4bd7-85a3-3.png" var viktorAndRolfLogoLink = "//rmkcdn.successfactors.com/97ed9e27/d138a0c2-3017-4c0f-85a5-e.png" var braveKidLogoLink = "//rmkcdn.successfactors.com/97ed9e27/79d4c2f6-5c62-4d98-9d24-2.png" var weiboLogoLink = "//rmkcdn.successfactors.com/97ed9e27/de14c1aa-db7e-45d7-9c92-6.svg" var backupSerializedElement = ` ` var backupSerializedElementImg = ` ` var chevronRightLink = "//rmkcdn.successfactors.com/97ed9e27/8dc9e85f-c480-4781-9337-c.svg"; var whatsappLogoLink = "//rmkcdn.successfactors.com/97ed9e27/4c87f3e7-01be-490d-b34f-f.svg"; var linkedinLogoLink = "//rmkcdn.successfactors.com/97ed9e27/3a0bb9d9-f457-4b06-b16e-c.svg"; var facebookLogoLink = "//rmkcdn.successfactors.com/97ed9e27/19530389-2a58-46d0-be6d-6.svg"; var twitterLogoLink = "//rmkcdn.successfactors.com/97ed9e27/fc83d4f2-0728-4816-8a4e-2.svg"; //btn animation var btns = document.getElementsByClassName("keywordsearch-button"); if (btns.length > 0) { if (btns.length > 1) { for (i = 1; i < btns.length; i++) { var btnWrapper = document.createElement("span"); var parentRef = btns[1].parentNode; btnWrapper.setAttribute("class", "btnWrp"); btnWrapper.appendChild(btns[1]); parentRef.appendChild(btnWrapper); } } } // query string var keywordSearchTitle = document.getElementsByClassName("keyword-title"); var searchQueryContent = document.getElementsByClassName("securitySearchQuery"); if (keywordSearchTitle.length > 0 && searchQueryContent.length > 0) { if (String.prototype.startsWith) { if (searchQueryContent[0].innerText.trim().startsWith('""')) { // keywordSearchTitle[0].style.visibility = "hidden"; keywordSearchTitle[0].style.display = "none"; } } else { if (searchQueryContent[0].innerText.trim().substring(0, 3) == (' ""'.trim())) { // keywordSearchTitle[0].style.visibility = "hidden"; keywordSearchTitle[0].style.display = "none"; } } } //open moreOption CustomSearch window.onload = function (e) { var moreOptionCust = document.getElementById("custom-options-search"); if (moreOptionCust) { moreOptionCust.click(); } } //move moreOptionSearch /* var searchBarContainer = document.getElementsByClassName("rd-keywordsearch"); searchBarContainer[1].appendChild(moreOption); var item = document.getElementById("newFacets"); if (item.childElementCount == 2) { var items = item.querySelectorAll('.optionsFacet.col-md-4'); for (var i = 0; i < items.length; i++) { items[i].classList.add("js_extend2Facet"); } } }*/ //breadcrumb back var breadcrumb = document.getElementsByClassName("breadcrumb"); if (breadcrumb.length > 0) { var area = document.createElement("div"); area.classList.add("js_breadcrumb_hover_area"); area.addEventListener("click", function (e) { window.history.go(-1); }, false); area.addEventListener("mouseover", function (e) { area.classList.add("js_cursor"); }, false); document.body.appendChild(area); } //SocialIcon var socialMain = document.getElementById("socialIconPlaceholder"); if (socialMain) { var socialIconContainer = document.createElement("ul") socialIconContainer.classList.add("js_social_list"); var fbNodeLi = document.createElement("li") fbNodeLi.classList.add("js_idle"); var gpNodeLi = document.createElement("li") gpNodeLi.classList.add("js_idle"); var twNodeLi = document.createElement("li") twNodeLi.classList.add("js_idle"); var fbNodeA = document.createElement("a") fbNodeA.classList.add("js_fb"); fbNodeA.href = fblink; fbNodeA.target = "_blank"; var twNodeA = document.createElement("a") twNodeA.classList.add("js_tweet"); twNodeA.href = twlink; twNodeA.target = "_blank"; var gpNodeA = document.createElement("a") gpNodeA.classList.add("js_gplus"); gpNodeA.href = gplink; gpNodeA.target = "_blank"; fbNodeLi.appendChild(fbNodeA); twNodeLi.appendChild(twNodeA); gpNodeLi.appendChild(gpNodeA); socialIconContainer.appendChild(fbNodeLi); socialIconContainer.appendChild(twNodeLi); socialIconContainer.appendChild(gpNodeLi); socialMain.insertBefore(socialIconContainer, socialMain.firstElementChild); } function addClasses() { var o = {}; var page = getPage(); console.log("%c" + "PAGINA CUSTOMIZZATA " + page, "font-size:20px"); if (page === "homepage") { o.imageCarousel = document.querySelectorAll(".imagecarousel3")[0]; window.addEventListener('resize', updateSlidesToShow); moveHeroBannerToLocalStorage(); addArrowsToSelect() addMoreFiltersButton() document.querySelectorAll('#content .inner .row.displayDTM[role="img"]')[0].style.paddingTop = 'unset' } else if (page === "search" || page === 'category') { o.jobTileList = document.querySelectorAll("#job-tile-list")[0]; o.content_search = document.querySelectorAll("#content")[0]; o.search_container = document.querySelectorAll('#search-wrapper')[0]; //changeShowingString() addArrowsToSelect() addMoreFiltersButton() if(page === 'category') { document.querySelectorAll('#content .inner .row.displayDTM[role="img"]')[0].style.paddingTop = 'unset' } } else if (page === "job") { o.content_job = document.querySelectorAll("#content")[0]; } else { console.log("%c" + "PAGINA NON CUSTOMIZZATA", "font-size:20px"); return false; } /* everywhere */ o.footer = document.querySelectorAll("#footer")[0]; if (page === 'homepage') o.search_container = document.querySelectorAll('.search.displayDTM')[0]; o.menu_desktop = document.querySelectorAll(".custom-desktop-header")[0]; o.menu_tablet = document.querySelectorAll(".custom-tablet-header")[0]; o.menu_mobile = document.querySelectorAll(".custom-mobile-header")[0]; o.outershell = document.querySelectorAll('#outershell')[0] for (var property of Object.keys(o)) { if (o[property]) { o[property].classList.add("custom_" + property); } else { console.log("%c" + "IMPOSSIBILE TROVARE " + property, "font-size:20px"); } } /* remove element style to override it */ if (document.querySelectorAll('#content > .inner > div.buttontext.displayDTM')[0] && document.querySelectorAll('.custom-header-logo')[0]) { document.querySelectorAll('#content > .inner > div.buttontext.displayDTM')[0].style.width = '' document.querySelectorAll('.custom-header-logo')[0].style.padding = '0' } /* add elements */ let header_background = document.createElement('div') header_background.classList.add('custom_header_background') header_background.classList.add('blur-filter') document.querySelectorAll('#outershell')[0].insertAdjacentElement('afterbegin', header_background); let arrow = 'north_east' if (document.querySelectorAll('.custom_menu_desktop .profile a')[0]) { document.querySelectorAll('.custom_menu_desktop .profile a')[0].insertAdjacentHTML('beforeend', arrow) } if (document.querySelectorAll('.custom_menu_tablet .profile a')[0]) { document.querySelectorAll('.custom_menu_tablet .profile a')[0].insertAdjacentHTML('beforeend', arrow) } if (document.querySelectorAll('.custom_menu_mobile .profile a')[0]) { document.querySelectorAll('.custom_menu_mobile .profile a')[0].insertAdjacentHTML('beforeend', arrow) } let search_button = document.createElement('button') search_button.classList.add('custom_button_search') search_button.innerHTML = ` SEARCH east `; if (document.querySelectorAll('#content .custom_search_container .jobAlertsSearchForm .container-fluid .columnizedSearchForm > .column ')[0]) { document.querySelectorAll('#content .custom_search_container .jobAlertsSearchForm .container-fluid .columnizedSearchForm > .column ')[0].append(search_button); } Array.from(document.querySelectorAll('.social-icons')).forEach(x => { x.style.cssText = 'display: block !important;' }) return true; } function openModal() { var modal = document.body.querySelector('#content>.inner>.modal.custom_modal'); modal.style.display = 'flex'; } function initiateModal() { const modal = document.createElement('div'); modal.classList.add('custom_modal', 'modal'); const modalContent = document.createElement('div'); modalContent.classList.add('modal-content'); const closeButton = document.createElement('span'); closeButton.classList.add('close'); closeButton.innerHTML = '×'; modalContent.appendChild(closeButton); const modalText = document.createElement('span'); modalText.textContent = "Share this job position with"; modalText.classList.add('modal-text-header'); modalContent.appendChild(modalText); const logosContainer = document.createElement('div'); logosContainer.classList.add('logos-container'); const currentPageURL = window.location.href; const facebookLogo = document.createElement('img'); const facebookLogoimgContainer = document.createElement('a'); facebookLogoimgContainer.classList.add('img-logo-container'); const facebookShareURL = 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(currentPageURL); facebookLogoimgContainer.href = facebookShareURL; facebookLogoimgContainer.target = '_blank'; facebookLogo.src = facebookLogoLink; facebookLogoimgContainer.appendChild(facebookLogo); logosContainer.appendChild(facebookLogoimgContainer); const linkedinLogo = document.createElement('img'); const linkedinLogoimgContainer = document.createElement('a'); linkedinLogoimgContainer.classList.add('img-logo-container'); const linkedinShareURL = 'https://www.linkedin.com/sharing/share-offsite/?url=' + encodeURIComponent(currentPageURL); linkedinLogoimgContainer.href = linkedinShareURL; linkedinLogoimgContainer.target = '_blank'; linkedinLogo.src = linkedinLogoLink; linkedinLogoimgContainer.appendChild(linkedinLogo); logosContainer.appendChild(linkedinLogoimgContainer); const whatsappLogo = document.createElement('img'); const whatsappLogoimgContainer = document.createElement('a'); whatsappLogoimgContainer.classList.add('img-logo-container'); const whatsappShareURL = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(currentPageURL); whatsappLogoimgContainer.href = whatsappShareURL; whatsappLogoimgContainer.target = '_blank'; whatsappLogo.src = whatsappLogoLink; whatsappLogoimgContainer.appendChild(whatsappLogo); logosContainer.appendChild(whatsappLogoimgContainer); const twitterLogo = document.createElement('img'); const twitterLogoimgContainer = document.createElement('a'); twitterLogoimgContainer.classList.add('img-logo-container'); const twitterShareURL = 'https://twitter.com/intent/tweet?url=' + encodeURIComponent(currentPageURL); twitterLogoimgContainer.href = twitterShareURL; twitterLogoimgContainer.target = '_blank'; twitterLogo.src = twitterLogoLink; twitterLogoimgContainer.appendChild(twitterLogo); logosContainer.appendChild(twitterLogoimgContainer); modalContent.appendChild(logosContainer); var hrElement = document.createElement('hr'); hrElement.setAttribute('aria-hidden', 'true'); modalContent.appendChild(hrElement); var emailButton = document.createElement('button'); emailButton.innerHTML = ` EMAIL east `; emailButton.classList.add('btn', 'btn-primary'); emailButton.addEventListener('click', function (e) { var subject = "Check out this job position!"; var body = "I thought you might be interested in this link:\n\n" + currentPageURL; var mailtoUrl = "mailto:?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(body); window.location.href = mailtoUrl; }); var copyLinkButton = document.createElement('button'); copyLinkButton.innerHTML = "COPY LINK"; copyLinkButton.classList.add('btn', 'btn-primary'); var span1 = document.createElement('span'); span1.classList.add('custom_span1'); var span2 = document.createElement('span'); span2.classList.add('custom_span2'); copyLinkButton.appendChild(span1); span1.appendChild(span2); copyLinkButton.addEventListener('click', function (e) { console.log('copying link'); var dummy = document.createElement('input'); document.body.appendChild(dummy); dummy.value = currentPageURL; dummy.select(); document.execCommand('copy'); document.body.removeChild(dummy); copyLinkButton.innerHTML = "Copied !"; setTimeout(function () { copyLinkButton.innerHTML = "COPY LINK"; var span1 = document.createElement('span'); span1.classList.add('custom_span1'); var span2 = document.createElement('span'); span2.classList.add('custom_span2'); copyLinkButton.appendChild(span1); span1.appendChild(span2); }, 1500); }); var buttonContainer = document.createElement('div'); buttonContainer.classList.add('buttons-container'); buttonContainer.appendChild(emailButton); buttonContainer.appendChild(copyLinkButton); modalContent.appendChild(buttonContainer); modal.appendChild(modalContent); document.body.querySelector('#content>.inner').appendChild(modal); closeButton.addEventListener('click', function () { modal.style.display = 'none'; }); window.addEventListener('click', function (event) { if (event.target == modal) { modal.style.display = 'none'; } }); } function setMaxBoundariesJobColumnOne() { const elementIsVisibleInViewport = (el, partiallyVisible = false) => { const { top, left, bottom, right } = el.getBoundingClientRect(); const { innerHeight, innerWidth } = window; return partiallyVisible ? ((top > 0 && top < innerHeight) || (bottom > 0 && bottom < innerHeight)) && ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth)) : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth; }; window.addEventListener('scroll', function (event) { var fixedElement = document.querySelector('.jobColumnOne'); var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var containerTop = document.querySelector('.jobDisplayShell').getBoundingClientRect().top; var footer = document.querySelector('#footer') var footerTop = footer.getBoundingClientRect().top; var fixedElementTop = 0; //fixedElement.classList.add('sticky'); if (scrollTop + fixedElement.offsetHeight > 350 + footerTop && elementIsVisibleInViewport(footer, true)) { fixedElement.style.top = (footerTop - fixedElement.offsetHeight) + 'px'; } else if (scrollTop >= containerTop + 400) { fixedElement.style.top = containerTop + 400; //fixedElement.style.top = '190px'; fixedElement.classList.add('sticky'); } else { fixedElement.style.top = fixedElementTop + 'px'; fixedElement.classList.remove('sticky'); } }); } function addImagesToJobTile() { var page = window.location.pathname; if (page.startsWith("/job")) { moveHeroBannerUsingLocalStorage(); setMaxBoundariesJobColumnOne(); // initiate modal initiateModal() const job = document.querySelector(".job"); const jobColumnOne = document.querySelector(".jobColumnOne"); // mobile & tablet -> move title token outside if (window.innerWidth < 768) { if (jobColumnOne) { const titleToken = jobColumnOne.querySelector(".joblayouttoken"); job.insertBefore(titleToken, jobColumnOne) } } // desktop -> remove title token if (window.innerWidth >= 768) { if (jobColumnOne) { const titleToken = jobColumnOne.querySelector(".joblayouttoken"); jobColumnOne.removeChild(titleToken) } } // move apply button inside jobColumnOne const applyButton = document.querySelector(".jobTitle"); if (applyButton) { const applyButtonA = applyButton.querySelector(".applylink > .apply"); applyButtonA.textContent = "Apply now"; jobColumnOne.appendChild(applyButton); } //create share with button const socialsDiv = document.createElement('div'); socialsDiv.classList.add('share-block'); const anchor = document.createElement('a'); anchor.classList.add('btn', 'btn-primary', 'btn-large', 'btn-lg'); const buttonText = document.createElement('span'); buttonText.textContent = 'share with'; const chevronRightImg = document.createElement('img'); chevronRightImg.src = chevronRightLink; chevronRightImg.style.width = '13px'; chevronRightImg.style.height = '10px'; anchor.appendChild(buttonText); anchor.appendChild(chevronRightImg); socialsDiv.appendChild(anchor); socialsDiv.addEventListener('click', openModal); jobColumnOne.appendChild(socialsDiv); // add logo images to tile, remove department const depDiv = jobColumnOne.querySelector('[data-careersite-propertyid="dept"]'); const depDivToRemove = jobColumnOne.querySelector('div:has(div.inner > div.row > div > span[data-careersite-propertyid="dept"])'); if (depDiv) { const depText = depDiv.textContent.trim(); const img = document.createElement('img'); switch (depText) { case "OTB": img.src = otbLogoNeroLink; break; case "Diesel": img.src = dieselLogoLink; break; case "Staff International": img.src = staffInternationalLogoLink; break; case "Jil Sander": img.src = jilSanderLogoLink; break; case "L.R. Vicenza": img.src = lrVicenzaLogoLink; break; case "Margiela": img.src = margielaLogoLink; break; case "Marni": img.src = marniLogoLink; break; case "Viktor & Rolf": img.src = viktorAndRolfLogoLink; break; case "Brave Kid": img.src = braveKidLogoLink; break; } jobColumnOne.prepend(img); if (depDivToRemove) { jobColumnOne.removeChild(depDivToRemove); } } } } function searchKeypress(event) { if (event.key === 'Enter' && (event.which === 13 || event.which === 10)) { event.preventDefault() document.querySelector('.custom_button_search')?.click() } } async function addSearchEvents() { //add placeholder to input var inputKeyword = document.querySelector('#content>.inner #search-wrapper>div.searchwell div.rd-keywordsearch>input.keywordsearch-q.columnized-search[type="text"]'); if (inputKeyword) { inputKeyword.setAttribute("placeholder", "Search job title or keyword"); inputKeyword.addEventListener('keypress', (event) => searchKeypress(event)) } //move button to bottom var form = document.querySelector('#content>.inner #search-wrapper>div.searchwell>form.jobAlertsSearchForm'); var formContainer = document.querySelector('#content>.inner #search-wrapper>div.searchwell>form.jobAlertsSearchForm>div.container-fluid'); var button = document.querySelector('#content>.inner #search-wrapper>div.searchwell>form.jobAlertsSearchForm .rd-searchbutton'); if (form && formContainer) { formContainer.appendChild(button); //add spontaneouse application & view all jobs var hrElement = document.createElement('hr'); hrElement.setAttribute('aria-hidden', 'true'); formContainer.insertBefore(hrElement, formContainer.firstChild); // Create the first button for spontaneous application var spontaneousButton = document.createElement('button'); spontaneousButton.innerHTML = ` SPONTANEOUS APPLICATION east `; spontaneousButton.classList.add('btn', 'btn-primary'); spontaneousButton.addEventListener('click', function (e) { e.preventDefault(); let newHref = window.location.hostname.indexOf('otbspat1.valhalla2.stage.jobs2web.com') > -1 ? 'https://career2preview.sapsf.eu/career?company=otbspaT1&login_ns=register&loginFlowRequired=true' : 'https://career2.successfactors.eu/career?company=otbspa&lang=en_US&login_ns=register&navBarLevel=MY_PROFILE' //`${window.location.protocol}//${window.location.hostname}/career?company=otbspa&lang=en_US&login_ns=register&navBarLevel=MY_PROFILE` window.location.href = newHref }); // Create the second button for searching jobs var searchButton = document.createElement('button'); searchButton.innerHTML = ` VIEW ALL JOBS east `; searchButton.classList.add('btn', 'btn-primary'); searchButton.addEventListener('click', function (e) { e.preventDefault(); form.reset(); form.submit(); }); // Create a div to contain both buttons in the same row var buttonContainer = document.createElement('div'); buttonContainer.classList.add('buttons-container'); buttonContainer.appendChild(spontaneousButton); buttonContainer.appendChild(searchButton); // Prepend the button container to the form container formContainer.insertBefore(buttonContainer, formContainer.firstChild); } } function addSliderArrows(slider) { let prevArrow = ` ` let nextArrow = ` ` let prevButton = ` ` let nextButton = ` ` let container = `
')); $('.frequency-error').removeClass('hidden'); } else { alert(result.join('\n')); } } }); }); //]]> //<![CDATA[ var j2w = j2w || {}; j2w.search = j2w.search || {}; j2w.search.options = { isOpen: false, facets: ["country","city","customfield1","department"], showPicklistAllLocales : false }; //]]>
JOIN THE BRAVES
${prevButton} ${nextButton}
` slider.insertAdjacentHTML('beforeend', container) let prevArrowElem = document.querySelector('#custom_prevArrow') let nextArrowElem = document.querySelector('#custom_nextArrow') prevArrowElem.addEventListener('click', () => { setTimeout(() => { let originalArrow = slider.querySelector('button.slick-prev.slick-arrow') originalArrow.click() slider.slick('slickSetOption', {}, true) }, 50) }) nextArrowElem.addEventListener('click', () => { setTimeout(() => { let originalArrow = slider.querySelector('button.slick-next.slick-arrow') originalArrow.click() slider.slick('slickSetOption', {}, true) }, 50) }) } function addSliderEvents() { var intervalId = setInterval(function () { var slider = document.querySelector('.custom_imageCarousel'); if (slider) { clearInterval(intervalId); addSliderArrows(slider) var slideDivs = slider.querySelectorAll('.slick-slide'); slideDivs.forEach(function (slide) { var backgroundDiv = slide.querySelector('div[role="img"]'); if (backgroundDiv) { backgroundDiv.innerHTML = backgroundDiv.innerHTML.replace(/ /g, ''); } var slideLinks = slide.querySelectorAll('.slick-slide a'); slideLinks.forEach(function (link) { var title = link.getAttribute('title'); if (title) { var span = link.querySelector('span'); if (span) { span.textContent = title; } } }); }); updateSlidesToShow(); } }, 100); } //cambia il numero di slides a seconda della viewport function updateSlidesToShow() { var slider = $('.slick-slider'); var windowWidth = window.innerWidth; if (windowWidth < 768) { slider.slick('slickSetOption', 'slidesToShow', 1, true); document.querySelector('.slick-track').classList.remove('infinte-width') } else if (windowWidth >= 768 && windowWidth < 1024) { slider.slick('slickSetOption', 'slidesToShow', 3, true); document.querySelector('.slick-track').classList.add('infinte-width') } else { document.querySelector('.slick-track').classList.add('infinte-width') slider.slick('slickSetOption', 'slidesToShow', 5, true); } slider.slick('slickSetOption', { variableWidth : true, centerMode : true, autoplay : true, autoplaySpeed : 2000, lazyLoad : 'progressive', pauseOnFocus : false, pauseOnHover : false, swipeToSlide : false, swipe: false }, true) } function moveHeroBannerToLocalStorage() { /*var elementToMove = document.querySelector(".buttontext"); var serializedElement = elementToMove.outerHTML;*/ var elementToMoveImg = document.querySelector("#content > .inner > .row.displayDTM"); var serializedElementImg = elementToMoveImg.outerHTML; // localStorage.setItem("elementToMove", serializedElement); localStorage.setItem("elementToMoveImg", serializedElementImg); } function moveHeroBannerUsingLocalStorage() { /*var serializedElement = localStorage.getItem("elementToMove"); if (!serializedElement) serializedElement = backupSerializedElement var tempElement = document.createElement("div"); tempElement.innerHTML = serializedElement; var deserializedElement = tempElement.firstChild; var destinationContainer = document.querySelector("#content .inner"); destinationContainer.prepend(deserializedElement);*/ var serializedElementImg = localStorage.getItem("elementToMoveImg"); if (!serializedElementImg) serializedElementImg = backupSerializedElementImg var tempElementImg = document.createElement("div"); tempElementImg.innerHTML = serializedElementImg; var deserializedElementImg = tempElementImg.firstChild; document.querySelector("#content .inner").insertAdjacentHTML("afterbegin", deserializedElementImg.outerHTML); document.querySelectorAll('#content .inner .row.displayDTM[role="img"]')[0].style.paddingTop = 'unset' } async function loadSearchFilters() { var page = getPage() var params = window.location.search if (page === 'search' || page === 'category') { page === 'search' ? moveHeroBannerUsingLocalStorage() : null addBackToHomeButton() await new Promise((resolve, reject) => { setTimeout(function () { var selectElements = document.querySelectorAll('.optionsFacet-select'); selectElements.forEach(function (select) { while (select.options.length > 0) { select.remove(0); } }); function q() { function u(b) { for (b = 0; b < h.facetquery.fields.length; b++) $(".optionsFacetsDD_" + h.facetquery.fields[b]).val("") } function t() { $.ajax({ url: "/services/jobs/options/facetValues/", type: "POST", cache: !1, contentType: "application/json", dataType: "json", data: JSON.stringify(h), success: function (b) { b = b.facets.map; for (var a = 0; a < h.facetquery.fields.length; a++) { let anySelected = false for (var e = h.facetquery.fields[a], k = e, e = b[e], f = void 0, f = "optionsFacetsDD_" + k, f = f.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"), f = (f = location.search.match(new RegExp("[?&]" + f + "=([^&]+)(&|$)"))) && decodeURIComponent(f[1].replace(/\+/g, " ")), g = 0; g < e.length; g++) { anySelected = anySelected || f === e[g].name v(k, e[g], f === e[g].name); } "country" !== k && "lang" !== k || w(k) $(".optionsFacetsDD_" + h.facetquery.fields[a])[0].insertAdjacentElement("afterbegin", new Option('All', '', true, !anySelected)) } m = !0; l = !1; p.hide(); x.show(); n || (d.css("height", c.height()), c.css("width", d.width())) } }) } /*function r() { $.ajax({ url: "/services/jobs/options/facetValues/", type: "POST", cache: !1, contentType: "application/json", dataType: "json", data: JSON.stringify(h), success: function (b) { } }) }*/ function w(b) { b = $("#optionsFacetsDD_" + b); var a = b.find("option"), c = b.val(); a.sort(function (a, b) { return "" === a.value ? -1 : "" === b.value || a.text > b.text ? 1 : a.text < b.text ? -1 : 0 }); b.empty().append(a); b.val(c) } function v(a, c, e) { $(".optionsFacetsDD_" + a).each(function (a, b) { var g = b.options, d = new Option(c.translated ? c.translated : c.name, c.name); d.selected = e; g[g.length] = d }) } t(); j2w.Search.addClearEventListener(u); resolve(true) } if (j2w.search) { var x = $(".optionsFacetValues"), p = $(".optionsFacetLoading"), a = $("#options-search"), m = !1, l = !1, n = 0 < $(".columnizedSearchForm").length, d = $(".moreOptionsCollapseArea"), h = { page: 0, keywords: "", locationsearch: "", sortby: "referencedate", sortdir: "desc", sortfield: "title", recordsperpage: 25, startrow: 0, facetquery: { facet: !0, mincount: 1, limit: 5E3, fields: j2w.search.options.facets, sort: "index", showPicklistAllLocales: j2w.search.options.showPicklistAllLocales }, filterquery: {} }; q(); } }, 100); }) } if(page !== 'job') { // add placeholder to selects var selects = document.querySelectorAll('.optionsFacet-select'); await new Promise((resolve, reject) => { setTimeout(function () { selects.forEach(function (select) { var label = document.querySelector('label[for="' + select.id + '"]'); label.style.display = "none"; select.setAttribute("placeholder", label.textContent.trim()); var placeholderOption = document.createElement("option"); placeholderOption.value = ""; placeholderOption.text = label.textContent.trim(); placeholderOption.disabled = true; placeholderOption.selected = true; placeholderOption.hidden = true; placeholderOption.defaultSelected = true; let selectValue = `${select.value}` select.prepend(placeholderOption); if(selectValue) select.value = selectValue }); resolve() }, 500); }) } } function addListenersToSelects() { var selectElements = document.querySelectorAll('.optionsFacet-select'); selectElements.forEach(function (select) { select.addEventListener('change', function () { select.setAttribute('style', 'color: black !important;'); }); }); } function addImagesToTiles() { var page = getPage(); if (page === 'search' || page === 'category') { const jobTilesList = document.querySelector("#job-tile-list"); if(!jobTilesList) return; const jobTiles = jobTilesList.querySelectorAll(".job-tile:not(.alreadyStyled)"); Array.from(jobTiles).forEach(jobTile => { const facilityDiv = jobTile.querySelector('[id$="-section-facility-value"]'); jobTile.classList.add("alreadyStyled") if (facilityDiv) { const facilityText = facilityDiv.innerText.trim() const jobRowInners = jobTile.querySelectorAll('.job-row > *'); try { addImages(jobRowInners[0], facilityText); addImages(jobRowInners[1], facilityText); } catch (error) { console.log(error); } const imgMobile = document.createElement('img') addImagesMobile(jobRowInners[2], imgMobile, facilityText); } }); } } function addImages(element, facilityText) { const img = document.createElement('img'); const imgContainer = document.createElement('div') const chevronRightImg = document.createElement('img'); imgContainer.classList.add('custom_img_tile_container') chevronRightImg.src = chevronRightLink; chevronRightImg.style.width = '20px'; chevronRightImg.style.height = '20px'; switch (facilityText) { case "OTB": img.src = otbLogoNeroLink; break; case "Diesel": img.src = dieselLogoLink; break; case "Staff International": img.src = staffInternationalLogoLink; break; case "Jil Sander": img.src = jilSanderLogoLink; break; case "L.R. Vicenza": img.src = lrVicenzaLogoLink; break; case "Margiela": img.src = margielaLogoLink; break; case "Marni": img.src = marniLogoLink; break; case "Viktor & Rolf": img.src = viktorAndRolfLogoLink; break; case "Brave Kid": img.src = braveKidLogoLink; break; } const facilityDiv = element.querySelector('[id$="-section-facility-value"]'); facilityDiv.style.display = 'none'; const firstDiv = element.children[0].children[0]; element.removeChild(element.children[0]); element.children[0].insertBefore(firstDiv, element.children[0].children[1]); imgContainer.insertAdjacentElement('beforeend', img) element.prepend(imgContainer); element.lastElementChild.lastElementChild.append(chevronRightImg); } function addImagesMobile(element, imgMobile, facilityText) { const chevronRightImg = document.createElement('img'); const imgContainer = document.createElement('div'); imgContainer.classList.add('custom_img_tile_container') chevronRightImg.src = chevronRightLink; chevronRightImg.style.width = '20px'; chevronRightImg.style.height = '20px'; switch (facilityText) { case "OTB": imgMobile.src = otbLogoNeroLink; break; case "Diesel": imgMobile.src = dieselLogoLink; break; case "Staff International": imgMobile.src = staffInternationalLogoLink; break; case "Jil Sander": imgMobile.src = jilSanderLogoLink; break; case "L.R. Vicenza": imgMobile.src = lrVicenzaLogoLink; break; case "Margiela": imgMobile.src = margielaLogoLink; break; case "Marni": imgMobile.src = marniLogoLink; break; case "Viktor & Rolf": imgMobile.src = viktorAndRolfLogoLink; break; case "Brave Kid": imgMobile.src = braveKidLogoLink; break; } const firstDiv = element.children[0]; const secondDiv = element.children[1]; element.removeChild(firstDiv); element.removeChild(secondDiv); element.insertBefore(firstDiv, element.firstChild); element.insertBefore(secondDiv, element.firstChild); const mobileFacilityText = element.querySelector('div:nth-child(3)'); mobileFacilityText.style.display = 'none'; imgContainer.insertAdjacentElement('beforeend', imgMobile) element.prepend(imgContainer); element.lastElementChild.lastElementChild.append(chevronRightImg); // observeJobTileList(); } function observeJobTileList() { const targetNode = document.getElementById('job-tile-list'); const observer = new MutationObserver(function (mutationsList, observer) { for (const mutation of mutationsList) { if (mutation.type === 'childList') { addImagesToTiles(); } } }); const config = { childList: true, subtree: true }; observer.observe(targetNode, config); } function changePlaceholders(select) { let swapElem = (elementX, elementY) => { let parentY = elementY.parentNode; let nextY = elementY.nextSibling; if (nextY === elementX) { parentY.insertBefore(elementX, elementY); } else { elementX.parentNode.insertBefore(elementY, elementX); if (nextY) { parentY.insertBefore(elementX, nextY); } else { parentY.appendChild(elementX); } } } if(select.querySelectorAll('option[value=""]:not([hidden]) + option[value=""][hidden]').length > 0) { select.classList.add('custom_add') swapElem(select.querySelector('option[value=""]:not([hidden])'), select.querySelector('option[value=""][hidden]')) select.value = select.value select.classList.remove('custom_add') } } function moveElements() { /* cambio posizione del logo */ let footer_logo = document.querySelectorAll('.custom_footer #footerInnerLinksSocial > a:has(> .logo)')[0] let footer_logo_a = document.createElement('a') let where_footer_logo = document.querySelectorAll('.custom_footer > #footerRowBottom')[0] footer_logo_a.href = footer_logo.href footer_logo_a.title = 'OTB Footer' footer_logo_a.style.width = 'min-content' footer_logo_a.innerHTML = footer_logo.innerHTML where_footer_logo.insertAdjacentElement("afterbegin", footer_logo_a); footer_logo.outerHTML = '' } function getPage() { var page = window.location.pathname; if (page === "/") { return "homepage"; } if (page.startsWith("/search")) { return "search"; } if (page.startsWith("/job")) { return "job"; } if (page.startsWith("/go/")) { return "category"; } return "other"; } async function observerControl() { new MutationObserver(mutationList => { Array.from(mutationList).forEach(r => { if(!r.target.id) return; if (r.target.id.startsWith('optionsFacetsDD') && !r.target.classList.contains('custom_add')) { changePlaceholders(r.target) } else if (r.target.id === 'tile-search-results-label') { changeShowingString() addImagesToTiles() } if (r.target.id === 'savesearch') console.log("%c" + "TROVATO JOB ALERT", "font-size:20px"); }); }).observe(document.body, { subtree: true, childList: true, characterData: true }) } function changeShowingString() { let fraseContainer = document.querySelector('#tile-search-results-label') let lang = 'en_US' let frase = fraseContainer.innerText if (/Showing (\d+) to (\d+) of (\d+) Jobs/g.test(frase)) { let fraseFlat if (lang === 'it_IT') { fraseFlat = /Showing (\d+) to (\d+) of (\d+) Jobs/g.exec(frase).flat() } else { fraseFlat = /Showing (\d+) to (\d+) of (\d+) Jobs/g.exec(frase).flat() } let nResults = fraseFlat[1] let nResultsPage = fraseFlat[2] let nResultsTotal = fraseFlat[3] let finalFrase if (lang === 'IT') { finalFrase = `RESULTS ${nResults}-${nResultsPage} OF ${nResultsTotal}` } else { finalFrase = `RESULTS ${nResults}-${nResultsPage} OF ${nResultsTotal}` } fraseContainer.innerText = finalFrase } } function changeLogoFbWithWeibo() { let logoContainer = document.querySelector('.social-icon.btn-facebook') let imgWeibo = document.createElement('img') imgWeibo.src = weiboLogoLink logoContainer.innerHTML = imgWeibo.outerHTML logoContainer.title = 'weibo' } function addArrowsToSelect() { let allSearchSelect = document.querySelectorAll('#content #search-wrapper>div.searchwell select') let arrowDownHTML = ` keyboard_arrow_down ` let arrowUpHTML = ` keyboard_arrow_up ` Array.from(allSearchSelect).forEach(select => { select.insertAdjacentHTML("afterend", arrowDownHTML) select.addEventListener("focus", (event) => { event.currentTarget.nextElementSibling.outerHTML = arrowUpHTML }) select.addEventListener("blur", (event) => { event.currentTarget.nextElementSibling.outerHTML = arrowDownHTML }) }) } function onMouseHoverHeaderDesktop() { let headerBackground = document.querySelector('.custom_header_background') let header = document.querySelector('#header') let logo = document.querySelector('.custom-desktop-header .custom-header-logo a > img') header.addEventListener("mouseover", () => { header.classList.add("backgroundColor_custom") //logo.src = otbLogoNeroLink }) header.addEventListener("mouseout", () => { header.classList.remove("backgroundColor_custom") //logo.src = otbLogoBiancoLink }) } function addBackToHomeButton() { let newButtonElement = document.createElement('a') newButtonElement.innerHTML = 'BACK' newButtonElement.style.cssText = 'color: var(--font-color) !important; display: flex; gap: 5px; align-items: flex-start; cursor: pointer; font-size: 19px; margin-left: 10px;width: fit-content; line-height: normal;' let herobanner = document.querySelector('#content > .inner > div.row.displayDTM[role="img"]') herobanner.insertAdjacentElement('afterend', newButtonElement) newButtonElement.addEventListener('click', () => { document.querySelector('.custom-desktop-header .custom-header-logo a>img').click() }) } function addMoreFiltersButton() { let newFacets = document.getElementById('newFacets') let newButtonElement = document.createElement('a') newButtonElement.id = 'more-filters' newButtonElement.innerText = 'MORE FILTERS' newButtonElement.style.cssText = 'cursor: pointer; border-bottom: 1px dotted black; width: fit-content;' newButtonElement.addEventListener('click', () => { newFacets.style.display = newFacets.style.display == 'none' ? 'flex' : 'none' newButtonElement.innerText = newButtonElement.innerText == 'MORE FILTERS' ? 'HIDE FILTERS' : 'MORE FILTERS' }) newFacets.insertAdjacentElement('afterend', newButtonElement) if (window.innerWidth < 768) { newFacets.style.display = 'none' } else { newButtonElement.style.display = 'none' } window.addEventListener('resize', () => { let width = window.innerWidth if (window.innerWidth < 768) { newFacets.style.display = 'none' newButtonElement.style.display = 'block' } else { newFacets.style.display = 'flex' newButtonElement.style.display = 'none' } }) } function addClearFiltersButton() { if(!document.querySelectorAll('a[role="button"].search-clear-button.btn-link').length) return; let clearButton = document.createElement('button') clearButton.id = 'clear-filters-custom' clearButton.innerText = 'CLEAR ALL FILTERS' clearButton.style.cssText = 'cursor: pointer; border-bottom: 1px dotted black; margin-top: 15px; border-top: none; border-left: none; border-right: none; width: auto; background: none;' clearButton.type = 'button' clearButton.addEventListener('click', (event) => { document.querySelectorAll('a[role="button"].search-clear-button.btn-link')[0].click() event.preventDefault() }) document.querySelectorAll('button.custom_button_search')[0]?.insertAdjacentElement('beforebegin', clearButton) } window.addEventListener("DOMContentLoaded", (event) => { console.log("%c" + "INIZIO CUSTOMIZZAZIONI", "font-size:20px"); if (addClasses()) { observerControl(); moveElements(); addImagesToTiles(); addImagesToJobTile(); addSearchEvents(); addSliderEvents(); loadSearchFilters(); addListenersToSelects(); changeLogoFbWithWeibo(); getPage() !== 'job' ? addClearFiltersButton() : null; } }); //<![CDATA[ j2w.init({ "cookiepolicy" : 3, "useSSL" : true, "isUsingSSL" : true, "isResponsive" : true, "categoryId" : 0, "siteTypeId" : 1, "ssoCompanyId" : 'otbspa', "ssoUrl" : 'https://career2.successfactors.eu', "passwordRegEx" : '^(?=.{6,20}$)(?!.*(.)\\1{3})(?=.*([\\d]|[^\\w\\d\\s]))(?=.*[A-Za-z])(?!.*[\-\\\s])', "emailRegEx" : '^(?![+])(?=([a-zA-Z0-9\\\'.+!_-])+[@]([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9.-]*[a-zA-Z0-9])[.]([a-zA-Z]){1,63}$)(?!.*[\-\\\s,])(?!.*[.]{2})', "hasATSUserID" : false, "useCASWorkflow" : true, "brand" : "", "dpcsStateValid" : true }); j2w.TC.init({ "seekConfig" : { "url" : 'https\x3A\x2F\x2Fwww.seek.com.au\x2Fapi\x2Fiam\x2Foauth2\x2Fauthorize', "id" : 'successfactors12', "advertiserid" : '' } }); $.ajaxSetup({ cache : false, headers : { "X-CSRF-Token" : "1d24042a-38ec-4c0e-bce4-414a13ea71f1" } }); //]]> //<![CDATA[ j2w.Apply.init({ jobID : 1367057957, sourceId : 'JATS-otbspa', locale : 'en_US', relocateApplyURL : '', subscribeAtApply : true, useOnPageBusinessCard : false, applyWithLinkedIn2Config : {"enabled":false,"companyId":null,"integrationContext":null,"internalId":"5269-en_US","email":""} }); //]]> //<![CDATA[ $(function() { var ctid = '3de71765-0e3f-4daa-a0db-bd636c563e76'; var referrer = ''; var landing = document.location.href; var brand = ''; $.ajax({ url: '/services/t/l' ,data: 'referrer='+ encodeURIComponent(referrer) + '&ctid=' + ctid + '&landing=' + encodeURIComponent(landing) + '&brand=' + brand ,dataType: 'json' ,cache: false ,success: function(){} }); }); //]]> //<![CDATA[ $(function() { $('input:submit,button:submit').each(function(){ var submitButton = $(this); if(submitButton.val() == '') submitButton.val(''); }); $('input, textarea').placeholder(); }); //]]> const jobAlertSpans = document.querySelectorAll("[data-testid=jobAlertSpanText]"); jobAlertSpans?.forEach((jobEl) => { jobEl.textContent = window?.jsStr?.tcjobresultscreatejobalertsdetailstext || ""; }); //<![CDATA[ var subscribeWidgetSetup = { action : 'subscribe', usingJobAlertsManager : false }; //]]> //<![CDATA[ $(function() { $('.emailsubscribe-button').click(function (e) { e.preventDefault(); var $frequency = $('.subscribe-frequency').val(); var rcmLoggedIn = false; var action = rcmLoggedIn ? 'alertCreate' : 'subscribe'; var result = j2w.Agent.validateFrequency($frequency); if (!result.length) { j2w.TC.collectForCASWorkflow({ "emailAddress": '', "action": action, "socialSrc": '', "frequency": parseFloat($frequency) }); } else { if (j2w.Args.get('isResponsive')) { $('.frequency-error-message').html(result.concat('')); $('.frequency-error').removeClass('hidden'); } else { alert(result.join('\n')); } } }); }); //]]> //<![CDATA[ var j2w = j2w || {}; j2w.search = j2w.search || {}; j2w.search.options = { isOpen: false, facets: ["country","city","customfield1","department"], showPicklistAllLocales : false }; //]]>